@gemafajarramadhan/dynamic-ui 1.4.60 → 1.4.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dynamic-ui.umd.js
CHANGED
|
@@ -160,7 +160,7 @@ Original error: ${n.name}: ${n.message}`:"";return e+s+a+l}function YS(e,t){cons
|
|
|
160
160
|
transform: scale(1.1);
|
|
161
161
|
}
|
|
162
162
|
`});return(T,R)=>r.withDirectives((r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["flex flex-col gap-2 w-full",r.unref(n).class]),"aria-busy":o.skeleton},[o.skeleton?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[d.value?(r.openBlock(),r.createElementBlock("div",cue)):r.createCommentVNode("",!0),R[0]||(R[0]=r.createElementVNode("div",{class:"h-6 w-full rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[d.value?(r.openBlock(),r.createBlock(r.unref(qc),{key:0,for:c.value,class:"text-sm font-medium"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(d.value)+" ",1),e.required?(r.openBlock(),r.createElementBlock("span",due,"*")):r.createCommentVNode("",!0)]),_:1},8,["for"])):r.createCommentVNode("",!0),r.createElementVNode("div",uue,[e.showValue?(r.openBlock(),r.createElementBlock("div",fue,[r.createElementVNode("span",hue,r.toDisplayString(o.valuePrefix)+r.toDisplayString(e.min)+r.toDisplayString(o.valueSuffix),1),r.createElementVNode("span",mue,r.toDisplayString(p.value),1),r.createElementVNode("span",pue,r.toDisplayString(o.valuePrefix)+r.toDisplayString(e.max)+r.toDisplayString(o.valueSuffix),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",gue,[r.createElementVNode("div",{class:r.normalizeClass(["absolute top-1/2 -translate-y-1/2 w-full h-full bg-gray-200 rounded-lg pointer-events-none",[e.size==="sm"?"h-2":e.size==="md"?"h-2.5":"h-3"]])},[r.createElementVNode("div",{class:r.normalizeClass(["absolute top-0 left-0 h-full rounded-lg transition-all",[e.color==="blue"?"bg-blue-500":e.color==="green"?"bg-green-500":e.color==="red"?"bg-red-500":e.color==="yellow"?"bg-yellow-500":e.color==="purple"?"bg-purple-500":"bg-gray-500"]]),style:r.normalizeStyle({width:`${g.value}%`})},null,6)],2),r.createElementVNode("input",{id:c.value,ref_key:"sliderRef",ref:s,type:"range",value:e.modelValue,min:e.min,max:e.max,step:e.step,disabled:e.disabled,placeholder:e.placeholder,class:r.normalizeClass(f.value),onInput:y,onChange:v,onMousedown:w,onMouseup:C,onTouchstart:w,onTouchend:C},null,42,bue)]),e.marks.length>0?(r.openBlock(),r.createElementBlock("div",yue,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.marks,I=>(r.openBlock(),r.createElementBlock("div",{key:I.value,class:"absolute flex flex-col items-center",style:r.normalizeStyle({left:`${E(I.value)}%`,transform:"translateX(-50%)"})},[R[1]||(R[1]=r.createElementVNode("div",{class:"w-1 h-2 bg-gray-400 rounded-full"},null,-1)),r.createElementVNode("span",vue,r.toDisplayString(I.label),1)],4))),128))])):r.createCommentVNode("",!0)]),l.value?(r.openBlock(),r.createElementBlock("div",wue,[R[2]||(R[2]=r.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[r.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),r.createTextVNode(" "+r.toDisplayString(e.error),1)])):r.createCommentVNode("",!0)],64)),k.value?(r.openBlock(),r.createBlock(r.resolveDynamicComponent("style"),{key:2},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(k.value),1)]),_:1})):r.createCommentVNode("",!0)],10,lue)),[[r.vShow,e.visible]])}}),kue={key:0,class:"ml-1 text-destructive"},xue={class:"flex flex-col"},Cue={key:0,class:"flex items-center gap-2 text-sm text-gray-500 mb-2"},Eue={class:"relative flex-shrink-0 mt-0.5"},Sue=["id","name","value","checked","disabled","required","onChange"],Aue=["onClick"],Tue=["for"],Pue={key:0,class:"ml-1 text-red-500"},Bue={key:3,class:"flex items-center gap-1 text-sm text-red-500 mt-1"},g0=r.defineComponent({name:"DCodeRadio",inheritAttrs:!1,__name:"DCodeRadio",props:{modelValue:{default:void 0},label:{default:""},placeholder:{},clearable:{type:Boolean},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},error:{default:null},itemTitle:{default:"name"},itemValue:{default:"id"},returnObject:{type:Boolean},options:{default:()=>[]},apiUrl:{default:""},apiMethod:{default:"GET"},endpoint:{},dataPath:{default:""},layout:{type:Boolean,default:!0},size:{default:"md"},color:{default:"blue"},model:{default:"id"},id:{default:""}},emits:["update:modelValue","change"],setup(e,{emit:t}){r.useAttrs();const{apiUrl:n}=r.inject("externalApi")||{},i=t,o=e,s=r.ref([]),a=r.ref(!1),l=r.ref(null),c=async()=>{const T=o.endpoint?.apiUrl||o.apiUrl;if(T){a.value=!0,l.value=null;try{const R={page:1,perPage:100},I=o.endpoint?.apiMethod||o.apiMethod,P=await n(T,I,R);let S=P;o.dataPath?S=o.dataPath.split(".").reduce((z,M)=>z&&z[M]!=="undefined"?z[M]:void 0,P):typeof P=="object"&&!Array.isArray(P)&&P.data&&(S=P.data),Array.isArray(S)?s.value=S:(console.warn("DCodeRadio: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),l.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(R){console.error("DCodeRadio fetch error:",R),l.value="Gagal memuat data dari endpoint."}finally{a.value=!1}}};r.onMounted(()=>{(o.endpoint?.apiUrl||o.apiUrl)&&c()});const d=r.computed(()=>{if(o.options&&o.options.length>0)return o.options;if(s.value.length>0)return s.value;const T=o.itemValue||o.model||"id",R=o.itemTitle||(o.label===""?"name":o.label);return R&&o.label!==""?[{[T]:T,[R]:R}]:[]}),f=T=>{if(typeof T!="object")return T;const R=o.itemValue||o.model||"id";return T[R]},h=T=>{if(typeof T!="object")return String(T);const R=o.itemTitle||"name";return T[R]},p=r.computed(()=>o.model||`radio-group-${Math.random().toString(36).substr(2,9)}`),g=r.computed(()=>!!o.error||!!l.value),y=r.computed(()=>o.error||l.value),v=(T,R)=>{if(T==null)return o.modelValue===T;const I=o.modelValue;if(I==null)return T==null;const P=T,S=R?.id,O=R?.code;return(M=>{if(M==null)return!1;const B=typeof M=="object"&&M!==null?M.id??M.value??M.code??M:M;return String(B)===String(P)||S!=null&&String(B)===String(S)||O!=null&&String(B)===String(O)})(I)},w=r.computed(()=>({sm:{radio:"w-3 h-3",label:"text-sm",container:"gap-2"},md:{radio:"w-4 h-4",label:"text-base",container:"gap-2"},lg:{radio:"w-5 h-5",label:"text-lg",container:"gap-3"}})[o.size]),C=T=>{const R=d.value.find(P=>{const S=f(P);return String(S)===String(T)||typeof P=="object"&&P&&(String(P.id)===String(T)||String(P.code)===String(T))}),I=o.returnObject&&R?R:T;i("update:modelValue",I),i("change",I)},E=(T,R)=>{if(o.disabled||o.readonly){R.preventDefault();return}R.target.checked&&C(T)},k=T=>{!o.disabled&&!o.readonly&&!v(T)&&C(T)};return r.watch(()=>o.endpoint?.apiUrl||o.apiUrl,(T,R)=>{T&&T!==R&&c()}),(T,R)=>r.withDirectives((r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["grid gap-3",e.disabled||e.readonly?"cursor-not-allowed":""])},[e.label?(r.openBlock(),r.createBlock(qc,{key:0,class:"text-sm font-medium"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.label)+" ",1),e.required?(r.openBlock(),r.createElementBlock("span",kue,"*")):r.createCommentVNode("",!0)]),_:1})):r.createCommentVNode("",!0),r.createElementVNode("div",xue,[a.value?(r.openBlock(),r.createElementBlock("div",Cue,[r.createVNode(r.unref(Ee.Loader2),{class:"w-4 h-4 animate-spin"}),R[0]||(R[0]=r.createTextVNode(" Sedang memuat opsi... ",-1))])):r.createCommentVNode("",!0),o.skeleton?(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex",e.layout?"flex-row flex-wrap gap-4":"flex-col gap-3"])},[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(3,I=>r.createElementVNode("div",{key:I,class:"flex items-center gap-2"},[...R[1]||(R[1]=[r.createElementVNode("div",{class:"w-5 h-5 rounded-full bg-neutral-200 dark:bg-neutral-700 animate-pulse"},null,-1),r.createElementVNode("div",{class:"h-4 w-16 bg-neutral-200 dark:bg-neutral-700 rounded animate-pulse"},null,-1)])])),64))],2)):(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["flex",e.layout?"flex-row flex-wrap gap-4":"flex-col gap-3"])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d.value,(I,P)=>(r.openBlock(),r.createElementBlock("div",{key:P,class:r.normalizeClass(["flex items-start",w.value.container,e.disabled||e.readonly?"opacity-60 cursor-not-allowed":"cursor-pointer"])},[r.createElementVNode("div",Eue,[r.createElementVNode("input",{id:e.id?`${e.id}-${P}`:`${p.value}-${P}`,name:p.value,type:"radio",value:f(I),checked:v(f(I),I),disabled:e.disabled||e.readonly,required:e.required&&P===0,onChange:S=>E(f(I),S),class:"w-5 h-5 text-blue-600 focus:ring-blue-500 border-gray-300"},null,40,Sue)]),r.createElementVNode("div",{class:r.normalizeClass(["flex-1 min-w-0",v(f(I),I)?"font-bold":""]),onClick:S=>k(f(I))},[r.createElementVNode("label",{for:e.id?`${e.id}-${P}`:`${p.value}-${P}`,class:r.normalizeClass([w.value.label,"font-medium cursor-pointer select-none text-foreground dark:text-gray-300",e.disabled||e.readonly?"cursor-not-allowed opacity-60":""])},[r.createTextVNode(r.toDisplayString(h(I))+" ",1),e.required&&d.value.length===1&&e.label?(r.openBlock(),r.createElementBlock("span",Pue,"*")):r.createCommentVNode("",!0)],10,Tue)],10,Aue)],2))),128))],2)),g.value&&y.value?(r.openBlock(),r.createElementBlock("div",Bue,[r.createVNode(r.unref(Ee.AlertCircle),{class:"w-4 h-4 flex-shrink-0"}),r.createTextVNode(" "+r.toDisplayString(y.value),1)])):r.createCommentVNode("",!0)])],2)),[[r.vShow,e.visible]])}}),Due={class:"grid gap-3"},Nue={key:0,class:"ml-1 text-destructive"},Mue={class:"flex flex-col"},Iue={key:0,class:"flex items-center gap-2 text-sm text-gray-500 dark:text-neutral-400 mb-2"},Rue=["onClick"],Oue=["id","name","value","checked","disabled","required","onChange"],Lue={key:1,class:"w-6 h-6",fill:"currentColor",viewBox:"0 0 20 20"},Fue=["for"],$ue={key:0,class:"ml-1 text-red-500"},zue={key:1,class:"flex items-center gap-1 text-sm text-red-500 mt-2"},b0=r.defineComponent({name:"DCodeRadioCustom",inheritAttrs:!1,__name:"DCodeRadioCustom",props:{modelValue:{default:void 0},icon:{},itemTitle:{default:"name"},itemValue:{default:"id"},itemIcon:{},label:{default:""},options:{default:()=>[]},apiUrl:{default:""},apiMethod:{default:"GET"},endpoint:{},dataPath:{default:""},layout:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{default:null},size:{default:"md"},color:{default:"blue"},model:{default:"id"},id:{default:""},isTab:{type:Boolean,default:!1},iconMapping:{}},emits:["update:modelValue","change"],setup(e,{emit:t}){r.useAttrs();const{apiUrl:n}=r.inject("externalApi")||{},i=t,o=e,s=r.ref(o.modelValue??void 0);r.watch(()=>o.modelValue,z=>{s.value=z},{immediate:!0});const a=r.ref([]),l=r.ref(!1),c=r.ref(null),d=r.computed(()=>o.disabled||l.value||!!c.value),f=async()=>{const z=o.endpoint?.apiUrl||o.apiUrl;if(z){l.value=!0,c.value=null;try{const M={page:1,perPage:100},B=o.endpoint?.apiMethod||o.apiMethod,W=await n(z,B,M);let J=W;o.dataPath?J=o.dataPath.split(".").reduce((se,Q)=>se&&se[Q]!=="undefined"?se[Q]:void 0,W):typeof W=="object"&&!Array.isArray(W)&&W.data&&(J=W.data),Array.isArray(J)?a.value=J:(console.warn("DCodeRadioCustom: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),c.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(M){console.error("DCodeRadioCustom fetch error:",M),c.value="Gagal memuat data dari endpoint."}finally{l.value=!1}}};r.watch(()=>o.endpoint?.apiUrl||o.apiUrl,(z,M)=>{z&&z!==M&&f()});const h=r.ref(!1);let p=null;const g=()=>{typeof document<"u"&&(h.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};r.onMounted(()=>{(o.endpoint?.apiUrl||o.apiUrl)&&f(),g(),typeof document<"u"&&(p=new MutationObserver(g),p.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),p.observe(document.body,{attributes:!0,attributeFilter:["class"]}))}),r.onBeforeUnmount(()=>{p&&p.disconnect()});const y=r.computed(()=>{if(o.options&&o.options.length>0)return o.options;if(a.value.length>0)return a.value;const z=o.itemValue||o.model||"id",M=o.itemTitle||(o.label===""?"name":o.label);return M&&o.label!==""?[{[z]:z,[M]:M}]:[]}),v=z=>{if(typeof z!="object")return z;const M=o.itemValue||o.model||"id";return z[M]},w=z=>{if(typeof z!="object")return String(z);const M=o.itemTitle||"name";return z[M]},C=Math.random().toString(36).slice(2,7),E=r.computed(()=>o.id?`radio-custom-${o.id}`:`radio-custom-${o.model}-${C}`),k=r.computed(()=>!!o.error||!!c.value),T=r.computed(()=>o.error||c.value),R=(z,M)=>{if(z==null)return o.modelValue===z;const B=o.modelValue;if(B==null)return z==null;const W=z,J=M?.id,re=M?.code;return(Q=>{if(Q==null)return!1;const X=typeof Q=="object"&&Q!==null?Q.id??Q.value??Q.code??Q:Q;return String(X)===String(W)||J!=null&&String(X)===String(J)||re!=null&&String(X)===String(re)})(B)},I=r.computed(()=>{const z={sm:{radio:"w-3 h-3",label:"text-sm",container:"gap-2",tabPadding:"px-3 py-1.5"},md:{radio:"w-4 h-4",label:"text-base",container:"gap-2",tabPadding:"px-4 py-2"},lg:{radio:"w-5 h-5",label:"text-lg",container:"gap-3",tabPadding:"px-5 py-2.5"}};return z[o.size]||z.md}),P=z=>{const M=Array.isArray(o.iconMapping)?o.iconMapping:Object.values(o.iconMapping||{});if(M.length>0){const J=v(z),re=typeof z=="object"?z?.code:null,se=typeof z=="object"?z?.id:null,Q=typeof z=="object"?z?.value:null,X=M.find(Z=>{if(!Z||Z.value==null)return!1;const Y=String(Z.value).trim().toLowerCase();return re!=null&&String(re).trim().toLowerCase()===Y||J!=null&&String(J).trim().toLowerCase()===Y||Q!=null&&String(Q).trim().toLowerCase()===Y||se!=null&&String(se).trim().toLowerCase()===Y});if(X&&X.icon)return _r(X.icon,Ut)}const B=o.itemIcon||"icon",W=(typeof z=="object"?z?.[B]:null)||o.icon;return _r(W,Ut)},S=(z,M)=>{M.target.checked&&(s.value=z,i("update:modelValue",z),i("change",z))},O=z=>{o.disabled||R(z)||(s.value=z,i("update:modelValue",z),i("change",z))};return(z,M)=>(r.openBlock(),r.createElementBlock("div",Due,[e.label?(r.openBlock(),r.createBlock(qc,{key:0,class:"text-sm font-medium"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.label)+" ",1),e.required?(r.openBlock(),r.createElementBlock("span",Nue,"*")):r.createCommentVNode("",!0)]),_:1})):r.createCommentVNode("",!0),r.createElementVNode("div",Mue,[l.value?(r.openBlock(),r.createElementBlock("div",Iue,[r.createVNode(r.unref(Ee.Loader2),{class:"w-4 h-4 animate-spin"}),M[0]||(M[0]=r.createTextVNode(" Sedang memuat opsi... ",-1))])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass([e.isTab?"flex flex-wrap items-center gap-1.5 p-1.5 rounded-xl bg-gray-100 dark:bg-neutral-800/90 border border-gray-200/80 dark:border-neutral-700/80 w-full":["grid",e.layout?"grid-cols-2 sm:grid-cols-3":"grid-cols-1","gap-3"]])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(y.value,(B,W)=>(r.openBlock(),r.createElementBlock("div",{key:W,class:r.normalizeClass([e.isTab?["relative flex items-center justify-center gap-2 rounded-lg transition-all duration-200 select-none flex-1 min-w-[100px]",I.value.tabPadding,R(v(B),B)?h.value?"bg-neutral-700 text-primary-400 shadow-sm border border-neutral-600 font-semibold":"bg-white text-primary-600 shadow-sm border border-gray-200/80 font-semibold":h.value?"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-700/50 border border-transparent":"text-gray-600 hover:text-gray-900 hover:bg-gray-200/60 border border-transparent"]:["relative flex flex-col items-center justify-center gap-2 p-4 rounded-xl border-2 transition-all duration-200",R(v(B),B)?h.value?"border-primary-500 bg-primary-500/10 shadow-none":"border-primary-500 bg-primary-50 shadow-md shadow-primary-100":h.value?"border-neutral-700 bg-neutral-800 hover:border-neutral-600":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm"],d.value?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:J=>!d.value&&O(v(B))},[r.createElementVNode("input",{id:e.id?`${e.id}-${W}`:`${E.value}-${W}`,name:E.value,type:"radio",value:v(B),checked:R(v(B),B),disabled:d.value,required:e.required&&W===0,onChange:J=>S(v(B),J),class:"sr-only",tabindex:"-1"},null,40,Oue),e.isTab?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[P(B)?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(P(B)),{key:0,class:"w-4 h-4 flex-shrink-0"})):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center transition-all duration-200",R(v(B),B)?h.value?"bg-primary-500/25 text-primary-400":"bg-primary-100 text-primary-600":h.value?"bg-neutral-700 text-neutral-500":"bg-gray-100 text-gray-400"])},[P(B)?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(P(B)),{key:0,class:"w-6 h-6"})):(r.openBlock(),r.createElementBlock("svg",Lue,[...M[1]||(M[1]=[r.createElementVNode("circle",{cx:"10",cy:"10",r:"6"},null,-1)])]))],2)),r.createElementVNode("label",{for:e.id?`${e.id}-${W}`:`${E.value}-${W}`,class:r.normalizeClass([I.value.label,"text-center leading-tight select-none transition-colors duration-200",e.isTab?"":["font-medium",R(v(B),B)?h.value?"text-primary-400":"text-primary-700":h.value?"text-neutral-300":"text-gray-700"],e.disabled?"cursor-not-allowed":"cursor-pointer"])},[r.createTextVNode(r.toDisplayString(w(B))+" ",1),e.required&&y.value.length===1&&e.label?(r.openBlock(),r.createElementBlock("span",$ue,"*")):r.createCommentVNode("",!0)],10,Fue)],10,Rue))),128))],2),k.value&&T.value?(r.openBlock(),r.createElementBlock("div",zue,[r.createVNode(r.unref(Ee.AlertCircle),{class:"w-4 h-4 flex-shrink-0"}),r.createTextVNode(" "+r.toDisplayString(T.value),1)])):r.createCommentVNode("",!0)])]))}}),jue=["aria-busy"],Uue={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},Wue=["for"],Hue={key:0,class:"ml-1 text-destructive"},que=["id","disabled"],Kue={class:"min-w-0 flex-1 text-left"},Gue={key:0,class:"flex flex-wrap gap-1.5"},Yue={class:"max-w-[220px] truncate"},Zue=["onClick"],Xue={key:0,class:"inline-flex items-center rounded-md border px-1.5 py-0.5 text-xs font-medium bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-neutral-100 border-transparent"},Jue={key:1,class:"text-muted-foreground truncate"},Que={class:"flex items-center gap-2 shrink-0"},Vue={key:0,class:"p-2 border-b border-gray-200 dark:border-gray-800"},efe=["placeholder","onKeydown"],tfe={key:0,class:"h-full flex items-center justify-center px-3 text-sm text-muted-foreground"},nfe=["disabled","onClick"],ife={class:"truncate"},ofe={key:0,class:"text-primary-600 dark:text-primary-400"},rfe={key:1,class:"h-full flex items-center justify-center text-sm text-muted-foreground"},sfe={key:0},afe={key:1},lfe={key:1,class:"text-xs text-destructive"},y0=r.defineComponent({name:"DCodeMultiSelect",inheritAttrs:!1,__name:"DCodeMultiSelect",props:{modelValue:{},label:{default:""},placeholder:{default:"Pilih data…"},clearable:{type:Boolean,default:!1},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},error:{default:null},items:{default:()=>[]},endpoint:{default:void 0},fetchItems:{},autoFetchOnOpen:{type:Boolean,default:!0},autoFetchOnMount:{type:Boolean,default:!1},refreshOnOpen:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:"Cari…"},maxChips:{default:5},maxSelected:{default:5},itemTitle:{type:[String,Function],default:"name"},itemValue:{type:[String,Function],default:"id"},returnObject:{type:Boolean,default:!1},virtual:{type:Boolean,default:!0},itemHeight:{default:40},maxRows:{default:5},overscan:{default:6},size:{default:"default"},rounded:{default:"lg"}},emits:["update:modelValue","clear","max"],setup(e,{emit:t}){const n=r.useAttrs(),i=t,o=e,s=r.computed(()=>(o.label||n.label)??void 0),a=r.computed(()=>o.visible??!0),l=r.computed(()=>{switch(o.size){case"sm":return"min-h-8";case"lg":return"min-h-11";default:return"min-h-10"}}),c=r.computed(()=>Gt(o.rounded)),d=Math.random().toString(36).slice(2,7),f=r.computed(()=>`app-multiselect-${n.id||s.value||"field"}-${d}`),h=r.computed(()=>{if(o.required)return!0;const ce=n.required,ye=n["aria-required"];return ce===""||ce===!0||ce==="true"||(ye==="true"||ye===!0)}),p=r.computed(()=>!!o.error);function g(ce){return ce?typeof o.itemTitle=="function"?o.itemTitle(ce)??"":String(ce?.[o.itemTitle]??""):""}function y(ce){return ce?typeof o.itemValue=="function"?o.itemValue(ce):ce?.[o.itemValue]:null}function v(ce,ye){return y(ce)??ye}const w=r.computed(()=>Array.isArray(o.modelValue)?o.modelValue:[]),C=r.computed(()=>!!o.endpoint?.apiUrl||!!o.fetchItems),E=r.ref([]),{DCodeApi:k}=r.inject("externalApi")||{},T=r.ref(!1),R=r.ref(!1),I=r.computed(()=>{const ce=o.endpoint?.apiOptions;if(ce)return typeof ce=="function"?ce():ce}),P=r.computed(()=>{const ce=o.endpoint?.apiUrl??"",ye=(o.endpoint?.apiMethod??"GET").toUpperCase(),Ae=JSON.stringify(I.value??null);return`${ye} ${ce} :: ${Ae}`}),S=r.computed(()=>C.value?E.value:o.items||[]);async function O(){if(C.value&&!(!o.endpoint?.apiUrl&&!o.fetchItems)&&!T.value){T.value=!0;try{let ce=[];if(o.fetchItems){const ye=await o.fetchItems(),Ae=ye?.data??ye;ce=Ae?.data??Ae}else if(k){if(typeof k!="function"){console.error("[DCodeMultiSelectChips] useApi() must expose DCodeApi()");return}const ye={page:1,perPage:100,...I.value||{}},Ae=await k("","",ye,{_url:o.endpoint.apiUrl,_method:(o.endpoint.apiMethod||"GET").toUpperCase()}),Ue=Ae?.data??Ae;ce=Ue?.data??Ue}E.value=Array.isArray(ce)?ce:[],R.value=!0}catch(ce){console.error("[DCodeMultiSelectChips][fetchOptions] ERROR:",ce),E.value=[]}finally{T.value=!1}}}r.watch(()=>P.value,()=>{E.value=[],R.value=!1}),r.onMounted(()=>{o.autoFetchOnMount&&C.value&&O()});const z=r.computed(()=>{const ce=w.value;if(o.returnObject)return ce;const ye=new Map;for(const Ae of S.value){const Ue=y(Ae);Ue!=null&&ye.set(String(Ue),Ae),Ae.id!=null&&ye.set(String(Ae.id),Ae),Ae.code!=null&&ye.set(String(Ae.code),Ae)}return ce.map(Ae=>ye.get(String(Ae))??{[o.itemValue]:Ae,[o.itemTitle]:String(Ae)})}),M=r.computed(()=>o.maxChips===null?z.value:z.value.slice(0,o.maxChips));function B(ce){const ye=w.value,Ae=y(ce),Ue=ce?.id,Ce=ce?.code,Ne=Ye=>{if(Ye==null)return!1;const mt=o.returnObject&&typeof Ye=="object"?y(Ye):Ye;return String(mt)===String(Ae)||Ue!=null&&String(mt)===String(Ue)||Ce!=null&&String(mt)===String(Ce)};return ye.some(Ye=>Ne(Ye))}const W=r.computed(()=>{if(o.maxSelected===null||o.maxSelected===void 0)return null;const ce=Number(o.maxSelected);return Number.isFinite(ce)&&ce>0?ce:null}),J=r.computed(()=>{const ce=W.value;return ce===null?!1:w.value.length>=ce});function re(ce){return!B(ce)&&J.value}const se=r.computed(()=>{const ce=w.value,ye=new Set;if(o.returnObject)for(const Ae of ce)ye.add(y(Ae));else for(const Ae of ce)ye.add(Ae);return ye}),Q=r.computed(()=>{const ce=se.value;return(S.value||[]).filter(ye=>!ce.has(y(ye)))}),X=r.computed(()=>S.value.length===0?!1:Q.value.length===0),Z=r.ref(null),Y=r.ref(null),ue=r.ref(null),j=r.ref(!1),K=r.ref(""),U=r.ref(0),ee=r.ref(0),{floatingStyles:ne}=Ou(Z,Y,{whileElementsMounted:Du,placement:"bottom-start",middleware:[Nu(8),Iu(),Mu({padding:8}),Dm({apply({rects:ce,elements:ye}){Object.assign(ye.floating.style,{width:`${ce.reference.width}px`,"--floating-width":`${ce.reference.width}px`})}})]}),$=r.computed(()=>ne.value),_=r.computed(()=>{const ce=Number(o.maxRows);return Number.isFinite(ce)&&ce>0?ce:5});async function x(){o.disabled||o.readonly||(j.value=!0,ee.value=0,requestAnimationFrame(()=>{ue.value&&(ue.value.scrollTop=0),U.value=0}),C.value&&o.autoFetchOnOpen&&(o.refreshOnOpen||!R.value)&&!T.value&&await O())}function D(){j.value=!1}function N(){j.value?D():x()}function A(ce){if(!j.value)return;const ye=ce.target;Z.value?.contains(ye)||Y.value?.contains(ye)||D()}r.onMounted(()=>document.addEventListener("mousedown",A)),r.onBeforeUnmount(()=>document.removeEventListener("mousedown",A));function H(ce){if(o.disabled||o.readonly)return;if(re(ce)){i("max");return}const ye=[...w.value];if(o.returnObject){const Ae=y(ce);if(ye.some(Ce=>y(Ce)===Ae))return;i("update:modelValue",[...ye,ce])}else{const Ae=y(ce);if(ye.includes(Ae))return;i("update:modelValue",[...ye,Ae])}K.value="",ee.value=0,requestAnimationFrame(()=>{ue.value&&(ue.value.scrollTop=0),U.value=0})}function G(ce){if(o.disabled||o.readonly)return;const ye=[...w.value];if(o.returnObject){const Ae=y(ce);i("update:modelValue",ye.filter(Ue=>y(Ue)!==Ae))}else{const Ae=y(ce);i("update:modelValue",ye.filter(Ue=>Ue!==Ae))}}function oe(){o.disabled||o.readonly||(i("update:modelValue",[]),i("clear"),D())}const he=r.computed(()=>{const ce=K.value.trim().toLowerCase(),ye=Q.value;return ce?ye.filter(Ae=>g(Ae).toLowerCase().includes(ce)):ye}),ge=r.computed(()=>he.value.length);r.watch(j,ce=>{ce||(K.value="")});const xe=r.computed(()=>{if(X.value)return o.itemHeight;const ce=ge.value;return(ce<=0?1:Math.min(ce,_.value))*o.itemHeight}),ae=r.computed(()=>o.virtual?ge.value*o.itemHeight:0),ve=r.computed(()=>o.virtual?Math.ceil(xe.value/o.itemHeight)+o.overscan:ge.value),be=r.computed(()=>{if(!o.virtual)return 0;const ce=Math.floor(U.value/o.itemHeight)-Math.floor(o.overscan/2);return Math.max(0,ce)}),_e=r.computed(()=>o.virtual?Math.min(ge.value,be.value+ve.value):ge.value),Oe=r.computed(()=>o.virtual?be.value*o.itemHeight:0),je=r.computed(()=>{const ce=he.value;return o.virtual?ce.slice(be.value,_e.value):ce});function Ge(ce){const ye=ce.target;U.value=ye.scrollTop}function Je(ce){return ce===ee.value}function Te(ce){const ye=ue.value;if(!ye||!o.virtual)return;const Ae=ce*o.itemHeight,Ue=Ae+o.itemHeight,Ce=ye.scrollTop,Ne=ye.scrollTop+ye.clientHeight;Ae<Ce?ye.scrollTop=Ae:Ue>Ne&&(ye.scrollTop=Ue-ye.clientHeight)}function Se(ce){const ye=Math.max(0,ge.value-1);ee.value=Math.min(ye,Math.max(0,ee.value+ce)),Te(ee.value)}function Fe(){const ce=he.value[ee.value];ce&&H(ce)}const ze=r.computed(()=>o.clearable&&!o.disabled&&!o.readonly&&z.value.length>0),Ze=r.computed(()=>p.value?"border-destructive ring-1 ring-destructive":j.value?"border-neutral-400 ring-1 ring-neutral-400 dark:border-neutral-600 dark:ring-neutral-600":"");return(ce,ye)=>r.withDirectives((r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["flex flex-col gap-1 w-full",[r.unref(n).class,o.disabled?"cursor-not-allowed":""]]),"aria-busy":o.skeleton},[o.skeleton?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[s.value?(r.openBlock(),r.createElementBlock("div",Uue)):r.createCommentVNode("",!0),ye[3]||(ye[3]=r.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[s.value?(r.openBlock(),r.createElementBlock("label",{key:0,for:f.value,class:"text-sm font-medium"},[r.createTextVNode(r.toDisplayString(s.value)+" ",1),h.value?(r.openBlock(),r.createElementBlock("span",Hue,"*")):r.createCommentVNode("",!0)],8,Wue)):r.createCommentVNode("",!0),r.createElementVNode("div",{ref_key:"referenceEl",ref:Z,class:"relative"},[r.createElementVNode("button",{id:f.value,type:"button",class:r.normalizeClass(["w-full justify-between h-auto transition border flex items-center",[l.value,c.value,"bg-white dark:bg-neutral-800 border-gray-300 dark:border-neutral-700/50 text-foreground dark:text-gray-300 px-3 py-2",o.disabled?"cursor-not-allowed opacity-50":o.readonly?"cursor-default bg-neutral-50/50 dark:bg-neutral-900/30":"",Ze.value]]),disabled:o.disabled||o.readonly,onClick:N},[r.createElementVNode("div",Kue,[z.value.length?(r.openBlock(),r.createElementBlock("div",Gue,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(M.value,(Ae,Ue)=>(r.openBlock(),r.createElementBlock("div",{key:`chip-${v(Ae,Ue)}`,class:"inline-flex items-center rounded-md border px-1.5 py-0.5 text-xs font-medium bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-neutral-100 border-transparent gap-1"},[r.createElementVNode("span",Yue,r.toDisplayString(g(Ae)),1),o.disabled?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("button",{key:0,class:"ml-1 opacity-70 hover:opacity-100",onClick:r.withModifiers(Ce=>G(Ae),["stop"]),"aria-label":"Remove"}," ✕ ",8,Zue))]))),128)),o.maxChips!==null&&z.value.length>o.maxChips?(r.openBlock(),r.createElementBlock("div",Xue," +"+r.toDisplayString(z.value.length-(o.maxChips??0)),1)):r.createCommentVNode("",!0)])):(r.openBlock(),r.createElementBlock("div",Jue,r.toDisplayString(o.placeholder),1))]),r.createElementVNode("div",Que,[ze.value?(r.openBlock(),r.createElementBlock("button",{key:0,class:"text-muted-foreground hover:text-foreground",onClick:r.withModifiers(oe,["stop"]),"aria-label":"Clear"}," ✕ ")):r.createCommentVNode("",!0),r.createVNode(r.unref(Ee.ChevronDown),{class:"h-4 w-4 text-muted-foreground"})])],10,que),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[j.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"floatingEl",ref:Y,class:"-mt-1 z-[9999] pointer-events-auto w-[var(--floating-width)] rounded-lg border shadow-lg overflow-hidden bg-white dark:bg-neutral-800 border-gray-200 dark:border-neutral-700/50",style:r.normalizeStyle($.value)},[o.searchable&&!X.value?(r.openBlock(),r.createElementBlock("div",Vue,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":ye[0]||(ye[0]=Ae=>K.value=Ae),placeholder:o.searchPlaceholder,class:"w-full h-10 px-3 py-2 text-sm bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700/50 rounded-md focus:outline-none focus:ring-1 focus:ring-neutral-400 dark:focus:ring-neutral-600",onKeydown:[ye[1]||(ye[1]=r.withKeys(r.withModifiers(Ae=>Se(1),["prevent"]),["down"])),ye[2]||(ye[2]=r.withKeys(r.withModifiers(Ae=>Se(-1),["prevent"]),["up"])),r.withKeys(r.withModifiers(Fe,["prevent"]),["enter"]),r.withKeys(r.withModifiers(D,["prevent"]),["esc"])]},null,40,efe),[[r.vModelText,K.value]])])):r.createCommentVNode("",!0),r.createElementVNode("div",{ref_key:"listEl",ref:ue,class:"relative overflow-auto",style:r.normalizeStyle({height:xe.value+"px"}),onScroll:Ge},[X.value?(r.openBlock(),r.createElementBlock("div",tfe," All items have been selected ")):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[o.virtual?(r.openBlock(),r.createElementBlock("div",{key:0,style:r.normalizeStyle({height:ae.value+"px"})},null,4)):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(o.virtual?"absolute left-0 top-0 w-full":""),style:r.normalizeStyle(o.virtual?{transform:`translateY(${Oe.value}px)`}:void 0)},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(je.value,(Ae,Ue)=>(r.openBlock(),r.createElementBlock("button",{key:String(v(Ae,be.value+Ue)),type:"button",class:r.normalizeClass(["w-full px-3 text-left text-sm flex items-center justify-between gap-3",[re(Ae)?"cursor-not-allowed opacity-50":"hover:bg-neutral-50 dark:hover:bg-neutral-800/60",Je(be.value+Ue)?"bg-neutral-50 dark:bg-neutral-800/60":"",B(Ae)?"font-semibold":"font-normal"]]),style:r.normalizeStyle({height:o.itemHeight+"px"}),disabled:o.disabled||re(Ae),onClick:Ce=>H(Ae)},[r.createElementVNode("span",ife,r.toDisplayString(g(Ae)),1),B(Ae)?(r.openBlock(),r.createElementBlock("span",ofe,"✓")):r.createCommentVNode("",!0)],14,nfe))),128))],6),ge.value===0?(r.openBlock(),r.createElementBlock("div",rfe,[T.value?(r.openBlock(),r.createElementBlock("span",sfe,"Loading data…")):(r.openBlock(),r.createElementBlock("span",afe,"Tidak ada data"))])):r.createCommentVNode("",!0)],64))],36)],4)):r.createCommentVNode("",!0)]))],512),p.value?(r.openBlock(),r.createElementBlock("p",lfe,r.toDisplayString(o.error),1)):r.createCommentVNode("",!0)],64))],10,jue)),[[r.vShow,a.value]])}}),cfe={class:"permission-menu w-full space-y-4"},dfe={class:"bg-neutral-50/50 dark:bg-neutral-900/30 border-b border-neutral-200/60 dark:border-neutral-700/30 text-neutral-900 dark:text-neutral-100 p-4"},ufe={class:"flex items-center justify-between"},ffe={class:"flex items-center gap-3 flex-1"},hfe=["onClick"],mfe={key:1,class:"w-7"},pfe={key:2,class:"flex-shrink-0"},gfe={class:"text-lg font-semibold flex-1"},bfe={key:0,class:"p-4 bg-gray-50 dark:bg-zinc-900/50 border-b border-gray-200 dark:border-neutral-700"},yfe={class:"text-xs font-semibold text-gray-600 dark:text-neutral-400 uppercase tracking-wide mb-3"},vfe={class:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-6 gap-2 w-full"},wfe=["checked","onChange"],_fe={class:"text-sm font-medium text-gray-700 dark:text-neutral-300 group-hover:text-blue-700 dark:group-hover:text-primary-400"},kfe={key:0,class:"p-4 space-y-3 bg-gray-50 dark:bg-zinc-900/30"},xfe={class:"text-sm font-semibold text-gray-700 dark:text-neutral-300 mb-3 flex items-center gap-2"},Cfe={class:"bg-neutral-50 dark:bg-neutral-900/30 border-b border-neutral-200/60 dark:border-neutral-700/30 text-neutral-900 dark:text-neutral-100 p-3"},Efe={class:"flex items-center justify-between"},Sfe={class:"flex items-center gap-3 flex-1"},Afe={key:0,class:"flex-shrink-0"},Tfe={class:"text-base font-semibold flex-1"},Pfe={key:1,class:"text-xs bg-white/20 px-2 py-1 rounded font-mono hidden sm:inline-block"},Bfe={class:"flex items-center gap-2 px-2.5 py-1 bg-white/20 hover:bg-white/30 rounded-lg cursor-pointer transition-colors"},Dfe=["checked","onChange"],Nfe={class:"text-xs font-medium"},Mfe={key:0,class:"p-3"},Ife={class:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-6 gap-2 w-full"},Rfe=["checked","onChange"],Ofe={class:"text-xs font-medium text-gray-700 dark:text-neutral-300 group-hover:text-pink-700 dark:group-hover:text-pink-400"},v0=In(r.defineComponent({__name:"DCodePermissionMenu",props:{menuList:{default:()=>[]},enableParentControl:{type:Boolean,default:!1},showIcons:{type:Boolean,default:!0},modelValue:{default:()=>[]},treeData:{default:()=>[]}},emits:["permission-change","menu-check","update:modelValue"],setup(e,{expose:t,emit:n}){const{t:i}=Mn.useI18n(),o=e,s=n,a=r.computed(()=>o.menuList&&o.menuList.length>0?o.menuList:o.treeData||[]),l=r.ref(new Map),c=r.ref(new Set),d=z=>z.detail&&z.detail.length>0,f=z=>z.code==="VIEW"||z.name.toUpperCase()==="VIEW",h=(z=!0)=>{(B=>{B.forEach(W=>{const J=d(W);W.permission.forEach(re=>{const se=`${W.id}-${re.id}-parent`;if(!l.value.has(se)){let Q=!1;z&&(Q=W.checked??!1),l.value.set(se,Q)}}),J&&W.detail.forEach(re=>{re.permission.forEach(se=>{const Q=`${re.id}-${se.id}-child`;l.value.has(Q)||l.value.set(Q,z?re.checked??!1:!1)})})})})(a.value)},p=()=>{console.log("[DCodePermissionMenu] initializeFromModelValue called. modelValue:",o.modelValue),l.value.clear(),h(!1),o.modelValue&&o.modelValue.length>0&&o.modelValue.forEach(z=>{const M=z.menuId,B=z.actionsIds;a.value.forEach(W=>{W.id===M&&B.forEach(J=>{const re=`${M}-${J}-parent`;l.value.set(re,!0)}),W.detail&&W.detail.length>0&&W.detail.forEach(J=>{J.id===M&&B.forEach(re=>{const se=`${M}-${re}-child`;l.value.set(se,!0)})})})})};p(),r.watch(()=>o.modelValue,()=>{p()},{deep:!0}),r.watch(()=>a.value.length,(z,M)=>{M===0&&z>0&&p()});const g=z=>{c.value.has(z)?c.value.delete(z):c.value.add(z)},y=z=>c.value.has(z),v=(z,M,B=!1)=>{const W=`${z}-${M}-${B?"child":"parent"}`;return l.value.get(W)??!1},w=()=>{const z=I();s("update:modelValue",z.permissions)},C=(z,M,B,W=!1)=>{const J=B.target.checked,re=`${z}-${M}-${W?"child":"parent"}`;l.value.set(re,J),s("permission-change",z,M,J,!W),w()},E=z=>d(z)?z.permission.filter(f):z.permission,k=(z,M,B)=>{const W=B.target.checked;M.permission.forEach(J=>{if(f(J)){const se=`${M.id}-${J.id}-child`;l.value.set(se,W);return}const re=`${M.id}-${J.id}-child`;l.value.set(re,W)}),l.value=new Map(l.value),s("menu-check",M.id,W),w()},T=(z,M=!1)=>{const B=M?z.permission:E(z);return!B||B.length===0?!1:B.every(W=>{const J=`${z.id}-${W.id}-${M?"child":"parent"}`;return l.value.get(J)??!1})},R=()=>{const z={};return a.value.forEach(M=>{z[M.id]={name:M.name,parentPermissions:M.permission.map(B=>({id:B.id,name:B.name,checked:v(M.id,B.id,!1)})),children:M.detail?.map(B=>({id:B.id,name:B.name,permissions:B.permission.map(W=>({id:W.id,name:W.name,checked:v(B.id,W.id,!0)}))}))||[]}}),z},I=()=>{const z=[],M=(B,W=!1)=>{const J=[];B.permission.forEach(re=>{const se=`${B.id}-${re.id}-${W?"child":"parent"}`;(l.value.get(se)??!1)&&J.push(re.id)}),J.length>0&&z.push({menuId:B.id,actionsIds:J})};return a.value.forEach(B=>{M(B,!1),B.detail&&B.detail.length>0&&B.detail.forEach(W=>{M(W,!0)})}),{permissions:z}};return t({getCurrentStates:R,getPermissionsForDatabase:I,getAllPermissionsWithStatus:()=>{const z=[],M=(B,W=!1)=>{const J=B.permission.map(se=>{const Q=`${B.id}-${se.id}-${W?"child":"parent"}`,X=l.value.get(Q)??!1;return{id:se.id,name:se.name,checked:X}}),re=J.filter(se=>se.checked).map(se=>se.id);z.push({menuId:B.id,menuName:B.name,actionsIds:re,actions:J})};return a.value.forEach(B=>{M(B,!1),B.detail&&B.detail.length>0&&B.detail.forEach(W=>{M(W,!0)})}),{permissions:z}},permissionStates:l,expandAll:()=>{a.value.forEach(z=>{d(z)&&c.value.add(z.id)})},collapseAll:()=>{c.value.clear()}}),(z,M)=>(r.openBlock(),r.createElementBlock("div",cfe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,B=>(r.openBlock(),r.createElementBlock("div",{key:B.id,class:r.normalizeClass(["dcode-card overflow-hidden",{"border-l-4 border-l-blue-500":d(B)}])},[r.createElementVNode("div",dfe,[r.createElementVNode("div",ufe,[r.createElementVNode("div",ffe,[d(B)?(r.openBlock(),r.createElementBlock("button",{key:0,onClick:W=>g(B.id),type:"button",class:"p-1 hover:bg-white/20 rounded-lg transition-colors"},[y(B.id)?(r.openBlock(),r.createBlock(r.unref(Ee.ChevronDown),{key:0,class:"w-5 h-5"})):(r.openBlock(),r.createBlock(r.unref(Ee.ChevronRight),{key:1,class:"w-5 h-5"}))],8,hfe)):(r.openBlock(),r.createElementBlock("div",mfe)),e.showIcons&&B.icon?(r.openBlock(),r.createElementBlock("span",pfe,[r.createElementVNode("i",{class:r.normalizeClass([B.icon,"text-2xl"])},null,2)])):r.createCommentVNode("",!0),r.createElementVNode("h3",gfe,r.toDisplayString(B.name),1)])])]),B.permission&&B.permission.length>0?(r.openBlock(),r.createElementBlock("div",bfe,[r.createElementVNode("h4",yfe,r.toDisplayString(r.unref(i)("common.permissions"))+": ",1),r.createElementVNode("div",vfe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(E(B),W=>(r.openBlock(),r.createElementBlock("label",{key:W.id,class:"flex items-center gap-2 px-3 py-2 bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700/50 rounded-lg cursor-pointer hover:border-blue-400 dark:hover:border-primary-500 hover:bg-blue-50 dark:hover:bg-neutral-900/50 transition-all group"},[r.createElementVNode("input",{type:"checkbox",checked:v(B.id,W.id,!1),onChange:J=>C(B.id,W.id,J,!1),class:"w-4 h-4 text-blue-600 border-gray-300 dark:border-neutral-600 dark:bg-zinc-800 rounded focus:ring-blue-500 dark:focus:ring-blue-600 cursor-pointer"},null,40,wfe),r.createElementVNode("span",_fe,r.toDisplayString(W.name),1)]))),128))])])):r.createCommentVNode("",!0),r.createVNode(r.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-[5000px]","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"opacity-100 max-h-[5000px]","leave-to-class":"opacity-0 max-h-0"},{default:r.withCtx(()=>[d(B)&&y(B.id)?(r.openBlock(),r.createElementBlock("div",kfe,[r.createElementVNode("h4",xfe,[M[0]||(M[0]=r.createElementVNode("span",{class:"w-1 h-4 bg-blue-500 rounded"},null,-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("common.subMenus")),1)]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(B.detail,W=>(r.openBlock(),r.createElementBlock("div",{key:W.id,class:"bg-white dark:bg-neutral-800 rounded-lg border border-gray-200 dark:border-neutral-700/50 overflow-hidden shadow-sm hover:shadow transition-shadow"},[r.createElementVNode("div",Cfe,[r.createElementVNode("div",Efe,[r.createElementVNode("div",Sfe,[e.showIcons&&W.icon?(r.openBlock(),r.createElementBlock("span",Afe,[r.createElementVNode("i",{class:r.normalizeClass([W.icon,"text-xl"])},null,2)])):r.createCommentVNode("",!0),r.createElementVNode("h5",Tfe,r.toDisplayString(W.name),1),W.path?(r.openBlock(),r.createElementBlock("span",Pfe,r.toDisplayString(W.path),1)):r.createCommentVNode("",!0),r.createElementVNode("label",Bfe,[r.createElementVNode("input",{type:"checkbox",checked:T(W,!0),onChange:J=>k(B,W,J),class:"w-3.5 h-3.5 text-pink-600 border-gray-300 dark:border-neutral-600 dark:bg-zinc-800 rounded focus:ring-pink-500 dark:focus:ring-pink-600 cursor-pointer"},null,40,Dfe),r.createElementVNode("span",Nfe,r.toDisplayString(r.unref(i)("common.selectAll")),1)])])])]),W.permission&&W.permission.length>0?(r.openBlock(),r.createElementBlock("div",Mfe,[r.createElementVNode("div",Ife,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(W.permission,J=>(r.openBlock(),r.createElementBlock("label",{key:J.id,class:"flex items-center gap-2 px-2.5 py-1.5 bg-gray-50 dark:bg-zinc-900/50 border border-gray-200 dark:border-neutral-700 rounded-md cursor-pointer hover:border-pink-400 dark:hover:border-pink-500 hover:bg-pink-50 dark:hover:bg-pink-900/20 transition-all group"},[r.createElementVNode("input",{type:"checkbox",checked:v(W.id,J.id,!0),onChange:re=>C(W.id,J.id,re,!0),class:"w-3.5 h-3.5 text-pink-600 border-gray-300 dark:border-neutral-600 dark:bg-zinc-800 rounded focus:ring-pink-500 dark:focus:ring-pink-600 cursor-pointer"},null,40,Rfe),r.createElementVNode("span",Ofe,r.toDisplayString(J.name),1)]))),128))])])):r.createCommentVNode("",!0)]))),128))])):r.createCommentVNode("",!0)]),_:2},1024)],2))),128))]))}}),[["__scopeId","data-v-d20eb07e"]]),Lfe={class:"space-y-4"},Ffe={key:0,class:"block text-sm font-medium text-neutral-700 dark:text-neutral-300 mb-2"},$fe={key:0,class:"text-danger-500"},zfe={key:1,class:"flex items-center justify-center p-8 bg-white dark:bg-gray-800 rounded-lg shadow"},jfe={class:"text-neutral-600 dark:text-neutral-400"},Ufe={key:2,class:"p-6 bg-white dark:bg-gray-800 rounded-lg shadow text-center"},Wfe={class:"text-neutral-500 dark:text-neutral-400"},Hfe={key:3,class:"space-y-3"},qfe={class:"flex items-center justify-between p-4 bg-neutral-50 dark:bg-neutral-800 border-b border-neutral-200 dark:border-neutral-700"},Kfe={class:"flex items-center gap-3"},Gfe={class:"font-medium text-gray-900 dark:text-gray-100 text-base"},Yfe={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},Zfe={class:"flex items-center gap-2 text-sm font-medium"},Xfe={class:"px-2.5 py-1 rounded-full bg-primary-100 dark:bg-primary-900 text-primary-700 dark:text-primary-300"},Jfe={class:"p-4"},Qfe={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"},Vfe={class:"ml-2 flex-1 min-w-0"},ehe=["for"],the={key:0,class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5 line-clamp-2"},nhe={key:4,class:"mt-1 text-xs text-danger-600"},w0=r.defineComponent({__name:"DCodeTreePermissions",props:{modelValue:{},label:{},required:{type:Boolean},disabled:{type:Boolean},error:{},treeData:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=t,{t:o}=Mn.useI18n(),s=r.ref(!0),a=r.ref([]),l=r.ref({}),c=r.ref([]),d=r.ref({}),f=C=>{if(!C)return[];if(Array.isArray(C)&&C.length>0&&C[0].module&&Array.isArray(C[0].permissions))return C.map(E=>({menuId:E.menuId,module:E.module,label:E.label||E.module,permissions:E.permissions}));if(Array.isArray(C)&&C.length>0&&C[0].key){const E={};return C.forEach(k=>{const T=k.key,R=T&&T.includes(".")?T.split(".")[0]:"other";E[R]||(E[R]={menuId:0,module:R,label:R,permissions:[]}),E[R].permissions.push({id:k.id,key:k.key,label:k.label,description:k.description})}),Object.values(E)}if(Array.isArray(C)&&C.length>0&&C[0].id&&C[0].name&&Array.isArray(C[0].permission)){const E=[],k=(T,R="")=>{const I=R?`${R}.${T.name}`:T.name,P=I.toLowerCase().replace(/\s+/g,"_"),S=[];if(T.detail&&Array.isArray(T.detail)&&T.detail.forEach(O=>{S.push(O.id)}),T.permission&&T.permission.length>0){const O=T.permission.map(z=>({id:z.id,key:`${P}.${z.name.toLowerCase().replace(/\s+/g,"_")}`,label:`${z.name} ${T.name}`,description:`Permission to ${z.name.toLowerCase()} ${T.name.toLowerCase()}`}));E.push({menuId:T.id,module:P,label:T.name,permissions:O,subMenuIds:S.length>0?S:void 0})}T.detail&&Array.isArray(T.detail)&&T.detail.forEach(O=>{k(O,I)})};return C.forEach(T=>k(T)),E}return C.data?f(C.data):[]},h=async()=>{s.value=!0;try{let C;n.treeData&&n.treeData.length>0?C=n.treeData:C=[];const E=f(C);a.value=E;const k={},T=[],R={};E.forEach(P=>{P.permissions.forEach(S=>{const O=typeof S.id=="string"?parseInt(S.id):S.id;R[O]=P.menuId})});const I=new Set;n.modelValue&&Array.isArray(n.modelValue)&&n.modelValue.forEach(P=>{T.push(P.menuId),P.actionsIds&&Array.isArray(P.actionsIds)&&P.actionsIds.forEach(S=>I.add(S))}),E.forEach(P=>P.permissions.forEach(S=>{const O=typeof S.id=="string"?parseInt(S.id):S.id;k[O]=I.has(O)})),l.value=k,c.value=T,d.value=R}catch{a.value=[]}finally{s.value=!1}},p=C=>C.permissions.filter(E=>{const k=typeof E.id=="string"?parseInt(E.id):E.id;return l.value[k]}).length,g=C=>C.permissions.every(E=>{const k=typeof E.id=="string"?parseInt(E.id):E.id;return l.value[k]}),y=C=>{const E=p(C);return E>0&&E<C.permissions.length},v=r.ref(!1),w=(C,E)=>{v.value=!0,C.permissions.map(R=>typeof R.id=="string"?parseInt(R.id):R.id),C.permissions.forEach(R=>{const I=typeof R.id=="string"?parseInt(R.id):R.id;l.value[I]=E});let k=n.modelValue?[...n.modelValue]:[],T=[C.menuId];C.subMenuIds&&C.subMenuIds.length>0&&(T=[...T,...C.subMenuIds],C.subMenuIds.forEach(R=>{const I=a.value.find(P=>P.menuId===R);I&&I.permissions.forEach(P=>{const S=typeof P.id=="string"?parseInt(P.id):P.id;l.value[S]=E})})),E?T.forEach(R=>{const I=a.value.find(P=>P.menuId===R);if(I){const P=I.permissions.map(O=>typeof O.id=="string"?parseInt(O.id):O.id),S=k.findIndex(O=>O.menuId===R);S!==-1?k[S]={menuId:R,actionsIds:P}:k.push({menuId:R,actionsIds:P})}}):k=k.filter(R=>!T.includes(R.menuId)),c.value=k.map(R=>R.menuId),i("update:modelValue",k),setTimeout(()=>{v.value=!1},100)};return r.watch(()=>n.modelValue,C=>{if(!C)return;const E=new Set,k=[];C.forEach(T=>{k.push(T.menuId),T.actionsIds&&Array.isArray(T.actionsIds)&&T.actionsIds.forEach(R=>E.add(R))}),Object.keys(l.value).forEach(T=>{const R=parseInt(T);l.value[R]=E.has(R)}),c.value=k}),r.watch(()=>n.treeData,C=>{C&&C.length>0&&h()},{deep:!0}),r.watch(l,(C,E)=>{if(v.value)return;if(Object.keys(C).map(T=>parseInt(T)).filter(T=>C[T]!==E?.[T]).length>0){let T=n.modelValue?[...n.modelValue]:[];const R={};Object.keys(C).forEach(I=>{const P=parseInt(I);if(C[P]){const S=d.value[P];S!==void 0&&(R[S]||(R[S]=[]),R[S].push(P))}}),Object.keys(R).forEach(I=>{const P=parseInt(I),S=R[P],O=T.findIndex(z=>z.menuId===P);O!==-1?T[O]={menuId:P,actionsIds:S}:T.push({menuId:P,actionsIds:S})}),T=T.filter(I=>R[I.menuId]&&R[I.menuId].length>0),c.value=T.map(I=>I.menuId),i("update:modelValue",T)}},{deep:!0}),r.onMounted(h),(C,E)=>(r.openBlock(),r.createElementBlock("div",Lfe,[e.label?(r.openBlock(),r.createElementBlock("label",Ffe,[r.createTextVNode(r.toDisplayString(e.label)+" ",1),e.required?(r.openBlock(),r.createElementBlock("span",$fe,"*")):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),s.value?(r.openBlock(),r.createElementBlock("div",zfe,[r.createVNode(r.unref(Ee.Loader2),{class:"animate-spin text-primary-600 mr-2",size:24}),r.createElementVNode("span",jfe,r.toDisplayString(r.unref(o)("common.loadingPermissions")),1)])):a.value.length===0?(r.openBlock(),r.createElementBlock("div",Ufe,[r.createElementVNode("p",Wfe,r.toDisplayString(r.unref(o)("common.noPermissions")),1)])):(r.openBlock(),r.createElementBlock("div",Hfe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,k=>(r.openBlock(),r.createElementBlock("div",{key:k.module,class:"bg-white dark:bg-neutral-800 rounded-lg border border-neutral-200/60 dark:border-neutral-700/50 shadow-sm hover:shadow-md transition-shadow"},[r.createElementVNode("div",qfe,[r.createElementVNode("div",Kfe,[r.createVNode(Cl,{modelValue:g(k),indeterminate:y(k),"onUpdate:modelValue":T=>w(k,!!T),disabled:e.disabled},null,8,["modelValue","indeterminate","onUpdate:modelValue","disabled"]),r.createElementVNode("div",null,[r.createElementVNode("div",Gfe,r.toDisplayString(k.label||k.module),1),r.createElementVNode("div",Yfe,r.toDisplayString(p(k))+" "+r.toDisplayString(r.unref(o)("common.from"))+" "+r.toDisplayString(k.permissions.length)+" "+r.toDisplayString(r.unref(o)("common.selected")),1)])]),r.createElementVNode("div",Zfe,[r.createElementVNode("div",Xfe,r.toDisplayString(p(k))+"/"+r.toDisplayString(k.permissions.length),1)])]),r.createElementVNode("div",Jfe,[r.createElementVNode("div",Qfe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(k.permissions,T=>(r.openBlock(),r.createElementBlock("div",{key:T.id,class:"flex items-start p-2 rounded hover:bg-gray-50 dark:hover:bg-gray-750 transition-colors"},[r.createVNode(Cl,{modelValue:l.value[typeof T.id=="string"?parseInt(T.id):T.id],"onUpdate:modelValue":R=>l.value[typeof T.id=="string"?parseInt(T.id):T.id]=R,disabled:e.disabled,class:"flex-shrink-0"},null,8,["modelValue","onUpdate:modelValue","disabled"]),r.createElementVNode("div",Vfe,[r.createElementVNode("label",{for:`perm-${T.id}`,class:"text-sm font-medium text-gray-700 dark:text-gray-300 cursor-pointer block"},r.toDisplayString(T.label||T.key),9,ehe),T.description?(r.openBlock(),r.createElementBlock("p",the,r.toDisplayString(T.description),1)):r.createCommentVNode("",!0)])]))),128))])])]))),128))])),e.error?(r.openBlock(),r.createElementBlock("p",nhe,r.toDisplayString(e.error),1)):r.createCommentVNode("",!0)]))}}),ihe=["aria-busy"],ohe={class:"flex items-center gap-2 shrink-0"},rhe={class:"flex-1 text-right overflow-hidden flex items-center justify-end gap-2"},she=["title"],ahe=["href"],lhe={class:"truncate max-w-[150px]"},che=["title"],_0=In(r.defineComponent({name:"DCodeStaticLabel",__name:"DCodeStaticLabel",props:{label:{},modelValue:{},value:{},icon:{},color:{},valueType:{},prefix:{},suffix:{},type:{},locale:{default:"id-ID"},badgeColor:{default:"secondary"},placeholder:{default:"-"},skeleton:{type:Boolean,default:!1},dummyMode:{type:Boolean,default:!1}},setup(e){const t=e,n=r.ref(!1),i=r.computed(()=>t.modelValue??t.value),o=r.computed(()=>(t.valueType||t.type||"text").toUpperCase()),s=r.computed(()=>{const c=t.color||"secondary",d={primary:"border-blue-200 text-blue-700 dark:text-blue-400 dark:border-blue-900/50",success:"border-green-200 text-green-700 dark:text-green-400 dark:border-green-900/50",warning:"border-yellow-200 text-yellow-700 dark:text-yellow-400 dark:border-yellow-900/50",danger:"border-red-200 text-red-700 dark:text-red-400 dark:border-red-900/50",info:"border-cyan-200 text-cyan-700 dark:text-cyan-400 dark:border-cyan-900/50",secondary:"border-slate-200 text-slate-700 dark:border-slate-700/50 dark:text-slate-200",dark:"border-b border-gray-300 text-gray-900 dark:text-gray-100 dark:border-gray-700"};return d[c]||d.secondary}),a=r.computed(()=>{const c=t.badgeColor||"secondary",d={primary:"bg-blue-50 border-blue-200 text-blue-700 dark:bg-blue-950/20 dark:border-blue-900/50 dark:text-blue-400",success:"bg-green-50 border-green-200 text-green-700 dark:bg-green-950/20 dark:border-green-900/50 dark:text-green-400",warning:"bg-yellow-50 border-yellow-200 text-yellow-700 dark:bg-yellow-950/20 dark:border-yellow-900/50 dark:text-yellow-400",danger:"bg-red-50 border-red-200 text-red-700 dark:bg-red-950/20 dark:border-red-900/50 dark:text-red-400",info:"bg-cyan-50 border-cyan-200 text-cyan-700 dark:bg-cyan-950/20 dark:border-cyan-900/50 dark:text-cyan-400",secondary:"bg-slate-50 border-slate-200 text-slate-700 dark:bg-slate-900/20 dark:border-slate-800 dark:text-slate-200",dark:"bg-neutral-100 border-neutral-300 text-neutral-900 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-100"};return d[c]||d.secondary}),l=r.computed(()=>{const c=i.value;if(c==null||c==="")return t.dummyMode?t.placeholder:"-";let d="";switch(o.value){case"DATE":d=Tc(c,"short",t.locale);break;case"DATETIME":d=Tc(c,"datetime",t.locale);break;case"CURRENCY":const p=t.prefix||"IDR";d=iy(c,p);break;case"BOOLEAN":typeof c=="boolean"?d=t.locale.startsWith("id")?c?"Ya":"Tidak":c?"Yes":"No":d=String(c);break;case"NUMBER":const g=Number(c);d=isNaN(g)?String(c):new Intl.NumberFormat(t.locale).format(g);break;case"PASSWORD":d=n.value?String(c):"•".repeat(String(c).length||8);break;case"FILE":typeof c=="string"?d=c.split("/").pop()||"Attachment":d=c.name??c.label??"Attachment";break;default:typeof c=="object"&&c!==null?d=c.name??c.label??c.code??c.value??c.id??JSON.stringify(c):d=String(c);break}const f=o.value!=="CURRENCY"&&t.prefix?t.prefix:"",h=t.suffix||"";return`${f}${d}${h}`});return(c,d)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["flex flex-row justify-between items-center gap-4 py-3 px-0 border-b transition-all duration-300 rounded-none bg-transparent",s.value]),"aria-busy":e.skeleton},[e.skeleton?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[d[1]||(d[1]=r.createElementVNode("div",{class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-shimmer"},null,-1)),d[2]||(d[2]=r.createElementVNode("div",{class:"h-4 w-24 rounded bg-gray-200 dark:bg-gray-700 animate-shimmer"},null,-1))],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createElementVNode("div",ohe,[r.createVNode(Sl,{label:e.label,icon:e.icon,class:"text-xs font-semibold text-neutral-500 dark:text-neutral-400 uppercase tracking-wider"},null,8,["label","icon"])]),r.createElementVNode("div",rhe,[r.renderSlot(c.$slots,"value",{},()=>[o.value==="PASSWORD"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("span",{class:"text-sm font-mono font-medium truncate block",title:String(i.value||"")},r.toDisplayString(l.value),9,she),r.createElementVNode("button",{type:"button",class:"p-1 hover:bg-neutral-100 dark:hover:bg-neutral-800 rounded transition-colors text-neutral-500 hover:text-neutral-800 dark:hover:text-neutral-200",onClick:d[0]||(d[0]=f=>n.value=!n.value)},[n.value?(r.openBlock(),r.createBlock(r.unref(Ee.EyeOff),{key:1,class:"w-4 h-4"})):(r.openBlock(),r.createBlock(r.unref(Ee.Eye),{key:0,class:"w-4 h-4"}))])],64)):o.value==="BADGE"?(r.openBlock(),r.createElementBlock("span",{key:1,class:r.normalizeClass(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-semibold border transition-all duration-200",a.value])},r.toDisplayString(l.value),3)):o.value==="FILE"&&i.value&&i.value!==e.placeholder?(r.openBlock(),r.createElementBlock("a",{key:2,href:String(i.value),target:"_blank",class:"inline-flex items-center gap-1.5 text-xs font-semibold text-blue-600 dark:text-blue-400 hover:underline transition-all"},[r.createVNode(r.unref(Ee.FileText),{class:"w-3.5 h-3.5"}),r.createElementVNode("span",lhe,r.toDisplayString(l.value),1),r.createVNode(r.unref(Ee.Download),{class:"w-3 h-3 text-neutral-400"})],8,ahe)):(r.openBlock(),r.createElementBlock("span",{key:3,class:"text-sm font-medium truncate block",title:l.value},r.toDisplayString(l.value),9,che))],!0)])],64))],10,ihe))}}),[["__scopeId","data-v-6070f2ab"]]),dhe={class:"w-full"},uhe={key:0,class:"flex flex-col"},fhe={key:0,class:"flex flex-col items-center justify-center p-20 bg-neutral-50 dark:bg-neutral-900/50 rounded-xl border border-neutral-200 dark:border-neutral-800"},hhe={key:1,class:"flex flex-col items-center justify-center p-12 bg-red-50 dark:bg-red-950/30 rounded-xl border border-red-100 dark:border-red-900/50"},mhe={class:"text-xs font-bold text-red-600 dark:text-red-400 uppercase tracking-wider mb-3"},phe={key:2,class:"flex flex-col items-center justify-center p-16 bg-neutral-50/50 dark:bg-neutral-900/20 rounded-2xl border-2 border-dashed border-neutral-200 dark:border-neutral-800 transition-colors"},ghe={class:"p-4 rounded-full bg-neutral-100 dark:bg-neutral-800 mb-4"},bhe={class:"text-sm font-semibold text-neutral-500 dark:text-neutral-400"},yhe={key:3,class:"flex flex-col gap-6"},vhe={class:"text-base font-bold text-neutral-900 dark:text-neutral-100 flex items-center gap-2"},whe={key:0,class:"px-2 py-0.5 rounded-full bg-primary/10 text-primary text-[10px] font-semibold uppercase tracking-wider"},_he={class:"flex items-center gap-4 text-xs text-neutral-500 dark:text-neutral-400 font-medium"},khe={class:"flex items-center gap-1.5"},xhe={class:"flex items-center gap-1.5"},Che={class:"hidden sm:inline-block px-1.5 py-0.5 rounded bg-neutral-100 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-700 font-mono text-[10px]"},Ehe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4"},She={key:0,class:"flex flex-col gap-2 group/img"},Ahe=["onClick"],The=["src","alt"],Phe={class:"absolute inset-0 bg-black/20 opacity-0 group-hover/img:opacity-100 transition-opacity flex items-center justify-center pointer-events-none"},Bhe={class:"p-2 rounded-full bg-white/90 dark:bg-neutral-900/90 backdrop-blur-sm shadow-md text-neutral-800 dark:text-neutral-200"},Dhe={key:1,class:"flex flex-col gap-2 group/img"},Nhe=["onClick"],Mhe=["src","alt"],Ihe={class:"absolute inset-0 bg-black/20 opacity-0 group-hover/img:opacity-100 transition-opacity flex items-center justify-center pointer-events-none"},Rhe={class:"p-2 rounded-full bg-white/90 dark:bg-neutral-900/90 backdrop-blur-sm shadow-md text-neutral-800 dark:text-neutral-200"},Ohe={key:1,class:"p-4 text-center text-xs text-neutral-400 dark:text-neutral-500 italic"},Lhe={key:1,class:"space-y-2 group"},Fhe={key:0,class:"flex flex-col items-center justify-center p-20 bg-neutral-50 dark:bg-neutral-900/50 rounded-xl border border-neutral-200 dark:border-neutral-800"},$he={key:1,class:"flex flex-col items-center justify-center p-12 bg-red-50 dark:bg-red-950/30 rounded-xl border border-red-100 dark:border-red-900/50"},zhe={class:"text-xs font-bold text-red-600 dark:text-red-400 uppercase tracking-wider mb-3"},jhe={key:2,class:"flex flex-col items-center justify-center p-16 bg-neutral-50/50 dark:bg-neutral-900/20 rounded-2xl border-2 border-dashed border-neutral-200 dark:border-neutral-800 transition-colors"},Uhe={class:"p-4 rounded-full bg-neutral-100 dark:bg-neutral-800 mb-4"},Whe={class:"text-sm font-semibold text-neutral-500 dark:text-neutral-400"},Hhe=["onClick"],qhe=["src","alt"],Khe={class:"absolute top-2 right-2 p-1.5 rounded-lg bg-black/50 backdrop-blur-sm text-white opacity-0 group-hover/item:opacity-100 transition-opacity z-10 pointer-events-none"},Ghe={class:"flex flex-col gap-1 text-[11px] leading-tight"},Yhe={class:"flex gap-2 min-w-0"},Zhe={class:"font-bold text-neutral-900 dark:text-neutral-100 break-all flex-1"},Xhe={key:0,class:"flex gap-2 min-w-0 border-t border-neutral-200/50 dark:border-neutral-700/50 pt-1 mt-0.5"},Jhe={class:"font-semibold text-neutral-800 dark:text-neutral-200 break-all flex-1"},Qhe={key:1,class:"flex gap-2 min-w-0 border-t border-neutral-200/50 dark:border-neutral-700/50 pt-1 mt-0.5"},Vhe={class:"font-semibold text-neutral-800 dark:text-neutral-200 break-all flex-1"},eme={class:"flex items-center justify-between px-6 py-4 border-b border-white/10 bg-black/40 text-white z-20"},tme={class:"flex items-center gap-3 min-w-0"},nme={class:"flex flex-col min-w-0"},ime={class:"flex items-center gap-2"},ome={class:"text-sm font-bold truncate"},rme={key:0,class:"px-2 py-0.5 rounded text-[10px] font-bold uppercase tracking-wider bg-primary/20 text-primary border border-primary/30"},sme={key:0,class:"text-xs text-neutral-400 font-medium mt-0.5"},ame={class:"flex items-center gap-2"},lme={class:"flex items-center justify-center p-4 max-w-full max-h-full pointer-events-none"},cme=["src","alt"],dme={class:"flex justify-center pb-6 pt-2 z-20 pointer-events-none"},ume={class:"flex items-center gap-1.5 px-4 py-2 rounded-full bg-neutral-900/90 border border-white/15 backdrop-blur-md shadow-2xl text-white pointer-events-auto"},fme={class:"px-2 font-mono text-xs font-semibold text-neutral-300 min-w-[52px] text-center"},k0=In(r.defineComponent({name:"DCodeStaticImage",__name:"DCodeStaticImage",props:{modelValue:{},items:{},timelineData:{},endpoint:{},apiUrl:{},apiModule:{},apiAction:{},apiMethod:{default:"GET"},apiParams:{default:()=>({})},baseUrl:{},alt:{default:"Image"},label:{},aspectRatio:{default:"16/9"},width:{},height:{},fit:{default:"cover"},rounded:{type:Boolean,default:!1},allowPreview:{type:Boolean,default:!0},columns:{default:3},gap:{default:"0.5rem"},title:{default:"Static Image / Evidence"},dummyMode:{type:Boolean,default:!1}},setup(e){const{t}=Mn.useI18n(),n=e,{DCodeApi:i}=r.inject("externalApi")||{},o=r.ref(!1),s=r.ref(""),a=r.ref([]),l=r.computed(()=>{if(a.value.length>0)return a.value;const ne=n.items!==void 0&&n.items!==null?n.items:n.modelValue;if(console.log("[DCodeStaticImage] Resolving items. props.items:",n.items,"props.modelValue:",n.modelValue,"resolved source:",ne),ne){if(Array.isArray(ne))return ne;const $=ne;return $.data&&Array.isArray($.data)?$.data:$.payload&&Array.isArray($.payload)?$.payload:[ne]}return[]}),c=async()=>{if(n.dummyMode){a.value=[{name:"Evidence Sample",noRef:"DUM-001",startTime:new Date().toISOString(),endTime:new Date().toISOString(),duration:36e5,detail:[{id:1,noRef:"EV-001",name:"Initial Condition",startTime:new Date().toISOString(),endTime:new Date().toISOString(),duration:18e5,beforeUrl:"https://placehold.co/600x400/f3f4f6/6b7280?text=Before+Sample",afterUrl:"https://placehold.co/600x400/ecfdf5/059669?text=After+Sample"}]}];return}const ne=n.endpoint||{},$=ne.apiUrl||n.apiUrl,_=ne.apiModule||n.apiModule,x=ne.apiAction||n.apiAction,D=(ne.apiMethod||n.apiMethod||"GET").toUpperCase(),N=ne.apiParams||n.apiParams||{};if(!(!$&&!_)){o.value=!0,s.value="";try{let A;_&&x?A=await i(_,x,N):$&&(A=await i($,D,N));let H=[];A&&(Array.isArray(A.data)?H=A.data:Array.isArray(A.payload)?H=A.payload:Array.isArray(A)?H=A:A.data?.items&&Array.isArray(A.data.items)&&(H=A.data.items)),H.length>0?a.value=H:a.value=[]}catch(A){console.error("[DCodeStaticImage] Error loading data:",A),s.value=A.message||"Failed to load images data"}finally{o.value=!1}}};r.watch([()=>n.endpoint,()=>n.apiUrl,()=>n.apiModule],()=>{c()},{deep:!0}),r.onMounted(()=>{c()});const d=r.computed(()=>n.timelineData&&n.timelineData.length>0?n.timelineData:l.value),f=r.computed(()=>{const ne=d.value;let $=[];return ne.forEach(_=>{_.detail&&Array.isArray(_.detail)?$=$.concat(_.detail):(_.beforeUrl||_.afterUrl||_.url||_.src)&&$.push(_)}),$}),h=r.computed(()=>!!(l.value.some($=>$.detail&&Array.isArray($.detail)||$.beforeUrl||$.afterUrl)||(n.apiUrl||n.apiModule)&&(o.value||s.value))),p=r.computed(()=>{const ne=l.value;console.log("[DCodeStaticImage] Normalizing source items:",ne);const $=typeof window<"u"&&window.location.protocol==="https:",_=D=>{if(!D)return"";let N=D;return N.includes("217.217.254.189:8000")?N=N.replace(/^https?:\/\/217\.217\.254\.189:8000/,""):$&&N.startsWith("http:")&&(N=N.replace("http:","https:")),N},x=ne.map(D=>{if(typeof D=="string")return{src:_(D),alt:n.alt};const N=_(D.src||D.url||D.urlFull||D.path||D.beforeUrl||D.afterUrl||"");return{...D,src:N,alt:D.alt||D.label||n.alt}}).filter(D=>!!D.src);return console.log("[DCodeStaticImage] Normalized items outcome:",x),x}),g=r.computed(()=>({display:"grid",gridTemplateColumns:`repeat(${Math.min(n.columns,p.value.length||1)}, minmax(0, 1fr))`,gap:n.gap,width:n.width||"100%"})),y=r.computed(()=>["w-full h-full transition-all duration-500",n.rounded?"rounded-xl":"rounded-none",n.fit==="cover"?"object-cover":n.fit==="contain"?"object-contain":n.fit==="fill"?"object-fill":"object-none"].join(" ")),v=ne=>ne?new Date(ne).toLocaleTimeString("id-ID",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"",w=ne=>ne?new Date(ne).toLocaleDateString("id-ID",{day:"numeric",month:"short",year:"numeric"}):"",C=ne=>{if(ne<1e3)return`${ne}ms`;const $=Math.floor(ne/1e3);return $<60?`${$}s`:`${Math.floor($/60)}m ${$%60}s`},E=r.ref(!1),k=r.ref(0),T=r.ref(1),R=r.ref(0),I=r.ref({x:0,y:0}),P=r.ref(!1),S=r.ref({x:0,y:0}),O=r.computed(()=>{if(h.value){const ne=[];return f.value.forEach($=>{$.beforeUrl&&ne.push({src:$.beforeUrl,alt:`${$.name} - Before`,title:$.name,label:"Before"}),$.afterUrl&&ne.push({src:$.afterUrl,alt:`${$.name} - After`,title:$.name,label:"After"})}),ne}return p.value.map(ne=>({src:ne.src,alt:ne.alt,title:ne.src?.split("/").pop()||n.title||"Image Preview",label:ne.label||n.label}))}),z=r.computed(()=>!O.value||O.value.length===0?null:O.value[k.value]||O.value[0]||null),M=()=>{T.value=1,R.value=0,I.value={x:0,y:0}},B=(ne,$,_)=>{if(!n.allowPreview)return;const x=O.value.findIndex(D=>D.src===ne);k.value=x!==-1?x:0,M(),E.value=!0},W=()=>{E.value=!1,M()},J=()=>{T.value=Math.min(Number((T.value+.25).toFixed(2)),5)},re=()=>{T.value=Math.max(Number((T.value-.25).toFixed(2)),.25)},se=()=>{R.value=(R.value+90)%360},Q=()=>{R.value=(R.value-90+360)%360},X=()=>{O.value.length<=1||(k.value=(k.value+1)%O.value.length,M())},Z=()=>{O.value.length<=1||(k.value=(k.value-1+O.value.length)%O.value.length,M())},Y=ne=>{ne.preventDefault(),ne.deltaY<0?J():re()},ue=ne=>{ne.button===0&&(P.value=!0,S.value={x:ne.clientX-I.value.x,y:ne.clientY-I.value.y})},j=ne=>{P.value&&(I.value={x:ne.clientX-S.value.x,y:ne.clientY-S.value.y})},K=()=>{P.value=!1},U=(ne,$)=>{if(!ne)return;const _=document.createElement("a");_.href=ne,_.download=$||ne.split("/").pop()||"image",_.target="_blank",document.body.appendChild(_),_.click(),document.body.removeChild(_)},ee=ne=>{E.value&&(ne.key==="Escape"?W():ne.key==="ArrowRight"?X():ne.key==="ArrowLeft"?Z():ne.key==="+"||ne.key==="="?J():ne.key==="-"?re():ne.key==="r"||ne.key==="R"?se():ne.key==="0"&&M())};return r.onMounted(()=>{typeof window<"u"&&window.addEventListener("keydown",ee)}),r.onBeforeUnmount(()=>{typeof window<"u"&&window.removeEventListener("keydown",ee)}),(ne,$)=>(r.openBlock(),r.createElementBlock("div",dhe,[h.value?(r.openBlock(),r.createElementBlock("div",uhe,[o.value?(r.openBlock(),r.createElementBlock("div",fhe,[r.createVNode(r.unref(Ee.Loader2),{class:"h-8 w-8 text-primary animate-spin mb-3"}),$[1]||($[1]=r.createElementVNode("p",{class:"text-[10px] font-black uppercase tracking-widest text-neutral-400 animate-pulse"},"Syncing Visual Data...",-1))])):s.value?(r.openBlock(),r.createElementBlock("div",hhe,[r.createVNode(r.unref(Ee.AlertTriangle),{class:"h-8 w-8 text-red-500 mb-4 opacity-80"}),r.createElementVNode("span",mhe,r.toDisplayString(s.value),1),r.createElementVNode("button",{onClick:c,class:"text-[10px] font-black uppercase underline tracking-wider opacity-60 hover:opacity-100"},"Retry Fetching")])):f.value.length===0?(r.openBlock(),r.createElementBlock("div",phe,[r.createElementVNode("div",ghe,[r.createVNode(r.unref(Ee.ImageIcon),{class:"h-8 w-8 text-neutral-400 dark:text-neutral-500 opacity-60"})]),r.createElementVNode("span",bhe,r.toDisplayString(r.unref(t)("common.noData")),1),$[2]||($[2]=r.createElementVNode("p",{class:"text-[10px] text-neutral-400 dark:text-neutral-500 mt-1 uppercase tracking-widest font-medium"},"No visual records found",-1))])):(r.openBlock(),r.createElementBlock("div",yhe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(f.value,(_,x)=>(r.openBlock(),r.createElementBlock("div",{key:x,class:"flex flex-col gap-4"},[r.createVNode(xr,null,{header:r.withCtx(()=>[r.createElementVNode("h4",vhe,[r.createTextVNode(r.toDisplayString(_.name)+" ",1),_.noRef?(r.openBlock(),r.createElementBlock("span",whe,r.toDisplayString(_.noRef),1)):r.createCommentVNode("",!0)])]),actions:r.withCtx(()=>[r.createElementVNode("div",_he,[r.createElementVNode("span",khe,[r.createVNode(r.unref(Ee.Calendar),{class:"w-3.5 h-3.5"}),r.createTextVNode(" "+r.toDisplayString(w(_.startTime)),1)]),r.createElementVNode("span",xhe,[r.createVNode(r.unref(Ee.Clock),{class:"w-3.5 h-3.5"}),r.createTextVNode(" "+r.toDisplayString(v(_.startTime))+" - "+r.toDisplayString(v(_.endTime)),1)]),r.createElementVNode("span",Che,r.toDisplayString(C(_.duration)),1)])]),default:r.withCtx(()=>[_.beforeUrl||_.afterUrl?(r.openBlock(),r.createElementBlock("div",Ehe,[_.beforeUrl?(r.openBlock(),r.createElementBlock("div",She,[$[3]||($[3]=r.createElementVNode("div",{class:"flex items-center justify-between"},[r.createElementVNode("span",{class:"text-[11px] font-bold uppercase tracking-wider text-neutral-500 dark:text-neutral-400 bg-neutral-200 dark:bg-neutral-800 px-2 py-0.5 rounded-md"},"Before")],-1)),r.createElementVNode("div",{class:"relative overflow-hidden rounded-lg border border-neutral-200 dark:border-neutral-700 bg-neutral-100 dark:bg-neutral-900 aspect-video shadow-sm transition-all duration-300 group-hover/img:shadow-md cursor-zoom-in",onClick:D=>B(_.beforeUrl,_.name)},[r.createElementVNode("img",{src:_.beforeUrl,alt:_.name+" Before",class:"w-full h-full object-contain bg-white/50 dark:bg-black/20 transition-transform duration-300 group-hover/img:scale-105",loading:"lazy"},null,8,The),r.createElementVNode("div",Phe,[r.createElementVNode("div",Bhe,[r.createVNode(r.unref(Ee.Maximize2),{class:"w-4 h-4"})])])],8,Ahe)])):r.createCommentVNode("",!0),_.afterUrl?(r.openBlock(),r.createElementBlock("div",Dhe,[$[4]||($[4]=r.createElementVNode("div",{class:"flex items-center justify-between"},[r.createElementVNode("span",{class:"text-[11px] font-bold uppercase tracking-wider text-green-600 dark:text-green-400 bg-green-100 dark:bg-green-900/30 px-2 py-0.5 rounded-md border border-green-200 dark:border-green-800/50"},"After")],-1)),r.createElementVNode("div",{class:"relative overflow-hidden rounded-lg border border-neutral-200 dark:border-neutral-700 bg-neutral-100 dark:bg-neutral-900 aspect-video shadow-sm transition-all duration-300 group-hover/img:shadow-md cursor-zoom-in",onClick:D=>B(_.afterUrl,_.name)},[r.createElementVNode("img",{src:_.afterUrl,alt:_.name+" After",class:"w-full h-full object-contain bg-white/50 dark:bg-black/20 transition-transform duration-300 group-hover/img:scale-105",loading:"lazy"},null,8,Mhe),r.createElementVNode("div",Ihe,[r.createElementVNode("div",Rhe,[r.createVNode(r.unref(Ee.Maximize2),{class:"w-4 h-4"})])])],8,Nhe)])):r.createCommentVNode("",!0)])):(r.openBlock(),r.createElementBlock("div",Ohe," No images captured for this step. "))]),_:2},1024)]))),128))]))])):(r.openBlock(),r.createElementBlock("div",Lhe,[o.value?(r.openBlock(),r.createElementBlock("div",Fhe,[r.createVNode(r.unref(Ee.Loader2),{class:"h-8 w-8 text-primary animate-spin mb-3"}),$[5]||($[5]=r.createElementVNode("p",{class:"text-[10px] font-black uppercase tracking-widest text-neutral-400 animate-pulse"},"Syncing Visual Data...",-1))])):s.value?(r.openBlock(),r.createElementBlock("div",$he,[r.createVNode(r.unref(Ee.AlertTriangle),{class:"h-8 w-8 text-red-500 mb-4 opacity-80"}),r.createElementVNode("span",zhe,r.toDisplayString(s.value),1),r.createElementVNode("button",{onClick:c,class:"text-[10px] font-black uppercase underline tracking-wider opacity-60 hover:opacity-100"},"Retry Fetching")])):p.value.length===0?(r.openBlock(),r.createElementBlock("div",jhe,[r.createElementVNode("div",Uhe,[r.createVNode(r.unref(Ee.ImageIcon),{class:"h-8 w-8 text-neutral-400 dark:text-neutral-500 opacity-60"})]),r.createElementVNode("span",Whe,r.toDisplayString(r.unref(t)("common.noData")),1),$[6]||($[6]=r.createElementVNode("p",{class:"text-[10px] text-neutral-400 dark:text-neutral-500 mt-1 uppercase tracking-widest font-medium"},"No visual records found",-1))])):(r.openBlock(),r.createElementBlock("div",{key:3,style:r.normalizeStyle(g.value)},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p.value,(_,x)=>(r.openBlock(),r.createElementBlock("div",{key:x,class:"flex flex-col space-y-1 group/item"},[r.createElementVNode("div",{class:r.normalizeClass(["relative overflow-hidden bg-neutral-100 dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 transition-all duration-300 transform hover:scale-[1.02] hover:z-10 cursor-zoom-in",[e.rounded?"rounded-xl":"rounded-none"]]),style:r.normalizeStyle({aspectRatio:e.aspectRatio}),onClick:D=>B(_.src,_.alt||_.label,_.label)},[r.createElementVNode("img",{src:_.src,alt:_.alt,class:r.normalizeClass(y.value),loading:"lazy"},null,10,qhe),r.createElementVNode("div",Khe,[r.createVNode(r.unref(Ee.Maximize2),{class:"w-3.5 h-3.5"})]),r.createElementVNode("div",{class:r.normalizeClass(["absolute bottom-2 left-2 right-2 p-3 rounded-xl border border-neutral-200/50 dark:border-neutral-700/50 shadow-xl opacity-0 translate-y-2 group-hover/item:opacity-100 group-hover/item:translate-y-0 transition-all duration-300 z-10 select-none",["dark:bg-neutral-900/80"]]),style:{background:"rgba(255, 255, 255, 0.85)","backdrop-filter":"blur(8px)"}},[r.createElementVNode("div",Ghe,[r.createElementVNode("div",Yhe,[$[7]||($[7]=r.createElementVNode("span",{class:"w-12 shrink-0 text-neutral-500 font-medium tracking-tight"},"Name",-1)),r.createElementVNode("span",Zhe,r.toDisplayString(_.src?.split("/").pop()||"Untitled"),1)]),_.label?(r.openBlock(),r.createElementBlock("div",Xhe,[$[8]||($[8]=r.createElementVNode("span",{class:"w-12 shrink-0 text-neutral-500 font-medium tracking-tight"},"Label",-1)),r.createElementVNode("span",Jhe,r.toDisplayString(_.label),1)])):r.createCommentVNode("",!0),e.label?(r.openBlock(),r.createElementBlock("div",Qhe,[$[9]||($[9]=r.createElementVNode("span",{class:"w-12 shrink-0 text-neutral-500 font-medium tracking-tight"},"Gallery",-1)),r.createElementVNode("span",Vhe,r.toDisplayString(e.label),1)])):r.createCommentVNode("",!0)])])],14,Hhe)]))),128))],4))])),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[r.createVNode(r.Transition,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:r.withCtx(()=>[E.value&&z.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99999] flex flex-col bg-black/90 backdrop-blur-md select-none",onClick:r.withModifiers(W,["self"])},[r.createElementVNode("div",eme,[r.createElementVNode("div",tme,[r.createElementVNode("div",nme,[r.createElementVNode("div",ime,[r.createElementVNode("span",ome,r.toDisplayString(z.value.title||z.value.alt||"Image Preview"),1),z.value.label?(r.openBlock(),r.createElementBlock("span",rme,r.toDisplayString(z.value.label),1)):r.createCommentVNode("",!0)]),O.value.length>1?(r.openBlock(),r.createElementBlock("span",sme,r.toDisplayString(k.value+1)+" / "+r.toDisplayString(O.value.length),1)):r.createCommentVNode("",!0)])]),r.createElementVNode("div",ame,[r.createElementVNode("button",{type:"button",class:"p-2 rounded-lg bg-white/10 hover:bg-white/20 text-neutral-200 hover:text-white transition-colors cursor-pointer",title:"Download",onClick:$[0]||($[0]=_=>U(z.value.src,z.value.title))},[r.createVNode(r.unref(Ee.Download),{class:"w-4 h-4"})]),r.createElementVNode("button",{type:"button",class:"p-2 rounded-lg bg-white/10 hover:bg-red-500/80 text-neutral-200 hover:text-white transition-colors ml-2 cursor-pointer",title:"Close (Esc)",onClick:W},[r.createVNode(r.unref(Ee.X),{class:"w-5 h-5"})])])]),r.createElementVNode("div",{class:r.normalizeClass(["relative flex-1 flex items-center justify-center overflow-hidden w-full h-full",T.value>1?"cursor-grab active:cursor-grabbing":"cursor-default"]),onWheel:Y,onMousedown:ue,onMousemove:j,onMouseup:K,onMouseleave:K,onClick:r.withModifiers(W,["self"])},[O.value.length>1?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"absolute left-4 z-20 p-3 rounded-full bg-black/60 hover:bg-black/90 text-white/80 hover:text-white border border-white/10 backdrop-blur-sm transition-all transform hover:scale-110 shadow-xl cursor-pointer",title:"Previous (Left Arrow)",onClick:r.withModifiers(Z,["stop"])},[r.createVNode(r.unref(Ee.ChevronLeft),{class:"w-6 h-6"})])):r.createCommentVNode("",!0),r.createElementVNode("div",lme,[r.createElementVNode("img",{src:z.value.src,alt:z.value.alt,class:"max-h-[75vh] max-w-[85vw] object-contain transition-transform duration-100 ease-out select-none pointer-events-auto rounded-lg shadow-2xl",style:r.normalizeStyle({transform:`translate(${I.value.x}px, ${I.value.y}px) scale(${T.value}) rotate(${R.value}deg)`}),draggable:"false"},null,12,cme)]),O.value.length>1?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"absolute right-4 z-20 p-3 rounded-full bg-black/60 hover:bg-black/90 text-white/80 hover:text-white border border-white/10 backdrop-blur-sm transition-all transform hover:scale-110 shadow-xl cursor-pointer",title:"Next (Right Arrow)",onClick:r.withModifiers(X,["stop"])},[r.createVNode(r.unref(Ee.ChevronRight),{class:"w-6 h-6"})])):r.createCommentVNode("",!0)],34),r.createElementVNode("div",dme,[r.createElementVNode("div",ume,[r.createElementVNode("button",{type:"button",class:"p-2 rounded-full hover:bg-white/15 text-neutral-300 hover:text-white transition-colors cursor-pointer",title:"Zoom Out (-)",onClick:re},[r.createVNode(r.unref(Ee.ZoomOut),{class:"w-4 h-4"})]),r.createElementVNode("span",fme,r.toDisplayString(Math.round(T.value*100))+"% ",1),r.createElementVNode("button",{type:"button",class:"p-2 rounded-full hover:bg-white/15 text-neutral-300 hover:text-white transition-colors cursor-pointer",title:"Zoom In (+)",onClick:J},[r.createVNode(r.unref(Ee.ZoomIn),{class:"w-4 h-4"})]),$[11]||($[11]=r.createElementVNode("div",{class:"h-4 w-px bg-white/20 mx-1"},null,-1)),r.createElementVNode("button",{type:"button",class:"p-2 rounded-full hover:bg-white/15 text-neutral-300 hover:text-white transition-colors cursor-pointer",title:"Rotate Left (-90°)",onClick:Q},[r.createVNode(r.unref(Ee.RotateCcw),{class:"w-4 h-4"})]),r.createElementVNode("button",{type:"button",class:"p-2 rounded-full hover:bg-white/15 text-neutral-300 hover:text-white transition-colors cursor-pointer",title:"Rotate Right (+90° / R)",onClick:se},[r.createVNode(r.unref(Ee.RotateCw),{class:"w-4 h-4"})]),$[12]||($[12]=r.createElementVNode("div",{class:"h-4 w-px bg-white/20 mx-1"},null,-1)),r.createElementVNode("button",{type:"button",class:"flex items-center gap-1.5 px-3 py-1.5 rounded-full hover:bg-white/15 text-neutral-300 hover:text-white text-xs font-medium transition-colors cursor-pointer",title:"Reset View (0)",onClick:M},[r.createVNode(r.unref(Ee.RefreshCw),{class:"w-3.5 h-3.5"}),$[10]||($[10]=r.createElementVNode("span",null,"Reset",-1))])])])])):r.createCommentVNode("",!0)]),_:1})]))]))}}),[["__scopeId","data-v-1c8c7278"]]),hme={key:0,class:"text-xs text-muted-foreground dark:text-neutral-400"},mme=["src"],pme={key:1,class:"h-full w-full flex flex-col items-center justify-center text-muted-foreground dark:text-neutral-400 gap-2 p-4 text-center"},gme={class:"space-y-0.5"},bme={class:"text-sm font-medium truncate max-w-[180px] dark:text-neutral-200"},yme={class:"text-xs opacity-70"},vme=["disabled"],wme=["disabled"],_me={key:2},kme=["disabled"],xme={class:"text-[11px] text-foreground/90 dark:text-neutral-200 space-y-1 whitespace-nowrap"},Cme={class:"flex gap-2"},Eme={class:"font-medium truncate"},Sme={class:"flex gap-2"},Ame={class:"font-medium"},Tme={class:"flex gap-2"},Pme={class:"font-medium truncate"},U_=In(r.defineComponent({name:"DCodeFileResult",__name:"DCodeFileResult",props:{file:{},title:{default:"File Terpilih"},description:{default:""},disabled:{type:Boolean,default:!1},previewHeight:{default:190},previewWidth:{default:220},showEdit:{type:Boolean,default:!0},showReplace:{type:Boolean,default:!0},showRemove:{type:Boolean,default:!0},showPreview:{type:Boolean,default:!0},forceFileIcon:{type:Boolean,default:!1}},emits:["edit","replace","remove","preview"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(null),s=r.computed(()=>{if(n.forceFileIcon||!n.file)return!1;if(typeof n.file=="string"){const g=["jpg","jpeg","png","gif","webp","svg"],w=((n.file.split("/").pop()||"").split(".").pop()?.toLowerCase()||"").split("?")[0];return g.includes(w)}if(typeof n.file=="object"&&!(n.file instanceof File)){const g=n.file.filename||n.file.name||n.file.fileName||n.file.title||"",y=["jpg","jpeg","png","gif","webp","svg"],w=(g.split(".").pop()?.toLowerCase()||"").split("?")[0];return y.includes(w)?!0:(n.file.mime||n.file.mimeType||n.file.type||"").startsWith("image/")}return(n.file.type||"").startsWith("image/")});r.watch(()=>n.file,g=>{if(o.value&&o.value.startsWith("blob:")&&URL.revokeObjectURL(o.value),!g)o.value=null;else if(typeof g=="string")o.value=g;else if(typeof g=="object"&&!(g instanceof File)){const y=g.url||g.documentUrl||g.fullUrl||g.path;if(y){const v=g.server;o.value=v?`${v.replace(/\/+$/,"")}/${y.replace(/^\/+/,"")}`:y}else o.value=null}else o.value=URL.createObjectURL(g)},{immediate:!0}),r.onBeforeUnmount(()=>{o.value&&o.value.startsWith("blob:")&&URL.revokeObjectURL(o.value),f&&f.disconnect()});function a(g){const y=g/1024,v=y/1024;return v>=1?`${v.toFixed(2)} MB`:y>=1?`${y.toFixed(1)} KB`:`${g} B`}const l=r.computed(()=>{if(!n.file)return null;if(typeof n.file=="string")return{name:n.file.split("/").pop()||"File",size:"-",type:"url"};if(typeof n.file=="object"&&!(n.file instanceof File)){const g=n.file.filename||n.file.name||n.file.fileName||n.file.title||"File",y=n.file.size?a(n.file.size):"-",v=n.file.mime||n.file.mimeType||n.file.type||"unknown";return{name:g,size:y,type:v}}return{name:n.file.name,size:a(n.file.size),type:n.file.type||"unknown"}}),c=r.ref(!1),d=r.ref(!1);let f=null;const h=()=>{typeof document<"u"&&(d.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};r.onMounted(()=>{h(),typeof document<"u"&&(f=new MutationObserver(h),f.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),f.observe(document.body,{attributes:!0,attributeFilter:["class"]}))});const p=r.computed(()=>n.disabled||!c.value?{}:{borderColor:d.value?"hsl(var(--primary) / 0.4)":"hsl(var(--primary) / 0.5)",backgroundColor:d.value?"hsl(var(--primary) / 0.1)":"hsl(var(--primary) / 0.05)"});return(g,y)=>e.file?(r.openBlock(),r.createBlock(yf,{key:0,class:r.normalizeClass([e.disabled?"opacity-60 pointer-events-none":"","dark:bg-neutral-800 dark:border-neutral-700/50"])},{default:r.withCtx(()=>[r.createVNode(wf,{class:"pb-2"},{default:r.withCtx(()=>[r.createVNode(_f,{class:"text-sm font-semibold dark:text-neutral-100"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.title),1)]),_:1}),e.description?(r.openBlock(),r.createElementBlock("div",hme,r.toDisplayString(e.description),1)):r.createCommentVNode("",!0)]),_:1}),r.createVNode(vf,{class:"pt-2"},{default:r.withCtx(()=>[r.createElementVNode("div",{class:"d-result-preview-wrap relative rounded-xl overflow-hidden border-2 border-dashed transition-colors duration-200 bg-muted dark:bg-neutral-900/30 border-border dark:border-neutral-700/50 w-full",style:r.normalizeStyle([{height:`${e.previewHeight}px`},p.value]),onMouseenter:y[3]||(y[3]=v=>c.value=!0),onMouseleave:y[4]||(y[4]=v=>c.value=!1)},[s.value&&o.value?(r.openBlock(),r.createElementBlock("img",{key:0,src:o.value,alt:"Preview",class:"h-full w-full object-contain"},null,8,mme)):(r.openBlock(),r.createElementBlock("div",pme,[r.createVNode(r.unref(Ee.FileText),{class:"w-10 h-10"}),r.createElementVNode("div",gme,[r.createElementVNode("p",bme,r.toDisplayString(l.value?.name),1),r.createElementVNode("p",yme,r.toDisplayString(l.value?.size),1)])])),r.createElementVNode("div",{class:"d-action-buttons",style:r.normalizeStyle({position:"absolute",top:"8px",left:"8px",right:"8px",display:"flex",alignItems:"center",justifyContent:"space-between",zIndex:50,opacity:c.value?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:c.value?"auto":"none"})},[e.showPreview?(r.openBlock(),r.createElementBlock("button",{key:0,disabled:e.disabled,class:"d-action-btn shadow-md",style:r.normalizeStyle({height:"32px",width:"32px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#3b82f6",color:"white",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.4)",cursor:e.disabled?"not-allowed":"pointer",transition:"all 0.2s",marginRight:"8px"}),onClick:y[0]||(y[0]=v=>i("preview"))},[r.createVNode(r.unref(Ee.Eye),{style:{width:"16px",height:"16px"}})],12,vme)):r.createCommentVNode("",!0),e.showEdit&&s.value?(r.openBlock(),r.createElementBlock("button",{key:1,disabled:e.disabled,class:"d-action-btn shadow-md",style:r.normalizeStyle({height:"32px",width:"32px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#eab308",color:"white",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.4)",cursor:e.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:y[1]||(y[1]=v=>i("edit"))},[r.createVNode(r.unref(Ee.Pencil),{style:{width:"16px",height:"16px"}})],12,wme)):(r.openBlock(),r.createElementBlock("div",_me)),e.showRemove?(r.openBlock(),r.createElementBlock("button",{key:3,disabled:e.disabled,class:"d-action-btn shadow-md",style:r.normalizeStyle({height:"32px",width:"32px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#ef4444",color:"white",borderRadius:"8px",border:"1px solid rgba(255,255,255,0.4)",cursor:e.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:y[2]||(y[2]=v=>i("remove"))},[r.createVNode(r.unref(Ee.Trash2),{style:{width:"16px",height:"16px"}})],12,kme)):r.createCommentVNode("",!0)],4),r.createElementVNode("div",{class:"d-metadata-overlay",style:r.normalizeStyle({position:"absolute",left:"8px",bottom:"8px",zIndex:10,display:"inline-block",maxWidth:"calc(100% - 16px)",borderRadius:"12px",border:"1px solid rgba(0,0,0,0.1)",padding:"8px 12px",boxShadow:"0 10px 15px -3px rgba(0,0,0,0.1)",backdropFilter:"blur(8px)",transition:"all 0.2s ease-in-out",opacity:c.value?1:0,transform:c.value?"translateY(0) scale(1)":"translateY(4px) scale(0.99)",backgroundColor:d.value?"rgba(38, 38, 38, 0.8)":"rgba(255, 255, 255, 0.8)",color:d.value?"#e5e5e5":"#171717"})},[r.createElementVNode("div",xme,[r.createElementVNode("div",Cme,[y[5]||(y[5]=r.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Nama",-1)),r.createElementVNode("span",Eme,r.toDisplayString(l.value?.name),1)]),r.createElementVNode("div",Sme,[y[6]||(y[6]=r.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Ukuran",-1)),r.createElementVNode("span",Ame,r.toDisplayString(l.value?.size),1)]),r.createElementVNode("div",Tme,[y[7]||(y[7]=r.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Tipe",-1)),r.createElementVNode("span",Pme,r.toDisplayString(l.value?.type),1)])])],4)],36)]),_:1})]),_:1},8,["class"])):r.createCommentVNode("",!0)}}),[["__scopeId","data-v-27515b06"]]),Bme={class:"space-y-3"},Dme={class:"flex flex-col items-center justify-center gap-3 rounded-xl border-2 border-dashed border-primary-300 dark:border-primary-700 bg-primary-50/50 dark:bg-primary-900/10",style:{"min-height":"190px"}},Nme={class:"flex flex-col items-center justify-center min-h-[300px]"},Mme=["src","alt"],Ime=["src"],Rme={key:2,class:"flex flex-col items-center gap-4 py-12 text-slate-400"},Ome={class:"text-sm font-medium"},Lme=["href"],x0=r.defineComponent({name:"DCodeFileField",inheritAttrs:!1,__name:"DCodeFileField",props:{modelValue:{default:null},label:{default:"Upload File"},hint:{},disabled:{type:Boolean,default:!1},previewHeight:{default:190},previewWidth:{default:void 0},allowedTypes:{default:null},accept:{default:"*/*"},minSizeMb:{default:null},maxSizeMb:{default:1},endpoint:{},uploadFn:{},loading:{type:Boolean},template:{default:null}},emits:["update:modelValue","error","uploaded"],setup(e,{emit:t}){const n=e,i=t,o=r.ref(null),s=r.ref(null),a=r.computed(()=>o.value?o.value:n.modelValue?n.modelValue:null);r.watch(()=>n.modelValue,W=>{W instanceof File?o.value=W:W||(o.value=null)},{immediate:!0});const l=r.ref(null);function c(W){l.value=W,i("error",W)}function d(){l.value=null}const f=r.computed(()=>{const W=(n.allowedTypes??"").trim();return W?W.split(/[,\s;]+/g).map(re=>re.trim().toLowerCase()).filter(Boolean).map(re=>re.includes("/")||re.startsWith(".")?re:`.${re}`):[]});function h(W){const J=W.lastIndexOf(".");return J>=0?W.slice(J).toLowerCase():""}const p=r.computed(()=>{if(f.value.length){const W=f.value.filter(re=>re.startsWith("."));return[...f.value.filter(re=>re.includes("/")),...W].join(",")}return n.accept}),g=r.computed(()=>f.value.length?f.value.join(", "):n.accept||"Semua File");function y(W){if(f.value.length){const J=(W.type||"").toLowerCase(),re=h(W.name);return f.value.some(se=>se.includes("/")?J===se:se.startsWith(".")?re===se:re===`.${se}`)}if(n.accept){if(n.accept==="*/*")return!0;const J=n.accept.split(",").map(Q=>Q.trim().toLowerCase()),re=(W.type||"").toLowerCase(),se=h(W.name);return J.some(Q=>{if(Q.endsWith("/*")){const X=Q.slice(0,-2);return re.startsWith(X)}return Q.startsWith(".")?se===Q:re===Q})}return!0}function v(W){return W*1024*1024}async function w(W){return W?y(W)?n.minSizeMb!=null&&W.size<v(n.minSizeMb)?`Ukuran file terlalu kecil. Minimal ${n.minSizeMb}MB`:n.maxSizeMb!=null&&W.size>v(n.maxSizeMb)?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:null:`File Type not allowed. Allowed: ${g.value}`:"File tidak valid"}const{apiUrl:C}=r.inject("externalApi")||{},E=zp(),k=r.ref(!1);async function T(W){if(n.uploadFn){try{k.value=!0;const J=await n.uploadFn(W);o.value=W,i("update:modelValue",J),i("uploaded",J)}catch(J){console.error("Upload Error",J),E.error("Upload Failed",J?.message||"Unknown error"),c(J?.message||"Upload Failed")}finally{k.value=!1}return}if(!n.endpoint?.apiUrl){o.value=W,i("update:modelValue",W);return}try{k.value=!0;const J=new FormData;J.append("doc",W);const re=(n.endpoint.apiMethod||"POST").toUpperCase(),se=n.endpoint.apiUrl,Q=await C(se,re,J),X=Array.isArray(Q?.data)?Q.data[0]:Q?.data||Q;o.value=W,i("update:modelValue",X??Q),i("uploaded",Q)}catch(J){console.error("Upload Error",J),E.error("Upload Failed",J?.message||"Unknown error"),c(J?.message||"Upload Failed")}finally{k.value=!1}}async function R(W){if(n.disabled)return;d();const J=await w(W);if(J){c(J);return}s.value=W,await T(W)}function I(){d(),o.value=null,s.value=null,i("update:modelValue",null)}r.watch(()=>n.modelValue,W=>{W instanceof File&&!s.value&&(s.value=W),W||(s.value=null)},{immediate:!0});const{t:P}=Mn.useI18n(),S=r.ref(!1),O=r.ref(""),z=r.ref(""),M=r.ref(""),B=()=>{const W=o.value,J=n.modelValue;let re="",se="";if(W instanceof File)re=URL.createObjectURL(W),se=W.type;else if(typeof J=="string"){re=J;const X=J.split(".").pop()?.toLowerCase()||"";["jpg","jpeg","png","gif","webp","svg"].includes(X)?se=`image/${X==="jpg"?"jpeg":X}`:X==="pdf"&&(se="application/pdf")}else if(J&&typeof J=="object"){const X=J,Z=X.url||X.documentUrl||X.fullUrl||X.path;if(Z){const Y=X.server;re=Y?`${Y.replace(/\/+$/,"")}/${Z.replace(/^\/+/,"")}`:Z,se=X.mime||X.mimeType||""}}if(!re)return;se==="application/pdf"&&!re.includes("#")&&(re+="#toolbar=0&navpanes=0&scrollbar=0&view=FitH&pagemode=none"),O.value=re;const Q=W instanceof File?W.name:typeof J=="string"?J.split("/").pop():J?.filename||J?.name||J?.title||"Preview File";z.value=n.label||Q||"Preview File",M.value=se||"application/octet-stream",S.value=!0};return(W,J)=>(r.openBlock(),r.createElementBlock("div",Bme,[k.value||e.loading?(r.openBlock(),r.createBlock(r.unref(yf),{key:0,class:"dark:bg-neutral-800 dark:border-neutral-700/50"},{default:r.withCtx(()=>[r.createVNode(r.unref(wf),{class:"pb-2"},{default:r.withCtx(()=>[r.createVNode(r.unref(_f),{class:"text-sm font-semibold dark:text-neutral-100"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.label),1)]),_:1})]),_:1}),r.createVNode(r.unref(vf),{class:"pt-2"},{default:r.withCtx(()=>[r.createElementVNode("div",Dme,[r.createVNode(r.unref(Ee.Loader2),{class:"w-8 h-8 animate-spin text-primary-500"}),J[3]||(J[3]=r.createElementVNode("span",{class:"text-sm font-medium text-primary-600 dark:text-primary-400"},"Uploading...",-1))])]),_:1})]),_:1})):a.value?(r.openBlock(),r.createBlock(U_,{key:2,file:a.value,title:e.label,description:e.hint,disabled:e.disabled,"show-edit":!1,"show-replace":!1,"show-remove":!0,"show-preview":!0,"preview-height":e.previewHeight,"preview-width":e.previewWidth,onRemove:I,onPreview:B},null,8,["file","title","description","disabled","preview-height","preview-width"])):(r.openBlock(),r.createBlock(eg,{key:1,label:e.label,hint:e.hint,accept:p.value,maxSizeMb:e.maxSizeMb,disabled:e.disabled||k.value,template:e.template,onPicked:R,error:l.value,onError:J[0]||(J[0]=re=>c(re))},null,8,["label","hint","accept","maxSizeMb","disabled","template","error"])),r.createVNode(Mr,{modelValue:S.value,"onUpdate:modelValue":J[2]||(J[2]=re=>S.value=re),title:z.value,"max-width":M.value==="application/pdf"?720:500,"content-class":M.value==="application/pdf"?"p-0 overflow-hidden":"px-6 py-1 overflow-y-auto"},{actions:r.withCtx(()=>[r.createElementVNode("button",{type:"button",class:"px-4 py-2 border border-slate-200 dark:border-zinc-700 rounded-md text-sm font-medium hover:bg-slate-50 dark:hover:bg-zinc-800 transition-colors",onClick:J[1]||(J[1]=re=>S.value=!1)},r.toDisplayString(r.unref(P)("common.close")||"Close"),1)]),default:r.withCtx(()=>[r.createElementVNode("div",Nme,[M.value.startsWith("image/")?(r.openBlock(),r.createElementBlock("img",{key:0,src:O.value,alt:z.value,class:"w-full h-auto max-h-[72vh] object-contain rounded-lg shadow-md"},null,8,Mme)):M.value==="application/pdf"?(r.openBlock(),r.createElementBlock("iframe",{key:1,src:O.value,class:"w-full h-[70vh] rounded-lg border border-slate-200",title:"Document Preview"},null,8,Ime)):(r.openBlock(),r.createElementBlock("div",Rme,[r.createVNode(r.unref(Ee.FileText),{class:"w-16 h-16 stroke-1"}),r.createElementVNode("span",Ome,r.toDisplayString(r.unref(P)("dynamicUploadList.noSupportPreview")||"Preview not supported for this file type"),1),r.createElementVNode("a",{href:O.value,target:"_blank",class:"px-4 py-2 bg-primary-500 text-white rounded-md text-sm font-semibold hover:bg-primary-600 transition-colors"},r.toDisplayString(r.unref(P)("dynamicUploadList.viewOriginal")||"View Original"),9,Lme)]))])]),_:1},8,["modelValue","title","max-width","content-class"])]))}}),Fme={class:"flex-1 flex flex-col min-h-[300px]"},$me={key:0,class:"flex-1 flex flex-col items-center justify-center p-10"},zme={key:1,class:"flex-1 flex flex-col items-center justify-center p-10"},jme={class:"bg-red-50 dark:bg-red-950/30 text-red-600 dark:text-red-400 p-6 rounded-lg max-w-md text-center border border-red-100 dark:border-red-900/50"},Ume={class:"text-sm opacity-90"},Wme={key:2,class:"flex-1 overflow-hidden flex items-center justify-center relative bg-neutral-50/30 dark:bg-neutral-950/20"},Hme={class:"w-full h-full p-6 overflow-auto flex items-center justify-center"},qme=["src"],Kme=["innerHTML"],Gme={key:2,class:"whitespace-pre-wrap font-mono text-xs p-4 rounded bg-neutral-50 dark:bg-neutral-800 border border-neutral-200 dark:border-neutral-700 max-w-full overflow-auto text-neutral-700 dark:text-neutral-300"},Yme={key:3,class:"text-neutral-400 dark:text-neutral-600 text-sm italic"},C0=In(r.defineComponent({name:"DCodeWorkflowDiagram",__name:"DCodeWorkflowDiagram",props:{auditId:{},fetcher:{},apiModule:{},apiAction:{},apiUrl:{},apiMethod:{default:"POST"},apiParams:{default:()=>({})},height:{default:"auto"},baseUrl:{default:void 0},withAuth:{type:Boolean,default:!1},endpoint:{},dummyMode:{type:Boolean,default:!1}},setup(e){const t=e,{t:n}=Mn.useI18n(),{apiUrl:i}=r.inject("externalApi")||{},o=r.ref(!1),s=r.ref(""),a=r.ref(""),l=r.ref(!1),c=r.ref(""),d=r.computed(()=>a.value.trim().toLowerCase().startsWith("<svg")),f=()=>{c.value&&c.value.startsWith("blob:")&&URL.revokeObjectURL(c.value),c.value=""};r.onUnmounted(()=>{f()});const h=async()=>{if(t.dummyMode){o.value=!1,s.value="",a.value="",l.value=!0,f(),c.value="https://placehold.co/800x400/f9fafb/6b7280?text=Workflow+Diagram+Preview";return}const p=t.endpoint||{},g=p.apiUrl||t.apiUrl,y=(p.apiMethod||t.apiMethod||"GET").toUpperCase(),v=t.apiModule&&t.apiAction||g;if(!t.fetcher&&!v){s.value="Fetcher or API configuration is required";return}o.value=!0,s.value="",a.value="",l.value=!1,f();try{let w;if(t.fetcher)w=await t.fetcher({auditId:t.auditId});else{let E="";if(g)if(g.startsWith("http"))E=g;else if(t.baseUrl){const R=t.baseUrl.replace(/\/$/,""),I=g.startsWith("/")?g:`/${g}`;E=`${R}${I}`}else E=g;else if(t.apiModule&&t.apiAction){const R=`/${t.apiModule}/${t.apiAction}`;t.baseUrl?E=`${t.baseUrl.replace(/\/$/,"")}${R}`:E=R}const k={...t.apiParams};t.auditId&&!k.id&&(k.id=t.auditId),t.auditId&&!k.auditId&&(k.auditId=t.auditId);const T=await i(E,y,k,{withCredentials:!0,responseType:"blob",headers:{Accept:"image/png"}});if(T instanceof Blob)w=T;else if(T?.data instanceof Blob)w=T.data;else if(T?.data!==void 0){const R=T.data,I=T?.headers?.["content-type"]||"application/octet-stream";w=new Blob([R],{type:I})}else w=new Blob([T],{type:"application/octet-stream"})}if(w.size===0)throw new Error("Diagram received but empty (0 bytes).");const C=w.type||"";if(C.startsWith("image/svg")||C.includes("svg")){const E=await w.text();a.value=E}else C.startsWith("text/")?a.value=await w.text():(l.value=!0,c.value=URL.createObjectURL(w))}catch(w){console.error("[DCodeWorkflowDiagram] Error loading diagram:",w),s.value=w.message||"Failed to load diagram"}finally{o.value=!1}};return r.watch(()=>t.auditId,()=>{h()}),r.onMounted(()=>{h()}),(p,g)=>(r.openBlock(),r.createElementBlock("div",{class:"dcode-workflow-diagram flex flex-col bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 rounded-xl overflow-hidden shadow-sm",style:r.normalizeStyle({height:e.height})},[r.createElementVNode("div",Fme,[o.value?(r.openBlock(),r.createElementBlock("div",$me,[r.createVNode(r.unref(Ee.Loader2),{class:"h-10 w-10 text-primary animate-spin mb-4"}),g[0]||(g[0]=r.createElementVNode("span",{class:"text-sm text-neutral-500 dark:text-neutral-400"},"Loading diagram...",-1))])):s.value?(r.openBlock(),r.createElementBlock("div",zme,[r.createElementVNode("div",jme,[r.createVNode(r.unref(Ee.AlertTriangle),{class:"h-10 w-10 mx-auto mb-3 opacity-80"}),g[2]||(g[2]=r.createElementVNode("h4",{class:"text-base font-bold mb-2"},"Error",-1)),r.createElementVNode("p",Ume,r.toDisplayString(s.value),1),r.createVNode(Tt,{variant:"outline",size:"sm",class:"mt-4 mx-auto border-red-200 dark:border-red-800 hover:bg-red-100 dark:hover:bg-red-900/50",onClick:h},{default:r.withCtx(()=>[r.createVNode(r.unref(Ee.RefreshCw),{class:"h-3.5 w-3.5 mr-2"}),g[1]||(g[1]=r.createTextVNode(" Try Again ",-1))]),_:1})])])):(r.openBlock(),r.createElementBlock("div",Wme,[r.createElementVNode("div",Hme,[l.value?(r.openBlock(),r.createElementBlock("img",{key:0,src:c.value,alt:"Workflow Diagram",class:"max-w-full h-auto object-contain shadow-sm rounded border border-neutral-200 dark:border-neutral-800"},null,8,qme)):d.value?(r.openBlock(),r.createElementBlock("div",{key:1,innerHTML:a.value,class:"svg-viewer w-full h-full flex items-center justify-center"},null,8,Kme)):a.value?(r.openBlock(),r.createElementBlock("div",Gme,r.toDisplayString(a.value),1)):(r.openBlock(),r.createElementBlock("div",Yme," No diagram data available "))])]))])],4))}}),[["__scopeId","data-v-5867ea89"]]),Zme={key:0,class:"inline-block"},Ld=In(r.defineComponent({name:"DCodeBadge",inheritAttrs:!1,__name:"DCodeBadge",props:{text:{default:""},variant:{default:"default"},size:{default:"sm"},icon:{},dot:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},color:{},skeleton:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n=r.computed(()=>_r(t.icon,Ut)),i=r.computed(()=>t.visible??!0),o=r.computed(()=>{const h={xs:"px-1.5 py-0.5 text-[10px] gap-1",sm:"px-2.5 py-0.5 text-xs gap-1.5",md:"px-3 py-1 text-sm gap-2",lg:"px-4 py-1.5 text-base gap-2.5"};return h[t.size]||h.sm}),s=r.computed(()=>{const h={xs:"w-1 h-1",sm:"w-1.5 h-1.5",md:"w-2 h-2",lg:"w-2.5 h-2.5"};return h[t.size]||h.sm}),a=r.computed(()=>{const h={xs:"w-2.5 h-2.5",sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5"};return h[t.size]||h.sm}),l=r.computed(()=>{const h={default:"bg-primary text-primary-foreground border-transparent shadow hover:bg-primary/80",DEFAULT:"bg-primary text-primary-foreground border-transparent shadow hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground border-transparent hover:bg-secondary/80",SECONDARY:"bg-secondary text-secondary-foreground border-transparent hover:bg-secondary/80",destructive:"bg-destructive text-destructive-foreground border-transparent shadow hover:bg-destructive/80",DESTRUCTIVE:"bg-destructive text-destructive-foreground border-transparent shadow hover:bg-destructive/80",success:"bg-success-500 text-white border-transparent shadow-sm hover:bg-success-600",SUCCESS:"bg-success-500 text-white border-transparent shadow-sm hover:bg-success-600",warning:"bg-warning-500 text-white border-transparent shadow-sm hover:bg-warning-600",WARNING:"bg-warning-500 text-white border-transparent shadow-sm hover:bg-warning-600",info:"bg-blue-500 text-white border-transparent shadow-sm hover:bg-blue-600",INFO:"bg-blue-500 text-white border-transparent shadow-sm hover:bg-blue-600",danger:"bg-red-500 text-white border-transparent shadow-sm hover:bg-red-600",DANGER:"bg-red-500 text-white border-transparent shadow-sm hover:bg-red-600",outline:"bg-transparent border-border text-foreground",OUTLINE:"bg-transparent border-border text-foreground",tonal:"bg-primary/10 text-primary border-transparent hover:bg-primary/20",TONAL:"bg-primary/10 text-primary border-transparent hover:bg-primary/20",ghost:"bg-transparent text-muted-foreground border-transparent hover:bg-accent hover:text-accent-foreground",GHOST:"bg-transparent text-muted-foreground border-transparent hover:bg-accent hover:text-accent-foreground",purple:"bg-purple-600 text-white border-transparent shadow-sm hover:bg-purple-700",PURPLE:"bg-purple-600 text-white border-transparent shadow-sm hover:bg-purple-700",pink:"bg-pink-600 text-white border-transparent shadow-sm hover:bg-pink-700",PINK:"bg-pink-600 text-white border-transparent shadow-sm hover:bg-pink-700",dark:"bg-gray-900 text-white border-transparent shadow-sm hover:bg-gray-950",light:"bg-gray-100 text-gray-900 border-gray-200 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-100 dark:border-gray-700",link:"bg-transparent text-blue-600 border-transparent hover:underline hover:text-blue-700",LINK:"bg-transparent text-blue-600 border-transparent hover:underline hover:text-blue-700",elevated:"bg-white text-gray-900 border-gray-200 shadow-md hover:shadow-lg dark:bg-gray-800 dark:text-gray-100 dark:border-gray-700",ELEVATED:"bg-white text-gray-900 border-gray-200 shadow-md hover:shadow-lg dark:bg-gray-800 dark:text-gray-100 dark:border-gray-700"};let p=h[t.variant]||h.default;if(t.color){const g=t.color.toLowerCase().replace(/_/g,"-"),y=t.variant?.toLowerCase()||"default",w={primary:{bg:"bg-primary",text:"text-primary-foreground",border:"border-transparent",hover:"hover:bg-primary/80"},success:{bg:"bg-success-500",text:"text-white",border:"border-transparent",hover:"hover:bg-success-600"},warning:{bg:"bg-warning-500",text:"text-white",border:"border-transparent",hover:"hover:bg-warning-600"},danger:{bg:"bg-red-500",text:"text-white",border:"border-transparent",hover:"hover:bg-red-600"},info:{bg:"bg-blue-500",text:"text-white",border:"border-transparent",hover:"hover:bg-blue-600"},purple:{bg:"bg-purple-600",text:"text-white",border:"border-transparent",hover:"hover:bg-purple-700"},pink:{bg:"bg-pink-600",text:"text-white",border:"border-transparent",hover:"hover:bg-pink-700"},"gradient-blue":{bg:"bg-gradient-to-r from-blue-500 to-cyan-500",text:"text-white",border:"border-transparent",hover:"hover:from-blue-600 hover:to-cyan-600"},"gradient-purple":{bg:"bg-gradient-to-r from-purple-500 to-pink-500",text:"text-white",border:"border-transparent",hover:"hover:from-purple-600 hover:to-pink-600"},"gradient-sunset":{bg:"bg-gradient-to-r from-orange-500 to-red-500",text:"text-white",border:"border-transparent",hover:"hover:from-orange-600 hover:to-red-600"},"gradient-emerald":{bg:"bg-gradient-to-r from-emerald-500 to-teal-500",text:"text-white",border:"border-transparent",hover:"hover:from-emerald-600 hover:to-teal-600"}}[g];if(w)switch(y){case"outline":return`${w.border} ${w.text} ${w.hover.replace("hover:bg-","hover:bg-").replace("500","50").replace("600","50")}`;case"tonal":return`${w.bg}/10 ${w.text} ${w.border} ${w.hover.replace("hover:bg-","hover:bg-").replace("500","20").replace("600","20")}`;case"ghost":return`bg-transparent ${w.text} border-transparent hover:bg-accent hover:text-accent-foreground`;case"link":return`bg-transparent ${w.text} border-transparent hover:underline hover:${w.text.replace("text-","text-").replace("-600","-700").replace("-500","-600")}`;case"elevated":return`bg-white ${w.text} border-gray-200 shadow-md hover:shadow-lg dark:bg-gray-800 dark:border-gray-700`;default:return`${w.bg} ${w.text} ${w.border} shadow-sm ${w.hover}`}}return p}),c=r.computed(()=>{const h={default:"bg-primary-foreground",DEFAULT:"bg-primary-foreground",secondary:"bg-secondary-foreground",SECONDARY:"bg-secondary-foreground",destructive:"bg-destructive-foreground",DESTRUCTIVE:"bg-destructive-foreground",success:"bg-white",SUCCESS:"bg-white",warning:"bg-white",WARNING:"bg-white",info:"bg-white",INFO:"bg-white",danger:"bg-white",DANGER:"bg-white",outline:"bg-primary",OUTLINE:"bg-primary",tonal:"bg-primary",TONAL:"bg-primary",ghost:"bg-muted-foreground",GHOST:"bg-muted-foreground",purple:"bg-white",PURPLE:"bg-white",pink:"bg-white",PINK:"bg-white",dark:"bg-white",light:"bg-gray-900",link:"bg-blue-600",LINK:"bg-blue-600",elevated:"bg-gray-900",ELEVATED:"bg-gray-900"};if(t.color){const p=t.color.toLowerCase().replace(/_/g,"-"),g={primary:"bg-primary-foreground",success:"bg-white",warning:"bg-white",danger:"bg-white",info:"bg-white",purple:"bg-white",pink:"bg-white","gradient-blue":"bg-white","gradient-purple":"bg-white","gradient-sunset":"bg-white","gradient-emerald":"bg-white"};if(g[p])return g[p]}return h[t.variant]||"bg-current"}),d=r.computed(()=>{const h={xs:"h-4 w-10",sm:"h-5 w-14",md:"h-6 w-18",lg:"h-7 w-24"};return sn(h[t.size]||h.sm,"rounded animate-pulse bg-muted")}),f=r.computed(()=>sn("inline-flex items-center font-semibold border transition-all duration-300 select-none focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 max-w-full whitespace-normal break-words text-left",t.pill?"rounded-full":"rounded-md",o.value,l.value,t.class));return(h,p)=>i.value?(r.openBlock(),r.createElementBlock("div",Zme,[e.skeleton?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(d.value)},null,2)):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(f.value)},[e.dot?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["rounded-full animate-pulse flex-shrink-0",s.value,c.value])},null,2)):r.createCommentVNode("",!0),n.value?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.value),{key:1,class:r.normalizeClass(["flex-shrink-0",a.value]),"stroke-width":"2.5"},null,8,["class"])):r.createCommentVNode("",!0),r.renderSlot(h.$slots,"default",{},()=>[r.createElementVNode("span",null,r.toDisplayString(e.text),1)],!0)],2))])):r.createCommentVNode("",!0)}}),[["__scopeId","data-v-4aca395e"]]),Xme=r.defineComponent({__name:"Avatar",props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:"sm"},shape:{default:"circle"}},setup(e){const t=e;return(n,i)=>(r.openBlock(),r.createBlock(r.unref(Et.AvatarRoot),{class:r.normalizeClass(r.unref(sn)(r.unref(Vme)({size:e.size,shape:e.shape}),t.class))},{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}}),Jme=r.defineComponent({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,i)=>(r.openBlock(),r.createBlock(r.unref(Et.AvatarFallback),r.normalizeProps(r.guardReactiveProps(t)),{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3},16))}}),Qme=r.defineComponent({__name:"AvatarImage",props:{src:{},referrerPolicy:{},crossOrigin:{},asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,i)=>(r.openBlock(),r.createBlock(r.unref(Et.AvatarImage),r.mergeProps(t,{class:"h-full w-full object-cover"}),{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3},16))}}),Vme=$m("inline-flex items-center justify-center font-normal text-foreground select-none shrink-0 bg-secondary overflow-hidden",{variants:{size:{sm:"h-10 w-10 text-xs",base:"h-16 w-16 text-2xl",lg:"h-32 w-32 text-5xl"},shape:{circle:"rounded-full",square:"rounded-md"}}}),epe={class:"bg-card text-card-foreground"},tpe={class:"flex flex-col space-y-1.5 py-6 px-4"},npe={class:"leading-none tracking-tight text-lg font-bold"},ipe={class:"pb-10 px-4"},ope={key:0,class:"flex flex-col items-center justify-center py-20 gap-3"},rpe={key:1,class:"bg-destructive/10 border border-destructive/20 p-8 rounded-2xl text-center space-y-3"},spe={class:"text-sm font-bold text-destructive"},ape={class:"timeline-phases-wrapper"},lpe={key:0,class:"timeline-phase-header"},cpe={class:"flex flex-col sm:flex-row sm:items-center gap-4 md:bg-white dark:md:bg-neutral-900 md:px-6 md:py-2 md:rounded-full md:shadow-sm md:border md:border-neutral-200 dark:md:border-neutral-800"},dpe={class:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-neutral-50 dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 text-[10px] font-black uppercase tracking-widest text-neutral-500 shadow-sm"},upe={key:0,class:"opacity-40"},fpe={key:0,class:"flex items-center gap-3 text-[10px] font-bold text-neutral-400 uppercase tracking-tight"},hpe={key:0,class:"flex items-center gap-1.5"},mpe={key:1,class:"bg-primary/5 text-primary px-2 py-0.5 rounded border border-primary/10"},ppe={key:1,class:"timeline-details-wrapper"},gpe={class:"timeline-card-wrapper"},bpe={class:"timeline-card-content"},ype={class:"p-4 sm:p-5"},vpe={class:"text-base font-extrabold text-neutral-900 dark:text-neutral-100 group-hover:text-primary transition-colors"},wpe={class:"text-[11px] font-medium text-neutral-400 font-mono tracking-tighter"},_pe={class:"text-[10px] font-black uppercase text-neutral-400 tracking-widest"},kpe={class:"leading-tight"},xpe={class:"text-xs font-black text-neutral-800 dark:text-neutral-200 uppercase tracking-tight"},Cpe={class:"text-[10px] font-bold text-neutral-400"},Epe={key:3,class:"flex flex-col items-center justify-center py-24 text-center"},Spe={class:"p-6 rounded-full bg-neutral-50 dark:bg-neutral-900 shadow-inner mb-4 border border-dashed border-neutral-200 dark:border-neutral-800"},E0=In(r.defineComponent({name:"DCodeTimelineWithIcons",__name:"DCodeTimelineWithIcons",props:{items:{},apiUrl:{},apiModule:{},apiAction:{},apiMethod:{default:"GET"},apiParams:{},endpoint:{},title:{default:"Timeline With Icons"},dummyMode:{type:Boolean,default:!1},orientation:{default:"VERTICAL"}},setup(e){const t=e,{DCodeApi:n}=r.inject("externalApi")||{},i=r.ref(!1),o=r.ref(null),s=r.ref([]),a=r.computed(()=>{if(s.value.length>0)return s.value;if(t.items){if(Array.isArray(t.items))return t.items;const v=t.items;if(v.data&&Array.isArray(v.data))return v.data;if(v.payload&&Array.isArray(v.payload))return v.payload}return[]}),l=async()=>{if(t.dummyMode){s.value=[{name:"Phase 1: Initialization",noRef:"P-001",startTime:new Date().toISOString(),endTime:new Date().toISOString(),duration:3600,detail:[{id:1,noRef:"DET-001",name:"Initial Check",startTime:new Date().toISOString(),endTime:new Date().toISOString(),duration:600,status:"Completed",color:"success",desc:"System health check performed successfully."}]}];return}const v=t.apiUrl||t.endpoint?.apiUrl,w=t.apiModule||t.endpoint?.apiModule,C=t.apiAction||t.endpoint?.apiAction,E=t.apiMethod||t.endpoint?.apiMethod||"GET";if(!(!v&&!w)){i.value=!0,o.value=null;try{let k;w&&C?k=await n(w,C,t.apiParams):v&&(k=await n(v,E,t.apiParams));let T=[];k&&(Array.isArray(k.data)?T=k.data:Array.isArray(k.payload)?T=k.payload:Array.isArray(k)?T=k:k.data?.items&&Array.isArray(k.data.items)?T=k.data.items:k.payload?.items&&Array.isArray(k.payload.items)?T=k.payload.items:Array.isArray(k.items)&&(T=k.items)),T.length>0?s.value=T:s.value=[]}catch(k){console.error("Failed to fetch timeline items:",k),o.value=k.message||"Failed to fetch data"}finally{i.value=!1}}};r.onMounted(()=>{const v=t.apiUrl||t.endpoint?.apiUrl,w=t.apiModule||t.endpoint?.apiModule;(v||w)&&l()}),r.watch([()=>t.apiUrl,()=>t.apiModule,()=>t.apiAction,()=>t.apiParams,()=>t.endpoint],()=>{const v=t.apiUrl||t.endpoint?.apiUrl,w=t.apiModule||t.endpoint?.apiModule;v||w?l():s.value=[]},{deep:!0});const c=v=>{if(!v)return"-";try{return Br(R2(v),"MMMM dd, yyyy HH:mm")}catch{return v}},d=v=>{if(!v)return"-";try{return Br(R2(v),"HH:mm")}catch{return v}},f=v=>{if(!v&&v!==0)return"-";if(v<60)return`${v}s`;const w=Math.floor(v/60),C=v%60;if(w<60)return`${w}m ${C}s`;const E=Math.floor(w/60),k=w%60;return`${E}h ${k}m`},h=(v,w=Ee.Circle)=>v&&_r(v,Ut)||w,p=v=>{const w={primary:"bg-blue-500/10 text-blue-600 border-blue-200 dark:border-blue-900/30",success:"bg-emerald-500/10 text-emerald-600 border-emerald-200 dark:border-emerald-900/30",emerald:"bg-emerald-500/10 text-emerald-600 border-emerald-200 dark:border-emerald-900/30",warning:"bg-amber-500/10 text-amber-600 border-amber-200 dark:border-amber-900/30",amber:"bg-amber-500/10 text-amber-600 border-amber-200 dark:border-amber-900/30",danger:"bg-rose-500/10 text-rose-600 border-rose-200 dark:border-rose-900/30",rose:"bg-rose-500/10 text-rose-600 border-rose-200 dark:border-rose-900/30",info:"bg-sky-500/10 text-sky-600 border-sky-200 dark:border-sky-900/30",sky:"bg-sky-500/10 text-sky-600 border-sky-200 dark:border-sky-900/30",secondary:"bg-slate-500/10 text-slate-600 border-slate-200 dark:border-slate-800/30"};return w[v||"primary"]||w.primary},g=v=>({primary:"default",success:"success",emerald:"success",warning:"warning",amber:"warning",danger:"destructive",rose:"destructive",info:"info",sky:"info",secondary:"secondary"})[v||"secondary"]||"secondary",y=v=>v?.split(" ").filter(Boolean).slice(0,2).map(w=>w[0]?.toUpperCase()).join("")||"??";return(v,w)=>(r.openBlock(),r.createElementBlock("div",epe,[r.createElementVNode("div",tpe,[r.createElementVNode("h3",npe,r.toDisplayString(e.title),1)]),r.createElementVNode("div",ipe,[i.value?(r.openBlock(),r.createElementBlock("div",ope,[r.createVNode(r.unref(Ee.Loader2),{class:"w-8 h-8 text-primary animate-spin"}),w[0]||(w[0]=r.createElementVNode("p",{class:"text-xs font-bold uppercase tracking-widest text-muted-foreground animate-pulse"},"Syncing CBAS Data...",-1))])):o.value?(r.openBlock(),r.createElementBlock("div",rpe,[r.createVNode(r.unref(Ee.AlertCircle),{class:"w-8 h-8 text-destructive mx-auto"}),r.createElementVNode("p",spe,r.toDisplayString(o.value),1),r.createElementVNode("button",{onClick:l,class:"text-xs font-black uppercase underline tracking-wider opacity-60 hover:opacity-100"},"Retry Synchronization")])):a.value.length>0?(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["timeline-container",`is-${e.orientation}`])},[w[2]||(w[2]=r.createElementVNode("div",{class:"timeline-main-line bg-neutral-200 dark:bg-neutral-800"},null,-1)),r.createElementVNode("div",ape,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,(C,E)=>(r.openBlock(),r.createElementBlock("div",{key:E,class:"timeline-phase-group"},[C&&C.name?(r.openBlock(),r.createElementBlock("div",lpe,[r.createElementVNode("div",cpe,[r.createElementVNode("div",dpe,[r.createTextVNode(" Phase: "+r.toDisplayString(C.name)+" ",1),C.noRef?(r.openBlock(),r.createElementBlock("span",upe,"#"+r.toDisplayString(C.noRef),1)):r.createCommentVNode("",!0)]),C.duration||C.startTime?(r.openBlock(),r.createElementBlock("div",fpe,[C.startTime?(r.openBlock(),r.createElementBlock("div",hpe,[r.createVNode(r.unref(Ee.Clock),{class:"w-3 h-3"}),r.createTextVNode(" "+r.toDisplayString(d(C.startTime))+" - "+r.toDisplayString(d(C.endTime)),1)])):r.createCommentVNode("",!0),C.duration?(r.openBlock(),r.createElementBlock("div",mpe," Total: "+r.toDisplayString(f(C.duration)),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0),C&&C.detail&&C.detail.length>0?(r.openBlock(),r.createElementBlock("div",ppe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(C.detail,(k,T)=>(r.openBlock(),r.createElementBlock("div",{key:k.id||T,class:r.normalizeClass(["timeline-item-container",[T%2===0?"is-even":"is-odd"]])},[w[1]||(w[1]=r.createElementVNode("div",{class:"timeline-inner-line"},null,-1)),r.createElementVNode("div",{class:r.normalizeClass(["timeline-node-icon",p(k.color)])},[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(k.icon)),{class:"h-4 w-4"}))],2),r.createElementVNode("div",gpe,[r.createElementVNode("div",bpe,[r.createElementVNode("div",ype,[r.createElementVNode("div",{class:r.normalizeClass(["flex flex-col sm:flex-row sm:items-start justify-between gap-4",e.orientation==="VERTICAL"&&T%2===0?"md:flex-row-reverse md:text-right":""])},[r.createElementVNode("div",{class:r.normalizeClass(["space-y-1",e.orientation==="VERTICAL"&&T%2===0?"md:items-end":""])},[r.createElementVNode("div",{class:r.normalizeClass(["flex items-center gap-2",e.orientation==="VERTICAL"&&T%2===0?"md:justify-end":""])},[r.createElementVNode("h4",vpe,r.toDisplayString(k.name),1),k.status?(r.openBlock(),r.createBlock(Ld,{key:0,variant:g(k.color),class:"h-4 px-1.5 text-[8px] uppercase font-black tracking-widest"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(k.status),1)]),_:2},1032,["variant"])):r.createCommentVNode("",!0)],2),r.createElementVNode("p",wpe," #"+r.toDisplayString(k.noRef),1)],2),r.createElementVNode("div",{class:r.normalizeClass(["text-left sm:text-right shrink-0",e.orientation==="VERTICAL"&&T%2===0?"md:text-left":""])},[r.createElementVNode("p",_pe,r.toDisplayString(c(k.startTime)),1),r.createElementVNode("p",{class:r.normalizeClass(["mt-1 text-[11px] font-bold text-primary flex items-center justify-start sm:justify-end gap-1.5",e.orientation==="VERTICAL"&&T%2===0?"md:justify-start":""])},[r.createVNode(r.unref(Ee.Clock),{class:"w-3 h-3"}),r.createTextVNode(" "+r.toDisplayString(f(k.duration)),1)],2)],2)],2),k.desc?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["mt-4 text-sm text-neutral-600 dark:text-neutral-400 leading-relaxed font-medium",e.orientation==="VERTICAL"&&T%2===0?"md:text-right":""])},r.toDisplayString(k.desc),3)):r.createCommentVNode("",!0),k.personName?(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["mt-4 pt-4 border-t border-neutral-100 dark:border-neutral-800 flex items-center gap-3",e.orientation==="VERTICAL"&&T%2===0?"md:flex-row-reverse md:text-right":""])},[r.createVNode(r.unref(Xme),{class:"h-9 w-9 border-2 border-background shadow-inner"},{default:r.withCtx(()=>[k.avatarUrl?(r.openBlock(),r.createBlock(r.unref(Qme),{key:0,src:k.avatarUrl},null,8,["src"])):r.createCommentVNode("",!0),r.createVNode(r.unref(Jme),{class:"bg-neutral-100 text-neutral-400 text-[10px] font-bold"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(y(k.personName)),1)]),_:2},1024)]),_:2},1024),r.createElementVNode("div",kpe,[r.createElementVNode("p",xpe,r.toDisplayString(k.personName),1),r.createElementVNode("p",Cpe,r.toDisplayString(k.personRole||"Process Specialist"),1)])],2)):r.createCommentVNode("",!0)])])])],2))),128))])):r.createCommentVNode("",!0)]))),128))])],2)):(r.openBlock(),r.createElementBlock("div",Epe,[r.createElementVNode("div",Spe,[r.createVNode(r.unref(Ee.Clock),{class:"w-12 h-12 text-neutral-300 dark:text-neutral-700 stroke-[1.5]"})]),w[3]||(w[3]=r.createElementVNode("h4",{class:"text-sm font-bold text-neutral-400 uppercase tracking-widest mb-1"},"No activity detected",-1)),w[4]||(w[4]=r.createElementVNode("p",{class:"text-[10px] font-medium text-neutral-300 dark:text-neutral-600 uppercase"},"The timeline history is currently empty",-1))]))])]))}}),[["__scopeId","data-v-abaacc74"]]),Ape={key:0,class:"flex items-center justify-between px-4 py-3 border-b border-gray-100 bg-white dark:border-neutral-700/50 dark:bg-neutral-900/50 backdrop-blur-sm sticky top-0 z-10"},Tpe={class:"flex items-center gap-3 overflow-hidden"},Ppe={class:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary/10 text-primary"},Bpe={class:"text-sm font-semibold text-gray-700 dark:text-neutral-200 truncate"},Dpe={class:"flex items-center gap-1.5 ml-4"},Npe={class:"relative flex-1 w-full overflow-hidden bg-gray-50 dark:bg-neutral-950/20"},Mpe={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 bg-white/90 backdrop-blur-sm dark:bg-neutral-900/90"},Ipe={class:"relative flex items-center justify-center"},Rpe={key:1,class:"flex h-full w-full flex-col items-center justify-center gap-4 p-8 text-center"},Ope={class:"rounded-2xl bg-amber-50 p-4 dark:bg-amber-900/20"},Lpe={class:"max-w-md"},Fpe={class:"text-lg font-bold text-gray-900 dark:text-neutral-100"},$pe={class:"mt-2 text-sm leading-relaxed text-gray-500 dark:text-neutral-400"},zpe={class:"flex flex-wrap justify-center gap-3 mt-2"},jpe=["src"],Upe={key:1,class:"flex h-full w-full flex-col items-center justify-center gap-4 p-8 text-center bg-gray-50/50 dark:bg-neutral-900/30"},Wpe={class:"rounded-2xl bg-white p-5 shadow-sm dark:bg-neutral-800"},S0=In(r.defineComponent({name:"DCodePdfViewer",__name:"DCodePdfViewer",props:{itemValue:{default:null},modelValue:{default:null},label:{default:"PDF Viewer"},baseUrl:{default:""},height:{default:"700px"},showDownload:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!0}},setup(e){const t=e,{DCodeApi:n}=r.inject("externalApi")||{},i=r.computed(()=>{let P="",S="",O=!1;const z=J=>{J&&(typeof J=="string"?(J.includes("/")||J.startsWith("http")||J.startsWith("data:"))&&(P=J):typeof J=="object"&&J!==null&&(P=J.url||J.path||J.link||"",S=J.server||J.baseUrl||J.base_url||""))};if(t.itemValue&&typeof t.itemValue=="string"&&t.modelValue&&typeof t.modelValue=="object"){const J=t.itemValue.split(".");let re=t.modelValue,se,Q=!0;for(const X of J)if(re&&typeof re=="object"&&X in re)se=re,re=re[X];else{Q=!1;break}Q&&re!==void 0&&re!==null&&(z(re),O=!0,!S&&se&&(S=se.server||se.baseUrl||se.base_url||""))}if(P||(t.modelValue&&typeof t.modelValue!="object"?z(t.modelValue):!O&&t.itemValue&&z(t.itemValue)),!P||typeof P!="string"||P.trim()==="")return null;const M=typeof window<"u"?window.location.protocol:"https:",B=M==="https:";P.startsWith("//")&&(P=`${M}${P}`);const W=t.baseUrl||S;if(W&&!P.startsWith("http")&&!P.startsWith("data:")){let J=W.trim().replace(/\/$/,"");if(!J)return null;B&&J.startsWith("http:")?J=J.replace("http:","https:"):J.startsWith("//")&&(J=`${M}${J}`);const re=P.startsWith("/")?P:`/${P}`;P=`${J}${re}`}try{const J=new URL(P,window.location.origin);if(J.pathname==="/"||J.pathname===""||J.href===window.location.origin+"/")return null}catch{if(!P.startsWith("data:")&&!P.startsWith("blob:"))return null}return B&&P.startsWith("http:")&&(P=P.replace("http:","https:")),P}),o=r.computed(()=>typeof window>"u"?!1:window.location.protocol==="https:"&&typeof i.value=="string"&&i.value.startsWith("http:")),s=r.ref(!0),a=r.ref(!1),l=r.ref(!1),c=r.ref(null),d=r.ref(null),f=r.ref(!1);let h=null;const p=()=>{d.value&&(URL.revokeObjectURL(d.value),d.value=null)},g=async P=>{if(P){f.value=!0,s.value=!0,a.value=!1;try{if(typeof n=="function")try{const z=await n(P,"GET",{},{responseType:"blob"}),M=z instanceof Blob?z:z?.data instanceof Blob?z.data:new Blob([z?.data||z],{type:"application/pdf"});if(M&&M.size>0){p(),d.value=URL.createObjectURL(M),f.value=!1,s.value=!1;return}}catch(z){console.warn("DCodePdfViewer: DCodeApi fetch failed, trying native fetch",z)}const S=await fetch(P);if(!S.ok)throw new Error(`HTTP error! status: ${S.status}`);const O=await S.blob();p(),d.value=URL.createObjectURL(O)}catch(S){console.error("DCodePdfViewer: Blob fetch failed, falling back to direct URL",S),a.value=!0}finally{f.value=!1,s.value=!1}}},y=r.computed(()=>{const P=t.height;return{height:l.value?"100vh":typeof P=="number"?`${P}px`:P,minHeight:l.value?"100vh":"500px"}}),v=()=>{h&&(clearTimeout(h),h=null)},w=()=>{if(v(),o.value&&!d.value&&!f.value){g(i.value);return}h=setTimeout(()=>{s.value&&(s.value=!1,a.value=!0)},1e4)},C=()=>{v(),s.value=!1,a.value=!1},E=()=>{v(),s.value=!1,a.value=!0},k=()=>{c.value&&(document.fullscreenElement?(document.exitFullscreen(),l.value=!1):(c.value.requestFullscreen().catch(P=>{console.error(`Error attempting to enable full-screen mode: ${P.message}`)}),l.value=!0))},T=()=>{l.value=!!document.fullscreenElement};r.onMounted(()=>{document.addEventListener("fullscreenchange",T),i.value&&w()}),r.onBeforeUnmount(()=>{document.removeEventListener("fullscreenchange",T),v(),p()}),r.watch(()=>i.value,P=>{p(),P&&(s.value=!0,a.value=!1,o.value?g(P):w())},{immediate:!0});const R=()=>{i.value&&window.open(i.value,"_blank")},I=()=>{if(!i.value)return;const P=document.createElement("a");P.href=i.value,P.download=t.label||"document.pdf",P.target="_blank",document.body.appendChild(P),P.click(),document.body.removeChild(P)};return(P,S)=>(r.openBlock(),r.createElementBlock("div",{ref_key:"containerRef",ref:c,class:r.normalizeClass(["d-pdf-viewer-container relative w-full overflow-hidden flex flex-col rounded-xl border border-gray-200 bg-white dark:border-neutral-700/50 dark:bg-neutral-900",{"fixed inset-0 z-[9999] rounded-none !h-screen":l.value}]),style:r.normalizeStyle(y.value)},[i.value?(r.openBlock(),r.createElementBlock("div",Ape,[r.createElementVNode("div",Tpe,[r.createElementVNode("div",Ppe,[r.createVNode(r.unref(Ee.FileText),{class:"h-4 w-4"})]),r.createElementVNode("span",Bpe,r.toDisplayString(e.label),1)]),r.createElementVNode("div",Dpe,[r.createElementVNode("button",{type:"button",onClick:R,class:"flex h-8 w-8 items-center justify-center rounded-lg text-gray-500 transition-all hover:bg-gray-100 hover:text-primary dark:text-neutral-400 dark:hover:bg-neutral-800",title:"Buka di Tab Baru"},[r.createVNode(r.unref(Ee.ExternalLink),{class:"h-4 w-4"})]),e.showDownload?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",onClick:I,class:"flex h-8 w-8 items-center justify-center rounded-lg text-gray-500 transition-all hover:bg-gray-100 hover:text-primary dark:text-neutral-400 dark:hover:bg-neutral-800",title:"Unduh PDF"},[r.createVNode(r.unref(Ee.Download),{class:"h-4 w-4"})])):r.createCommentVNode("",!0),e.showFullscreen?(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",onClick:k,class:"flex h-8 w-8 items-center justify-center rounded-lg text-gray-500 transition-all hover:bg-gray-100 hover:text-primary dark:text-neutral-400 dark:hover:bg-neutral-800",title:"Layar Penuh"},[l.value?(r.openBlock(),r.createBlock(r.unref(Ee.Minimize2),{key:0,class:"h-4 w-4"})):(r.openBlock(),r.createBlock(r.unref(Ee.Maximize2),{key:1,class:"h-4 w-4"}))])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0),r.createElementVNode("div",Npe,[i.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[s.value?(r.openBlock(),r.createElementBlock("div",Mpe,[r.createElementVNode("div",Ipe,[S[0]||(S[0]=r.createElementVNode("div",{class:"h-12 w-12 rounded-full border-4 border-primary/20 border-t-primary animate-spin"},null,-1)),r.createVNode(r.unref(Ee.Loader2),{class:"absolute h-5 w-5 animate-pulse text-primary"})]),S[1]||(S[1]=r.createElementVNode("p",{class:"text-sm font-medium text-gray-600 dark:text-neutral-300"},"Menyiapkan dokumen...",-1))])):r.createCommentVNode("",!0),(a.value||o.value)&&!d.value&&!f.value?(r.openBlock(),r.createElementBlock("div",Rpe,[r.createElementVNode("div",Ope,[r.createVNode(r.unref(Ee.FileWarning),{class:"h-10 w-10 text-amber-500 dark:text-amber-400"})]),r.createElementVNode("div",Lpe,[r.createElementVNode("h3",Fpe,r.toDisplayString(o.value?"Keamanan Browser Memblokir":"Gagal Memuat PDF"),1),r.createElementVNode("p",$pe,[o.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(" Dokumen ini berasal dari sumber yang tidak aman (HTTP) dan diblokir oleh browser (HTTPS). Silakan buka di tab baru atau unduh file untuk melihatnya. ")],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" Kami tidak dapat menampilkan dokumen secara langsung. Ini bisa terjadi karena file tidak ditemukan, masalah jaringan, atau batasan akses dari server. ")],64))])]),r.createElementVNode("div",zpe,[r.createElementVNode("button",{onClick:R,class:"flex items-center gap-2 rounded-xl bg-primary px-5 py-2.5 text-sm font-semibold text-white shadow-sm transition-all hover:bg-primary/90 hover:shadow-md"},[r.createVNode(r.unref(Ee.ExternalLink),{class:"h-4 w-4"}),S[2]||(S[2]=r.createTextVNode(" Buka di Tab Baru ",-1))]),e.showDownload?(r.openBlock(),r.createElementBlock("button",{key:0,onClick:I,class:"flex items-center gap-2 rounded-xl border border-gray-200 bg-white px-5 py-2.5 text-sm font-semibold text-gray-700 shadow-sm transition-all hover:bg-gray-50 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-200 dark:hover:bg-neutral-700"},[r.createVNode(r.unref(Ee.Download),{class:"h-4 w-4"}),S[3]||(S[3]=r.createTextVNode(" Unduh Dokumen ",-1))])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0),!o.value||d.value?r.withDirectives((r.openBlock(),r.createElementBlock("iframe",{key:2,src:`${d.value||i.value}#toolbar=0&navpanes=0&scrollbar=1`,class:"h-full w-full border-none bg-gray-50 dark:bg-neutral-900",onLoad:C,onError:E},null,40,jpe)),[[r.vShow,!a.value&&!s.value]]):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock("div",Upe,[r.createElementVNode("div",Wpe,[r.createVNode(r.unref(Ee.FileWarning),{class:"h-10 w-10 text-gray-300 dark:text-neutral-600"})]),S[4]||(S[4]=r.createElementVNode("div",null,[r.createElementVNode("p",{class:"text-lg font-bold text-gray-700 dark:text-neutral-200"},"Belum ada file PDF"),r.createElementVNode("p",{class:"mt-1 text-sm text-gray-500 dark:text-neutral-400 max-w-xs leading-relaxed"}," Silakan unggah dokumen terlebih dahulu atau periksa ketersediaan file pada sistem. ")],-1))]))])],6))}}),[["__scopeId","data-v-544c51b5"]]),Hpe={key:0,class:"robot-list-wrapper"},qpe={class:"flex flex-col sm:flex-row items-stretch sm:items-center justify-between gap-4 mb-4 px-1"},Kpe={class:"relative w-full sm:w-72"},Gpe={class:"flex items-center gap-2 self-end sm:self-auto"},Ype=["onClick"],Zpe={class:"text-[9px] opacity-60"},Xpe=["disabled"],Jpe={class:"overflow-hidden rounded-2xl border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 shadow-sm"},Qpe={class:"w-full text-left border-collapse"},Vpe={class:"divide-y divide-neutral-100 dark:divide-neutral-800"},ege={class:"px-6 py-4"},tge={class:"flex items-center gap-4"},nge={class:"w-10 h-10 rounded-xl bg-primary-50 dark:bg-primary-500/10 flex items-center justify-center border border-primary-100 dark:border-primary-500/20"},ige={class:"text-sm font-black text-neutral-900 dark:text-neutral-100"},oge={class:"text-[10px] font-bold text-neutral-400 uppercase tracking-wider"},rge={class:"px-6 py-4"},sge={class:"space-y-1"},age={class:"flex items-center gap-2"},lge={class:"text-xs font-bold text-neutral-700 dark:text-neutral-300"},cge={class:"flex items-center gap-2"},dge={class:"text-[10px] font-medium text-neutral-500"},uge={class:"px-6 py-4"},fge={class:"space-y-1"},hge={class:"flex items-center gap-2"},mge={class:"text-xs font-bold text-neutral-700 dark:text-neutral-300"},pge={class:"flex items-center gap-2"},gge={class:"text-[10px] font-medium text-neutral-500"},bge={class:"px-6 py-4 text-center"},yge={class:"px-6 py-4 text-center"},vge={class:"px-6 py-4 text-right"},wge={class:"text-[10px] font-black text-neutral-900 dark:text-neutral-100 mb-0.5"},_ge={class:"text-[9px] font-bold text-neutral-400"},kge={key:0,class:"flex items-center justify-between px-6 py-4 border-t border-neutral-100 dark:border-neutral-800 bg-neutral-50/50 dark:bg-neutral-800/30 text-xs font-bold text-neutral-500"},xge={class:"flex items-center gap-2"},Cge=["disabled"],Ege=["disabled"],Sge={key:1,class:"flex flex-col items-center justify-center py-16"},Age={key:2,class:"flex items-center justify-center py-16"},Fd=2,A0=In(r.defineComponent({name:"DCodeRobotList",__name:"DCodeRobotList",props:{title:{default:"Robot Monitoring"},modelValue:{default:()=>[]},visible:{type:Boolean,default:!0},dummyMode:{type:Boolean,default:!1},endpoint:{default:()=>({})},socketEndpoint:{},socketParams:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=t,o=[{id:1,code:"SUPERVISOR",name:"ROBOT SUPERVISOR",url:"https://robot-supervisor.example.com",urlStream:"https://robot-supervisor-stream.example.com",operator:{id:1,name:"Alex",code:"alex@example.com"},supervisor:{id:2,name:"Sarah",code:"sarah@example.com"},robotRole:{id:252,code:"APPV",name:"ROBOT ROLE APPROVER"},channel:{id:248,code:"WP",name:"WEB PORTAL"},status:{id:15,code:"AKT",name:"AKTIF"},healthStatus:"UP",statusProcessing:"IDLE",idle:!0,connected:!0,lastUpdate:"2026-05-12 11:07:41"},{id:2,code:"OPERATOR",name:"ROBOT OPERATOR",url:"https://robot-operator.example.com",urlStream:"https://robot-operator-stream.example.com",operator:{id:1,name:"Alex",code:"alex@example.com"},supervisor:{id:2,name:"Sarah",code:"sarah@example.com"},robotRole:{id:251,code:"REQ",name:"ROBOT ROLE REQUESTOR"},channel:{id:248,code:"WP",name:"WEB PORTAL"},status:{id:15,code:"AKT",name:"AKTIF"},healthStatus:"UP",statusProcessing:"IDLE",idle:!0,connected:!0,lastUpdate:"2026-05-12 11:07:45"}],s=r.ref(n.dummyMode?o:n.modelValue||[]),a=r.ref(!1),l=r.ref(""),c=r.inject("externalApi")||{},{DCodeApi:d}=c,f=c.socket||c.managedSocket,h=f?.on,p=f?.off,g=f?.send||f?.emit,y=f?.connect||f?.init,v=r.computed(()=>f?typeof f.isConnected=="function"?f.isConnected():typeof f.isConnected=="boolean"?f.isConnected:f.isConnected?.value!==void 0?f.isConnected.value:!0:!1),w=r.computed(()=>n.endpoint?.socket||n.socketEndpoint),C=r.computed(()=>n.socketParams||{}),E=B=>{if(!B)return;const W=B?.data??B?.result??B,J=W?.data??W?.items??W?.list??W?.rows??W;Array.isArray(J)?(s.value=J,i("update:modelValue",s.value)):typeof J=="object"&&J!==null?(s.value=[J],i("update:modelValue",s.value)):k()};r.watch(()=>w.value,(B,W)=>{!h||!p||n.dummyMode||(W&&p(W,E),B&&(y&&y(),h(B,E),v.value&&g&&g(B,C.value)))},{immediate:!0}),r.watch(()=>v.value,B=>{B&&w.value&&g&&!n.dummyMode&&g(w.value,C.value)}),r.onUnmounted(()=>{p&&w.value&&p(w.value,E)});const k=async()=>{if(n.dummyMode){s.value=o,i("update:modelValue",s.value);return}if(!(!n.endpoint?.apiUrl||typeof d!="function")){a.value=!0;try{const B=await d("","",{},{_url:n.endpoint.apiUrl,_method:n.endpoint.apiMethod||"GET"}),W=B?.data??B,J=W?.data??W;s.value=Array.isArray(J)?J:[J],i("update:modelValue",s.value)}catch(B){console.error("[DCodeRobotList] Fetch data failed:",B)}finally{a.value=!1}}},T=r.ref("ALL"),R=B=>B==="ALL"?s.value.length:s.value.filter(W=>(W.healthStatus||"").toUpperCase()===B).length,I=r.computed(()=>{let B=s.value;if(T.value!=="ALL"&&(B=B.filter(J=>(J.healthStatus||"").toUpperCase()===T.value)),!l.value)return B;const W=l.value.toLowerCase();return B.filter(J=>(J.code||J.robotCode)?.toLowerCase().includes(W)||J.name?.toLowerCase().includes(W)||J.healthStatus?.toLowerCase().includes(W)||J.statusProcessing?.toLowerCase().includes(W)||J.operator?.name?.toLowerCase().includes(W))}),P=r.ref(1),S=r.computed(()=>Math.ceil(I.value.length/Fd)),O=r.computed(()=>{const B=(P.value-1)*Fd,W=B+Fd;return I.value.slice(B,W)});r.watch(I,()=>{P.value=S.value||1},{immediate:!0}),r.watch(()=>n.modelValue,B=>{n.dummyMode||B&&B.length>0&&(s.value=B)},{immediate:!0}),r.onMounted(()=>{k()});const z=B=>{if(!B)return"secondary";switch(B.toUpperCase()){case"UP":return"success";case"DOWN":return"destructive";case"OFFLINE":return"destructive";case"IDLE":return"warning";default:return"secondary"}},M=B=>{if(!B)return"ghost";switch(B.toUpperCase()){case"IDLE":return"ghost";case"BUSY":case"PROCESSING":return"info";default:return"ghost"}};return(B,W)=>e.visible?(r.openBlock(),r.createElementBlock("div",Hpe,[r.createElementVNode("div",qpe,[r.createElementVNode("div",Kpe,[r.createVNode(r.unref(Ee.Search),{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400"}),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":W[0]||(W[0]=J=>l.value=J),type:"text",placeholder:"Search robots...",class:"w-full pl-10 pr-4 py-2 text-xs rounded-xl border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 focus:ring-2 focus:ring-primary-500/20 focus:border-primary-500 outline-none transition-all"},null,512),[[r.vModelText,l.value]])]),r.createElementVNode("div",Gpe,[W[3]||(W[3]=r.createElementVNode("span",{class:"text-[10px] font-black uppercase tracking-widest text-neutral-400 mr-1"},"Health:",-1)),(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(["ALL","UP","DOWN"],J=>r.createElementVNode("button",{key:J,onClick:re=>T.value=J,class:r.normalizeClass(["px-3 py-1.5 text-[10px] font-black uppercase tracking-wider rounded-lg border transition-all duration-200 flex items-center gap-1.5",T.value===J?"bg-neutral-900 dark:bg-white text-white dark:text-neutral-900 border-neutral-900 dark:border-white shadow-sm":"bg-white dark:bg-neutral-900 text-neutral-500 hover:text-neutral-900 dark:hover:text-white border-neutral-200 dark:border-neutral-800 hover:border-neutral-300 dark:hover:border-neutral-700"])},[J!=="ALL"?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["w-1.5 h-1.5 rounded-full",J==="UP"?"bg-emerald-500":"bg-red-500"])},null,2)):r.createCommentVNode("",!0),r.createTextVNode(" "+r.toDisplayString(J)+" ",1),r.createElementVNode("span",Zpe," ("+r.toDisplayString(R(J))+") ",1)],10,Ype)),64)),r.createElementVNode("button",{onClick:k,class:"p-2 rounded-xl border border-neutral-200 dark:border-neutral-800 hover:bg-neutral-50 dark:hover:bg-neutral-800 transition-colors ml-1",disabled:a.value},[r.createVNode(r.unref(Ee.RefreshCw),{class:r.normalizeClass(["w-3.5 h-3.5 text-neutral-500",{"animate-spin":a.value}])},null,8,["class"])],8,Xpe)])]),r.createElementVNode("div",Jpe,[r.createElementVNode("table",Qpe,[W[4]||(W[4]=r.createElementVNode("thead",null,[r.createElementVNode("tr",{class:"bg-neutral-50 dark:bg-neutral-800/50 border-b border-neutral-100 dark:border-neutral-800"},[r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400"},"Robot Info"),r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400"},"Operator & SPV"),r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400"},"Role & Channel"),r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400 text-center"},"Health"),r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400 text-center"},"Processing"),r.createElementVNode("th",{class:"px-6 py-4 text-[10px] font-black uppercase tracking-widest text-neutral-400 text-right"},"Last Update")])],-1)),r.createElementVNode("tbody",Vpe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(O.value,J=>(r.openBlock(),r.createElementBlock("tr",{key:J.id||J.code,class:"group hover:bg-neutral-50/50 dark:hover:bg-neutral-800/30 transition-colors"},[r.createElementVNode("td",ege,[r.createElementVNode("div",tge,[r.createElementVNode("div",nge,[r.createVNode(r.unref(Ee.Terminal),{class:"w-5 h-5 text-primary-500"})]),r.createElementVNode("div",null,[r.createElementVNode("div",ige,r.toDisplayString(J.name),1),r.createElementVNode("div",oge,r.toDisplayString(J.code),1)])])]),r.createElementVNode("td",rge,[r.createElementVNode("div",sge,[r.createElementVNode("div",age,[r.createVNode(r.unref(Ee.User),{class:"w-3 h-3 text-neutral-400"}),r.createElementVNode("span",lge,r.toDisplayString(J.operator?.name||"-"),1)]),r.createElementVNode("div",cge,[r.createVNode(r.unref(Ee.ShieldCheck),{class:"w-3 h-3 text-neutral-400"}),r.createElementVNode("span",dge,r.toDisplayString(J.supervisor?.name||"-"),1)])])]),r.createElementVNode("td",uge,[r.createElementVNode("div",fge,[r.createElementVNode("div",hge,[r.createVNode(r.unref(Ee.Settings),{class:"w-3 h-3 text-neutral-400"}),r.createElementVNode("span",mge,r.toDisplayString(J.robotRole?.name||"-"),1)]),r.createElementVNode("div",pge,[r.createVNode(r.unref(Ee.Globe),{class:"w-3 h-3 text-neutral-400"}),r.createElementVNode("span",gge,r.toDisplayString(J.channel?.name||"-"),1)])])]),r.createElementVNode("td",bge,[r.createVNode(Ld,{variant:z(J.healthStatus),pill:"",class:"px-3 py-1 text-[9px] font-black uppercase tracking-wider"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(J.healthStatus),1)]),_:2},1032,["variant"])]),r.createElementVNode("td",yge,[r.createVNode(Ld,{variant:M(J.statusProcessing),size:"xs",pill:"",class:"px-2 py-0.5 text-[9px] font-black uppercase"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(J.statusProcessing),1)]),_:2},1032,["variant"])]),r.createElementVNode("td",vge,[r.createElementVNode("div",wge,r.toDisplayString(J.lastUpdate?.split(" ")[1]||"-"),1),r.createElementVNode("div",_ge,r.toDisplayString(J.lastUpdate?.split(" ")[0]||"-"),1)])]))),128))])]),I.value.length>Fd?(r.openBlock(),r.createElementBlock("div",kge,[r.createElementVNode("div",null," Showing "+r.toDisplayString((P.value-1)*Fd+1)+" to "+r.toDisplayString(Math.min(P.value*Fd,I.value.length))+" of "+r.toDisplayString(I.value.length)+" entries ",1),r.createElementVNode("div",xge,[r.createElementVNode("button",{onClick:W[1]||(W[1]=J=>P.value=Math.max(1,P.value-1)),disabled:P.value===1,class:"flex items-center gap-1 px-3 py-1.5 rounded-lg border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 hover:bg-neutral-50 dark:hover:bg-neutral-800 disabled:opacity-50 disabled:pointer-events-none transition-colors"},[r.createVNode(r.unref(Ee.ChevronLeft),{class:"w-3.5 h-3.5"}),W[5]||(W[5]=r.createTextVNode(" Previous ",-1))],8,Cge),r.createElementVNode("button",{onClick:W[2]||(W[2]=J=>P.value=Math.min(S.value,P.value+1)),disabled:P.value===S.value,class:"flex items-center gap-1 px-3 py-1.5 rounded-lg border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-900 hover:bg-neutral-50 dark:hover:bg-neutral-800 disabled:opacity-50 disabled:pointer-events-none transition-colors"},[W[6]||(W[6]=r.createTextVNode(" Next ",-1)),r.createVNode(r.unref(Ee.ChevronRight),{class:"w-3.5 h-3.5"})],8,Ege)])])):r.createCommentVNode("",!0),I.value.length===0&&!a.value?(r.openBlock(),r.createElementBlock("div",Sge,[r.createVNode(r.unref(Ee.Activity),{class:"w-10 h-10 text-neutral-200 dark:text-neutral-800 mb-4"}),W[7]||(W[7]=r.createElementVNode("h3",{class:"text-sm font-black text-neutral-400 uppercase tracking-widest"},"No Robots Found",-1))])):r.createCommentVNode("",!0),a.value&&s.value.length===0?(r.openBlock(),r.createElementBlock("div",Age,[r.createVNode(r.unref(Ee.RefreshCw),{class:"w-8 h-8 text-primary-500 animate-spin"})])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)}}),[["__scopeId","data-v-e8bbf101"]]),Tge={class:"dcode-checklist-item relative flex flex-col items-center justify-start text-center px-2 py-2 h-full w-full after:absolute after:top-[15%] after:bottom-[15%] after:-right-[8px] after:w-px after:bg-neutral-200 dark:after:bg-neutral-800"},Pge={class:"flex items-start justify-center gap-2 mb-3"},Bge={key:0,class:"mt-0.5 flex-shrink-0 text-neutral-400"},Dge={class:"text-xs font-medium text-neutral-500 dark:text-neutral-400 leading-tight"},Nge={key:1,class:"mt-auto px-4 py-1 text-xs font-semibold rounded-md border bg-neutral-100 border-neutral-200 text-neutral-400 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-500"},Mge={key:1,class:"mt-auto px-4 py-1 text-xs font-semibold rounded-md border bg-neutral-100 border-neutral-200 text-neutral-400 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-500"},Ige=["title"],Rge={key:1,class:"mt-auto text-sm text-neutral-400 dark:text-neutral-500"},Oge={name:"DCodeBarCustom"},W_=r.defineComponent({...Oge,props:{label:{},icon:{},modelValue:{},border:{type:Boolean,default:!0},shadow:{type:Boolean,default:!1},padding:{default:"px-4 py-4 sm:py-5"},containerClass:{default:""},valueType:{},prefix:{},suffix:{},locale:{default:"id-ID"}},setup(e){const t=["lengkap","selesai","aktif","valid","approved","complete","done","yes","ya","true","success","verified"],n=e,i=r.computed(()=>n.icon&&(Ut[n.icon]||Ut[n.icon+"Icon"])||null),o=r.computed(()=>(n.valueType||"TEXT").toUpperCase()),s=r.computed(()=>{const d=n.modelValue;return d==null||d===""?null:typeof d=="object"&&"value"in d?d.value:d}),a=r.computed(()=>{const d=s.value;if(d==null||d==="")return"";const f=o.value,h=n.locale||"id-ID";let p="";switch(f){case"DATE":p=Tc(d,"short",h);break;case"DATETIME":p=Tc(d,"datetime",h);break;case"CURRENCY":{if(n.prefix)p=iy(d,n.prefix);else{const v=Number(d);p=isNaN(v)?String(d):new Intl.NumberFormat(h,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0}).format(v)}break}case"BOOLEAN":typeof d=="boolean"?p=h.startsWith("id")?d?"Ya":"Tidak":d?"Yes":"No":p=String(d);break;case"NUMBER":{const v=Number(d);p=isNaN(v)?String(d):new Intl.NumberFormat(h).format(v);break}case"PERCENT":p=`${d}%`;break;default:typeof d=="boolean"?p=h.startsWith("id")?d?"Lengkap":"Belum Lengkap":d?"Complete":"Incomplete":typeof d=="object"&&d!==null?p=d.name??d.label??d.code??d.value??String(d):p=String(d);break}const g=f!=="CURRENCY"&&n.prefix?n.prefix:"",y=n.suffix||"";return`${g}${p}${y}`}),l=r.computed(()=>{const d=a.value.toLowerCase();return t.some(f=>d.includes(f))}),c=r.computed(()=>{const d=s.value;return typeof d=="boolean"?d:typeof d=="string"?d.toLowerCase()==="true"||d.toLowerCase()==="ya"||d.toLowerCase()==="yes":!1});return(d,f)=>(r.openBlock(),r.createElementBlock("div",Tge,[r.createElementVNode("div",Pge,[i.value?(r.openBlock(),r.createElementBlock("div",Bge,[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.value),{class:"w-4 h-4 sm:w-5 sm:h-5"}))])):r.createCommentVNode("",!0),r.createElementVNode("p",Dge,r.toDisplayString(e.label||"Checklist Item"),1)]),o.value==="BADGE"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[a.value?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["mt-auto px-4 py-1 text-xs font-semibold rounded-md border",l.value?"bg-green-50 border-green-200 text-green-700 dark:bg-green-950/30 dark:border-green-900/50 dark:text-green-400":"bg-red-50 border-red-200 text-red-700 dark:bg-red-950/30 dark:border-red-900/50 dark:text-red-400"])},r.toDisplayString(a.value),3)):(r.openBlock(),r.createElementBlock("span",Nge," - "))],64)):o.value==="BOOLEAN"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[s.value!==null?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["mt-auto px-4 py-1 text-xs font-semibold rounded-md border",c.value?"bg-green-50 border-green-200 text-green-700 dark:bg-green-950/30 dark:border-green-900/50 dark:text-green-400":"bg-red-50 border-red-200 text-red-700 dark:bg-red-950/30 dark:border-red-900/50 dark:text-red-400"])},r.toDisplayString(a.value),3)):(r.openBlock(),r.createElementBlock("span",Mge," - "))],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[a.value?(r.openBlock(),r.createElementBlock("p",{key:0,class:"mt-auto text-base font-bold text-neutral-900 dark:text-neutral-50 truncate max-w-full",title:a.value},r.toDisplayString(a.value),9,Ige)):(r.openBlock(),r.createElementBlock("p",Rge,"-"))],64))]))}}),Lge={key:0},Fge=["value","name"],$ge={key:1,class:"flex flex-col gap-1"},zge={class:"text-xs font-medium text-neutral-500 dark:text-neutral-400"},jge=["src"],Uge={key:1,class:"text-sm text-neutral-400 italic"},Wge={key:2,class:"text-sm text-neutral-800 dark:text-neutral-100 font-medium"},Hge={key:3,class:"text-xs text-neutral-400 italic"},kh=r.defineComponent({__name:"DynamicFormField",props:{field:{},modelValue:{default:null},formData:{default:()=>({})},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:()=>[]},error:{default:null},dynamicLabels:{default:null},dynamicLength:{default:null},baseUrl:{default:void 0},viewOnly:{type:Boolean,default:!1},skeleton:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},dummyMode:{type:Boolean,default:!1},selectedTokenCore:{default:null}},emits:["update:modelValue"],setup(e,{emit:t}){let n=r.ref("en");try{n=Mn.useI18n().locale}catch{}const i=e,o=t,s=r.ref(i.modelValue);r.watch(()=>i.modelValue,E=>{s.value=E});const a={DCodeTextField:Lc,DCodeMapField:rg,DCodeAutoComplete:Lu,DCodeInfiniteAutoComplete:Mm,DCodeDatePicker:Lp,DCodeMonthPicker:mv,DCodeTimePicker:Fp,DCodeDateTimePicker:$p,DCodeTextarea:nd,DCodeTextArea:nd,DCodeTextEditor:m0,DCodeCheckbox:Cl,DCodeSwitch:ig,DCodeSegment:og,DCodeOtpInput:ng,DCodeImageField:tg,DCodeSlider:p0,DCodeRadio:g0,DCodeButton:Tt,DCodeButtonGroup:da,DCodeRadioCustom:b0,DCodeDynamicUploadList:jp,DCodeDynamicCollapse:B0,DCodeMultiSelect:y0,DCodeCurrencyField:Tp,DCodePercentField:Pp,DCodePermissionMenu:v0,DCodeTreePermissions:w0,DCodeCardCheckboxList:Ap,DCodeBeforeAfter:Ym,DCodeListLabels:Zm,DCodeStaticLabel:_0,DCodeStaticImage:k0,DCodeFileField:x0,DCodeWorkflowDiagram:C0,DCodeTimelineWithIcons:E0,DCodePdfViewer:S0,DCodeRobotList:A0,DCodeBarCustom:W_},l=r.computed(()=>{const E=i.field.component;return a[E]||null}),c=r.computed(()=>{const E=i.field.component?.toLowerCase()||"";return E.includes("image")||E.includes("upload")}),d=r.computed(()=>{const E=i.field.component?.toLowerCase()||"";return E.includes("switch")||E.includes("checkbox")}),f=r.computed(()=>{const E=i.field.props||i.field.propsFieldCustom||i.field.propsFieldGlobal||{},k=i.dynamicLabels?.labelID||E.labelID,T=i.dynamicLabels?.labelEN||E.labelEN,R=i.dynamicLabels?.labelKR||E.labelKR;return n.value==="kr"||n.value==="ko"?R||T||k||i.field.model:n.value==="id"?k||T||i.field.model:T||k||i.field.model}),h=r.computed(()=>{const E=i.modelValue;return E==null||E===""?null:Array.isArray(E)?E.map(k=>typeof k=="object"&&k!==null?k.label||k.name||k.code||k.value||JSON.stringify(k):String(k)).join(", "):typeof E=="object"?E.label||E.name||E.code||E.value||E.id||JSON.stringify(E):String(E)}),p=r.inject("dynamicFormContext",null),g=(E,k)=>{const T={label:"",placeholder:"",title:""},R=k?.labelID||E.labelID,I=k?.labelEN||E.labelEN,P=k?.labelKR||E.labelKR;(R||I||P)&&(T.label=n.value==="kr"||n.value==="ko"?P||I:n.value==="id"?R:I);const S=k?.placeholderID||E.placeholderID,O=k?.placeholderEN||E.placeholderEN,z=k?.placeholderKR||E.placeholderKR;(S||O||z)&&(T.placeholder=n.value==="kr"||n.value==="ko"?z||O:n.value==="id"?S:O);const M=k?.titleID||E.titleID,B=k?.titleEN||E.titleEN,W=k?.titleKR||E.titleKR;return(M||B||W)&&(T.title=n.value==="kr"||n.value==="ko"?W||B:n.value==="id"?M:B),T},y=(E,k)=>{const T={};if(!Array.isArray(E)||E.length===0)return T;const R=I=>{if(typeof I!="string")return;if(I.startsWith("$route.")){if(I.replace("$route.",""),typeof window<"u"){const O=window.location.pathname.match(new RegExp("/([^/]+)$"));return O?O[1]:void 0}return}if(I.startsWith("$query.")){const O=I.replace("$query.","");if(typeof window<"u"){const z=new URLSearchParams(window.location.search);if(z.has(O))return z.get(O)}return}if(I.startsWith("$value(")){const O=I.match(/\$value\(([^)]+)\)/);let z=O?O[1]:I.replace("$value(","").replace(")","");return(z.startsWith("'")&&z.endsWith("'")||z.startsWith('"')&&z.endsWith('"'))&&(z=z.slice(1,-1)),z}const P=I.replace(/^formData\./,"");let S=k?We(k,P):void 0;if(S===void 0&&typeof window<"u"){const O=new URLSearchParams(window.location.search);O.has(P)&&(S=O.get(P))}return S};return E.forEach(I=>{if(typeof I=="string"){const P=R(I);if(P!=null&&P!==""){const S=I.startsWith("$")&&I.split(".").pop()||I;T[S]=P}}else typeof I=="object"&&I!==null&&Object.entries(I).forEach(([P,S])=>{let O=R(S);if((O==null||O==="")&&typeof window<"u"){const z=new URLSearchParams(window.location.search);z.has(P)&&(O=z.get(P))}O!=null&&O!==""&&(T[P]=O)})}),T},v=E=>{const k=E.endpoint||E.endpointComponent||E.endpointReference||{};if(!k.apiUrl&&!k.socket)return{};const T=p?.resolveKeyParams?p.resolveKeyParams(k.keyParam||[],void 0,i.field,i.formData):y(k.keyParam||[],i.formData);let R=k.apiUrl;if(R){const I=typeof p?.resolvedBaseUrl=="object"&&"value"in p.resolvedBaseUrl?p.resolvedBaseUrl.value:p?.resolvedBaseUrl,P=i.baseUrl||I;if(P&&typeof P=="string"&&typeof R=="string"&&!R.startsWith("http")){const S=P.replace(/\/$/,""),O=R.startsWith("/")?R:`/${R}`;R=`${S}${O}`}}return{endpoint:{apiUrl:R,apiMethod:k.apiMethod||"GET",socket:k.socket},...Object.keys(T).length?{apiParams:T}:{}}},w=r.computed(()=>{const E=i.field.props||i.field.propsFieldCustom||i.field.propsFieldGlobal||{},k={},T=g(E,i.dynamicLabels);T.label&&(k.label=T.label,i.field.component==="DCodeButton"&&(k.text=T.label),i.field.component==="DCodeSwitch"&&!T.title&&(k.title=T.label)),T.placeholder&&(k.placeholder=T.placeholder),T.title&&(k.title=T.title),k.required=i.required!==void 0?i.required:E.required??!1,k.readonly=i.readonly!==void 0?i.readonly:E.readonly??!1,k.disabled=i.disabled!==void 0?i.disabled:E.disabled??!1,["disabled","readonly","clearable","icon","iconMapping","returnObject","itemTitle","itemValue","maxValue","minValue","sizeFile","typeFile","treeData","menuList","enableParentControl","showIcons","dataBefore","dataAfter","range","autoRangeDays","disablePast","maxDaysAhead","displayFormat","modelType","placement","prependInner","selectLabel","cancelLabel","tone","skeleton","allowedTypes","maxSizeMb","minSizeMb","bgColor","variant","size","rounded","borderColor","borderStyle","type","valueType","textCase","prefix","suffix","allowChars","allowSpaces","pattern","showCharCount","returnNumber","applyTextCaseToValue","socketEndpoint","socketParams","accordion","renderSubForm","subLayoutCodeKey","layoutMapping","currency","locale","valueFormat","zoom","defaultLat","defaultLng","enableSearch","searchable","enableCurrentLocation","enableManualInput","searchParamName","debounceMs","height","is24","enableSeconds","minutesIncrement","template","isTab","buttons","orientation","gap"].forEach(z=>{E[z]!==void 0&&E[z]!==null&&(k[z]=E[z])}),i.field.component==="DCodeDynamicCollapse"&&(k.formData=i.formData,k.isEditMode=!i.readonly,k.dummyMode=i.dummyMode,k.selectedTokenCore=i.selectedTokenCore||p?.selectedTokenCore),i.skeleton&&(k.skeleton=!0),k.minLength=i.dynamicLength?.minLength??E.minLength,k.maxLength=i.dynamicLength?.maxLength??E.maxLength,E.valueType&&(k.type=E.valueType),i.field.component==="DCodeCurrencyField"&&(k.currency=E.currency||"IDR"),i.error&&(k.error=i.error),Object.assign(k,v(E));const I=E.endpointReference||E.endpointPropAction||E.endpoint||{};if(I.apiUrl){let z=I.apiUrl;if(i.baseUrl&&typeof z=="string"&&!z.startsWith("http")){const M=i.baseUrl.replace(/\/$/,""),B=z.startsWith("/")?z:`/${z}`;z=`${M}${B}`}k.endpointReference={...I,apiUrl:z}}const P=Array.isArray(i.field.logic?.optionsFilterRule)&&i.field.logic.optionsFilterRule.length>0,S=p?.rawItemsCache?.[i.field.key]||[];if(P||i.options&&i.options.length>0||E.items&&E.items.length>0||E.options&&E.options.length>0||S.length>0){k.items=i.options||E.items||E.options||S,k.options=k.items;const z=["DCodeAutoComplete","DCodeInfiniteAutoComplete"].includes(i.field.component);(P||i.field.component!=="DCodeDynamicUploadList"&&!z)&&(delete k.endpoint,delete k.apiParams,delete k.apiUrl)}if(i.baseUrl&&(k.baseUrl=i.baseUrl),i.loading&&(k.loading=!0),i.dummyMode&&(k.dummyMode=i.dummyMode),i.field.component==="DCodePdfViewer"){const z=E.itemValue;if(z&&typeof z=="string"){const M=z.split(".");let B=i.formData,W;for(const J of M)W=B,B=B?.[J];if(B!=null&&(k.itemValue=B,typeof B=="string"&&!B.startsWith("http")&&W)){const J=W.server||W.baseUrl||W.base_url;J&&(k.baseUrl=J)}}}return k}),C=E=>{s.value=E,o("update:modelValue",E)};return(E,k)=>e.field.isHidden?(r.openBlock(),r.createElementBlock("div",Lge,[r.createElementVNode("input",{type:"hidden",value:s.value,name:e.field.model},null,8,Fge)])):e.viewOnly?(r.openBlock(),r.createElementBlock("div",$ge,[r.createElementVNode("span",zge,r.toDisplayString(f.value),1),c.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[h.value?(r.openBlock(),r.createElementBlock("img",{key:0,src:h.value,class:"h-16 w-16 rounded-md object-cover border border-neutral-200",alt:""},null,8,jge)):(r.openBlock(),r.createElementBlock("span",Uge,"-"))],64)):d.value?(r.openBlock(),r.createElementBlock("span",{key:1,class:r.normalizeClass(["inline-flex items-center gap-1 text-sm font-medium",h.value?"text-green-600 dark:text-green-400":"text-neutral-400"])},r.toDisplayString(h.value?"✓ Ya":"✗ Tidak"),3)):(r.openBlock(),r.createElementBlock("span",Wge,r.toDisplayString(h.value||"-"),1))])):l.value?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(l.value),r.mergeProps({key:2},w.value,{"model-value":s.value,"onUpdate:modelValue":C}),null,16,["model-value"])):(r.openBlock(),r.createElementBlock("div",Hge," Unknown field: "+r.toDisplayString(e.field.component),1))}}),qge={class:"flex items-center gap-2"},Kge=r.defineComponent({__name:"DynamicFormSection",props:{section:{},sIdx:{},dummyMode:{type:Boolean}},setup(e){const t=r.inject("dynamicFormContext",{}),n=r.computed(()=>{const se=e.section?.propsForm?.actionSection?.some(X=>o?.(X)),Q=e.sIdx===0;return se||Q}),{resolveSectionLabels:i,isActionVisible:o,handleGlobalButtonClick:s,locale:a,t:l,handleCancel:c,sortedFields:d,isFieldVisible:f,isFieldHidden:h,getDeepValue:p,formData:g,sectionLoading:y,fieldLoading:v,getSectionKey:w,isFieldRequired:C,isFieldDisabled:E,isFieldReadonly:k,getFilteredItems:T,errors:R,resolveFieldLabels:I,resolveFieldLength:P,resolvedBaseUrl:S,handleFieldUpdate:O,resolveSectionGridClass:z,resolveFieldColumnClass:M,touched:B,isSubmitted:W}=t,J=(se,Q)=>{O(se,Q)},re=se=>typeof d!="function"?[]:d(se||[]);return(se,Q)=>(r.openBlock(),r.createBlock(xr,{title:r.unref(i)(e.section)?.title,border:!0,padding:"",class:"overflow-hidden"},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",{class:r.normalizeClass(["p-4 grid gap-4",r.unref(z)(e.section?.propsForm?.layoutColumns||e.section?.layoutColumns)])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(re(e.section?.propsForm?.fields||e.section?.fields),X=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:X?.key},[r.unref(f)(X,void 0,X.model)?r.withDirectives((r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(M)(X,e.section?.propsForm?.layoutColumns||e.section?.layoutColumns))},[r.createVNode(kh,{field:X,"model-value":r.unref(p)(r.unref(g),X.model)??r.unref(g)[X.model],"form-data":r.unref(g),required:r.unref(C)?.(X,void 0,X.model),disabled:r.unref(E)?.(X,void 0,X.model),readonly:r.unref(k)?.(X,void 0,X.model),options:r.unref(T)?.(X,void 0,X.model),error:r.unref(B)[X.model]||r.unref(W)?r.unref(R)[X.model]||r.unref(p)(r.unref(R),X.model):null,"dynamic-labels":r.unref(I)?.(X,void 0,X.model),"dynamic-length":r.unref(P)?.(X,void 0,X.model),"base-url":r.unref(S),skeleton:r.unref(y)[r.unref(w)(e.section)],loading:r.unref(v)[X.model]||r.unref(p)(r.unref(v),X.model),"dummy-mode":e.dummyMode,"onUpdate:modelValue":Z=>J(X.model,Z)},null,8,["field","model-value","form-data","required","disabled","readonly","options","error","dynamic-labels","dynamic-length","base-url","skeleton","loading","dummy-mode","onUpdate:modelValue"])],2)),[[r.vShow,!r.unref(h)(X,void 0,X.model)]]):r.createCommentVNode("",!0)],64))),128))],2)]),_:2},[n.value?{name:"actions",fn:r.withCtx(()=>[r.createElementVNode("div",qge,[e.section?.propsForm?.actionSection?.length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.section.propsForm.actionSection,(X,Z)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:Z},[r.unref(o)?.(X)&&(X.type==="BUTTONGROUP"||X.propsActionGlobal?.type==="BUTTONGROUP"||X.buttons&&X.buttons.length||X.propsActionGlobal?.buttons&&X.propsActionGlobal.buttons.length)?(r.openBlock(),r.createBlock(da,{key:0,icon:X.icon||X.propsActionGlobal?.icon,"label-k-r":X.labelKR||X.propsActionGlobal?.labelKR,"label-e-n":X.labelEN||X.propsActionGlobal?.labelEN,"label-i-d":X.labelID||X.propsActionGlobal?.labelID,"bg-color":(X.bgColor||X.propsActionGlobal?.bgColor)?.toLowerCase()||"primary",variant:(X.variant||X.propsActionGlobal?.variant)?.toLowerCase()||"default","border-style":(X.borderStyle||X.propsActionGlobal?.borderStyle)?.toLowerCase(),"border-color":(X.borderColor||X.propsActionGlobal?.borderColor)?.toLowerCase(),rounded:(X.rounded||X.propsActionGlobal?.rounded)?.toLowerCase(),buttons:X.buttons||X.propsCustom||X.propsActionGlobal?.buttons||[],size:"sm",onAction:Q[0]||(Q[0]=Y=>r.unref(s)?.(Y)),onButtonClick:Q[1]||(Q[1]=Y=>r.unref(s)?.(Y))},null,8,["icon","label-k-r","label-e-n","label-i-d","bg-color","variant","border-style","border-color","rounded","buttons"])):r.unref(o)?.(X)?(r.openBlock(),r.createBlock(Tt,{key:1,icon:X.icon||X.propsActionGlobal?.icon,text:r.unref(a)==="kr"||r.unref(a)==="ko"?X.labelKR||X.propsActionGlobal?.labelKR||X.labelEN||X.propsActionGlobal?.labelEN:r.unref(a)==="id"?X.labelID||X.propsActionGlobal?.labelID:X.labelEN||X.propsActionGlobal?.labelEN,"bg-color":(X.bgColor||X.propsActionGlobal?.bgColor)?.toLowerCase()||"primary",variant:(X.variant||X.propsActionGlobal?.variant)?.toLowerCase()||"default","border-style":(X.borderStyle||X.propsActionGlobal?.borderStyle)?.toLowerCase(),"border-color":(X.borderColor||X.propsActionGlobal?.borderColor)?.toLowerCase(),rounded:(X.rounded||X.propsActionGlobal?.rounded)?.toLowerCase(),size:"sm",onClick:Y=>r.unref(s)?.(X)},null,8,["icon","text","bg-color","variant","border-style","border-color","rounded","onClick"])):r.createCommentVNode("",!0)],64))),128)):r.createCommentVNode("",!0),e.sIdx===0?(r.openBlock(),r.createBlock(Tt,{key:1,size:"sm",icon:"List",text:r.unref(l)?.("common.back"),variant:"outline",onClick:Q[2]||(Q[2]=X=>r.unref(c)?.())},null,8,["text"])):r.createCommentVNode("",!0)])]),key:"0"}:void 0]),1032,["title"]))}}),Gge={key:0,class:"fixed inset-0 z-[100] flex justify-end"},Yge={key:0,class:"relative w-full max-w-sm h-full bg-white dark:bg-slate-900 shadow-2xl flex flex-col border-l border-gray-200 dark:border-gray-800"},Zge={class:"px-6 py-4 border-b border-gray-100 dark:border-gray-800 flex items-center justify-between"},Xge={class:"text-lg font-semibold text-gray-900 dark:text-gray-100"},Jge={key:0,class:"text-sm text-gray-500 dark:text-gray-400 mt-1"},Qge={class:"flex-1 overflow-y-auto p-6 scrollbar-thin scrollbar-thumb-gray-200 dark:scrollbar-thumb-gray-800"},Vge=r.defineComponent({__name:"DataFilterSheet",props:{title:{default:void 0},description:{default:void 0}},setup(e,{expose:t}){const n=r.ref(!1),i=()=>{n.value=!0,document.body.style.overflow="hidden"},o=()=>{n.value=!1,document.body.style.overflow=""};return t({open:i,close:o}),(s,a)=>(r.openBlock(),r.createElementBlock("div",null,[r.createElementVNode("div",{onClick:i},[r.renderSlot(s.$slots,"trigger",{},()=>[r.createVNode(Tt,{variant:"outline",class:"gap-2",icon:"Search",text:"Pencarian"})])]),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[n.value?(r.openBlock(),r.createElementBlock("div",Gge,[r.createVNode(r.Transition,{appear:"","enter-active-class":"transition-opacity duration-300 ease-out","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:r.withCtx(()=>[n.value?(r.openBlock(),r.createElementBlock("div",{key:0,class:"fixed inset-0 bg-black/40 backdrop-blur-sm",onClick:o})):r.createCommentVNode("",!0)]),_:1}),r.createVNode(r.Transition,{appear:"","enter-active-class":"transition-transform duration-300 ease-out","enter-from-class":"translate-x-full","enter-to-class":"translate-x-0","leave-active-class":"transition-transform duration-200 ease-in","leave-from-class":"translate-x-0","leave-to-class":"translate-x-full"},{default:r.withCtx(()=>[n.value?(r.openBlock(),r.createElementBlock("div",Yge,[r.createElementVNode("div",Zge,[r.createElementVNode("div",null,[r.createElementVNode("h3",Xge,r.toDisplayString(e.title),1),e.description?(r.openBlock(),r.createElementBlock("p",Jge,r.toDisplayString(e.description),1)):r.createCommentVNode("",!0)]),r.createVNode(Tt,{variant:"ghost",size:"icon",onClick:o,icon:"X",class:"text-gray-400 hover:text-gray-600"})]),r.createElementVNode("div",Qge,[r.renderSlot(s.$slots,"default")])])):r.createCommentVNode("",!0)]),_:3})])):r.createCommentVNode("",!0)]))]))}}),e0e={key:0},t0e=["value","name"],n0e=r.defineComponent({__name:"DynamicFilterField",props:{field:{},modelValue:{},disabled:{type:Boolean},required:{type:Boolean},readonly:{type:Boolean},options:{},dynamicLabels:{},dynamicLength:{},baseUrl:{}},emits:["update:modelValue"],setup(e,{emit:t}){const{locale:n}=Mn.useI18n(),i=e,o=t,s=r.ref(i.modelValue);r.watch(()=>i.modelValue,f=>{s.value=f});const a={DCodeTextField:Lc,DCodeAutoComplete:Lu,DCodeInfiniteAutoComplete:Mm,DCodeDatePicker:Lp,DCodeTimePicker:Fp,DCodeDateTimePicker:$p,DCodeTextarea:nd,DCodeTextArea:nd,DCodeCheckbox:Cl,DCodeSwitch:ig,DCodeOtpInput:ng,DCodeImageField:tg,DCodeSlider:p0,DCodeRobotList:A0,DCodeRadio:g0,DCodeRadioCustom:b0,DCodeButton:Tt,DCodeChart:Sp,DCodeMultiSelect:y0,DCodeCurrencyField:Tp,DCodeBeforeAfter:Ym,DCodeListLabels:Zm,DCodeSegment:og,DCodeMapField:rg,DCodeTextEditor:m0,DCodeDynamicUploadList:jp,DCodeDynamicCollapse:B0,DCodePercentField:Pp,DCodePermissionMenu:v0,DCodeTreePermissions:w0,DCodeCardCheckboxList:Ap,DCodeStaticLabel:_0,DCodeStaticImage:k0,DCodeFileField:x0,DCodeWorkflowDiagram:C0,DCodeTimelineWithIcons:E0,DCodePdfViewer:S0},l=r.computed(()=>{const f=i.field.component;return a[f]||null}),c=r.computed(()=>{const f=i.field.props,h={},p=v=>{if(!v||!v.apiUrl||v.apiUrl.startsWith("http")||!i.baseUrl)return v;const w=i.baseUrl.replace(/\/$/,""),C=v.apiUrl.startsWith("/")?v.apiUrl:`/${v.apiUrl}`;return{...v,apiUrl:`${w}${C}`}};(f.labelID||f.labelEN||f.labelKR)&&(h.label=n.value==="kr"||n.value==="ko"?f.labelKR||f.labelEN:n.value==="id"?f.labelID:f.labelEN,i.field.component==="DCodeSwitch"&&(h.title=h.label)),(f.placeholderID||f.placeholderEN||f.placeholderKR)&&(h.placeholder=n.value==="kr"||n.value==="ko"?f.placeholderKR||f.placeholderEN:n.value==="id"?f.placeholderID:f.placeholderEN),(i.required!==void 0||f.required!==void 0)&&(h.required=i.required!==void 0?i.required:f.required),(i.disabled!==void 0||f.disabled!==void 0)&&(h.disabled=i.disabled!==void 0?i.disabled:f.disabled),(i.readonly!==void 0||f.readonly!==void 0)&&(h.readonly=i.readonly!==void 0?i.readonly:f.readonly),f.valueType&&(h.type=f.valueType),(i.dynamicLength?.minLength!==void 0||f.minLength!==void 0)&&(h.minLength=i.dynamicLength?.minLength??f.minLength),(i.dynamicLength?.maxLength!==void 0||f.maxLength!==void 0)&&(h.maxLength=i.dynamicLength?.maxLength??f.maxLength),f.min!==void 0&&(h.min=f.min),f.max!==void 0&&(h.max=f.max);const g=Array.isArray(i.field.logic?.optionsFilterRule)&&i.field.logic.optionsFilterRule.length>0;g?(h.options=i.options||[],h.items=h.options):((i.options||f.options)&&(h.options=i.options||f.options,h.items=h.options),f.endpoint&&(h.endpoint=p(f.endpoint))),f.endpointReference&&(h.endpointReference=p(f.endpointReference)),f.endpointPropAction&&(h.endpointPropAction=p(f.endpointPropAction)),f.itemTitle&&(h.itemTitle=f.itemTitle),f.itemValue&&(h.itemValue=f.itemValue),f.returnObject!==void 0&&(h.returnObject=f.returnObject),f.clearable!==void 0&&(h.clearable=f.clearable);const y=["labelID","labelEN","labelKR","placeholderID","placeholderEN","placeholderKR"];return g&&y.push("endpoint"),Object.keys(f).forEach(v=>{!y.includes(v)&&!h.hasOwnProperty(v)&&(h[v]=f[v])}),i.dynamicLabels&&((i.dynamicLabels.labelID||i.dynamicLabels.labelEN||i.dynamicLabels.labelKR)&&(h.label=n.value==="kr"||n.value==="ko"?i.dynamicLabels.labelKR||i.dynamicLabels.labelEN:n.value==="id"?i.dynamicLabels.labelID:i.dynamicLabels.labelEN,i.field.component==="DCodeSwitch"&&(h.title=h.label)),(i.dynamicLabels.placeholderID||i.dynamicLabels.placeholderEN||i.dynamicLabels.placeholderKR)&&(h.placeholder=n.value==="kr"||n.value==="ko"?i.dynamicLabels.placeholderKR||i.dynamicLabels.placeholderEN:n.value==="id"?i.dynamicLabels.placeholderID:i.dynamicLabels.placeholderEN)),h}),d=f=>{s.value=f,o("update:modelValue",f)};return(f,h)=>e.field.isHidden?(r.openBlock(),r.createElementBlock("div",e0e,[r.createElementVNode("input",{type:"hidden",value:s.value,name:e.field.model},null,8,t0e)])):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(l.value),r.mergeProps({key:1},c.value,{modelValue:s.value,"onUpdate:modelValue":[h[0]||(h[0]=p=>s.value=p),d]}),null,16,["modelValue"]))}}),i0e=r.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=t,o=pi.useVModel(n,"modelValue",i,{passive:!0,defaultValue:n.defaultValue});return(s,a)=>r.withDirectives((r.openBlock(),r.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=l=>r.isRef(o)?o.value=l:null),class:r.normalizeClass(r.unref(sn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",n.class))},null,2)),[[r.vModelText,r.unref(o)]])}}),o0e=r.defineComponent({__name:"Pagination",props:{page:{},defaultPage:{},itemsPerPage:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:page"],setup(e,{emit:t}){const n=e,i=t,o=pi.reactiveOmit(n,"class"),s=Et.useForwardPropsEmits(o,i);return(a,l)=>(r.openBlock(),r.createBlock(r.unref(Et.PaginationRoot),r.mergeProps({"data-slot":"pagination"},r.unref(s),{class:n.class}),{default:r.withCtx(c=>[r.renderSlot(a.$slots,"default",r.normalizeProps(r.guardReactiveProps(c)))]),_:3},16,["class"]))}}),r0e=r.defineComponent({__name:"PaginationContent",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class");return(i,o)=>(r.openBlock(),r.createBlock(r.unref(Et.PaginationList),r.mergeProps({"data-slot":"pagination-content"},r.unref(n),{class:r.unref(sn)("flex flex-row items-center gap-1",t.class)}),{default:r.withCtx(s=>[r.renderSlot(i.$slots,"default",r.normalizeProps(r.guardReactiveProps(s)))]),_:3},16,["class"]))}}),s0e=r.defineComponent({__name:"PaginationEllipsis",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class");return(i,o)=>(r.openBlock(),r.createBlock(r.unref(Et.PaginationEllipsis),r.mergeProps({"data-slot":"pagination-ellipsis"},r.unref(n),{class:r.unref(sn)("flex size-9 items-center justify-center",t.class)}),{default:r.withCtx(()=>[r.renderSlot(i.$slots,"default",{},()=>[r.createVNode(r.unref(Ee.MoreHorizontal),{class:"size-4"}),o[0]||(o[0]=r.createElementVNode("span",{class:"sr-only"},"More pages",-1))])]),_:3},16,["class"]))}}),a0e=r.defineComponent({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:["update:modelValue","update:open"],setup(e,{emit:t}){const n=e,i=t,o=Et.useForwardPropsEmits(n,i);return(s,a)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectRoot),r.normalizeProps(r.guardReactiveProps(r.unref(o))),{default:r.withCtx(()=>[r.renderSlot(s.$slots,"default")]),_:3},16))}}),l0e=r.defineComponent({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},memoDependencies:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,i=t,o=pi.reactiveOmit(n,"class"),s=Et.useForwardPropsEmits(o,i);return(a,l)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectPortal),null,{default:r.withCtx(()=>[r.createVNode(r.unref(Et.SelectContent),r.mergeProps({...r.unref(s),...a.$attrs},{class:r.unref(sn)("relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e.position==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",n.class)}),{default:r.withCtx(()=>[r.createVNode(r.unref(f0e)),r.createVNode(r.unref(Et.SelectViewport),{class:r.normalizeClass(r.unref(sn)("p-1",e.position==="popper"&&"h-[--reka-select-trigger-height] w-full min-w-[--reka-select-trigger-width]"))},{default:r.withCtx(()=>[r.renderSlot(a.$slots,"default")]),_:3},8,["class"]),r.createVNode(r.unref(u0e))]),_:3},16,["class"])]),_:3}))}}),c0e={class:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center"},d0e=r.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class"),i=Et.useForwardProps(n);return(o,s)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectItem),r.mergeProps(r.unref(i),{class:r.unref(sn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t.class)}),{default:r.withCtx(()=>[r.createElementVNode("span",c0e,[r.createVNode(r.unref(Et.SelectItemIndicator),null,{default:r.withCtx(()=>[r.createVNode(r.unref(Ee.Check),{class:"h-4 w-4"})]),_:1})]),r.createVNode(r.unref(Et.SelectItemText),null,{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),u0e=r.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class"),i=Et.useForwardProps(n);return(o,s)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectScrollDownButton),r.mergeProps(r.unref(i),{class:r.unref(sn)("flex cursor-default items-center justify-center py-1",t.class)}),{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default",{},()=>[r.createVNode(r.unref(Ee.ChevronDown))])]),_:3},16,["class"]))}}),f0e=r.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class"),i=Et.useForwardProps(n);return(o,s)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectScrollUpButton),r.mergeProps(r.unref(i),{class:r.unref(sn)("flex cursor-default items-center justify-center py-1",t.class)}),{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default",{},()=>[r.createVNode(r.unref(Ee.ChevronUp))])]),_:3},16,["class"]))}}),h0e=r.defineComponent({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class"),i=Et.useForwardProps(n);return(o,s)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectTrigger),r.mergeProps(r.unref(i),{class:r.unref(sn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:truncate text-start",t.class)}),{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default"),r.createVNode(r.unref(Et.SelectIcon),{"as-child":""},{default:r.withCtx(()=>[r.createVNode(r.unref(Ee.ChevronDown),{class:"w-4 h-4 opacity-50 shrink-0"})]),_:1})]),_:3},16,["class"]))}}),m0e=r.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,i)=>(r.openBlock(),r.createBlock(r.unref(Et.SelectValue),r.normalizeProps(r.guardReactiveProps(t)),{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3},16))}}),p0e={class:"px-4 py-3 bg-zinc-50/50 dark:bg-zinc-800/30 border-t border-neutral-200 dark:border-neutral-700 flex flex-col sm:flex-row items-center justify-between gap-4 w-full"},g0e={class:"flex items-center gap-4"},b0e={key:1,class:"text-xs text-neutral-500 dark:text-neutral-400 font-medium"},y0e={class:"text-neutral-900 dark:text-neutral-100 font-medium"},v0e={class:"text-neutral-900 dark:text-neutral-100 font-medium"},w0e={class:"text-neutral-900 dark:text-neutral-100 font-medium"},_0e={class:"flex-shrink-0"},H_=r.defineComponent({name:"DCodePagination",__name:"DCodePagination",props:{totalItems:{},currentPage:{},perPage:{},perPageOptions:{default:()=>[10,25,50,100]},showPerPage:{type:Boolean,default:!0},showInfo:{type:Boolean,default:!0},showEdges:{type:Boolean,default:!0},loading:{type:Boolean,default:!1}},emits:["update:page","update:perPage"],setup(e,{emit:t}){const n=e,i=t,{t:o}=Mn.useI18n(),s=r.computed(()=>Math.max(1,Math.ceil(n.totalItems/n.perPage))),a=r.computed(()=>n.totalItems===0?0:(n.currentPage-1)*n.perPage+1),l=r.computed(()=>{const f=n.currentPage*n.perPage;return Math.min(f,n.totalItems)}),c=f=>{f<1||f>s.value||f===n.currentPage||i("update:page",f)},d=f=>{i("update:perPage",f)};return(f,h)=>(r.openBlock(),r.createElementBlock("div",p0e,[r.createElementVNode("div",g0e,[e.showPerPage?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(r.unref(a0e),{"model-value":String(e.perPage),"onUpdate:modelValue":h[0]||(h[0]=p=>d(Number(p))),disabled:e.loading},{default:r.withCtx(()=>[r.createVNode(r.unref(h0e),{class:"h-8 w-[70px] bg-white dark:bg-zinc-800 border-neutral-200 dark:border-neutral-700"},{default:r.withCtx(()=>[r.createVNode(r.unref(m0e),{placeholder:String(e.perPage)},null,8,["placeholder"])]),_:1}),r.createVNode(r.unref(l0e),null,{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.perPageOptions,p=>(r.openBlock(),r.createBlock(r.unref(d0e),{key:p,value:String(p)},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(p),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["model-value","disabled"]),h[5]||(h[5]=r.createElementVNode("div",{class:"h-5 w-px bg-zinc-300 dark:bg-zinc-600"},null,-1))],64)):r.createCommentVNode("",!0),e.showInfo?(r.openBlock(),r.createElementBlock("span",b0e,[r.createTextVNode(r.toDisplayString(r.unref(o)("dataTable.showing"))+" ",1),r.createElementVNode("span",y0e,r.toDisplayString(a.value),1),r.createTextVNode(" "+r.toDisplayString(r.unref(o)("dataTable.to"))+" ",1),r.createElementVNode("span",v0e,r.toDisplayString(l.value),1),r.createTextVNode(" "+r.toDisplayString(r.unref(o)("dataTable.of"))+" ",1),r.createElementVNode("span",w0e,r.toDisplayString(e.totalItems),1),r.createTextVNode(" "+r.toDisplayString(r.unref(o)("dataTable.data")),1)])):r.createCommentVNode("",!0)]),r.createElementVNode("div",_0e,[r.createVNode(r.unref(o0e),{total:e.totalItems,"items-per-page":e.perPage,"sibling-count":1,"show-edges":e.showEdges,page:e.currentPage,"onUpdate:page":c,disabled:e.loading},{default:r.withCtx(()=>[r.createVNode(r.unref(r0e),{class:"flex items-center gap-1"},{default:r.withCtx(({items:p})=>[r.createVNode(Tt,{size:"icon",icon:"ChevronsLeft",variant:"outline",disabled:e.currentPage===1||e.loading,class:"w-8 h-8 p-0",onClick:h[1]||(h[1]=g=>c(1))},null,8,["disabled"]),r.createVNode(Tt,{size:"icon",icon:"ChevronLeft",variant:"outline",disabled:e.currentPage===1||e.loading,class:"w-8 h-8 p-0",onClick:h[2]||(h[2]=g=>c(e.currentPage-1))},null,8,["disabled"]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(p,(g,y)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[g.type==="page"?(r.openBlock(),r.createBlock(Tt,{key:y,text:String(g.value),size:"icon",variant:g.value===e.currentPage?"default":"outline",disabled:g.value===e.currentPage||e.loading,"aria-current":g.value===e.currentPage?"page":void 0,class:"w-8 h-8 p-0 text-sm",onClick:v=>c(g.value)},null,8,["text","variant","disabled","aria-current","onClick"])):(r.openBlock(),r.createBlock(r.unref(s0e),{key:g.type,index:y},null,8,["index"]))],64))),256)),r.createVNode(Tt,{size:"icon",icon:"ChevronRight",variant:"outline",disabled:e.currentPage>=s.value||e.loading,class:"w-8 h-8 p-0",onClick:h[3]||(h[3]=g=>c(e.currentPage+1))},null,8,["disabled"]),r.createVNode(Tt,{size:"icon",icon:"ChevronsRight",variant:"outline",disabled:e.currentPage>=s.value||e.loading,class:"w-8 h-8 p-0",onClick:h[4]||(h[4]=g=>c(s.value))},null,8,["disabled"])]),_:1})]),_:1},8,["total","items-per-page","show-edges","page","disabled"])])]))}}),k0e={v:"4.8.0",meta:{g:"LottieFiles AE ",a:"",k:"",d:"",tc:""},fr:25,ip:0,op:273,w:500,h:500,nm:"not_found",ddd:0,assets:JSON.parse('[{"id":"image_0","w":175,"h":173,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_1","w":85,"h":85,"u":"","p":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABVCAYAAAA49ahaAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAEE0lEQVR4nO2d/XXaMBTF72OB0AnqThA6Qd0JygalEzQj0A3aCUo3gAnqbEAmKNmATHD7hyTqEuMvycgW73cOJzYY83zzJMuS3pNgJJDMAWT2tQAwb/jKEcDe/RWRYjjruiGxfpjkEkBuX/eBTvsEI/QWQCEix0DnHS8klyS3JI+8DluSK5JNXj8tSGYk11cUsoojyQ3JLLYeXlgxNxGFvMT0xCU5p/HMsbPhFKoFmjozZjHvypHkQ2zdKqHxzm1kgXwoGLBK8G5S0bQvtwDuvK2JywuABxHZ+J5o5vNlmqLzG9MXFDDX8JPkd98T9fZUkhsAn30NGCk7AKu+Dw+9RE1cUMcTgLyPsJ1FJblHuMfKsdNL2E51qvXQWxEUMNdasGN7trWoN1Lkq7iHad20ppWo9i5/i4I6PlinakVjnWrbob89DEqJL23asbWi2rrkgDTaoSF4gblx7esOair+G6igZe5gNKnloqg0PfOfAhqUCvck13UHVBZ/LfaNvABYiMih6sNLnvoAFbSOOwAX+wheeartAvszoEEp8bFqFLfKU9eDm5IO66o3//NU9dJevPLWc09dXc2UdFidv3HuqUfoDaoPb8o9WSdPte1SFbQfq/LO7NIHSidW5Z1T8dei78079zAwA7ToB2LpNlzxz+PYkRS521BRw5G7DQEAkoxmSlq8F5H9zPbsK2HIAFP8s6hmpMUCUFFDcxJ1EdmQlJgDRtTxT3ydDhngOetPecVbQEUdBC3+A6CiDsAMZihaCYjWqQOgooblGTCiph8Uez0OgBG1dgab0okjoJ4amj2gnhqaA6Cd1KExndR25ymqKYngZlg7UbUK8OfRbThRO4W0KJWcNHSiFnHsSIrCbcwAwE6u2sWyJgGeyxEr5cdUrQL6synvlOdSafBEf96VgypOnmqrAPXW7uzOo1R0ero/9dPTreK/rmjQ1Hmsik7RkB8/2oX8qLe2ptJLAQ2j9OH9pWjqyuEU2xJYD2nRxPlRF57eFO9fAPgQ2qKJ8wwT7Huxc79p4G8FEzGs/KMxX1WtqPamNc4Eg3H41iZNc6u8VDZV21dfiybOTkSWzYd1SPZFcovbzVTRKelXF1HnMH2Gt5TsC+iRRa1TWrobFLZVdp9zOk37sf+tHLcxUOg8tPP4Xd+slHOYbsJU27C9M1ICPSeoichRRHKk2Uewg4eggOesPxFZAfiCdB4QvonIchQrWZBckNwPlYX7Chw41shHxl95og/fOfZ8/zQrUUwhPX1BclqBeSRza/jYKDjWot4WGnHHsIbKllMX8xyaVSseeN0b2oGmns+uea1RFvmyF1le5CvksM0j/i3yFWU2Y7SV08rQ3DAymIhutxRdBhvrWcEzzBiaW5LuALMknU4JTZW/U1qiUwiP8oYAAAAASUVORK5CYII=","e":1},{"id":"image_2","w":186,"h":242,"u":"","p":"data:image/png;base64,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","e":1},{"id":"image_3","w":216,"h":260,"u":"","p":"data:image/png;base64,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","e":1},{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"magnify","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":42,"s":[75]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[8]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":121,"s":[32]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":134,"s":[32]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":164,"s":[53]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":183,"s":[53]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":219,"s":[53]},{"t":272,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[333.752,339.42,0],"to":[-26,-25,0],"ti":[-4.333,25,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":42,"s":[177.752,189.42,0],"to":[4.333,-25,0],"ti":[-25.667,-23.333,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":90,"s":[359.752,189.42,0],"to":[25.667,23.333,0],"ti":[4.667,-23.333,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":121,"s":[331.752,329.42,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":134,"s":[331.752,329.42,0],"to":[-28.333,4.667,0],"ti":[28.333,-4.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":164,"s":[161.752,357.42,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":183,"s":[161.752,357.42,0],"to":[0,-24.333,0],"ti":[-28.667,3,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":219,"s":[161.752,211.42,0],"to":[28.667,-3,0],"ti":[-28.667,-21.333,0]},{"t":272,"s":[333.752,339.42,0]}],"ix":2},"a":{"a":0,"k":[87.194,86.29,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"glass 2","parent":1,"refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":20,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[68.687,68.686,0],"ix":2},"a":{"a":0,"k":[42.065,42.066,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"glass","parent":1,"td":1,"refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[68.687,68.686,0],"ix":2},"a":{"a":0,"k":[42.065,42.066,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"paper","tt":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[125,125,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"paper","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2},"a":{"a":0,"k":[250,250,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":500,"h":500,"ip":0,"op":750,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":2,"nm":"paper_1","refId":"image_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[263.625,231.897,0],"ix":2},"a":{"a":0,"k":[92.771,120.853,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"paper_2","refId":"image_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214.478,258.49,0],"ix":2},"a":{"a":0,"k":[107.933,130,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":750,"st":0,"bm":0}]}]'),layers:[{ddd:0,ind:1,ty:0,nm:"not_found 2",refId:"comp_0",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:0,k:0,ix:10},p:{a:0,k:[250,250,0],ix:2},a:{a:0,k:[250,250,0],ix:1},s:{a:0,k:[100,100,100],ix:6}},ao:0,w:500,h:500,ip:0,op:273,st:0,bm:0}],markers:[]},x0e={class:"dcode-card animate-slide-up"},C0e={key:0,class:"p-4 bg-primary-700 dark:bg-primary-900 border-b border-primary-500/30 dark:border-primary-900/50 rounded-t-xl relative z-30"},E0e={key:0,class:"mb-3 flex items-center gap-2"},S0e={class:"font-bold text-sm text-white dark:text-neutral-100 uppercase tracking-wider"},A0e={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between items-start gap-4"},T0e={key:0,class:"flex flex-col sm:flex-row items-start sm:items-center gap-2 flex-1 xl:max-w-[15vw] md:max-w-[20vw] max-w-[30vw]"},P0e={class:"relative w-full sm:w-64"},B0e={key:0,class:"relative"},D0e={class:"flex flex-col h-full"},N0e={key:0,class:"flex-1 overflow-y-auto py-4"},M0e={class:"grid grid-cols-1 gap-4 px-1"},I0e={key:0,class:"sticky bottom-0 left-0 right-0 bg-transparent border-t border-neutral-200 dark:border-neutral-700 pt-4"},R0e={class:"grid grid-cols-2 gap-3 w-full"},O0e={class:"overflow-auto custom-scrollbar relative max-h-[calc(100vh-17rem)]"},L0e={key:0,class:"absolute top-0 left-0 right-0 z-[30] h-0.5 overflow-hidden bg-zinc-100 dark:bg-zinc-800"},F0e={class:"dcode-table w-full"},$0e={class:"bg-primary-700 dark:bg-primary-900 sticky top-0 z-20 shadow-sm"},z0e=["onClick"],j0e={key:0,class:"flex items-center justify-center w-full"},U0e=["checked","indeterminate"],W0e={key:0,class:"px-3 py-2 text-xs font-medium text-white dark:text-neutral-100 uppercase tracking-wider"},H0e={class:"flex items-center justify-center w-full"},q0e={class:"bg-white dark:bg-zinc-900 divide-y divide-neutral-200 dark:divide-neutral-700"},K0e={key:0,class:"px-3 py-3"},G0e={key:1},Y0e=["colspan"],Z0e={class:"flex flex-col items-center gap-2"},X0e={class:"text-base font-medium text-neutral-700 dark:text-neutral-300"},J0e={class:"text-sm text-neutral-500 dark:text-neutral-400 mt-1"},Q0e={key:0,class:"flex items-center justify-center w-full"},V0e=["checked","onChange"],ebe=["href","target"],tbe={key:0,class:"text-[10px]"},nbe={key:0,class:"px-3 py-0.5 !text-center"},ibe={key:0,class:"flex items-center justify-center gap-1.5"},obe={key:0,class:"bg-zinc-50/50 dark:bg-zinc-800/30"},rbe=["colspan"],sbe={class:"space-y-4"},abe={class:"text-gray-600 dark:text-gray-400"},lbe={key:0,class:"absolute inset-0 z-10 bg-white/50 dark:bg-neutral-900/50 flex items-center justify-center backdrop-blur-[1px]"},cbe={class:"flex flex-col items-center gap-2"},dbe={class:"text-xs font-medium text-neutral-500"},ube={class:"flex items-end gap-2"},xh=r.defineComponent({name:"DataTable",__name:"DataTable",props:{columns:{default:()=>[]},data:{default:()=>[]},perPage:{default:10},page:{},startIndex:{},endIndex:{},remotePagination:{type:Boolean},totalItems:{},loading:{type:Boolean,default:!1},hasActions:{type:Boolean,default:!1},nested:{type:Boolean,default:!1},apiModule:{},apiAction:{default:"list"},apiMethod:{},apiUrl:{},permissionBase:{},apiParams:{default:()=>({})},socketEndpoint:{},socketRequest:{},socketParams:{default:()=>({})},configKey:{},tableConfig:{},dynamicColumns:{type:Boolean,default:!1},searchApiEndpoint:{},enableQuickSearch:{type:Boolean,default:!0},showPagination:{type:Boolean,default:!0},ignorePermissions:{type:Boolean,default:!1},userPermissions:{default:null},permissionChecker:{type:Function,default:void 0},permissions:{default:void 0},checkPermission:{type:Function,default:void 0},menuPermissions:{default:()=>[]},dummyMode:{type:Boolean,default:!1},baseUrl:{default:void 0},controlled:{type:Boolean,default:!1},tokenCores:{default:()=>[]},selectedTokenCore:{default:void 0},filters:{},accept:{}},emits:["update:search","update:sort","update:page","update:perPage","update:startIndex","update:endIndex","create","export","action","update:selection","selection-change","navigate","search","reset","refresh","update:filters"],setup(e,{expose:t,emit:n}){const i=e,o=n,s=r.getCurrentInstance(),a=r.inject("externalApi")||{},l=r.inject("dynamicFormContext",null),{apiUrl:c}=a,{locale:d,t:f}=Mn.useI18n(),h=(q,ie)=>f(q,ie),p=r.inject("previewActions",r.ref(!1)),g=r.computed(()=>i.dummyMode||p.value),y=r.computed(()=>d.value==="kr"||d.value==="ko"?"데이터 필터":(d.value==="id","Filter Data")),v=r.computed(()=>d.value==="kr"||d.value==="ko"?"데이터를 필터링할 검색 조건을 입력하세요.":d.value==="id"?"Masukkan parameter pencarian untuk memfilter data.":"Enter search parameters to filter the data."),w=a.socket||a.managedSocket,C=w?.on,E=w?.off,k=w?.send||w?.emit,T=w?.connect||w?.init,R=r.computed(()=>w?typeof w.isConnected=="function"?w.isConnected():typeof w.isConnected=="boolean"?w.isConnected:w.isConnected?.value!==void 0?w.isConnected.value:!0:(l&&(l.tableRowFormData||(l.tableRowFormData=r.reactive({}))),!1)),I=r.inject("hasActionAccess",void 0),P=r.inject("userPermissions",null),S=r.inject("baseUrl",""),O=r.computed(()=>{const q=i.selectedTokenCore||l?.selectedTokenCore;if(typeof q?.address=="string")return q.address;if(typeof i.baseUrl=="string"&&i.baseUrl!=="")return i.baseUrl;const ie=l?.resolvedBaseUrl,te=typeof ie=="object"&&ie!==null&&"value"in ie?ie.value:ie;if(typeof te=="string"&&te!=="")return te;const fe=i.tokenCores&&i.tokenCores.length>0?i.tokenCores:l?.tokenCores||[],de=ae.value?.idTokenCore||i.tableConfig?.idTokenCore;if(de&&Array.isArray(fe)&&fe.length>0){const pe=String(de),me=fe.find(Be=>String(Be.id)===pe);if(me?.address)return me.address}return S||window.CONFIG?.apiUrl||""});let z={query:{},params:{},path:""};try{const q=fs.useRoute();q?z=q:s?.appContext?.config?.globalProperties?.$route&&(z=s.appContext.config.globalProperties.$route)}catch(q){console.warn("useRoute not available, using fallback",q)}let M={back:()=>console.warn("Router back() not available"),push:q=>{console.warn("Router push() logic called from fallback:",q),typeof q=="string"&&q.startsWith("/")&&(globalThis.location.href=q)}};try{const q=fs.useRouter();q?M=q:s?.appContext?.config?.globalProperties?.$router&&(M=s.appContext.config.globalProperties.$router)}catch(q){console.warn("useRouter not available, using fallback",q)}const B=r.ref(""),W=r.ref(i.page||1),J=r.ref(i.perPage),re=r.ref({key:"",direction:"asc"}),se=r.ref([]),Q=!i.controlled&&!i.dummyMode&&!!(i.tableConfig?.endpoint?.apiUrl||i.tableConfig?.endpointSection?.apiUrl||i.tableConfig?.endpointTable?.apiUrl||i.tableConfig?.endpointGlobal?.apiUrl||i.apiUrl||i.apiModule),X=r.ref(Q),Z=r.ref(0),Y=r.ref(null),ue=r.ref(!0),j=r.ref(!0),K=r.ref(!0),U=r.ref([]),ee=r.ref([]),ne=r.ref(!1),$=r.ref(!1),_=r.ref(!1),x=r.ref(!1),D=r.ref(null),N=r.ref(i.filters?{...i.filters}:{});r.watch(()=>i.filters,q=>{q&&(N.value={...q})},{deep:!0}),r.watch(N,q=>{o("update:filters",q)},{deep:!0});const A=r.reactive({});r.watch(N,q=>{q&&(console.log("[DataTable][watch filters] Triggered. newVal:",JSON.stringify(q)),Object.keys(A).forEach(ie=>{ie in q||delete A[ie]}),Object.assign(A,q),console.log("[DataTable][watch filters] After sync. parentFormDataWrapper:",JSON.stringify(A)))},{deep:!0,immediate:!0}),r.provide("parentFormData",A),r.provide("rootFormData",A);const H=r.ref([]),G=r.reactive({}),oe=r.computed(()=>!H.value||H.value.length===0?[]:[...H.value].sort((q,ie)=>(q.seq||0)-(ie.seq||0))),he=q=>{const ie={paths:new Map,models:new Map},te=fe=>{fe.forEach(de=>{if(de.model){const me={field:de,path:de.model};ie.paths.set(de.model,me);const Be=ie.models.get(de.model)||[];Be.push(me),ie.models.set(de.model,Be)}const pe=de.fields||de.props&&de.props.fields;Array.isArray(pe)&&te(pe)})};return te(q),ie},ge=r.computed(()=>he(oe.value)),xe=r.computed(()=>({sections:[{fields:oe.value}]})),ae=r.ref(null),ve=r.ref(null),be=r.ref(null),_e=r.reactive({}),Oe=r.reactive({}),je=r.reactive({});r.watch($,q=>{q||(ae.value=null,ve.value=null)});const Ge=r.computed(()=>{if(!ae.value)return!1;const q=ae.value,ie=q.isViewOnly??q.propsActionGlobal?.isViewOnly??q.propsActionCustom?.isViewOnly;if(ie!=null)return!!ie;const te=(q.permission||"").toUpperCase(),fe=(q.actionType||q.propsActionGlobal?.actionType||q.propsActionCustom?.actionType||"").toUpperCase();if(["EXPORT","SUBMIT","CREATE","UPDATE","EDIT","DELETE","APPROVE","REJECT","PROCESS","EXECUTE"].includes(te)||["EXPORT","SUBMIT","CREATE","UPDATE","EDIT","DELETE","APPROVE","REJECT","PROCESS","EXECUTE"].includes(fe))return!1;const me=(q.key||q.action||"").toLowerCase(),Be=te==="VIEW"||te==="READ"||te==="DETAIL",$e=fe==="READ"||fe==="VIEW"||fe==="DETAIL",Xe=me==="detail"||me==="view"||me==="read"||me==="show"||me.startsWith("view_");let et=Be||$e||Xe;if(!et&&Je.value&&Je.value.length>0){const kt=["DCodePdfViewer","DCodeWorkflowDiagram"];Je.value.every(Ve=>kt.includes(Ve.component))&&(et=!0)}return et});r.watch(_e,q=>{l?.tableRowFormData&&Object.keys(q).forEach(ie=>{l.tableRowFormData[ie]=q[ie]})},{deep:!0,immediate:!0});const Je=r.computed(()=>{if(!ae.value)return[];const q=ae.value;return[...q.fieldActionCustom||[],...q.fieldActionGlobal||[],...q.field||[]].map(te=>{const fe=te.key||te.model,de=te.props||te.propsFieldGlobal||te.propsFieldCustom||{};return{...te,props:{...de,items:je[fe]||de.items||[]}}})}),Te=r.computed(()=>he(Je.value)),Se=r.computed(()=>({sections:[{fields:Je.value}]})),Fe=r.computed(()=>d.value),{isFieldVisible:ze,isFieldRequired:Ze,isFieldDisabled:ce,isFieldReadonly:ye,isFieldHidden:Ae,resolveFieldLabels:Ue,resolveFieldLength:Ce,getFilteredItems:Ne,applyCalculations:Ye,getNormalizedData:mt,resolveDefaultValue:st,resolveSectionGridClass:De,resolveFieldColumnClass:Ie}=wv({formData:_e,errors:Oe,fieldMap:Te,rawItemsCache:je,activeSchema:Se,locale:Fe,parentFormData:l?.formData||A,rootFormData:l?.formData||A,activeTableAction:ae,activeTableRow:ve,tableRows:r.computed(()=>gu.value||se.value||i.data||[])}),{validateField:pt}=Z2({formData:_e,locale:Fe,errors:Oe,fieldMap:Te,activeSchema:Se,isSectionVisible:()=>!0,isFieldVisible:q=>ze(q),isFieldRequired:(q,ie)=>Ze(q,ie),resolveFieldLength:(q,ie)=>Ce(q,ie)}),Ct=(q,ie)=>{_e[q.model]=ie;const te=pt(q,ie,_e);te?Oe[q.model]=te:delete Oe[q.model]},{isFieldVisible:Jt,isFieldRequired:bn,isFieldDisabled:Qt,isFieldReadonly:Vt,resolveFieldLabels:_n,resolveFieldLength:Qs,getFilteredItems:ou,resolveFieldColumnClass:ru}=wv({formData:N,errors:{},fieldMap:ge,rawItemsCache:G,activeSchema:xe,locale:Fe}),vb=r.computed(()=>{if(wt.value||H.value.some(te=>{if(!Jt(te))return!1;const fe=N.value[te.model],de=Qs(te);return!!(bn(te)&&(fe==null||fe==="")||fe&&de?.minLength!==void 0&&String(fe).length<Number(de.minLength))}))return!0;const ie=H.value.filter(te=>Jt(te));return!!(ie.length>0&&ie.every(fe=>!N.value[fe.model]))}),li=r.ref([]),bt=r.computed(()=>{if(!ae.value?.dialogConfig)return ae.value?.label||h("common.actions");const q=ae.value.dialogConfig;return(d.value==="kr"||d.value==="ko"?q.titleKR||q.titleEN:d.value==="id"?q.titleID:q.titleEN)||ae.value?.label||h("common.actions")}),tm=r.computed(()=>{if(!ae.value?.dialogConfig)return null;const q=ae.value.dialogConfig;return d.value==="kr"||d.value==="ko"?q.descriptionKR||q.descriptionEN:d.value==="id"?q.descriptionID:q.descriptionEN}),nm=r.computed(()=>{if((Je.value||[]).some(fe=>fe.component==="DCodePdfViewer"||fe.component==="DCodeWorkflowDiagram"))return"95vw";if(!ae.value?.dialogConfig&&!ae.value?.openDialog)return 450;const te=String(ae.value?.dialogConfig?.layoutColumns||ae.value?.layoutColumns||"1").toUpperCase();return te==="FULL"||te==="1"||te==="ONE"?450:800}),Jr=async(q,ie=!1)=>{console.log(`[prefetchDialogFieldItems][START] ${q.key||q.model}`,{force:ie});const te=q.propsFieldGlobal||q.propsFieldCustom||q.propsFilters||q.props||{},fe=te.endpointComponent||te.endpointReference||te.endpoint;if(!fe?.apiUrl){console.log(`[prefetchDialogFieldItems][EXIT] No apiUrl for ${q.key||q.model}`);return}const de=q.component||"";if(["DCodeWorkflowDiagram","DCodeStaticImage","DCodeTimelineWithIcons"].includes(de)){console.log(`[prefetchDialogFieldItems][EXIT] Skipping for component type ${de}`);return}const me=q.key||q.model;if(!ie&&je[me]){console.log(`[prefetchDialogFieldItems][EXIT] Already in cache for ${me}`);return}const Be=fe;if(!Be?.apiUrl){console.log(`[prefetchDialogFieldItems][EXIT] Resolved ep has no apiUrl for ${me}`);return}!i.baseUrl&&!Be.apiUrl.startsWith("http")&&console.warn(`[prefetchDialogFieldItems][WARNING] No baseUrl provided for ${me}, attempting relative fetch.`);try{const $e=O.value;!$e&&!Be.apiUrl.startsWith("http")&&console.warn(`[prefetchDialogFieldItems][PROCEED] No explicit baseUrl found for ${me}, letting apiUrl wrapper handle relative path.`);const Xe=or(Be.apiUrl,$e);console.log(`[prefetchDialogFieldItems][FETCHING] ${me}.
|
|
163
|
-
BaseUrl: ${$e||"NONE"}, Final: ${Xe}`);const et={page:1,perPage:100};if(Array.isArray(Be.keyParam)){let xn=!1;if(Be.keyParam.forEach(ln=>{let Yn="",Cn="";if(typeof ln=="string")Yn=ln,Cn=ln;else if(typeof ln=="object"&&ln!==null){const Jo=Object.entries(ln)[0];Jo&&(Yn=Jo[0],Cn=Jo[1])}if(!Yn||!Cn)return;const Dn=mt(_e)[Cn];Dn==null||Dn===""?xn=!0:et[Yn]=Dn&&typeof Dn=="object"?Dn.id??Dn.code??Dn.value??Dn:Dn}),xn){je[me]=[];return}}const kt={...Be.config||{}};Be.accept&&(kt.headers||(kt.headers={}),kt.headers.Accept=Be.accept,kt.headers.accept=Be.accept);const it=await c(Xe,Be.apiMethod||"GET",et,kt),Ve=it?.data||it;console.log(`[prefetchDialogFieldItems][RESPONSE] ${me}`,Ve);let Mt=[];Array.isArray(Ve)?Mt=Ve:Ve&&(Mt=[Ve]),console.log(`[prefetchDialogFieldItems][STORE] ${me} items count: ${Mt.length}`),je[me]=Mt}catch($e){console.error(`[prefetchDialogFieldItems] Error fetching items for ${me}:`,$e),je[me]=[]}};r.watch(_e,(q,ie)=>{$.value&&(Ye(),Je.value.forEach(te=>{const fe=te.props||{},de=fe.endpoint||fe.endpointReference;Array.isArray(de?.keyParam)&&de.keyParam.length>0&&Jr(te,!0)}))},{deep:!0});const pc=()=>{Je.value.length&&Je.value.forEach(q=>{const ie=st(q,_e);if(ie!=null){const te=_e[q.model],de=(q.props||{}).returnObject||q.logic?.returnObject;(te==null||te===""||de&&(typeof te=="string"||typeof te=="number")&&(typeof ie=="object"&&ie!==null))&&(_e[q.model]=ie)}})};r.watch(je,()=>{$.value&&pc()},{deep:!0});const zn=r.ref([]),Qr=r.ref(new Map),Va=r.computed(()=>Array.from(Qr.value.values())),Zo=r.computed(()=>ci.value.find(te=>["CHECKBOX","checkbox"].includes(te.type??""))?.keyCheckbox||Y.value?.endpointTable?.keyParam?.[0]||Y.value?.endpointGlobal?.keyParam?.[0]||Y.value?.endpoint?.keyParam?.[0]||"id"),wb=()=>ci.value.find(ie=>["CHECKBOX","checkbox"].includes(ie.type??""))?.keyPayload||null,im=r.computed(()=>{const q=Zo.value,ie=oo.value.map(te=>te[q]).filter(te=>te!=null);return oo.value.length>0&&ie.length===0&&console.warn(`[DataTable] selectionKey "${q}" returned no IDs for ${oo.value.length} rows. Selection may not work.`),ie}),su=r.computed(()=>new Set(zn.value.map(q=>String(q)))),_b=r.computed(()=>{const q=im.value;if(q.length===0)return!1;const ie=su.value;return q.every(te=>ie.has(String(te)))}),kb=r.computed(()=>{const q=im.value;if(q.length===0)return!1;const ie=su.value,te=q.filter(fe=>ie.has(String(fe))).length;return te>0&&te<q.length}),n1=q=>{const ie=q[Zo.value];return ie!=null&&su.value.has(String(ie))},au=q=>{const ie=typeof q=="boolean"?q:q?.target?.checked??!!q,te=im.value;if(ie){const fe=su.value,de=[...zn.value];oo.value.forEach(pe=>{const me=pe[Zo.value];me!=null&&!fe.has(String(me))&&(de.push(me),Qr.value.set(String(me),pe))}),zn.value=de}else{const fe=new Set(te.map(de=>String(de)));zn.value=zn.value.filter(de=>!fe.has(String(de))),fe.forEach(de=>{Qr.value.delete(de)})}},i1=(q,ie)=>{const te=typeof ie=="boolean"?ie:ie?.target?.checked??!!ie,fe=q[Zo.value];if(fe==null)return;const de=String(fe);te?zn.value.some(pe=>String(pe)===de)||(zn.value.push(fe),Qr.value.set(de,q)):(zn.value=zn.value.filter(pe=>String(pe)!==de),Qr.value.delete(de))};r.watch(zn,q=>{const ie=wb();if(ie){const fe={[ie]:q};o("update:selection",fe)}else o("update:selection",q);o("selection-change",Va.value);const te=_b.value||q.length>1;ee.value?.length&&ee.value.forEach(fe=>{fe.fieldActionGlobal?.length&&fe.fieldActionGlobal.forEach(de=>{const me=(fe.endpoint||fe.propsActionGlobal?.endpointPropAction||fe.propsActionGlobal)?.keyParam?.[0],Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(de.component);(me&&de.model===me||!me&&/^(id|ids|idAuditTrail|idAppRequest)$/i.test(de.model))&&te&&(!Be||me&&de.model===me)&&de.model&&(_e[de.model]=q)})})},{deep:!0});const o1=q=>{const ie=(de,pe,me)=>{if(!pe)return;const Be=pe.split(".");let $e=de;for(let Xe=0;Xe<Be.length-1;Xe++){const et=Be[Xe];$e[et]||($e[et]={}),$e=$e[et]}$e[Be[Be.length-1]]=me},te=(de,pe)=>{if(Array.isArray(de.condition)&&de.condition.length>0)return de.condition[pe%de.condition.length].value;const me=["Active","Pending","Inactive","Success","Failed"];return me[pe%me.length]},fe=(de,pe,me)=>{if(["no","action"].includes(pe.key)||["ACTION","action"].includes(pe.type))return;const $e=(pe.type||"").toUpperCase(),Xe=`Data ${pe.label} ${me+1}`;if($e==="BADGE"||pe.condition){ie(de,pe.key,te(pe,me));return}switch($e){case"CHECKBOX":ie(de,pe.keyCheckbox||"id",me+1);break;case"HYPERLINK":ie(de,pe.key,`Link ${me+1}`),pe.propsCustom?.[0]?.urlLink&&ie(de,pe.propsCustom[0].urlLink,`https://example.com/page/${me+1}`);break;case"CURRENCY":ie(de,pe.key,1e6+me*5e4);break;case"DATE":case"DATA":ie(de,pe.key,new Date(Date.now()-me*864e5).toISOString().split("T")[0]);break;case"DATETIME":ie(de,pe.key,new Date(Date.now()-me*36e5).toISOString());break;case"TEXT":pe.propsCustom?.[0]?.value?ie(de,`${pe.key}.${pe.propsCustom[0].value}`,Xe):ie(de,pe.key,Xe);break;default:ie(de,pe.key,Xe)}};return Array.from({length:q}).map((de,pe)=>{const me={id:pe+1,no:pe+1};return ci.value.forEach(Be=>fe(me,Be,pe)),me})},gc=q=>String(q)==="true"||q===!0,Bn=q=>q&&typeof q=="string"&&q.trim()?q:void 0,lu=r.computed(()=>Bn(Y.value?.endpoint?.apiModule)||Bn(Y.value?.endpointTable?.apiModule)||Bn(Y.value?.endpointGlobal?.apiModule)||i.apiModule),om=r.computed(()=>Bn(Y.value?.endpoint?.apiAction)||Bn(Y.value?.endpointTable?.apiAction)||Bn(Y.value?.endpointGlobal?.apiAction)||i.apiAction),bc=r.computed(()=>Bn(Y.value?.endpoint?.apiMethod)||Bn(Y.value?.endpointSection?.apiMethod)||Bn(Y.value?.endpointTable?.apiMethod)||Bn(Y.value?.endpointGlobal?.apiMethod)||i.apiMethod||"GET"),yc=r.computed(()=>Bn(Y.value?.endpoint?.apiUrl)||Bn(Y.value?.endpointSection?.apiUrl)||Bn(Y.value?.endpointTable?.apiUrl)||Bn(Y.value?.endpointGlobal?.apiUrl)||i.apiUrl),cu=r.computed(()=>Bn(Y.value?.endpoint?.accept)||Bn(Y.value?.endpointSection?.accept)||Bn(Y.value?.endpointTable?.accept)||Bn(Y.value?.endpointGlobal?.accept)||i.accept),Ui=r.computed(()=>Bn(Y.value?.endpoint?.socket)||Bn(Y.value?.endpointSection?.socket)||Bn(Y.value?.endpointTable?.socket)||Bn(Y.value?.endpointGlobal?.socket)||i.socketEndpoint||i.socketRequest),qt=r.computed(()=>Y.value?.endpoint?.socketParams||Y.value?.endpointSection?.socketParams||Y.value?.endpointTable?.socketParams||Y.value?.endpointGlobal?.socketParams||i.socketParams||{}),kn=r.computed(()=>!!Ui.value),du=r.computed(()=>i.permissionBase||Y.value?.permissionBase||"");function Vr(){console.log("[DataTable][loadConfig] Called. Existing filters keys:",Object.keys(N.value),"values:",JSON.stringify(N.value));let q=null;if(i.tableConfig&&(q=i.tableConfig),q){Y.value=q,U.value=[],ee.value=[],x.value=!1,q.headers?li.value=q.headers.map(pe=>{const me=(pe.custom?.type||pe.type||"").toUpperCase();if(pe.key==="action"||me==="ACTION"){gc(pe.isHidden)&&(x.value=!0);const et=pe.custom?.actionCustom||pe.custom?.action;if(et){const kt=et.map(it=>{const Ve=it.propsActionCustom||it.props||it.propsActionGlobal||{},Mt=it.propCustomMessage||{},xn=it.type||Ve.type||it.actionType||Ve.actionType,ln=it.buttons||it.propsCustom||Ve.buttons||Ve.propsCustom||[];return{key:it.key,id:it.id,permission:it.permission,type:xn,buttons:ln,propsCustom:ln,labelID:Ve.labelID||it.labelID,labelEN:Ve.labelEN||it.labelEN,labelKR:Ve.labelKR||it.labelKR,label:d.value==="kr"||d.value==="ko"?Ve.labelKR||Ve.labelEN:d.value==="id"?Ve.labelID:Ve.labelEN,tooltip:d.value==="kr"||d.value==="ko"?Ve.tooltipKR||Ve.labelKR||Ve.tooltipEN||Ve.labelEN:d.value==="id"?Ve.tooltipID||Ve.labelID:Ve.tooltipEN||Ve.labelEN,icon:Ve.icon,variant:Ve.variant||"ghost",bgColor:Ve.bgColor,action:it.key||it.id||Ve.actionType||Ve.key,actionType:Ve.actionType,route:Ve.route,path:Ve.path,targetBehavior:Ve.targetBehavior||it.targetBehavior,keyRedirect:Ve.keyRedirect||it.keyRedirect,borderStyle:Ve.borderStyle,borderColor:Ve.borderColor,rounded:Ve.rounded,endpoint:os(it),propsActionCustom:Ve,_customMsg:Mt,propCustomCondition:it.propCustomCondition||[],fieldMapping:it.fieldMapping||Ve.fieldMapping||null,openDialog:it.openDialog??Ve.openDialog??!1,dialogConfig:it.dialogConfig||Ve.dialogConfig||null,layoutColumns:it.layoutColumns||Ve.layoutColumns||it.layout||Ve.layout,fieldActionCustom:(it.fieldActionCustom||[]).map(Yn=>{const Cn=Yn.propsFieldCustom||Yn.propsFieldGlobal||Yn.propsFilters||Yn.props||{};return{...Yn,props:{...Cn,items:je[Yn.key]||je[Yn.model]||Cn.items,endpoint:Cn.endpointComponent||Cn.endpoint}}}),condition:it.visibleRule||it.propCustomCondition||Ve.visibleRule||Ve.propCustomCondition||null,requireConfirm:it.requireConfirm||Ve.requireConfirm||!1,confirmTitle:d.value==="kr"||d.value==="ko"?Mt.titleKR||Ve.confirmTitleKR||"확인":d.value==="id"?Mt.titleID||Ve.confirmTitleID||"Konfirmasi":Mt.titleEN||Ve.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?Mt.messageKR||Ve.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?Mt.messageID||Ve.confirmMessageID||"Apakah Anda yakin?":Mt.messageEN||Ve.confirmMessageEN||"Are you sure?",isHidden:it.isHidden||Ve.isHidden,routeBack:Ve.routeBack,pathBack:Ve.pathBack,triggerNavigation:it.triggerNavigation}});U.value.push(...kt)}return null}let $e;const Xe=pe.custom?.conditionBadge||pe.custom?.condition;return me==="BADGE"&&Xe&&($e=Xe.map(et=>({value:et.value,label:d.value==="kr"||d.value==="ko"?et.labelKR||et.labelEN:d.value==="id"?et.labelID:et.labelEN,labelID:et.labelID,labelEN:et.labelEN,labelKR:et.labelKR,color:et.color||et.bgColor,variant:et.variant,logic:et.logic||et.conditionRule||null}))),{key:pe.key,label:(d.value==="kr"||d.value==="ko"?pe.labelKR||pe.labelEN:d.value==="id"?pe.labelID:pe.labelEN)||pe.label||pe.labelKR||pe.labelEN||pe.labelID,width:pe.width,align:pe.align,sortable:!["CHECKBOX","checkbox"].includes(me),type:pe.custom?.type||pe.type,condition:$e,keyCheckbox:pe.custom?.keyCheckbox,keyPayload:pe.custom?.keyPayload,propsCustom:pe.custom?.propsCustom,isHidden:pe.isHidden,format:pe.format||pe.custom?.format}}).filter(pe=>pe!==null):li.value=[];const ie=q.filters||q.filter;ie&&Array.isArray(ie)&&(H.value=ie.map(pe=>({...pe,props:pe.propsFilters||pe.props||{}})),H.value.forEach(pe=>{N.value[pe.model]===void 0&&(N.value[pe.model]="")}),H.value.forEach(pe=>{if(!pe.logic?.optionsFilterRule)return;const me=pe.propsFilters||pe.props||{},Be=me.endpointComponent||me.endpointReference||me.endpoint;if(!Be?.apiUrl)return;const $e=pe.key||pe.model;if(G[$e])return;const Xe=O.value,et=or(Be.apiUrl,Xe);c(et,Be.apiMethod||"GET",{page:1,perPage:500}).then(kt=>{const it=kt?.data||kt;G[$e]=Array.isArray(it)?it:it?[it]:[]}).catch(()=>{G[$e]=[]})}));const te=q.actionTableGlobal||q.actionGlobal||q.actionSection||q.actionGlobalStep||q.action;te&&Array.isArray(te)&&(ee.value=te.map(pe=>{const me=pe.propsActionGlobal||pe.props||{},Be=pe.propCustomMessage||{},$e=pe.type||me.type||pe.actionType||me.actionType,Xe=pe.buttons||pe.propsCustom||me.buttons||me.propsCustom||[];return{key:me.key,permission:pe.permission,type:$e,buttons:Xe,propsCustom:Xe,labelID:me.labelID||pe.labelID,labelEN:me.labelEN||pe.labelEN,labelKR:me.labelKR||pe.labelKR,actionType:pe.actionType||me.actionType||me.type||pe.permission,label:d.value==="kr"||d.value==="ko"?me.labelKR||me.labelEN||"Action":d.value==="id"?me.labelID||me.labelEN||"Action":me.labelEN||"Action",tooltip:d.value==="kr"||d.value==="ko"?me.tooltipKR||me.labelKR||me.tooltipEN||me.labelEN:d.value==="id"?me.tooltipID||me.labelID:me.tooltipEN||me.labelEN,icon:me.icon,variant:me.variant||"default",bgColor:me.bgColor,textColor:me.textColor,route:me.route,path:me.path,targetBehavior:me.targetBehavior||pe.targetBehavior,keyRedirect:me.keyRedirect||pe.keyRedirect,borderStyle:me.borderStyle,borderColor:me.borderColor,rounded:me.rounded,endpoint:me.endpointDialogActionSave||me.endpointDialogAction||me.endpointAction||me.endpointPropAction||pe.endpoint,propsActionGlobal:me,_customMsg:Be,excludeSelectedInTable:pe.excludeSelectedInTable??me.excludeSelectedInTable,fieldMapping:pe.fieldMapping||me.fieldMapping||null,visibleRule:pe.visibleRule||me.visibleRule||pe.propCustomCondition||me.propCustomCondition||null,openDialog:pe.openDialog??me.openDialog??!1,dialogConfig:pe.dialogConfig||me.dialogConfig||null,layoutColumns:pe.layoutColumns||me.layoutColumns||pe.layout||me.layout,requireConfirm:pe.requireConfirm||me.requireConfirm||!1,confirmTitle:d.value==="kr"||d.value==="ko"?Be.titleKR||me.confirmTitleKR||"확인":d.value==="id"?Be.titleID||me.confirmTitleID||"Konfirmasi":Be.titleEN||me.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?Be.messageKR||me.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?Be.messageID||me.confirmMessageID||"Apakah Anda yakin?":Be.messageEN||me.confirmMessageEN||"Are you sure?",fieldActionGlobal:(pe.fieldActionGlobal||pe.fieldActionCustom||pe.field||[]).map(et=>{const kt=et.propsFieldCustom||et.propsFieldGlobal||et.propsFilters||et.props||{};return{...et,props:{...kt,items:je[et.key]||je[et.model]||kt.items,endpoint:kt.endpointComponent||kt.endpoint}}}),isHidden:pe.isHidden||me.isHidden,routeBack:me.routeBack,pathBack:me.pathBack}})),q.pagination!==void 0&&(ue.value=q.pagination),q.showQuickSearch!==void 0?j.value=q.showQuickSearch:j.value=!0,q.showRefresh!==void 0?K.value=q.showRefresh:K.value=!0;const fe=[],de=pe=>{Array.isArray(pe)&&pe.forEach(me=>{const Be=me.fieldActionGlobal||me.fieldActionCustom||me.fields||me.field||[];Array.isArray(Be)&&fe.push(...Be);const $e=me.buttons||me.propsCustom||me.propsActionCustom?.buttons||me.propsActionCustom?.propsCustom||me.propsActionGlobal?.buttons||me.propsActionGlobal?.propsCustom||[];Array.isArray($e)&&de($e)})};de(q.actionTableGlobal||q.actionGlobal||[]),de(q.actionTableLine||q.actionLine||[]),(q.headers||[]).forEach(pe=>{pe.custom?.propsCustom&&Array.isArray(pe.custom.propsCustom)&&de(pe.custom.propsCustom),pe.custom?.actionCustom&&Array.isArray(pe.custom.actionCustom)&&de(pe.custom.actionCustom)}),fe.forEach(pe=>{Jr(pe)})}}r.watch(()=>i.tableConfig,()=>{Vr()},{deep:!0,immediate:!0}),r.watch(d,()=>{const q=Y.value;if(q&&(U.value.length&&(U.value=U.value.map(ie=>{const te=ie.propsActionCustom||{},fe=ie._customMsg||{};return{...ie,label:d.value==="kr"||d.value==="ko"?te.labelKR||te.labelEN||"":d.value==="id"?te.labelID:te.labelEN,tooltip:d.value==="kr"||d.value==="ko"?te.tooltipKR||te.labelKR||te.tooltipEN||te.labelEN:d.value==="id"?te.tooltipID||te.labelID:te.tooltipEN||te.labelEN,confirmTitle:d.value==="kr"||d.value==="ko"?fe.titleKR||te.confirmTitleKR||"확인":d.value==="id"?fe.titleID||te.confirmTitleID||"Konfirmasi":fe.titleEN||te.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?fe.messageKR||te.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?fe.messageID||te.confirmMessageID||"Apakah Anda yakin?":fe.messageEN||te.confirmMessageEN||"Are you sure?"}})),ee.value.length&&(ee.value=ee.value.map(ie=>{const te=ie.propsActionGlobal||{},fe=ie._customMsg||{};return{...ie,label:d.value==="kr"||d.value==="ko"?te.labelKR||te.labelEN||"Action":d.value==="id"?te.labelID||te.labelEN||"Action":te.labelEN||"Action",tooltip:d.value==="kr"||d.value==="ko"?te.tooltipKR||te.labelKR||te.tooltipEN||te.labelEN:d.value==="id"?te.tooltipID||te.labelID:te.tooltipEN||te.labelEN,confirmTitle:d.value==="kr"||d.value==="ko"?fe.titleKR||te.confirmTitleKR||"확인":d.value==="id"?fe.titleID||te.confirmTitleID||"Konfirmasi":fe.titleEN||te.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?fe.messageKR||te.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?fe.messageID||te.confirmMessageID||"Apakah Anda yakin?":fe.messageEN||te.confirmMessageEN||"Are you sure?"}})),li.value.length)){const ie=q.headers||[];li.value=li.value.map(te=>{const fe=ie.find(de=>de.key===te.key);return fe?{...te,label:d.value==="kr"||d.value==="ko"?fe.labelKR||fe.labelEN||fe.label:(d.value==="id"?fe.labelID:fe.labelEN)||fe.label||fe.labelID||fe.labelEN,condition:te.condition?.map(de=>({...de,label:d.value==="kr"||d.value==="ko"?de.labelKR||de.labelEN||de.label:d.value==="id"?de.labelID||de.label:de.labelEN||de.label}))}:te})}});const ci=r.computed(()=>{let q=[];return i.dynamicColumns||i.configKey||i.tableConfig?q=li.value:q=i.columns||[],q.filter(ie=>!gc(ie.isHidden))}),Vs=r.computed(()=>x.value?!1:i.hasActions||el.value.length>0),wt=r.computed(()=>i.dummyMode?!1:!!(i.loading||X.value)),Pt=r.computed(()=>!!lu.value||!!yc.value||kn.value||i.remotePagination),rm=r.computed(()=>[]),uu=q=>{if(!i.menuPermissions?.length)return;const ie=i.menuPermissions.find(de=>z.path.startsWith(de.path));if(!ie?.actions)return;const te=q.toUpperCase();return ie.actions.find(de=>de.code===te)?.checked},Ri=(q,ie,te)=>{let fe=q(ie,te);return!fe&&te!==te.toLowerCase()&&(fe=q(ie,te.toLowerCase())),fe},r1=(q,ie)=>Array.isArray(P)?[q,q.toLowerCase()].flatMap(de=>[de,`${ie}_${de}`,`${ie}.${de}`]).some(de=>P.includes(de)):!1,fu=(q,ie,te)=>{let fe=Ri(q,ie,te);if(fe)return!0;if(z.path){const pe=z.path.split("/").find(Boolean)[0];pe&&pe!==ie&&(fe=Ri(q,pe,te))}return fe||(ie!==""&&(fe=Ri(q,"",te)),fe)?!0:r1(te,ie)},es=q=>{if(!q)return!0;const ie=uu(q);if(ie!==void 0)return ie;const te=du.value,fe=i.permissionChecker||I;if(fe)return fu(fe,te,q);const de=q.toUpperCase();return rm.value.some(pe=>pe.code===de)},jn=(q,ie)=>{if(q.condition)try{return tr.apply(q.condition,ie)}catch(me){return console.warn("Row action jsonLogic error:",me),!1}if(!q.visibilityCondition)return!0;const{field:te,operator:fe,value:de}=q.visibilityCondition,pe=Kt(ie,te);switch(fe){case"equals":return pe===de;case"notEquals":return pe!==de;case"in":return Array.isArray(de)&&de.includes(pe);case"notIn":return Array.isArray(de)&&!de.includes(pe);case"greaterThan":return pe>de;case"lessThan":return pe<de;case"contains":return String(pe).includes(String(de));default:return!0}},ts=r.computed(()=>{if(ee.value.length===0)return[];const q=i.dummyMode||z.query.preview==="true"||z.query.dummy==="true";return ee.value.filter(ie=>{if(ie.isHidden===!0||ie.isHidden==="true")return!1;if(ie.visibleRule)try{const te=oo.value[0]||{};if(!tr.apply(ie.visibleRule,te))return!1}catch(te){console.warn("Header action visibility logic error:",te)}if(i.ignorePermissions||q||Y.value?.ignorePermissions||!ie.permission)return!0;if(i.checkPermission){let te=i.checkPermission(ie.permission);if(!te&&ie.permission!==ie.permission.toLowerCase()&&(te=i.checkPermission(ie.permission.toLowerCase())),te!==void 0)return!!te}return i.permissions?i.permissions.includes(ie.permission):!!es(ie.permission)})}),el=r.computed(()=>U.value.length===0?U.value:U.value.filter(q=>q.isHidden===!0||q.isHidden==="true"?!1:i.ignorePermissions||i.dummyMode||!q.permission?!0:i.checkPermission?i.checkPermission(q.permission):i.permissions?i.permissions.includes(q.permission):es(q.permission))),ea=q=>el.value.filter(ie=>jn(ie,q)),vc=(q,ie)=>{const te=tl(q,ie);if(te?.color||te?.bgColor)return te.color||te.bgColor;if(!q.dynamicColor||!q.colorCondition)return q.bgColor||"primary";const fe=Kt(ie,q.colorCondition.field);return q.colorCondition.conditions?.find(pe=>ta(pe.value,fe))?.bgColor||q.bgColor||"primary"},tl=(q,ie)=>{const te=q.propsActionCustom?.iconCondition||q.iconCondition;if(!te?.field||!Array.isArray(te.conditions))return null;const fe=Kt(ie,te.field);return te.conditions.find(de=>ta(de.value,fe)||fe&&typeof fe=="object"&&ta(_c(de.value),_c(fe)))},hu=(q,ie)=>tl(q,ie)?.icon||q.icon,sm=q=>{const ie=(q||"left").toLowerCase();return ie==="center"?"justify-center":ie==="right"?"justify-end":"justify-start"},mu={ToggleLeft:Ee.ToggleLeft,SquarePen:Ee.SquarePen,Trash2:Ee.Trash2,Eye:Ee.Eye,CheckCircle:Ee.CheckCircle,Plus:Ee.Plus,Download:Ee.Download,RefreshCw:Ee.RefreshCw,Search:Ee.Search,SlidersHorizontal:Ee.SlidersHorizontal},am=q=>q&&(_r(q,Ut)||mu[q])||null,oo=r.computed(()=>i.dummyMode?ci.value.length>0?o1(5):[]:Xo.value),pu=r.computed(()=>{if(i.dummyMode)return 5;if(i.controlled||i.remotePagination){if(_.value&&Pt.value&&Z.value>0)return Z.value;if(i.totalItems!==void 0)return i.totalItems}return Pt.value&&se.value.length>0?Z.value:gu.value.length}),Kt=(q,ie)=>{if(!q||!ie)return;if(ie.includes(".")){const de=ie.split(".").reduce((pe,me)=>pe&&pe[me],q);if(de!=null)return de}if(ie in q)return q[ie];const te=ie.split(".").reduce((de,pe)=>de&&de[pe],q);if(te!=null)return te;const fe=ie.split(".");if(fe.length>1)for(let de=1;de<fe.length;de++){const pe=fe.slice(de).join("."),me=pe.split(".").reduce((Be,$e)=>Be&&Be[$e],q);if(me!=null)return console.log(`[DataTable resolvePath] Prefixed path "${ie}" resolved via suffix fallback "${pe}" to value:`,me),me;if(pe in q)return console.log(`[DataTable resolvePath] Prefixed path "${ie}" resolved via suffix fallback key "${pe}" to value:`,q[pe]),q[pe]}return te},lm=(q,ie)=>{const te=Kt(q,ie.key);if((ie.type==="TEXT"||ie.type==="text")&&ie.propsCustom?.[0]?.value){const fe=ie.propsCustom[0].value;if(te&&typeof te=="object")return Kt(te,fe)??Kt(q,`${ie.key}.${fe}`)??te;const de=Kt(q,`${ie.key}.${fe}`);if(de!=null)return de}return te},gu=r.computed(()=>{let te=(Pt.value&&(se.value.length>0||_.value)?se.value:i.data||[]).filter(fe=>!fe||typeof fe!="object"?!1:ci.value.some(de=>{if(["no","action"].includes(de.key)||["ACTION","action","CHECKBOX"].includes(de.type||""))return!1;const me=Kt(fe,de.key);return me!=null&&me!==""}));if(!Pt.value&&B.value){const fe=B.value.toLowerCase();te=te.filter(de=>ci.value.some(pe=>{const me=lm(de,pe);return me==null?!1:String(me).toLowerCase().includes(fe)}))}return!Pt.value&&Object.keys(N.value).length>0&&(te=te.filter(fe=>Object.entries(N.value).every(([de,pe])=>{if(pe==null||pe==="")return!0;const me=Kt(fe,de);if(me==null)return!1;const Be=String(me).toLowerCase(),$e=String(pe).toLowerCase();return Be.includes($e)}))),te}),St=r.computed(()=>re.value.key?[...gu.value].sort((ie,te)=>{const fe=Kt(ie,re.value.key),de=Kt(te,re.value.key);if(fe===de)return 0;let pe=0;return typeof fe=="number"&&typeof de=="number"?pe=fe-de:pe=String(fe).localeCompare(String(de)),re.value.direction==="asc"?pe:-pe}):gu.value),Xo=r.computed(()=>{if(Pt.value||i.controlled)return St.value.map((te,fe)=>({...te,no:(W.value-1)*J.value+fe+1}));const q=(W.value-1)*J.value,ie=q+J.value;return St.value.slice(q,ie).map((te,fe)=>({...te,no:q+fe+1}))}),mn=(q,ie)=>{const te=Kt(q,ie.key);if(te==null||te==="")return"-";const fe=ie.propsCustom?.[0]?.value||ie.custom?.propsCustom?.[0]?.value;if((ie.type==="TEXT"||ie.type==="text")&&fe){if(te&&typeof te=="object")return Kt(te,fe)||"-";const pe=ie.key.split(".").reduce((Xe,et)=>Xe&&Xe[et],q);if(pe&&typeof pe=="object")return Kt(pe,fe)||"-";const me=ie.key,Be=me.includes(".")?me.split(".").pop():me,$e=je[me]||(Be?je[Be]:void 0)||l?.rawItemsCache?.[me]||(Be?l?.rawItemsCache?.[Be]:void 0)||l?.rawItemsCache&&Object.entries(l.rawItemsCache).find(([Xe])=>Xe.endsWith(me)||me.endsWith(Xe)||Be&&Xe.endsWith(Be))?.[1];if(Array.isArray($e)&&$e.length>0){const Xe=$e.find(et=>et&&(String(et.id)===String(te)||String(et.code)===String(te)||String(et.value)===String(te)||String(et.name)===String(te)));if(Xe)return Kt(Xe,fe)||"-"}}if(["DATE","date","DATETIME","datetime","DATA","data"].includes(ie.type||"")){const pe=ie.custom?.propsCustom?.[0]?.value||ie["custom.propsCustom[0].value"]||ie.custom?.format||ie.propsCustom?.[0]?.value||(typeof ie.format=="string"?ie.format:null);if(pe)return UR(te,pe);const me=(ie.type||"").toUpperCase()==="DATETIME";return Tc(te,me?"datetime":"long")}if(ie.type==="CURRENCY"||ie.type==="currency"){const pe=ie.propsCustom?.[0]?.value||"IDR";return iy(te,pe)}return ie.format?ie.format(te):te},cm=r.computed(()=>Pt.value?Object.values(N.value).some(q=>!!q):!!B.value),bu=()=>{Pt.value&&(N.value={...N.value,keyword:B.value},W.value=1,Un())};let wc;const dm=()=>{i.enableQuickSearch&&(clearTimeout(wc),wc=setTimeout(()=>{bu()},500))};let br;const yu=()=>{clearTimeout(br),br=setTimeout(()=>{Pt.value&&Un()},500)};r.watch(B,()=>{i.enableQuickSearch&&Pt.value&&dm()}),r.watch(()=>i.baseUrl,q=>{q&&(console.log(`[DataTable] baseUrl resolved to ${q}. Re-triggering prefetch for actions.`),ee.value.forEach(ie=>{(ie.fieldActionCustom||ie.fieldActionGlobal||ie.field||[]).forEach(fe=>Jr(fe))}),U.value.forEach(ie=>{(ie.fieldActionCustom||ie.fieldActionGlobal||ie.field||[]).forEach(fe=>Jr(fe))}))});const Un=async(q=!1,ie=!1)=>{if(i.dummyMode||!Pt.value||X.value&&!q&&se.value.length>0||!lu.value&&!yc.value&&!Ui.value)return;const te=i.data&&i.data.length>0,fe=W.value===1&&Object.keys(N.value).length===0&&!B.value;if(!(!ie&&te&&fe&&!se.value.length&&!X.value))try{q||(X.value=!0);const de={page:W.value,perPage:J.value,...N.value,...i.apiParams};if(!Object.keys(de).some($e=>$e.toLowerCase()==="id"||$e.toLowerCase().endsWith("id"))){const $e=z?.params?.id||z?.query?.id||(typeof window<"u"?new URLSearchParams(window.location.search).get("id"):null);$e&&(de.id=$e)}const me=Y.value?.endpointTable||Y.value?.endpointSection||Y.value?.endpoint||Y.value?.endpointGlobal;if(l?.resolveKeyParams&&Array.isArray(me?.keyParam)){const $e=l.resolveKeyParams(me.keyParam);Object.assign(de,$e)}B.value&&(de.keyword=B.value),Object.keys(de).forEach($e=>{(de[$e]===""||de[$e]===null||de[$e]===void 0)&&delete de[$e]});let Be;if(lu.value)Be=await c(lu.value,om.value,de);else if(yc.value){let $e=yc.value;if(i.baseUrl&&typeof i.baseUrl=="string"&&typeof $e=="string"&&!$e.startsWith("http")){const et=i.baseUrl.replace(/\/$/,""),kt=$e.startsWith("/")?$e:`/${$e}`;$e=`${et}${kt}`}const Xe={...Y.value?.endpoint?.config||{}};cu.value&&(Xe.headers||(Xe.headers={}),Xe.headers.Accept=cu.value,Xe.headers.accept=cu.value),Be=await c($e,bc.value,de,Xe)}else if(Ui.value&&k){const $e={...de,...qt.value};Be=await new Promise(Xe=>{let et=!1;try{k(Ui.value,$e,kt=>{et||(et=!0,Xe(kt))})}catch{et||(et=!0,Xe(null))}setTimeout(()=>{et||(et=!0,Xe(null))},2e3)})}um(Be)}catch(de){console.error("DataTable fetch error",de),X.value=!1}},di=q=>{i.dynamicColumns&&Array.isArray(q?.columns)&&(li.value=q.columns.map(ie=>({key:ie.key||ie.field||ie.name,label:ie.label||ie.header||ie.name,width:ie.width,align:ie.align||"LEFT",sortable:ie.sortable!==!1,type:ie.type,condition:ie.condition,format:ie.format})))},ns={data:(q,ie)=>q.totalData||(q.maxPage?q.maxPage*ie:(q.data?.length||0)*(q.maxPage||1)),users:q=>q.users?.length||0,items:q=>q.total||q.totalItems||q.items?.length||0,list:q=>q.total||q.list?.length||0,rows:q=>q.count||q.total||q.rows?.length||0,result:q=>q.total||q.count||q.result?.length||0},um=q=>{if(_.value=!0,q==null){X.value=!1;return}if(q){di(q);const ie=Object.keys(ns).find(te=>q[te]&&Array.isArray(q[te]));if(ie){se.value=q[ie];const te=ns[ie](q,J.value);Z.value=te}else Array.isArray(q)?(se.value=q,Z.value=q.length):q&&q.status===!0&&(q.data===null||q.data===void 0)?(se.value=[],Z.value=0):Object.keys(q).length>0&&console.warn("DataTable: Unknown response format",q)}X.value=!1};r.onUnmounted(()=>{clearTimeout(wc),clearTimeout(br)});const fm=()=>{Object.keys(N.value).forEach(q=>{N.value[q]=""}),o("reset"),xb()},xb=()=>{W.value=1,o("search",N.value),Un()},ta=(q,ie)=>q==null||ie===void 0||ie===null?!1:typeof q=="string"&&typeof ie=="string"?q.toLowerCase().trim()===ie.toLowerCase().trim():q==ie,_c=q=>{if(typeof q=="boolean")return q?"true":"false";if(typeof q=="object"&&q!==null){const ie=q,te=["code","id","name","value","val","label","key","status","statusRequest.name","description"];for(const fe of te){const de=Kt(ie,fe);if(de!=null)return String(de).toLowerCase().trim()}return""}return typeof q=="string"?q.toLowerCase().trim():String(q??"").toLowerCase().trim()},s1=(q,ie)=>{const te=String(ie).toLowerCase();return q?["true","1","yes","active","aktif","AKT","enabled","on"].includes(te):["false","0","no","inactive","non active","NAK","disabled","off"].includes(te)},Cb=(q,ie,te,fe)=>{if(q.logic||typeof q.value=="object"&&q.value!==null)try{return tr.apply(q.logic||q.value,ie)}catch(pe){return console.warn("Badge logic error:",pe),!1}const de=_c(te);if(ta(q.value,de)||typeof te=="object"&&te!==null&&["code","id","name","value","val","label","key","status","statusRequest.name","description"].some(me=>ta(q.value,Kt(te,me))))return!0;if(typeof te=="boolean")return s1(te,q.value);if(fe.includes(".")){const pe=fe.split(".").slice(0,-1).join("."),me=Kt(ie,pe);if(me&&typeof me=="object"&&["code","id","name","value","val","label","key","status","statusRequest.name","description"].some($e=>ta(q.value,Kt(me,$e))))return!0}return!1},$t=(q,ie)=>{const te=Kt(q,ie.key),de=[...Array.isArray(ie.condition)?ie.condition:[],...Array.isArray(ie.propsCustom)?ie.propsCustom:[],...Array.isArray(ie.custom?.propsCustom)?ie.custom.propsCustom:[]].find(Be=>Cb(Be,q,te,ie.key)),pe=Be=>typeof Be=="object"?Be?.name||Be?.code||"-":Be,me={variant:de?.variant||"secondary",class:"",label:pe(te),color:de?.color};return de&&(de.labelEN||de.labelID||de.labelKR)&&(me.label=d.value==="kr"||d.value==="ko"?de.labelKR||de.labelEN||de.labelID:d.value==="id"?de.labelID||de.labelEN:de.labelEN||de.labelID),me},is=(q,ie,te)=>q.custom?.props?.[ie]??q.props?.[ie]??q.custom?.[ie]??q[ie]??te,Co=(q,ie)=>[...Array.isArray(ie.custom?.propsCustom)?ie.custom.propsCustom:[],...Array.isArray(ie.propsCustom)?ie.propsCustom:[],...Array.isArray(ie.custom?.buttons)?ie.custom.buttons:[],...Array.isArray(ie.buttons)?ie.buttons:[]].filter(fe=>jn(fe,q)),kc=q=>{re.value.key===q?re.value.direction=re.value.direction==="asc"?"desc":"asc":(re.value.key=q,re.value.direction="asc"),o("update:sort",re.value)},Eb=q=>{if(q===W.value)return;W.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un();const ie=(q-1)*J.value+1,te=q*J.value;o("update:page",q),o("update:startIndex",ie),o("update:endIndex",te)},a1=q=>{J.value=q,W.value=1,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un();const ie=1,te=q;o("update:perPage",q),o("update:page",1),o("update:startIndex",ie),o("update:endIndex",te)},vu=()=>{B.value="",N.value=i.filters?{...i.filters}:{},W.value=1,o("reset"),o("refresh"),o("search",N.value),i.controlled||Un(!1,!0)};r.watch(()=>i.data,()=>{se.value=[],_.value=!1},{deep:!0});const l1=q=>{if(!q)return q;const ie=ci.value.find(fe=>fe.key===q.model),te=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect"].includes(q.component);if(ie?.propsCustom?.[0]?.value&&te){const fe={...q},de=q.props||q.propsFieldGlobal||q.propsFieldCustom||{};return fe.props={...de,returnObject:!0},fe}return q};function os(q){if(!q)return null;const ie=q.propsActionCustom||q.props||q.propsActionGlobal||{},te=[q.endpointPropAction,ie.endpointPropAction,q.endpointAction,ie.endpointAction,q.endpointDialogActionSave,ie.endpointDialogActionSave,q.endpointDialogAction,ie.endpointDialogAction,q.endpoint,ie.endpoint];for(const fe of te)if(fe&&typeof fe=="object"&&fe.apiUrl&&fe.apiUrl!=="")return fe;return te.find(fe=>fe&&typeof fe=="object")||null}const c1=q=>{if((q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)&&!i.dummyMode){if(q.path&&q.route){const fe=q.route.startsWith("/")?q.route:"/"+q.route;sessionStorage.setItem(`layout_${fe}`,q.path)}const ie=q.path?{code:q.path}:{},te=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;te&&typeof te=="object"&&Object.entries(te).forEach(([fe,de])=>{if(typeof de=="string"){const pe=_e[fe];pe!==void 0&&(ie[de]=pe)}}),o("navigate",{route:q.route,path:q.path,query:ie,targetBehavior:q.targetBehavior}),q.targetBehavior!=="IN_PLACE"&&M?.push({path:q.route,query:ie})}else{const ie=os(q);ie?.apiUrl?bm(q,null,ie):o("action",{action:q.propsActionCustom?.key||q.key||"create",row:null,selection:zn.value})}},d1=q=>{vt.info(`${h("datatable.navigationInfo")} · ${h("datatable.navigationRouteInfo",{route:q.route||q.path})}`,{autoClose:3500,position:"top-right"})},wu=q=>{vt.info(`${(q.apiMethod||"POST").toUpperCase()} ${q.apiUrl}`,{autoClose:3500,position:"top-right"})},Sb=q=>{if(q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)return d1(q),!0;const te=os(q);return te?.apiUrl&&!q.openDialog?(wu(te),!0):!1},ro=q=>g.value?(wu(q),!0):!1,_u=q=>{if(q.requireConfirm){D.value={button:q,row:null},ne.value=!0;return}if(!(g.value&&Sb(q)))if(q.openDialog||i.dummyMode&&q.route){ae.value=q,ve.value=null,be.value=null,Object.keys(_e).forEach(te=>delete _e[te]);const ie=q.fieldActionGlobal||q.fieldActionCustom||q.field||[];ie.length&&ie.forEach(te=>{Jr(te);const fe=os(q),de=fe?.keyParam&&fe.keyParam.length>0?fe.keyParam[0]:null,pe=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(te.component),me=de&&te.model===de,Be=!de&&/^(id|ids|idAuditTrail|idAppRequest)$/i.test(te.model);if(me||Be&&!pe)_e[te.model]=zn.value;else if(_e[te.model]===void 0||_e[te.model]===""){const $e=st(te,_e);_e[te.model]=$e!==void 0?$e:null}}),console.log("[DataTable][handleHeaderAction] Before applyCalculations. Filters:",JSON.stringify(N.value),"ParentFormDataWrapper:",JSON.stringify(A)),Ye(),$.value=!0,setTimeout(()=>{pc()},50)}else c1(q)},hm=(q,ie)=>{Zo.value;const te=mf(ie);Object.keys(te).forEach(pe=>{_e[pe]=te[pe]}),ie&&typeof ie=="object"&&Object.keys(ie).forEach(pe=>{_e[pe]===void 0&&(_e[pe]=ie[pe])});const fe=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;fe&&typeof fe=="object"&&Object.entries(fe).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);Be!==void 0&&(_e[me]=Be)}});const de=Je.value;console.log(`[initializeDialogData] Processing ${de.length} fields:`,de.map(pe=>pe.key||pe.model)),de.length>0&&de.forEach(pe=>{Jr(pe,!0);const me=pe.model||pe.key;if(!me)return;const Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(pe.component);if(/^(id|ids|idAuditTrail|idAppRequest)$/i.test(me)&&(!Be||me==="idAppRequest")){const $e=ie[Zo.value]||te[me]||ie.id;_e[me]=/id$|idAppRequest|idSlikLogin/i.test(me)?$e:[$e]}else if(q.action==="showToken"&&me==="token")_e[me]=ie.token??te.token??"";else{let $e=Kt(ie,me);if($e==null){const Xe=me.includes(".")?me.split(".").pop():null;Xe&&($e=Kt(ie,Xe))}if($e!=null)_e[me]=$e;else{const Xe=st(pe,_e);_e[me]=Xe!==void 0?Xe:null}}}),setTimeout(()=>{pc()},50)},rs=(q,ie)=>{const te={};if(ie.keyParam&&Array.isArray(ie.keyParam)&&ie.keyParam.forEach((fe,de)=>{if(typeof fe=="string"){const pe=ie.model&&de===0?ie.model:fe,me=Kt(q,fe);me!==void 0&&(te[pe]=me)}else typeof fe=="object"&&fe!==null&&Object.entries(fe).forEach(([pe,me])=>{const Be=Kt(q,me);Be!==void 0&&(te[pe]=Be)})}),Object.keys(te).length===0&&q){const fe=Zo.value;q[fe]?te[fe]=q[fe]:q.id&&(te.id=q.id)}return te},Ab=q=>{let ie=q;ie.item&&(ie=ie.item),Array.isArray(ie)&&(ie=ie[0]||{});const te=mf(ie);if(Object.keys(te).forEach(fe=>{_e[fe]=te[fe]}),Object.keys(ie).forEach(fe=>{ve.value&&(ve.value[fe]=ie[fe])}),!_e.token){const fe=Object.keys(ie).find(de=>de.toLowerCase().includes("token"));fe&&(_e.token=ie[fe])}},Tb=(q,ie,te,fe,de)=>{const pe=q?.data??q?.result??q;pe&&typeof pe=="object"?Ab(pe):typeof pe=="string"&&"token"in _e&&(_e.token=pe),fe&&de!=="delete"&&o("action",{action:ie.action||de,row:ve.value||te})},mm=async(q,ie,te,fe,de)=>{if(ro(te))return;X.value=!0;const pe=rs(ie,te);try{const me={...te.config||{}};te.accept&&(me.headers||(me.headers={}),me.headers.Accept=te.accept,me.headers.accept=te.accept);const Be=await c(te.apiUrl,"GET",pe,me);Tb(Be,q,ie,fe,de)}catch(me){console.error("Fetch Data Failed",me)}finally{X.value=!1}},xc=async(q,ie,te)=>{if(console.log("[DataTable][handleRowAction] Clicked button:",q.key||q.id,"Props:",q),q.requireConfirm){D.value={button:q,row:ie},ne.value=!0;return}if(!(g.value&&Sb(q))){if(q.openDialog){ae.value=q,ve.value=ie,be.value=te!==void 0?te:null,Object.keys(_e).forEach(Be=>delete _e[Be]),hm(q,ie),Ye();const fe=q.propsActionCustom||q.props||q.propsActionGlobal||{},de=os(q),pe=(q.actionType||q.permission||"").toLowerCase(),me=/detail|view|edit|update|delete|destroy/i.test(pe)||/detail|view|edit|update|delete|destroy/i.test(q.action||"");$.value=!0,de?.apiMethod?.toUpperCase()==="GET"&&de.apiUrl&&(de===q.endpointDialogActionSave||de===fe.endpointDialogActionSave||mm(q,ie,de,me,pe));return}ku(q,ie,te)}},Pb=(q,ie)=>{let te=q.route||"";if(!te)return"";const de=(q.propsActionCustom||q.propsActionGlobal)?.endpointForm?.keyParam;if(te.includes(":"))return te.replaceAll(/:(\w+)/g,(me,Be)=>{if(de&&de.length>0){let $e=null;for(const Xe of de)if(typeof Xe=="object"&&Xe!==null)if(Xe[Be]!==void 0){$e=Xe[Be];break}else{const et=Object.values(Xe);et.length>0&&($e=et[0])}else typeof Xe=="string"&&($e=Xe);if($e){const Xe=String($e).split(".").reduce((et,kt)=>et&&et[kt],ie);if(Xe!=null)return Xe}}return(ie?ie[Be]||ie.id:null)||Be});let pe=ie?.id;if(de&&de.length>0){const me=de[0];let Be=null;if(typeof me=="object"&&me!==null?Be=me.id||me.key||Object.values(me)[0]:Be=me,Be&&ie){const $e=String(Be).split(".").reduce((Xe,et)=>Xe&&Xe[et],ie);$e!=null&&(pe=$e)}}return pe?`${te.replace(/\/$/,"")}/${pe}`:te},Bb=(q,ie,te)=>{const fe=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;if(!fe||typeof fe!="object")return;const de=[];if(Object.entries(fe).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);if(Be===void 0)de.push(pe);else{let $e=Be;Be&&typeof Be=="object"&&!Array.isArray(Be)&&/id|code|idSlik|idOperator|idSupervisor/i.test(me)&&($e=Be.id??Be.code??Be.value??Be),te[me]=$e}}}),de.length>0){const pe=d.value||"en",me=pe==="id"?"Masalah Sinkronisasi Data":"Data Synchronization Issue",Be=pe==="id"?`Terdapat ketidaksesuaian skema pada field: ${de.join(", ")}. Harap hubungi tim pengembang.`:`Schema mismatch detected in fields: ${de.join(", ")}. Please contact the development team.`;vt.warning(`${me}: ${Be}`,{autoClose:5e3,position:"top-right"})}},u1=(q,ie)=>{if(console.log("[DataTable][performRoutingAction] Button:",q,"row:",ie),q.path&&q.route){const pe=q.route.startsWith("/")?q.route:"/"+q.route;sessionStorage.setItem(`layout_${pe}`,q.path)}let te=Pb(q,ie);const fe=q.path?{code:q.path}:{};if(te&&te.includes("?")){const[pe,me]=te.split("?");te=pe;const Be=new URLSearchParams(me);for(const[$e,Xe]of Be.entries())fe[$e]=Xe}const de=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;de&&typeof de=="object"&&Object.entries(de).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);Be!==void 0&&(fe[me]=Be)}}),ie&&ie.id&&fe.id===void 0&&(fe.id=ie.id),o("navigate",{route:te,path:q.path,query:fe,targetBehavior:q.targetBehavior||q.action?.targetBehavior}),q.targetBehavior!=="IN_PLACE"&&M?.push({path:te,query:fe})},f1=(q,ie,te)=>{const fe={};if(ie)Bb(q,ie,fe),te.keyParam&&Array.isArray(te.keyParam)&&te.keyParam.forEach((de,pe)=>{if(typeof de=="string"){const me=te.model&&pe===0?te.model:de,Be=Kt(ie,de);Be!==void 0&&(fe[me]=Be)}else typeof de=="object"&&de!==null&&Object.entries(de).forEach(([me,Be])=>{const $e=Kt(ie,Be);$e!==void 0&&(fe[me]=$e)})}),Object.keys(fe).length===0&&ie.id&&(fe.id=ie.id);else{const de=Nb(q,te);fe[de]=zn.value||[]}return fe},pm=q=>{if(!q)return null;const ie=q.match(/filename\*=(?:UTF-8'')?([^;\n]+)/i);if(ie){const fe=ie[1].trim().replace(/^['"]|['"]$/g,"");try{return decodeURIComponent(fe)}catch{return fe}}const te=q.match(/filename=(?:"?)([^";]+)(?:"?)/i);if(te){const fe=te[1].trim().replace(/^['"]|['"]$/g,"");try{return decodeURIComponent(fe)}catch{return fe}}return null},Db=(q,ie)=>{if(!q||!q.headers)return null;const te=q.headers;if(typeof te.get=="function")return te.get(ie);const fe=Object.keys(te).find(de=>de.toLowerCase()===ie.toLowerCase());return fe?te[fe]:null},gm=q=>{const ie=Db(q,"content-disposition")||Db(q,"Content-Disposition"),te=pm(ie);return q instanceof Blob?{blob:q,filename:te}:q?.data instanceof Blob?{blob:q.data,filename:te}:{blob:q,filename:te}},bm=(q,ie,te)=>{if(ro(te))return;X.value=!0;const fe=f1(q,ie,te),de=vt.loading(d.value==="id"?"Memproses...":"Processing..."),pe=te.responseType==="blob"||te.responseType==="arraybuffer"||te.accept&&!te.accept.includes("json")||te.apiUrl&&(te.apiUrl.includes("/export")||te.apiUrl.includes("/download"))||q.actionType==="EXPORT"||q.permission==="EXPORT",me={...te.config||{}};te.accept&&(me.headers||(me.headers={}),me.headers.Accept=te.accept,me.headers.accept=te.accept),pe&&(me.responseType=te.responseType||"blob"),c(te.apiUrl,te.apiMethod||"POST",fe,me).then(Be=>{if(pe&&(Be instanceof Blob||Be?.constructor?.name==="Blob"||Be?.size!==void 0||Be?.data instanceof Blob||Be?.data?.constructor?.name==="Blob"||Be?.data?.size!==void 0||Be?.data instanceof ArrayBuffer)){const{blob:et,filename:kt}=gm(Be),it=et instanceof Blob?et:new Blob([et],{type:te.accept||"application/octet-stream"});if(it.type==="application/json"){const Jo=new FileReader;Jo.onload=()=>{try{const Wi=JSON.parse(Jo.result).message||(d.value==="id"?"Gagal mengunduh file":"Failed to download file");vt.update(de,{render:Wi,type:"error",isLoading:!1,autoClose:5e3})}catch{const Wi=window.URL.createObjectURL(it),yr=document.createElement("a");yr.href=Wi;const nl=q.label||q.text||q.tooltip||"Export",il=kt||`${nl}_${new Date().toISOString().slice(0,10)}.pdf`;yr.setAttribute("download",il),document.body.appendChild(yr),yr.click(),yr.remove(),window.URL.revokeObjectURL(Wi),vt.update(de,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3})}},Jo.readAsText(it);return}const Ve=window.URL.createObjectURL(it),Mt=document.createElement("a");Mt.href=Ve;let xn="txt";const ln=(te.accept||"").toLowerCase(),Yn=(te.apiUrl||"").toLowerCase();_e?.format?xn=String(_e.format).toLowerCase():ln.includes("pdf")?xn="pdf":ln.includes("excel")||ln.includes("sheet")||ln.includes("spreadsheet")||ln.includes("xlsx")?xn="xlsx":ln.includes("csv")?xn="csv":ln.includes("zip")?xn="zip":Yn.includes("pdf")?xn="pdf":Yn.includes("excel")||Yn.includes("xlsx")?xn="xlsx":Yn.includes("csv")?xn="csv":Yn.includes("zip")&&(xn="zip");const Cn=q.label||q.text||q.tooltip||"Export";let Dn=kt||`${Cn}_${new Date().toISOString().slice(0,10)}.${xn}`;xn==="txt"&&Dn.toLowerCase().endsWith(".bin")&&(Dn=Dn.replace(/\.bin$/i,".txt")),Mt.setAttribute("download",Dn),document.body.appendChild(Mt),Mt.click(),Mt.remove(),window.URL.revokeObjectURL(Ve),vt.update(de,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3}),Un(),o("action",{action:q.action||"success",row:ie});return}const $e=Be?.status===!0,Xe=Be?.message||($e?d.value==="id"?"Sukses":"Success":d.value==="id"?"Gagal":"Failed");vt.update(de,{render:Xe,type:$e?"success":"error",isLoading:!1,autoClose:$e?2e3:5e3}),$e&&(Un(),o("action",{action:q.action||"success",row:ie}))}).catch(Be=>{console.error("Action Failed",Be),vt.update(de,{render:Be.message||"Action failed",type:"error",isLoading:!1,autoClose:5e3})}).finally(()=>{X.value=!1})},ku=(q,ie,te)=>{if(console.log("[DataTable][executeRowAction] Button:",q,"route:",q.route,"keyRedirect:",q.keyRedirect,"targetBehavior:",q.targetBehavior,"path:",q.path),i.dummyMode){if(q.triggerNavigation){console.log("[DataTable][executeRowAction] triggerNavigation detected in dummy mode, emitting action event"),o("action",{action:q.action,row:ie,rowIndex:te});return}ae.value=q,ve.value=ie,be.value=null,Object.keys(_e).forEach(fe=>delete _e[fe]),hm(q,ie),$.value=!0;return}if(q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)u1(q,ie);else{const fe=os(q);fe?.apiUrl?bm(q,ie,fe):o("action",{action:q.action,row:ie,rowIndex:te})}},na=()=>{if(D.value){const{button:q,row:ie}=D.value;Cu(),ie===null?_u({...q,requireConfirm:!1}):xc({...q,requireConfirm:!1},ie)}},Nb=(q,ie)=>{let te=ie?.model;if(!te&&ie?.keyParam&&ie.keyParam.length>0){const me=ie.keyParam[0];typeof me=="string"?te=me:typeof me=="object"&&me!==null&&(te=Object.keys(me)[0])}if(te)return te;const fe=wb();if(fe)return fe;const pe=(q.fieldActionGlobal||q.fieldActionCustom||q.field||[]).find(me=>{const Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(me.component);return/^(id|ids|idAuditTrail|idAppRequest)$/i.test(me.model)&&!Be});return pe?pe.model:"ids"},Cc=(q,ie,te)=>{let fe={..._e};const de=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;if(ve.value){const pe=Zo.value,me=ve.value[pe];fe[te]||(/id$|idAppRequest|idSlikLogin/i.test(te)||ie?.model?fe[te]=me:fe[te]=[me])}else fe[te]||(fe[te]=zn.value||[]);if(de&&typeof de=="object"){const pe={},me=Object.keys(de),Be=(q.fieldActionCustom||q.fieldActionGlobal||q.fields||[]).map(Xe=>Xe.model||Xe.key);[...new Set([...Be,te])].forEach(Xe=>{Xe&&!me.includes(Xe)&&fe[Xe]!==void 0&&(pe[Xe]=fe[Xe])}),Object.entries(de).forEach(([Xe,et])=>{if(typeof et=="string"){const kt=Kt(fe,Xe)??(ve.value?Kt(ve.value,Xe):void 0);if(kt!==void 0){let it=kt;kt&&typeof kt=="object"&&!Array.isArray(kt)&&/id|code|idSlik|idOperator|idSupervisor/i.test(et)&&(it=kt.id??kt.code??kt.value??kt),pe[et]=/id$|idAppRequest|idSlikLogin/i.test(et)&&Array.isArray(it)?it[0]:it}}}),fe=pe}return fe},so=(q,ie,te)=>{if(l?.resolveKeyParams&&Array.isArray(ie?.keyParam)){const me=l.resolveKeyParams(ie.keyParam);console.log("[DataTable][handleApiSave] Resolved keyParams:",me),Object.assign(te,me)}const fe=vt.loading(d.value==="id"?"Memproses...":"Processing..."),de=ie.responseType==="blob"||ie.responseType==="arraybuffer"||ie.accept&&!ie.accept.includes("json")||ie.apiUrl&&(ie.apiUrl.includes("/export")||ie.apiUrl.includes("/download"))||q.actionType==="EXPORT"||q.permission==="EXPORT",pe={...ie.config||{}};ie.accept&&(pe.headers||(pe.headers={}),pe.headers.Accept=ie.accept,pe.headers.accept=ie.accept),de&&(pe.responseType=ie.responseType||"blob"),c(ie.apiUrl,ie.apiMethod||"POST",te,pe).then(me=>{if(de&&(me instanceof Blob||me?.constructor?.name==="Blob"||me?.size!==void 0||me?.data instanceof Blob||me?.data?.constructor?.name==="Blob"||me?.data?.size!==void 0||me?.data instanceof ArrayBuffer)){const{blob:Xe,filename:et}=gm(me),kt=Xe instanceof Blob?Xe:new Blob([Xe],{type:ie.accept||"application/octet-stream"});if(kt.type==="application/json"){const Dn=new FileReader;Dn.onload=()=>{try{const as=JSON.parse(Dn.result).message||(d.value==="id"?"Gagal mengunduh file":"Failed to download file");vt.update(fe,{render:as,type:"error",isLoading:!1,autoClose:5e3})}catch{const as=window.URL.createObjectURL(kt),Wi=document.createElement("a");Wi.href=as;const yr=q.label||q.text||q.tooltip||"Export",nl=et||`${yr}_${new Date().toISOString().slice(0,10)}.pdf`;Wi.setAttribute("download",nl),document.body.appendChild(Wi),Wi.click(),Wi.remove(),window.URL.revokeObjectURL(as),vt.update(fe,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3})}},Dn.readAsText(kt);return}const it=window.URL.createObjectURL(kt),Ve=document.createElement("a");Ve.href=it;let Mt="txt";const xn=(ie.accept||"").toLowerCase(),ln=(ie.apiUrl||"").toLowerCase();_e?.format?Mt=String(_e.format).toLowerCase():te?.format?Mt=String(te.format).toLowerCase():xn.includes("pdf")?Mt="pdf":xn.includes("excel")||xn.includes("sheet")||xn.includes("spreadsheet")||xn.includes("xlsx")?Mt="xlsx":xn.includes("csv")?Mt="csv":xn.includes("zip")?Mt="zip":ln.includes("pdf")?Mt="pdf":ln.includes("excel")||ln.includes("xlsx")?Mt="xlsx":ln.includes("csv")?Mt="csv":ln.includes("zip")&&(Mt="zip");const Yn=q.label||q.text||q.tooltip||"Export";let Cn=et||`${Yn}_${new Date().toISOString().slice(0,10)}.${Mt}`;Mt==="txt"&&Cn.toLowerCase().endsWith(".bin")&&(Cn=Cn.replace(/\.bin$/i,".txt")),Ve.setAttribute("download",Cn),document.body.appendChild(Ve),Ve.click(),Ve.remove(),window.URL.revokeObjectURL(it),vt.update(fe,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3}),$.value=!1,ve.value||(zn.value=[]),ss.value="",Un(),o("action",{action:"success",row:null}),xu(q);return}const Be=me?.status===!0,$e=me?.message||(Be?d.value==="id"?"Sukses":"Success":d.value==="id"?"Gagal":"Failed");vt.update(fe,{render:$e,type:Be?"success":"error",isLoading:!1,autoClose:Be?2e3:5e3}),Be&&($.value=!1,ve.value||(zn.value=[]),ss.value="",Un(),o("action",{action:"success",row:null}),xu(q))}).catch(me=>{console.error("Action Failed",me),vt.update(fe,{render:me.message||"Action failed",type:"error",isLoading:!1,autoClose:5e3})})},xu=q=>{const ie=q?.routeBack||q?.pathBack||Y.value?.routeBack||Y.value?.pathBack;ie&&M.push(ie)},Mb=(q,ie)=>{const te={..._e};if(ve.value){const fe=i.tableConfig?.modelDatatable||Y.value?.modelDatatable||q.modelDatatable;o("action",{action:q.propsActionGlobal?.key||q.key||ie,row:te,originalRow:ve.value,rowIndex:be.value,isLocalSave:!0,actionType:"UPDATE",modelDatatable:fe})}else{const fe=Y.value?.modelDatatable||i.apiModule||q.modelDatatable;o("action",{action:q.propsActionGlobal?.key||q.key||ie,row:te,selection:zn.value,isLocalSave:!0,actionType:"CREATE",modelDatatable:fe})}$.value=!1,ve.value||(zn.value=[]),xu(q)},h1=()=>{if(!ae.value)return;let q=!0;if(Object.keys(Oe).forEach(Be=>delete Oe[Be]),(Je.value||[]).forEach(Be=>{if(Be.isHidden||Ae(Be)||!ze(Be))return;const $e=_e[Be.model],Xe=pt(Be,$e,_e);Xe&&(Oe[Be.model]=Xe,q=!1)}),!q){console.warn("[DataTable] Custom action form validation failed:",JSON.parse(JSON.stringify(Oe)));return}const te=ae.value,fe=os(te),de=(te.actionType||te.permission||"").toLowerCase(),pe=!!(te.endpointDialogActionSave?.apiUrl||te.propsActionGlobal?.endpointDialogActionSave?.apiUrl);if(fe?.apiUrl&&(fe.apiMethod?.toUpperCase()!=="GET"||pe)){if(ro(fe))return;const Be=Nb(te,fe),$e=Cc(te,fe,Be);so(te,fe,$e)}else Mb(te,de)},ym=q=>{const ie=_e[q];ie&&KR(String(ie)).then(()=>{vt.success(h("datatable.copiedSuccess"),{autoClose:2e3,theme:"dark",pauseOnHover:!1})}).catch(te=>{console.error("Failed to copy",te)})},Cu=()=>{ne.value=!1,D.value=null},m1=r.computed(()=>D.value?D.value.button.confirmTitle||h("common.confirm"):""),p1=r.computed(()=>D.value?D.value.button.confirmMessage||h("common.confirmMessage"):"");t({fetchData:Un,filters:N,resetFilters:fm,handleRefresh:vu,currentPage:W,currentPerPage:J});const ss=r.ref(""),Ib=q=>{if(!q&&!i.apiParams)return"";const ie=q?.endpoint||q?.endpointTable||q?.endpointGlobal||{};return JSON.stringify({url:ie.apiUrl||q?.apiUrl||i.apiUrl,module:ie.apiModule||q?.apiModule||i.apiModule,action:ie.apiAction||q?.apiAction||i.apiAction,method:ie.apiMethod||q?.apiMethod||i.apiMethod,params:q?.apiParams||i.apiParams,socket:ie.socket||q?.socketEndpoint||i.socketEndpoint,socketParams:q?.socketParams||i.socketParams})};r.watch(()=>i.tableConfig,()=>{if(i.tableConfig){Vr();const q=Ib(i.tableConfig);q!==ss.value&&(!i.controlled&&Pt.value?(ss.value=q,console.log("[DataTable] Triggering internal auto-fetch due to config change."),yu()):i.controlled&&(ss.value=q,console.log("[DataTable] Skipping internal fetch (Controlled Mode).")))}},{deep:!0,immediate:!0});const ao=r.computed(()=>d.value==="kr"||d.value==="ko"?Y.value?.titleKR||Y.value?.titleEN||Y.value?.titleID||"":d.value==="id"?Y.value?.titleID||"":Y.value?.titleEN||Y.value?.titleID||"");r.watch(()=>i.apiModule,()=>{Pt.value&&Un()});const ia=q=>{if(!q||W.value!==1)return;const ie=Array.isArray(q)?q:q?.data||q?.items||q?.list||q?.rows||q?.result;if(ie!=null&&!Array.isArray(ie))return;const te=Array.isArray(ie)?ie.length:0,fe=q?.totalData??q?.total??q?.count??te;if(te>0&&te<J.value&&fe>te){const de=se.value&&se.value.length>0?[...se.value]:[...i.data||[]];if(de.length>0){const pe=Zo.value||"id",me=it=>{if(!it||typeof it!="object")return null;const Ve=it[pe]??it.id??it.idAppRequest??it.idDistribution??it.appDistributionId??it._id??it.noRefCounter;return Ve!=null?String(Ve):null},Be=new Map;ie.forEach(it=>{const Ve=me(it);Ve&&Be.set(Ve,it)});let $e=!1;const Xe=de.map(it=>{const Ve=me(it);return Ve&&Be.has(Ve)?($e=!0,{...it,...Be.get(Ve)}):it}),et=new Set;de.forEach(it=>{const Ve=me(it);Ve&&et.add(Ve)});const kt=ie.filter(it=>{const Ve=me(it);return Ve&&!et.has(Ve)});console.log("[handleSocketUpdate] Smart Patch executed:",{currentListLength:de.length,socketItemCount:ie.length,matchedUpdates:$e,newItemsFound:kt.length}),kt.length>0?(se.value=[...kt,...Xe].slice(0,J.value),$e=!0):$e&&(se.value=Xe),$e&&(_.value=!0),fe!=null&&(Z.value=fe)}return}um(q)};return r.watch(()=>Ui.value,(q,ie)=>{!C||!E||(ie&&E(ie,ia),q&&(T&&T(),C(q,ia),R.value&&k&&k(q,qt.value)))},{immediate:!0}),r.watch(()=>R.value,q=>{q&&Ui.value&&k&&k(Ui.value,qt.value)}),r.watch(()=>i.socketParams,()=>{kn.value&&(R.value&&Ui.value&&k&&k(Ui.value,qt.value),Un())},{deep:!0}),r.watch(()=>i.apiParams,(q,ie)=>{JSON.stringify(q)!==JSON.stringify(ie)&&Pt.value&&yu()},{deep:!0}),r.watch(()=>i.page,q=>{q!==void 0&&q!==W.value&&(W.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un())}),r.watch(()=>i.perPage,q=>{q!==void 0&&q!==J.value&&(J.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un())}),r.watch(()=>i.startIndex,q=>{if(q!==void 0){const ie=Math.floor((q-1)/J.value)+1;ie!==W.value&&(W.value=ie,Pt.value&&Un())}}),r.watch(()=>ee.value,q=>{ts.value},{deep:!0}),r.onMounted(()=>{if(Vr(),Pt.value&&!i.controlled){const q=Ib(Y.value||i.tableConfig);q!==ss.value&&(ss.value=q,X.value=!0,Un())}}),(q,ie)=>(r.openBlock(),r.createElementBlock("div",x0e,[gc(Y.value?.isHidden)?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",C0e,[e.nested&&ao.value?(r.openBlock(),r.createElementBlock("div",E0e,[ie[9]||(ie[9]=r.createElementVNode("div",{class:"h-4 w-1 bg-white/50 rounded-full"},null,-1)),r.createElementVNode("span",S0e,r.toDisplayString(ao.value),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",A0e,[!e.nested||e.dummyMode||j.value?(r.openBlock(),r.createElementBlock("div",T0e,[r.createElementVNode("div",P0e,[r.createVNode(r.unref(Ee.Search),{class:"absolute left-2.5 top-2.5 h-4 w-4 text-neutral-500 dark:text-neutral-400"}),r.createVNode(r.unref(i0e),{modelValue:B.value,"onUpdate:modelValue":ie[0]||(ie[0]=te=>B.value=te),placeholder:h("common.searchPlaceholder"),style:{"padding-left":"2.25rem !important"},class:"h-9 bg-white/95 dark:bg-zinc-800/95 border-white/30 dark:border-neutral-700/50 text-neutral-900 dark:text-neutral-100 placeholder:text-neutral-500 dark:placeholder:text-neutral-400",onKeyup:r.withKeys(bu,["enter"])},null,8,["modelValue","placeholder"])]),H.value.length>0||q.$slots["filter-form"]?(r.openBlock(),r.createElementBlock("div",B0e,[r.createVNode(Vge,{title:y.value,description:v.value},{trigger:r.withCtx(()=>[r.createVNode(Tt,{variant:"secondary",icon:"SlidersHorizontal",tooltip:h("common.advanceSearch"),class:"gap-2 h-9 w-full sm:w-auto justify-center bg-white/95 dark:bg-zinc-800/95 text-neutral-700 dark:text-neutral-300 hover:bg-zinc-50 dark:hover:bg-zinc-800 border border-white/30 dark:border-neutral-700/50 shadow-sm backdrop-blur-sm text-xs font-medium"},null,8,["tooltip"])]),default:r.withCtx(()=>[r.createElementVNode("div",D0e,[r.renderSlot(q.$slots,"filter-form",{filters:N.value},()=>[H.value.length>0?(r.openBlock(),r.createElementBlock("div",N0e,[r.createElementVNode("div",M0e,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(oe.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[r.unref(Jt)(te)?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(ru)(te,"1"))},[r.createVNode(n0e,{field:te,modelValue:N.value[te.model],"onUpdate:modelValue":de=>N.value[te.model]=de,disabled:r.unref(Qt)(te),required:r.unref(bn)(te),readonly:r.unref(Vt)(te),options:r.unref(ou)(te),"dynamic-labels":r.unref(_n)(te),"dynamic-length":r.unref(Qs)(te),baseUrl:O.value},null,8,["field","modelValue","onUpdate:modelValue","disabled","required","readonly","options","dynamic-labels","dynamic-length","baseUrl"])],2)):r.createCommentVNode("",!0)],64))),128))])])):r.createCommentVNode("",!0)]),H.value.length>0||q.$slots["filter-form"]?(r.openBlock(),r.createElementBlock("div",I0e,[r.createElementVNode("div",R0e,[r.createVNode(Tt,{variant:"outline",icon:"RefreshCw",text:h("common.reset"),disabled:wt.value,onClick:fm,class:"w-full gap-2"},null,8,["text","disabled"]),r.createVNode(Tt,{variant:"default",icon:"Search",text:h("common.search"),disabled:vb.value,onClick:xb,class:"w-full gap-2"},null,8,["text","disabled"])])])):r.createCommentVNode("",!0)])]),_:3},8,["title","description"])])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["flex items-center gap-2 flex-wrap",{"ml-auto":e.nested}])},[(!e.nested||e.dummyMode||K.value)&&Pt.value?(r.openBlock(),r.createBlock(Tt,{key:0,variant:"secondary",icon:"RefreshCw",text:h("common.refresh"),tooltip:h("common.refresh"),class:"gap-2 h-9 bg-white/95 dark:bg-zinc-800/95 text-neutral-700 dark:text-neutral-300 hover:bg-white dark:hover:bg-zinc-800 border border-white/30 dark:border-neutral-700/50 shadow-sm backdrop-blur-sm text-xs font-medium",onClick:vu,disabled:wt.value},{icon:r.withCtx(()=>[r.createVNode(r.unref(Ee.RefreshCw),{class:r.normalizeClass(["w-3.5 h-3.5",{"animate-spin":wt.value}])},null,8,["class"])]),_:1},8,["text","tooltip","disabled"])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ts.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[te.type==="BUTTONGROUP"||te.actionType==="BUTTONGROUP"||te.propsActionGlobal&&te.propsActionGlobal.type==="BUTTONGROUP"||te.buttons&&te.buttons.length||te.propsCustom&&te.propsCustom.length?(r.openBlock(),r.createBlock(da,{key:0,text:te.label,icon:te.icon,"label-k-r":te.labelKR,"label-e-n":te.labelEN,"label-i-d":te.labelID||te.label,variant:te.variant,"bg-color":te.bgColor,"text-color":te.textColor,"border-style":te.borderStyle||"none","border-color":te.borderColor,rounded:te.rounded||"md",buttons:te.buttons||te.propsCustom||te.propsActionGlobal&&(te.propsActionGlobal.buttons||te.propsActionGlobal.propsCustom)||[],"menu-align":"right",onAction:ie[1]||(ie[1]=de=>_u(de)),onButtonClick:ie[2]||(ie[2]=de=>_u(de))},null,8,["text","icon","label-k-r","label-e-n","label-i-d","variant","bg-color","text-color","border-style","border-color","rounded","buttons"])):(r.openBlock(),r.createBlock(Tt,{key:1,icon:te.icon,text:te.label,tooltip:te.tooltip,variant:te.variant,"bg-color":te.bgColor,"text-color":te.textColor,"border-style":te.borderStyle||"none","border-color":te.borderColor,rounded:te.rounded||"md",class:r.normalizeClass(["gap-2 h-9 shadow-lg shadow-primary-500/20 text-xs font-medium",{"border-none":!te.borderStyle||te.borderStyle==="none"}]),onClick:de=>_u(te)},null,8,["icon","text","tooltip","variant","bg-color","text-color","border-style","border-color","rounded","class","onClick"]))],64))),128)),r.renderSlot(q.$slots,"header-actions")],2)])])),r.createElementVNode("div",O0e,[wt.value?(r.openBlock(),r.createElementBlock("div",L0e,[...ie[10]||(ie[10]=[r.createElementVNode("div",{class:"h-full bg-primary animate-progress-shimmer"},null,-1)])])):r.createCommentVNode("",!0),r.createElementVNode("table",F0e,[r.createElementVNode("thead",$0e,[r.createElementVNode("tr",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,te=>(r.openBlock(),r.createElementBlock("th",{key:te.key,class:r.normalizeClass([te.align?`text-${te.align.toLowerCase()}`:"text-left",te.sortable?"cursor-pointer select-none":"","px-3 py-2 text-xs font-black text-white dark:text-neutral-100 uppercase tracking-wider transition-colors duration-150"]),style:r.normalizeStyle(te.width?{width:te.width}:{}),onClick:fe=>te.sortable&&kc(te.key)},[["CHECKBOX","checkbox"].includes(te.type??"")&&!gc(te.isHidden)?(r.openBlock(),r.createElementBlock("div",j0e,[r.createElementVNode("input",{type:"checkbox",class:"h-4 w-4 rounded border-white/30 bg-transparent text-white focus:ring-offset-primary-700 focus:ring-white cursor-pointer accent-primary-500",checked:_b.value,indeterminate:kb.value,onChange:ie[3]||(ie[3]=fe=>au(fe.target.checked)),onClick:ie[4]||(ie[4]=r.withModifiers(()=>{},["stop"]))},null,40,U0e)])):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex items-center gap-2 w-full",sm(te.align)])},[r.createElementVNode("span",null,r.toDisplayString(te.label),1)],2))],14,z0e))),128)),Vs.value?(r.openBlock(),r.createElementBlock("th",W0e,[r.createElementVNode("div",H0e,r.toDisplayString(h("common.actions")),1)])):r.createCommentVNode("",!0)])]),r.createElementVNode("tbody",q0e,[wt.value&&se.value.length===0?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(oo.value.length>0?oo.value.length:Math.max(J.value,5),te=>(r.openBlock(),r.createElementBlock("tr",{key:`skeleton-${te}`},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,fe=>(r.openBlock(),r.createElementBlock("td",{key:fe.key,class:r.normalizeClass([fe.align?`text-${fe.align.toLowerCase()}`:"text-left","px-3 py-3"])},[r.createElementVNode("div",{class:r.normalizeClass(["animate-shimmer rounded-md",[["badge","BADGE"].includes(fe.type??"")||fe.condition?"h-6 w-24 rounded-full":"h-5 w-full max-w-[80%]",fe.align?.toLowerCase()==="center"?"mx-auto":"",fe.align?.toLowerCase()==="right"?"ml-auto":""]])},null,2)],2))),128)),Vs.value?(r.openBlock(),r.createElementBlock("td",K0e,[...ie[11]||(ie[11]=[r.createElementVNode("div",{class:"flex items-center justify-center gap-1.5"},[r.createElementVNode("div",{class:"w-8 h-8 bg-zinc-200/50 dark:bg-zinc-800/50 rounded-lg animate-pulse"}),r.createElementVNode("div",{class:"w-8 h-8 bg-zinc-200/50 dark:bg-zinc-800/50 rounded-lg animate-pulse delay-75"})],-1)])])):r.createCommentVNode("",!0)]))),128)):oo.value.length===0?(r.openBlock(),r.createElementBlock("tr",G0e,[r.createElementVNode("td",{colspan:ci.value.length+(Vs.value?1:0),class:"text-center py-16"},[r.createElementVNode("div",Z0e,[r.createVNode(r.unref(GI.Vue3Lottie),{animationData:r.unref(k0e),height:200,width:200},null,8,["animationData"]),r.createElementVNode("div",null,[r.createElementVNode("p",X0e,r.toDisplayString(cm.value?h("dataTable.noSearchResults"):h("common.noData")),1),r.createElementVNode("p",J0e,r.toDisplayString(cm.value?h("dataTable.tryChangingKeywords"):h("common.noData")),1)])])],8,Y0e)])):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:2},r.renderList(oo.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[r.createElementVNode("tr",{class:r.normalizeClass(["hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors duration-150",{"opacity-50 pointer-events-none select-none grayscale-[30%]":wt.value}])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,de=>(r.openBlock(),r.createElementBlock("td",{key:de.key,class:r.normalizeClass([de.align?`text-${de.align.toLowerCase()}`:"text-left","px-3 py-0.5 text-sm text-neutral-900 dark:text-neutral-100"])},[r.renderSlot(q.$slots,`cell-${de.key}`,{row:te,value:Kt(te,de.key)},()=>[["CHECKBOX","checkbox"].includes(de.type??"")&&!gc(de.isHidden)?(r.openBlock(),r.createElementBlock("div",Q0e,[r.createElementVNode("input",{type:"checkbox",class:"h-4 w-4 rounded border-neutral-300 dark:border-neutral-700 bg-white dark:bg-zinc-800 text-primary-600 focus:ring-primary-500 cursor-pointer",checked:n1(te),onChange:pe=>i1(te,pe.target.checked),onClick:ie[5]||(ie[5]=r.withModifiers(()=>{},["stop"]))},null,40,V0e)])):de.type==="badge"||de.type==="BADGE"||de.custom?.type==="badge"||de.custom?.type==="BADGE"||de.condition?(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[de.align?`justify-${de.align.toLowerCase()}`:"justify-start"]])},[r.createVNode(Ld,{variant:$t(te,de).variant,color:$t(te,de).color,class:r.normalizeClass([$t(te,de).class,"whitespace-nowrap truncate max-w-[150px] inline-block"])},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString($t(te,de).label),1)]),_:2},1032,["variant","color","class"])],2)):de.type==="buttongroup"||de.type==="BUTTONGROUP"||de.custom?.type==="buttongroup"||de.custom?.type==="BUTTONGROUP"?(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[de.align?`justify-${de.align.toLowerCase()}`:"justify-start"]])},[r.createVNode(da,{buttons:Co(te,de),size:is(de,"size","sm"),variant:is(de,"variant","default"),"bg-color":is(de,"bgColor",""),"text-color":is(de,"textColor",""),"border-color":is(de,"borderColor",""),"border-style":is(de,"borderStyle","solid"),rounded:is(de,"rounded","md"),orientation:is(de,"orientation","horizontal"),onButtonClick:pe=>xc(pe,te,fe)},null,8,["buttons","size","variant","bg-color","text-color","border-color","border-style","rounded","orientation","onButtonClick"])],2)):de.key==="no"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createTextVNode(r.toDisplayString((W.value-1)*J.value+fe+1),1)],64)):de.type==="HYPERLINK"||de.type==="hyperlink"?(r.openBlock(),r.createElementBlock("a",{key:4,href:Kt(te,de.propsCustom?.[0]?.urlLink)||"#",target:de.propsCustom?.[0]?.target||"_blank",class:"text-blue-600 dark:text-blue-400 hover:underline inline-flex items-center gap-1 font-medium"},[r.createTextVNode(r.toDisplayString(Kt(te,de.key)||"-")+" ",1),de.propsCustom?.[0]?.target==="_blank"?(r.openBlock(),r.createElementBlock("span",tbe,[...ie[12]||(ie[12]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[r.createElementVNode("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),r.createElementVNode("polyline",{points:"15 3 21 3 21 9"}),r.createElementVNode("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1)])])):r.createCommentVNode("",!0)],8,ebe)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:5},[r.createTextVNode(r.toDisplayString(mn(te,de)),1)],64))])],2))),128)),Vs.value?(r.openBlock(),r.createElementBlock("td",nbe,[r.renderSlot(q.$slots,"actions",{row:te,buttons:ea(te),getButtonColor:vc,getIconComponent:am},()=>[ea(te).length>0?(r.openBlock(),r.createElementBlock("div",ibe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ea(te),(de,pe)=>(r.openBlock(),r.createElementBlock("div",{key:pe,class:"group relative"},[de.type==="BUTTONGROUP"||de.actionType==="BUTTONGROUP"||de.propsActionCustom&&de.propsActionCustom.type==="BUTTONGROUP"||de.buttons&&de.buttons.length||de.propsCustom&&de.propsCustom.length?(r.openBlock(),r.createBlock(da,{key:0,text:de.label,icon:hu(de,te),"label-k-r":de.labelKR,"label-e-n":de.labelEN,"label-i-d":de.labelID||de.label,size:de.size||"sm",rounded:de.rounded||"sm","border-style":de.borderStyle||"none","border-color":de.borderColor,variant:de.variant||"ghost","bg-color":vc(de,te),buttons:de.buttons||de.propsCustom||de.propsActionCustom&&(de.propsActionCustom.buttons||de.propsActionCustom.propsCustom)||[],onAction:me=>xc(me,te,fe),onButtonClick:me=>xc(me,te,fe)},null,8,["text","icon","label-k-r","label-e-n","label-i-d","size","rounded","border-style","border-color","variant","bg-color","buttons","onAction","onButtonClick"])):(r.openBlock(),r.createBlock(Tt,{key:1,tooltip:de.tooltip||de.label,icon:hu(de,te),text:de.icon?"":de.label||h("common.actions"),size:de.icon?"icon":"sm",rounded:de.rounded||"sm","border-style":de.borderStyle||"none","border-color":de.borderColor,variant:de.variant||"ghost","bg-color":vc(de,te),onClick:me=>xc(de,te,fe)},null,8,["tooltip","icon","text","size","rounded","border-style","border-color","variant","bg-color","onClick"]))]))),128))])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)],2),q.$slots["expanded-row"]?(r.openBlock(),r.createElementBlock("tr",obe,[r.createElementVNode("td",{colspan:ci.value.length+(Vs.value?1:0),class:"px-0 py-0"},[r.renderSlot(q.$slots,"expanded-row",{row:te,index:fe})],8,rbe)])):r.createCommentVNode("",!0)],64))),128))])])]),oo.value.length>0&&e.showPagination&&ue.value?(r.openBlock(),r.createBlock(H_,{key:1,"total-items":pu.value,"current-page":W.value,"per-page":J.value,loading:wt.value,"onUpdate:page":Eb,"onUpdate:perPage":a1},null,8,["total-items","current-page","per-page","loading"])):r.createCommentVNode("",!0),r.createVNode(Mr,{modelValue:ne.value,"onUpdate:modelValue":ie[6]||(ie[6]=te=>ne.value=te),title:m1.value,icon:"AlertCircle","max-width":nm.value,persistent:!1},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",onClick:Cu,text:h("common.cancel")},null,8,["text"]),r.createVNode(Tt,{variant:"default",onClick:na,text:h("common.yes")},null,8,["text"])]),default:r.withCtx(()=>[r.createElementVNode("div",sbe,[r.createElementVNode("p",abe,r.toDisplayString(p1.value),1)])]),_:1},8,["modelValue","title","max-width"]),r.createVNode(Mr,{modelValue:$.value,"onUpdate:modelValue":ie[8]||(ie[8]=te=>$.value=te),title:bt.value,description:tm.value,icon:"AlertCircle",size:(ae.value?.dialogConfig?.layoutSize||"md").toLowerCase()},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",onClick:ie[7]||(ie[7]=te=>$.value=!1),text:Ge.value?h("common.close"):h("common.cancel")},null,8,["text"]),Ge.value?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Tt,{key:0,variant:"default",onClick:h1,text:h("common.save")},null,8,["text"]))]),default:r.withCtx(()=>[r.createElementVNode("div",{class:r.normalizeClass(["grid gap-4 py-4 px-1 relative",r.unref(De)(ae.value?.dialogConfig?.layoutColumns||ae.value?.layoutColumns)])},[X.value?(r.openBlock(),r.createElementBlock("div",lbe,[r.createElementVNode("div",cbe,[ie[13]||(ie[13]=r.createElementVNode("div",{class:"w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin"},null,-1)),r.createElementVNode("span",dbe,r.toDisplayString(h("datatable.loadingData")),1)])])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(Je.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[!te.isHidden&&!r.unref(Ae)(te)&&r.unref(ze)(te)?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(Ie)(te,ae.value?.dialogConfig?.layoutColumns||ae.value?.layoutColumns))},[r.createElementVNode("div",ube,[r.createVNode(kh,{class:"flex-1 w-full",field:l1(te),"model-value":_e[te.model],"form-data":_e,required:r.unref(Ze)(te),disabled:r.unref(ce)(te),readonly:r.unref(ye)(te),options:r.unref(Ne)(te),"dynamic-labels":r.unref(Ue)(te),"dynamic-length":r.unref(Ce)(te),error:Oe[te.model],"dummy-mode":e.dummyMode,"onUpdate:modelValue":de=>Ct(te,de)},null,8,["field","model-value","form-data","required","disabled","readonly","options","dynamic-labels","dynamic-length","error","dummy-mode","onUpdate:modelValue"]),te.isCopyable||te.props?.isCopyable||ae.value?.action==="showToken"||ae.value?.action==="copyToken"?(r.openBlock(),r.createBlock(Tt,{key:0,icon:"Copy",variant:"outline",class:"h-10 w-10 p-0 flex-shrink-0",tooltip:h("common.copy"),onClick:de=>ym(te.model)},null,8,["tooltip","onClick"])):r.createCommentVNode("",!0)])],2)):r.createCommentVNode("",!0)],64))),128))],2)]),_:1},8,["modelValue","title","description","size"])]))}}),fbe={class:"back-label"},hbe=In(r.defineComponent({__name:"NavigationBackButton",props:{config:{default:null},locale:{default:"en"}},emits:["click"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>n.config?n.locale==="kr"||n.locale==="ko"?n.config.labelKR||n.config.labelEN||"뒤로":n.locale==="id"?n.config.labelID||n.config.labelEN||"Kembali":n.config.labelEN||"Back":n.locale==="kr"||n.locale==="ko"?"뒤로":n.locale==="id"?"Kembali":"Back"),s=r.computed(()=>Ee.ArrowLeft),a=()=>{i("click")};return(l,c)=>(r.openBlock(),r.createElementBlock("button",{type:"button",class:"navigation-back-button",onClick:a},[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(s.value),{class:"back-icon"})),r.createElementVNode("span",fbe,r.toDisplayString(o.value),1)]))}}),[["__scopeId","data-v-44ccdfe5"]]),mbe={class:"dynamic-table-section-wrapper"},pbe={key:0,class:"floating-back-button"},gbe=In(r.defineComponent({__name:"DynamicTableSection",props:{section:{},dummyMode:{type:Boolean}},emits:["navigate"],setup(e,{emit:t}){const n=e,i=r.inject("dynamicFormContext",{}),{resolveSectionLabels:o,tableRows:s=()=>[],handleDataTableAction:a=()=>{},resolvedBaseUrl:l="",permissionBase:c="",userPermissions:d=null,checkPermission:f=()=>!0,sectionLoading:h={},tokenCores:p=[],selectedTokenCore:g=null,sectionPagination:y={},fetchSectionData:v=async()=>{},navigation:w=null,locale:C="en"}=i,E=r.computed(()=>{const S=i.resolvedBaseUrl;return typeof S=="object"&&S!==null&&"value"in S?S.value:S});r.computed(()=>{const S=xt(n.section),O=w?.hasHistory,z=w?.currentContext;return O&&z===S}),r.watchEffect(()=>{xt(n.section)});const k=(S,O)=>{const z=O?.action;let M=null;if(S?.headers){for(const B of S.headers)if(B.custom?.actionCustom&&(M=B.custom.actionCustom.find(W=>W.key===z||W.id===z),M))break}if(M?.triggerNavigation){if(!w||typeof w.navigateTo!="function")return;const B=n.section?.propsTable?.modelKey,J={...B?{[B]:O.row}:{...O.row},_rowIndex:O.rowIndex??0};w.navigateTo(M.triggerNavigation,J);return}a(S,O)},T=S=>{const O=xt(n.section);if(y&&y[O]){y[O].filters=S?{...S}:{},y[O].page=1;const z=n.section?.propsTable?.endpointTable;z?.apiUrl&&Y2(O,z.apiUrl,y[O])}},R=async S=>{const O=xt(n.section);y&&y[O]&&(y[O].page=S,await v(O,n.section))},I=async S=>{const O=xt(n.section);y&&y[O]&&(y[O].page=1,y[O].perPage=S,await v(O,n.section))},P=async()=>{const S=xt(n.section);y&&y[S]&&(y[S].page=1),await v(S,n.section)};return(S,O)=>(r.openBlock(),r.createElementBlock("div",mbe,[r.unref(w)?.hasHistory?.value&&r.unref(w)?.currentContext?.value===r.unref(xt)(e.section)?(r.openBlock(),r.createElementBlock("div",pbe,[r.createVNode(hbe,{config:r.unref(w).getCurrentBackButton(),locale:r.unref(C),onClick:O[0]||(O[0]=z=>r.unref(w).navigateBack())},null,8,["config","locale"])])):r.createCommentVNode("",!0),r.createVNode(xr,{border:!0,padding:"",class:r.normalizeClass(["overflow-hidden",{"with-back-button":r.unref(w)?.hasHistory?.value&&r.unref(w)?.currentContext?.value===r.unref(xt)(e.section)}])},{default:r.withCtx(()=>[r.createVNode(xh,{"table-config":e.section.propsTable,data:r.unref(s)(e.section.propsTable),nested:!0,"show-pagination":e.section.propsTable.pagination??!0,"base-url":E.value,"dummy-mode":e.dummyMode,"permission-base":r.unref(c),"user-permissions":r.unref(d),"check-permission":r.unref(f),"token-cores":r.unref(p),"selected-token-core":r.unref(g),loading:r.unref(h)[e.section.key]||r.unref(h)[r.unref(xt)(e.section)],"total-items":r.unref(y)[r.unref(xt)(e.section)]?.totalData,page:r.unref(y)[r.unref(xt)(e.section)]?.page||1,"per-page":r.unref(y)[r.unref(xt)(e.section)]?.perPage||10,filters:r.unref(y)[r.unref(xt)(e.section)]?.filters,controlled:"",onAction:O[1]||(O[1]=z=>k(e.section.propsTable,z)),onNavigate:O[2]||(O[2]=z=>S.$emit("navigate",z)),"onUpdate:page":R,"onUpdate:perPage":I,onRefresh:P,onReset:P,onSearch:T},null,8,["table-config","data","show-pagination","base-url","dummy-mode","permission-base","user-permissions","check-permission","token-cores","selected-token-core","loading","total-items","page","per-page","filters"])]),_:1},8,["class"])]))}}),[["__scopeId","data-v-6d17cb94"]]),bbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-400"},ybe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4 py-2"},vbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-400"},wbe=r.defineComponent({__name:"DynamicFormDialogs",setup(e){const t=r.inject("dynamicFormContext",{}),{confirmDialog:n,t:i,confirmAction:o,tableDialogOpen:s,tableDialogTitle:a,tableDialogIcon:l,tableDialogFields:c,isFieldVisible:d,isFieldHidden:f,tableRowFormData:h,tableDialogViewOnly:p,isFieldRequired:g,isFieldDisabled:y,getFilteredItems:v,tableRowErrors:w,resolveFieldLabels:C,resolveFieldLength:E,resolvedBaseUrl:k,handleTableRowUpdate:T,locale:R,saveTableRow:I,confirmDeleteOpen:P,executeTableDelete:S,tableDialogSize:O}=t,z=r.computed(()=>{const M=r.unref(c);return Array.isArray(M)?M.some(B=>B.component==="DCodePdfViewer"||B.component==="DCodeWorkflowDiagram"):!1});return(M,B)=>(r.openBlock(),r.createElementBlock("div",null,[r.createVNode(Mr,{modelValue:r.unref(n).visible,"onUpdate:modelValue":B[1]||(B[1]=W=>r.unref(n).visible=W),title:r.unref(n).title,icon:"AlertTriangle","max-width":450,persistent:r.unref(n).isBlocking},{actions:r.withCtx(()=>[r.unref(n).showCancel?(r.openBlock(),r.createBlock(Tt,{key:0,variant:"outline",text:r.unref(n).cancelText||r.unref(i)("common.cancel"),onClick:B[0]||(B[0]=W=>r.unref(n).visible=!1)},null,8,["text"])):r.createCommentVNode("",!0),r.createVNode(Tt,{text:r.unref(n).okText||r.unref(i)("common.confirm"),onClick:r.unref(o)},null,8,["text","onClick"])]),default:r.withCtx(()=>[r.createElementVNode("div",bbe,r.toDisplayString(r.unref(n).message),1)]),_:1},8,["modelValue","title","persistent"]),r.createVNode(Mr,{modelValue:r.unref(s),"onUpdate:modelValue":B[3]||(B[3]=W=>r.isRef(s)?s.value=W:null),title:r.unref(a),icon:r.unref(l),size:r.unref(O)},r.createSlots({default:r.withCtx(()=>[r.unref(c).length?(r.openBlock(),r.createElementBlock("div",ybe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(c),W=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:W.key},[r.unref(d)(W,r.unref(h))?r.withDirectives((r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(W.column==="FULL"?"md:col-span-2":"col-span-1")},[r.createVNode(kh,{field:W,"model-value":r.unref(h)[W.model],"form-data":r.unref(h),required:r.unref(p)?!1:r.unref(g)(W,r.unref(h)),disabled:r.unref(p)||r.unref(y)(W,r.unref(h)),"view-only":r.unref(p),options:r.unref(v)(W,r.unref(h)),error:r.unref(p)?void 0:r.unref(w)[W.model],"dynamic-labels":r.unref(C)(W,r.unref(h)),"dynamic-length":r.unref(E)(W,r.unref(h)),"base-url":r.unref(k),"onUpdate:modelValue":J=>r.unref(T)(W.model,J)},null,8,["field","model-value","form-data","required","disabled","view-only","options","error","dynamic-labels","dynamic-length","base-url","onUpdate:modelValue"])],2)),[[r.vShow,!r.unref(f)(W,r.unref(h))]]):r.createCommentVNode("",!0)],64))),128))])):r.createCommentVNode("",!0)]),_:2},[z.value?void 0:{name:"actions",fn:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",text:r.unref(p)?r.unref(R)==="id"?"Tutup":"Close":r.unref(R)==="id"?"Batal":"Cancel",onClick:B[2]||(B[2]=W=>s.value=!1)},null,8,["text"]),r.unref(p)?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Tt,{key:0,text:"Save",onClick:r.unref(I)},null,8,["onClick"]))]),key:"0"}]),1032,["modelValue","title","icon","size"]),r.createVNode(Mr,{modelValue:r.unref(P),"onUpdate:modelValue":B[5]||(B[5]=W=>r.isRef(P)?P.value=W:null),title:r.unref(R)==="id"?"Konfirmasi Hapus":"Confirm Delete",icon:"Trash2","max-width":440},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",text:r.unref(R)==="id"?"Batal":"Cancel",onClick:B[4]||(B[4]=W=>P.value=!1)},null,8,["text"]),r.createVNode(Tt,{variant:"default","bg-color":"danger",icon:"Trash2",text:r.unref(R)==="id"?"Hapus":"Delete",onClick:r.unref(S)},null,8,["text","onClick"])]),default:r.withCtx(()=>[r.createElementVNode("div",vbe,r.toDisplayString(r.unref(R)==="id"?"Apakah Anda yakin ingin menghapus data ini? Tindakan ini tidak dapat dibatalkan.":"Are you sure you want to delete this row? This action cannot be undone."),1)]),_:1},8,["modelValue","title"])]))}}),_be={class:"w-full flex flex-col min-h-0"},kbe={class:"flex-1 space-y-6 overflow-y-auto"},T0=r.defineComponent({__name:"DynamicForm",props:{schema:{},model:{default:()=>({})},isEditMode:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},baseUrl:{default:void 0},selectedTokenCore:{default:null},tokenCores:{default:()=>[]},dummyMode:{type:Boolean,default:!1},router:{default:null},permissionBase:{default:""},userPermissions:{default:null},checkPermission:{type:Function,default:void 0},dynamicForm:{},hideActions:{type:Boolean,default:!1},apiParams:{default:()=>({})}},emits:["submit","cancel","action","navigate","update:model","update:modelValue","success","error","step-change"],setup(e,{expose:t,emit:n}){const i=e,o=n,s=i.dynamicForm||lS(i,o);s&&(s.tableRowFormData||(s.tableRowFormData=r.reactive({}))),r.provide("dynamicFormContext",s);const{activeSchema:a,isSectionVisible:l,isSectionHidden:c,inlineState:d,isActionVisible:f,locale:h,isSubmitting:p,isSubmitDisabled:g,handleGlobalButtonClick:y,handleSubmit:v,fieldLoading:w,navigation:C,getSectionKey:E}=s,k=T=>{s.revision.value;const R=E(T),I=C?.navigationState?.value?.hiddenStates;return I&&R&&typeof I[R]=="boolean"?!I[R]:l(T)};return t({validate:()=>(s.isSubmitted.value=!0,s.validation.validateAll()),isDirty:()=>{const T=s.formData,R=s.originalData;if(!T||!R)return!1;const I=new Set([...Object.keys(T).filter(S=>!S.startsWith("_")),...Object.keys(R).filter(S=>!S.startsWith("_"))]),P=S=>S===void 0||S===""?null:S;for(const S of I)if(JSON.stringify(P(T[S]))!==JSON.stringify(P(R[S])))return!0;return!1},resetDirty:()=>{s.originalData&&s.formData&&Object.assign(s.originalData,JSON.parse(JSON.stringify(s.formData)))}}),(T,R)=>(r.openBlock(),r.createElementBlock("div",_be,[r.createElementVNode("div",kbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(a)?.sections,(I,P)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:P},[I.type?.toUpperCase()==="FORM"&&I.propsForm&&k(I)?r.withDirectives((r.openBlock(),r.createBlock(Kge,{key:0,"dummy-mode":i.dummyMode,section:I,sIdx:Number(P)},null,8,["dummy-mode","section","sIdx"])),[[r.vShow,!r.unref(c)(I)]]):I.type?.toUpperCase()==="TABLE"&&I.propsTable&&k(I)?r.withDirectives((r.openBlock(),r.createBlock(gbe,{key:1,"dummy-mode":i.dummyMode,section:I,onNavigate:R[0]||(R[0]=S=>T.$emit("navigate",S))},null,8,["dummy-mode","section"])),[[r.vShow,!r.unref(c)(I)]]):r.createCommentVNode("",!0)],64))),128))]),!r.unref(d)?.global&&!i.hideActions?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(a)?.ui?.actionsClass||"flex items-center gap-2 flex-wrap pt-4 mt-6 border-t border-neutral-100 dark:border-neutral-800")},[r.unref(a)?.actionGlobal?.length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(r.unref(a).actionGlobal,(I,P)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:P},[I.propsActionGlobal&&r.unref(f)(I)&&(I.propsActionGlobal.type==="BUTTONGROUP"||I.buttons&&I.buttons.length||I.propsActionGlobal.buttons&&I.propsActionGlobal.buttons.length)?(r.openBlock(),r.createBlock(da,{key:0,icon:I.propsActionGlobal.icon,"label-k-r":I.propsActionGlobal.labelKR,"label-e-n":I.propsActionGlobal.labelEN,"label-i-d":I.propsActionGlobal.labelID,"bg-color":I.propsActionGlobal.bgColor?.toLowerCase()||"primary",variant:I.propsActionGlobal.variant?.toLowerCase()||"default","border-style":(I.borderStyle||I.propsActionGlobal.borderStyle)?.toLowerCase(),"border-color":(I.borderColor||I.propsActionGlobal.borderColor)?.toLowerCase(),rounded:(I.rounded||I.propsActionGlobal.rounded)?.toLowerCase(),buttons:I.buttons||I.propsCustom||I.propsActionGlobal.buttons||[],onAction:R[1]||(R[1]=S=>r.unref(y)(S)),onButtonClick:R[2]||(R[2]=S=>r.unref(y)(S))},null,8,["icon","label-k-r","label-e-n","label-i-d","bg-color","variant","border-style","border-color","rounded","buttons"])):I.propsActionGlobal&&r.unref(f)(I)?(r.openBlock(),r.createBlock(Tt,{key:1,icon:I.propsActionGlobal.icon,text:r.unref(h)==="kr"||r.unref(h)==="ko"?I.propsActionGlobal.labelKR||I.propsActionGlobal.labelEN:r.unref(h)==="id"?I.propsActionGlobal.labelID:I.propsActionGlobal.labelEN,"bg-color":I.propsActionGlobal.bgColor?.toLowerCase()||"primary",variant:I.propsActionGlobal.variant?.toLowerCase()||"default","border-style":(I.borderStyle||I.propsActionGlobal.borderStyle)?.toLowerCase(),"border-color":(I.borderColor||I.propsActionGlobal.borderColor)?.toLowerCase(),rounded:(I.rounded||I.propsActionGlobal.rounded)?.toLowerCase(),loading:r.unref(p),disabled:r.unref(g)&&(I.permission==="CREATE"||I.permission==="UPDATE"||I.propsActionGlobal?.key==="submit"),onClick:S=>r.unref(y)(I)},null,8,["icon","text","bg-color","variant","border-style","border-color","rounded","loading","disabled","onClick"])):r.createCommentVNode("",!0)],64))),128)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0),r.createVNode(wbe)]))}}),xbe=r.defineComponent({__name:"Separator",props:{orientation:{default:"horizontal"},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class");return(i,o)=>(r.openBlock(),r.createBlock(r.unref(Et.Separator),r.mergeProps(r.unref(n),{class:r.unref(sn)("shrink-0 bg-border",t.orientation==="horizontal"?"h-px w-full":"w-px h-full",t.class)}),null,16,["class"]))}}),Cbe=["onClick"],Ebe={key:1,class:"mr-2 text-xs font-bold shrink-0 opacity-50"},Sbe={class:"font-semibold text-sm whitespace-normal text-center leading-tight"},Abe={key:1},Tbe={key:0,class:"text-white"},Pbe={key:1},Bbe={key:2},Dbe=["disabled","onClick"],Nbe={key:1,class:"mr-2 text-sm font-bold opacity-70"},Mbe={class:"whitespace-normal text-sm text-center leading-tight"},Ibe={class:"flex flex-col flex-1 min-w-0"},Rbe={class:"rounded-lg border bg-muted/30 px-4 py-3 text-sm text-muted-foreground flex items-center gap-2"},Obe={class:"text-sm text-muted-foreground"},Lbe={class:"px-1"},Fbe=["disabled"],$be=["type","disabled"],zbe=["disabled"],q_=In(r.defineComponent({name:"DCodeWizard",__name:"DCodeWizard",props:{tabs:{},modelValue:{},defaultTab:{default:0},allowTabClick:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},cache:{type:Boolean,default:!0},autoFetchOnMount:{type:Boolean,default:!0},apiOptions:{type:[Object,Function],default:void 0},isVertical:{type:Boolean,default:!1},isWizard:{type:Boolean,default:!1},typeWizard:{default:"icon"},showNavigation:{type:Boolean,default:!0},submitText:{default:"Simpan"},loading:{type:Boolean,default:!1},isSubmit:{type:Boolean,default:!1},beforeNext:{},beforePrev:{}},emits:["update:modelValue","change","loaded","error"],setup(e,{emit:t}){const n=e,i=t,s=(r.inject("externalApi")||{})?.DCodeApi;typeof s!="function"&&console.error("[DCodeWizardTabs] useApi() must expose DCodeApi()");const a=r.ref(n.defaultTab),l=r.computed({get(){if(typeof n.modelValue=="string"){const O=n.tabs?.findIndex(z=>z.key===n.modelValue);if(O!==void 0&&O>=0)return O}return(typeof n.modelValue=="number"?n.modelValue:void 0)??a.value},set(O){if(a.value=O,typeof n.modelValue=="string"){const z=n.tabs?.[O];z?i("update:modelValue",z.key):i("update:modelValue",O)}else i("update:modelValue",O)}}),c=r.computed(()=>n.tabs?.length??0),d=r.computed(()=>n.tabs?.[l.value]);function f(O){return c.value<=0?0:Math.min(Math.max(O,0),c.value-1)}function h(O){return O?typeof O=="string"?_r(O,Ut):O:null}const p=r.reactive({});function g(O){return p[O.key]||(p[O.key]={loaded:!1,loading:!1,data:null,error:null}),p[O.key]}function y(){if(n.apiOptions)return typeof n.apiOptions=="function"?n.apiOptions():n.apiOptions}function v(O){const z=O.endpoint||{};return{apiModule:O.apiModule||z.apiModule,apiAction:O.apiAction||z.apiAction,apiUrl:z.apiUrl,apiMethod:z.apiMethod||"GET",apiParams:O.apiParams}}function w(O){if(n.isWizard||!n.allowTabClick||n.disabled)return!1;const z=n.tabs[O];return!(!z||z.disabled)}async function C(O){if(typeof O.tab.fetchData=="function"){const se=await O.tab.fetchData(),Q=se?.data??se;return Q?.data??Q}const z=v(O.tab);if(!(z.apiModule&&z.apiAction||z.apiUrl))return null;if(typeof s!="function")throw new Error("DCodeApi is not available");const B=y();let W;if(z.apiUrl)W=await s("","",B,{_url:z.apiUrl,_method:z.apiMethod,_data:z.apiParams??void 0});else{const se={...B,...z.apiParams};W=await s(z.apiModule,z.apiAction,se)}const J=W?.data??W;return J?.data??J}async function E(O,{force:z=!1}={}){const M=f(O),B=n.tabs[M];if(!B)return;const W=g(B);if(!(n.cache&&W.loaded&&!z)&&!W.loading){W.loading=!0,W.error=null;try{const J=await C({tabIndex:M,tab:B});W.data=J,W.loaded=!0,i("loaded",{tabIndex:M,tab:B,data:J})}catch(J){const re=typeof J?.message=="string"&&J.message||typeof J=="string"&&J||"Failed to load tab data.";W.error=re,i("error",{tabIndex:M,tab:B,message:re})}finally{W.loading=!1}}}function k(O){const z=f(O);w(z)&&z!==l.value&&(l.value=z)}function T(O=l.value){return E(O,{force:!0})}const R=r.ref(!1),I=r.ref(!1);async function P(){if(n.beforePrev&&d.value){I.value=!0;try{if(!await n.beforePrev(d.value))return}finally{I.value=!1}}const O=f(l.value-1);O!==l.value&&(l.value=O)}async function S(){if(n.beforeNext&&d.value){R.value=!0;try{if(!await n.beforeNext(d.value))return}finally{R.value=!1}}const O=f(l.value+1);O!==l.value&&(l.value=O)}return r.watch(()=>n.tabs,O=>{for(const z of O??[])g(z)},{immediate:!0}),r.watch(()=>l.value,async O=>{const z=n.tabs?.[O];z&&i("change",{tabIndex:O,tab:z}),await E(O)},{immediate:!0}),r.watch(()=>n.autoFetchOnMount,async O=>{O&&await E(l.value)},{immediate:!0}),(O,z)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["w-full rounded-lg border bg-card text-card-foreground shadow-sm",{"flex flex-row":e.isVertical}])},[r.createElementVNode("div",{class:r.normalizeClass(["flex flex-col space-y-1.5 p-6",{"w-64 border-r pr-0":e.isVertical,"pb-2":e.isWizard&&!e.isVertical}])},[r.createElementVNode("div",{class:r.normalizeClass({"mt-4":!e.isVertical||e.isWizard})},[e.isWizard?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["w-full relative flex overflow-visible rounded-lg",e.isVertical?"flex-col gap-2":""])},[e.isVertical?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("div",{key:M.key,class:"relative z-10 box-border flex items-center gap-3 w-full pb-6 last:pb-0"},[r.createElementVNode("div",{class:r.normalizeClass(["w-8 h-8 rounded-full flex shrink-0 items-center justify-center font-bold text-sm border-2 transition-all bg-card",[B<l.value?"border-primary bg-primary text-primary-foreground":B===l.value?"border-primary text-primary ring-2 ring-primary/20":"border-border text-muted-foreground"]])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"w-4 h-4"})):e.typeWizard==="number"||!M.icon&&e.typeWizard!=="none"?(r.openBlock(),r.createElementBlock("span",Abe,[B<l.value?(r.openBlock(),r.createElementBlock("span",Tbe,"✓")):(r.openBlock(),r.createElementBlock("span",Pbe,r.toDisplayString(B+1),1))])):(r.openBlock(),r.createElementBlock("span",Bbe))],2),r.createElementVNode("span",{class:r.normalizeClass(["text-xs font-semibold whitespace-normal px-2 py-1 rounded transition-colors text-left",B===l.value?"text-primary":"text-muted-foreground"])},r.toDisplayString(M.title),3)]))),128)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("div",{key:M.key,onClick:W=>k(B),style:r.normalizeStyle({zIndex:e.tabs.length-B}),class:"relative flex-1 group"},[r.createElementVNode("div",{class:r.normalizeClass(["relative flex items-center justify-center min-h-[3rem] h-auto py-2 px-2 cursor-pointer transition-colors w-full",[B>0?"pl-8":"",B===l.value?"bg-primary text-primary-foreground":B<l.value?"bg-accent text-accent-foreground hover:bg-accent/80":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"]])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"w-4 h-4 mr-2 shrink-0"})):e.typeWizard==="number"?(r.openBlock(),r.createElementBlock("span",Ebe,r.toDisplayString(B+1),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Sbe,r.toDisplayString(M.title),1)],2),c.value>1?(r.openBlock(),r.createElementBlock("svg",{key:0,class:r.normalizeClass(["absolute top-0 -right-[15.5px] w-[16px] h-full transition-colors block z-10",[B===l.value?"fill-primary":B<l.value?"fill-accent":"fill-muted group-hover:fill-muted/80"]]),preserveAspectRatio:"none",viewBox:"0 0 16 48"},[...z[0]||(z[0]=[r.createElementVNode("polygon",{points:"0,0 16,24 0,48"},null,-1)])],2)):r.createCommentVNode("",!0)],12,Cbe))),128))],2)):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex w-full",e.isVertical?"flex-col gap-1":"flex-wrap border-b border-separate"])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("button",{key:M.key,type:"button",disabled:!w(B),onClick:W=>k(B),class:r.normalizeClass(["relative min-h-[3rem] h-auto py-2 flex items-center justify-center gap-2 px-4 transition-all rounded-none focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 border-border",r.unref(sn)("border-b border-r",!e.isVertical&&B===e.tabs.length-1&&"border-r-0",B===l.value?"bg-primary/10 text-primary font-semibold":"bg-transparent text-muted-foreground hover:bg-muted hover:text-foreground",!w(B)&&"opacity-60 cursor-not-allowed",e.isVertical?"w-full justify-start border-r-0":"flex-1")])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"h-4 w-4 shrink-0"})):e.typeWizard==="number"?(r.openBlock(),r.createElementBlock("span",Nbe,r.toDisplayString(B+1),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Mbe,r.toDisplayString(M.title),1)],10,Dbe))),128))],2))],2)],2),e.isVertical?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(r.unref(xbe),{key:0})),r.createElementVNode("div",Ibe,[r.createElementVNode("div",{class:r.normalizeClass(["p-6 flex-1 min-w-0",{"pl-6":e.isVertical}])},[r.createVNode(r.Transition,{name:"wizard-fade",mode:"out-in"},{default:r.withCtx(()=>[(r.openBlock(),r.createElementBlock("div",{key:d.value?.key||l.value,class:"w-full"},[d.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[p[d.value.key]?.loading?r.renderSlot(O.$slots,"loading",{tab:d.value,tabIndex:l.value},()=>[r.createElementVNode("div",Rbe,[r.createVNode(r.unref(Ee.Loader2),{class:"w-4 h-4 animate-spin"}),z[1]||(z[1]=r.createTextVNode(" Loading... ",-1))])],!0,0):r.renderSlot(O.$slots,`tab-${d.value.key}`,{tab:d.value,tabIndex:l.value,data:p[d.value.key]?.data,loaded:p[d.value.key]?.loaded,reload:T},()=>[r.createElementVNode("div",Obe,[z[2]||(z[2]=r.createTextVNode(" Slot ",-1)),r.createElementVNode("code",Lbe,"tab-"+r.toDisplayString(d.value.key),1),z[3]||(z[3]=r.createTextVNode(" belum dibuat. ",-1))])],!0,1)],64)):r.createCommentVNode("",!0)]))]),_:3})],2),e.isWizard&&e.showNavigation?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["flex items-center justify-between p-6 pt-0",{"pl-6":e.isVertical}])},[r.createElementVNode("button",{type:"button",onClick:P,disabled:l.value<=0||I.value||e.loading,class:"relative inline-flex items-center justify-center gap-2 px-5 py-2.5 text-sm font-medium transition-all duration-300 rounded-lg bg-background border border-border text-foreground shadow-sm hover:bg-muted hover:text-foreground hover:-translate-y-0.5 hover:shadow disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-background disabled:hover:text-foreground disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-border focus:ring-offset-2 active:scale-95"},[I.value?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 animate-spin"})):r.createCommentVNode("",!0),z[4]||(z[4]=r.createTextVNode(" Sebelumnya ",-1))],8,Fbe),l.value<c.value-1?(r.openBlock(),r.createElementBlock("button",{key:0,type:e.isSubmit?"submit":"button",onClick:S,disabled:R.value||e.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-primary-foreground transition-all duration-300 rounded-lg shadow-md bg-primary hover:bg-primary/90 hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-primary disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 active:scale-95"},[R.value?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 animate-spin"})):r.createCommentVNode("",!0),z[5]||(z[5]=r.createTextVNode(" Selanjutnya ",-1))],8,$be)):e.isWizard?(r.openBlock(),r.createElementBlock("button",{key:1,type:"submit",disabled:e.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-primary-foreground transition-all duration-300 rounded-lg shadow-md bg-primary hover:bg-primary/90 hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-primary disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 active:scale-95"},[e.loading?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 mr-2 animate-spin"})):r.createCommentVNode("",!0),r.createTextVNode(" "+r.toDisplayString(e.submitText),1)],8,zbe)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-2f317c56"]]),jbe={class:"w-full flex flex-col min-h-0"},Ube={key:0,class:"flex-1 flex flex-col items-center justify-center text-neutral-400 py-16"},Wbe={class:"space-y-4 mt-4 min-h-[300px]"},Hbe={key:0,class:"flex items-center justify-end gap-2 border-b border-neutral-100 dark:border-neutral-800 pb-3 mb-2"},qbe={key:1,class:"flex flex-col items-center justify-center py-16 text-neutral-400"},Kbe={key:3,class:"flex-1 border-2 border-dashed border-neutral-200 dark:border-neutral-700 rounded-xl bg-neutral-50/50 dark:bg-neutral-900/30 flex flex-col items-center justify-center p-8 text-center min-h-[300px]"},Gbe={key:4,class:"flex-1 border-2 border-dashed border-red-200 dark:border-red-800 rounded-xl bg-red-50/50 dark:bg-red-900/10 flex flex-col items-center justify-center p-8 text-center min-h-[300px]"},Ybe={class:"max-w-md space-y-3"},Zbe={class:"text-xs text-red-400 max-w-xs mx-auto"},Xbe={key:2,class:"flex items-center gap-2 flex-wrap pt-4 mt-6 border-t border-neutral-100 dark:border-neutral-800"},Jbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-300 whitespace-pre-line"},Qbe={class:"flex justify-end gap-2 mt-4"},K_=r.defineComponent({__name:"DynamicWizard",props:{schema:{},model:{default:()=>({})},isEditMode:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},selectedTokenCore:{default:null},tokenCores:{default:()=>[]},dummyMode:{type:Boolean,default:!1},router:{default:null},permissionBase:{default:""},userPermissions:{default:null},checkPermission:{type:Function,default:void 0},hideActions:{type:Boolean,default:!1},apiParams:{default:()=>({})}},emits:["submit","cancel","action","update:model","step-change"],setup(e,{emit:t}){const n=e,i=t;let o;try{o=Mn.useI18n().locale}catch{o=r.ref("en")}const{apiUrl:s,DCodeApi:a}=r.inject("externalApi");let l;try{l=n.router||fs.useRouter()}catch{l={back:()=>window?.history?.back(),currentRoute:r.computed(()=>({query:{},params:{},path:""}))}}const c=r.ref(0),d=r.reactive({}),f=r.reactive({}),h=r.reactive({}),p=r.ref({...n.model}),g=r.reactive({}),y=r.ref(!1),v=r.reactive({}),w=r.reactive({visible:!1,title:"",message:"",resolvePromise:null});console.log("[DynamicWizard] props.isEditMode:",n.isEditMode);const C=r.computed(()=>n.schema),E=r.computed(()=>C.value?.isWizard===!1),k=r.computed(()=>{if(!C.value)return[];if(Array.isArray(C.value.propsSteps)&&C.value.propsSteps.length>0)return C.value.propsSteps;if(Array.isArray(C.value.sections)){const j=C.value.sections.find(K=>K?.type?.toUpperCase()==="WIZARD"||K?.propsWizard?.propsSteps);return j?.propsWizard&&Array.isArray(j.propsWizard.propsSteps)?j.propsWizard.propsSteps:C.value.sections}return[]});r.watchEffect(()=>{k.value&&k.value.forEach((j,K)=>{console.log(`[DynamicWizard][STEP-INFO] idx: ${K}, code: ${j.code||j.key}, saveUrl: ${j.endpointSave?.apiUrl}, updateUrl: ${j.endpointUpdate?.apiUrl}`)})});const T=r.computed(()=>{if(typeof n.selectedTokenCore?.address=="string")return n.selectedTokenCore.address;if(C.value?.idTokenCore&&Array.isArray(n.tokenCores)){const j=String(C.value.idTokenCore),K=n.tokenCores.find(U=>String(U.id)===j);if(K?.address)return K.address}}),R=r.computed(()=>{const j=(typeof o=="object"&&"value"in o?o.value:o||"en").toLowerCase();return j.startsWith("en")?"EN":j.startsWith("kr")||j.startsWith("ko")?"KR":"ID"}),I=r.computed(()=>k.value.filter(j=>{const K=j.logic?.visibleRule||j.propsStep?.logic?.visibleRule;if(K==null||K==="")return!0;try{yv();const U={};if(k.value)for(const $ of k.value){const _=$.payload||$.propsStep?.payload;if(_&&typeof _=="object")try{const x=JSON.parse(JSON.stringify(_));Object.entries(x).forEach(([D,N])=>{N&&typeof N=="object"&&!Array.isArray(N)?D in N&&typeof N[D]=="object"&&!Array.isArray(N[D])?U[D]={...U[D]||{},...N[D]}:U[D]={...U[D]||{},...N}:U[D]=N})}catch{}}Object.entries(p.value).forEach(([$,_])=>{_&&typeof _=="object"&&!Array.isArray(_)?$ in _&&typeof _[$]=="object"&&!Array.isArray(_[$])?U[$]={...U[$]||{},..._[$]}:U[$]={...U[$]||{},..._}:U[$]=_}),Object.values(g).forEach($=>{$&&typeof $=="object"&&!Array.isArray($)&&Object.assign(U,$)}),Object.values(U).forEach($=>{$&&typeof $=="object"&&!Array.isArray($)&&Object.entries($).forEach(([_,x])=>{(U[_]===void 0||x!=null)&&(U[_]=x)})}),U._resolveLogicVar=$=>{if(U[$]!==void 0)return U[$];const _=$.split(".");let x=U;for(let N=0;N<_.length&&x!=null;N++)x=x[_[N]];if(x!==void 0)return x;if($.endsWith(".code")||$.endsWith(".id")||$.endsWith(".value")){const N=$.replace(/\.(code|id|value)$/,""),A=U._resolveLogicVar(N);if(A!==void 0)return A}const D=_[_.length-1];if(U[D]!==void 0)return U[D]};const ee=($,_=0)=>{if(!(!$||typeof $!="object"||_>5))for(const[x,D]of Object.entries($))if(typeof D=="number"){const N=new Number(D);N.code=D,N.id=D,N.value=D,$[x]=N}else if(typeof D=="string"){const N=new String(D);N.code=D,N.id=D,N.value=D,$[x]=N}else typeof D=="object"&&!Array.isArray(D)&&ee(D,_+1)};ee(U);let ne;return typeof K=="string"?ne=!!new Function("formData",`return ${K};`)(U):ne=!!tr.apply(K,U),console.log(`[DynamicWizard][visibleRule] step: ${j.code||j.key}, outcome: ${ne}, rule:`,JSON.stringify(K)),ne}catch(U){return console.warn(`[DynamicWizard] Gagal mengevaluasi visibleRule untuk step ${j.key}:`,U),!0}}).map((j,K)=>{const U=`title${R.value}`,ee=`description${R.value}`;return console.log("[DynamicWizard][wizardTabs] mapping step:",j.code||j.key||K,{isEditMode:n.isEditMode,hasEndpointUpdate:!!j.endpointUpdate,endpointUpdateUrl:j.endpointUpdate?.apiUrl,endpointSaveUrl:j.endpointSave?.apiUrl}),{key:j.key||j.propsStep?.key||`step-${K}`,slotName:`tab-${j.key||j.propsStep?.key||`step-${K}`}`,modelKey:j.modelKey||j.propsStep?.modelKey||"",fieldMapping:j.propsStep?.fieldMapping||j.fieldMapping||null,title:j[U]||j.titleEN||j.titleID||j.propsStep?.[U]||j.propsStep?.titleEN||j.propsStep?.titleID||`Step ${K+1}`,description:j[ee]||j.descriptionEN||j.descriptionID||j.propsStep?.[ee]||j.propsStep?.descriptionEN||j.propsStep?.descriptionID||"",icon:j.icon||j.propsStep?.icon||void 0,isSubmit:j.isSubmit||j.propsStep?.isSubmit||!1,endpointActionStepNext:n.isEditMode&&(j.endpointUpdate?.apiUrl||j.propsStep?.endpointUpdate?.apiUrl)?j.endpointUpdate||j.propsStep?.endpointUpdate:j.propsStep?.endpointSave||j.endpointSave||j.propsStep?.endpointActionStepNext||j.endpointActionStepNext,endpointActionStepPrev:j.propsStep?.endpointActionStepPrev||j.endpointActionStepPrev,actionComponent:j.actionComponent||j.propsStep?.actionComponent||[],responseMapping:j.propsStep?.responseMapping||j.responseMapping||{},requireConfirm:j.requireConfirm||j.propsStep?.requireConfirm||!1,requireConfirmAutomation:j.requireConfirmAutomation||j.propsStep?.requireConfirmAutomation||!1,confirmTitleID:j.confirmTitleID||j.propsStep?.confirmTitleID||"",confirmTitleEN:j.confirmTitleEN||j.propsStep?.confirmTitleEN||"",confirmTitleKR:j.confirmTitleKR||j.propsStep?.confirmTitleKR||"",confirmMessageID:j.confirmMessageID||j.propsStep?.confirmMessageID||"",confirmMessageEN:j.confirmMessageEN||j.propsStep?.confirmMessageEN||"",confirmMessageKR:j.confirmMessageKR||j.propsStep?.confirmMessageKR||""}})),P=async j=>{if(!(!j||d[j])){f[j]=!0;try{const K=await s(`/api/auto-layout/form/form-dynamic?code=${j}`,"GET");if(K?.status){const U=Array.isArray(K.data)?K.data[0]:K.data;if(U){const ee=JSON.parse(JSON.stringify(U));E.value||delete ee.actionGlobal,d[j]=ee}}}catch(K){console.error(`[DynamicWizard] Failed to fetch form schema for code: ${j}`,K)}finally{f[j]=!1}}},S=async()=>{if(!k.value||k.value.length===0)return;const j=k.value[0]?.fieldMapping?.formCode;j&&!d[j]&&await P(j);const K=new Set;k.value.slice(1).forEach(U=>{const ee=U.fieldMapping?.formCode;ee&&!d[ee]&&K.add(ee)}),Array.from(K).forEach((U,ee)=>{setTimeout(()=>{P(U)},(ee+1)*300)})},O=j=>j.modelKey?p.value[j.modelKey]||{}:p.value,z=(j,K)=>{if(j.modelKey){const U=p.value[j.modelKey]||{},ee=K&&typeof K=="object"&&j.modelKey in K?K[j.modelKey]:K;p.value={...p.value,[j.modelKey]:{...U,...ee}};const ne=j.fieldMapping?.formCode;ne&&d[ne]&&(d[ne].payload=JSON.parse(JSON.stringify(p.value[j.modelKey])))}else{p.value={...p.value,...K};const U=j.fieldMapping?.formCode;U&&d[U]&&(d[U].payload=JSON.parse(JSON.stringify(p.value)))}i("update:model",p.value)},M=j=>d[j]||null,B=(j,K)=>{K?v[j]=K:delete v[j]},W=async j=>{console.log("[DynamicWizard] handleBeforeNext triggered for tab:",j);const K=j.endpointActionStepNext;console.log("[DynamicWizard] Resolved endpoint configuration:",K);const U=v[j.key],ee=I.value[I.value.length-1]?.key===j.key;if(U&&!U.validate())return console.log("[DynamicWizard] Validation failed"),vt.error(R.value==="ID"?"Mohon lengkapi data wajib isi terlebih dahulu":"Please complete all required fields",{autoClose:3e3}),!1;if(n.dummyMode)return console.log("[DynamicWizard] Dummy mode active"),vt.info(R.value==="ID"?"Simulasi langkah selanjutnya (Dummy Mode)":"Next step simulated (Dummy Mode)",{autoClose:2e3}),!0;const ne=U?.isDirty?U.isDirty():!0;if(console.log("[DynamicWizard] Form dirty check:",{isFormDirty:ne,isEditMode:n.isEditMode,isLastStep:ee,activeForm:U}),!ne&&n.isEditMode&&!ee)return console.log(`[DynamicWizard] Skipping API call for step "${j.titleID||j.key}" because form is not dirty in Edit Mode.`),!0;if(!K?.apiUrl)return console.log("[DynamicWizard] Skipping API call because ep.apiUrl is missing or undefined."),!0;if(j.requireConfirm||j.requireConfirmAutomation){const $=R.value==="KR"?j.confirmTitleKR:R.value==="ID"?j.confirmTitleID:j.confirmTitleEN,_=R.value==="KR"?j.confirmMessageKR:R.value==="ID"?j.confirmMessageID:j.confirmMessageEN;if(w.title=$||(R.value==="ID"?"Konfirmasi":"Confirmation"),w.message=_||(R.value==="ID"?"Apakah Anda yakin ingin melanjutkan?":"Are you sure you want to continue?"),w.visible=!0,!await new Promise(D=>{w.resolvePromise=D}))return!1}try{y.value=!0;const $=j.modelKey?p.value[j.modelKey]||{}:{...p.value};console.log("[nested dynamic][STEP-DATA] Raw stepData for tab:",j.titleID||j.key,JSON.parse(JSON.stringify($)));const _={};Object.values(g).forEach(he=>{he&&typeof he=="object"&&Object.assign(_,he)});let x={};K.fieldMapping&&Object.keys(K.fieldMapping).length>0?(console.log("[nested dynamic][MAPPING-START] Applying fieldMapping rules:",K.fieldMapping),Object.entries(K.fieldMapping).forEach(([he,ge])=>{let xe=he;j.modelKey&&he.startsWith(`${j.modelKey}.`)&&(xe=he.substring(j.modelKey.length+1));const ae=xe.lastIndexOf("."),ve=ae>=0?xe.substring(ae+1):null;let be=We($,xe);if(be==null&&(be=We($,he)),be==null&&ve&&(be=We($,ve)),be==null&&(be=$[xe]??$[he]),be==null&&ve&&(be=$[ve]),(be==null||Array.isArray(be)&&be.length===0)&&xe.includes(".")){const je=xe.indexOf("."),Ge=xe.substring(0,je),Je=xe.substring(je+1),Te=Object.keys($).filter(Se=>Se.startsWith(`${Ge}.`)&&Se.endsWith(`.${Je}`));if(Te.length>0){console.log(`[nested dynamic][INDEXED-KEY] Found indexed keys for "${xe}":`,Te);let Se=!1;if(Te.forEach(Fe=>{const ze=$[Fe];if(Array.isArray(ze)&&ze.length>0&&Array.isArray(ge)&&ge.length>0){const Ze=ge[0];if(typeof Ze=="object"&&Ze!==null){const ce=Object.entries(Ze),ye=ze.map(Ye=>{const mt={};return ce.forEach(([st,De])=>{let Ie=We(Ye,st);if(Ie==null){const Jt=st.lastIndexOf("."),bn=Jt>=0?st.substring(Jt+1):st;Ie=Ye[bn]??Ye[st]}if(Ie==null&&st.includes(".")){const Jt=st.split(".");for(let bn=1;bn<Jt.length;bn++){const Qt=Jt.slice(bn).join("."),Vt=Ye[Qt]??We(Ye,Qt)??void 0;if(Vt!=null){Ie=Vt;break}}}const pt=typeof Ie;Ie!=null&&pt==="object"&&!Array.isArray(Ie)&&(Ie=Ie.id??Ie.code??Ie.value??Ie),Ie!==void 0&&(mt[De]=Ie)}),mt}),Ae=Fe.substring(Ge.length),Ue=Je.includes(".")?Je.substring(Je.lastIndexOf(".")):`.${Je}`,Ce=Ae.replace(new RegExp(`\\.${Je}$`),""),Ne=`${Ge}${Ce}${Ue}`;x[Ne]=ye,Se=!0,console.log(`[nested dynamic][INDEXED-MAPPED] Mapped "${Fe}" -> "${Ne}":`,ye)}}}),Se)return}}if(be==null||Array.isArray(be)&&be.length===0){if(Array.isArray(ge)&&ge.length>0){const je=ge[0];if(typeof je=="object"&&je!==null){const Je=Object.entries(je).map(([Se])=>{const Fe=Se.indexOf(".");return Fe>=0?Se.substring(0,Fe):Se}),Te=Je.length>0?Je[0]:null;if(Te&&Je.every(Se=>Se===Te)){const Se=We($,Te);Array.isArray(Se)&&Se.length>0&&(be=Se,console.log(`[nested dynamic][FALLBACK-SOURCE] Resolved source array for "${he}" via template prefix "${Te}":`,be))}}}if(be==null||Array.isArray(be)&&be.length===0)return}if(Array.isArray(ge)&&ge.length>0){const je=ge[0],Ge=Array.isArray(be)?be:[];if(typeof je=="object"&&je!==null){const Je=Object.entries(je);if(Je.length===1&&(Je[0][1]===xe||he.includes(".")&&Je[0][1]!==xe&&!$[xe])){const[Se,Fe]=Je[0],ze=Ge.map(ce=>{let ye=We(ce,Se);if(ye==null){const Ae=Se.lastIndexOf("."),Ue=Ae>=0?Se.substring(Ae+1):Se;ye=ce[Ue]??ce[Se]}if(ye==null&&Se.includes(".")){const Ae=Se.split(".");for(let Ue=1;Ue<Ae.length;Ue++){const Ce=Ae.slice(Ue).join("."),Ne=ce[Ce]??We(ce,Ce)??void 0;if(Ne!=null){ye=Ne;break}}}if(ye!=null&&typeof ye=="object"&&!Array.isArray(ye)){const Ae=ye;ye=Ae.id??Ae.code??Ae.value??Ae}return ye}).filter(ce=>ce!=null),Ze=Fe||xe;Array.isArray(x[Ze])?x[Ze].push(...ze):x[Ze]=ze,console.log(`[nested dynamic][ARRAY-FLAT] Extracted primitive array for "${xe}" -> "${Ze}":`,x[Ze])}else x[xe]=Ge.map(Se=>{const Fe={};return Je.forEach(([ze,Ze])=>{let ce=We(Se,ze);if(ce==null){const Ue=ze.lastIndexOf("."),Ce=Ue>=0?ze.substring(Ue+1):ze;ce=Se[Ce]??Se[ze]}if(ce==null&&ze.includes(".")){const Ue=ze.split(".");for(let Ce=1;Ce<Ue.length;Ce++){const Ne=Ue.slice(Ce).join("."),Ye=Se[Ne]??We(Se,Ne)??void 0;if(Ye!=null){ce=Ye;break}}}const ye=typeof ce;ce!=null&&ye==="object"&&!Array.isArray(ce)&&(ce=ce.id??ce.code??ce.value??ce),ce!==void 0&&(Fe[Ze]=ce)}),Fe}),console.log(`[nested dynamic][ARRAY-OBJECT] Mapped object array for "${xe}":`,x[xe])}else typeof je=="string"&&(x[je]=Ge,console.log(`[nested dynamic][ARRAY-SIMPLE] Mapped simple array for "${xe}" -> "${je}":`,x[je]));return}const Oe=ge;be&&typeof be=="object"&&!Array.isArray(be)&&(Oe.toLowerCase().endsWith("id")||Oe.toLowerCase().endsWith("_id"))?x[Oe]=be.id!==void 0?be.id:be.value!==void 0?be.value:be:x[Oe]=be,console.log(`[nested dynamic][SIMPLE-FIELD] Mapped field "${xe}" -> "${Oe}":`,x[Oe])})):x={...$};const D=Object.keys(x).filter(he=>he.includes("."));if(D.length>0){console.log("[nested dynamic][CHILD-NESTING-START] Processing child table nesting for dotted keys:",D);for(const he of D){const ge=he.split("."),xe=ge[0],ae=x[xe],ve=x[he];if(Array.isArray(ae)){if(ge.length===3&&!isNaN(Number(ge[1]))){const be=Number(ge[1]),_e=ge[2];ae[be]&&typeof ae[be]=="object"&&(ae[be][_e]=Array.isArray(ve)?ve:[ve],console.log(`[nested dynamic][CHILD-NESTING] Attached indexed child data to "${xe}[${be}].${_e}":`,ae[be][_e]))}else if(ge.length===2){const be=ge[1];if(Array.isArray(ve)&&ve.length>0)for(const _e of ae)_e&&typeof _e=="object"&&(!_e[be]||Array.isArray(_e[be])&&_e[be].length===0)&&(_e[be]=ve,console.log(`[nested dynamic][CHILD-NESTING] Attached flat child data to "${xe}.${be}":`,ve))}}delete x[he]}}const N=re(K.keyParam||[]),A={...x,...N};console.log("[nested dynamic][FINAL-PAYLOAD] Final submit payload:",JSON.parse(JSON.stringify(A)));const H=or(K.apiUrl,T.value),G=await s(H,K.apiMethod||"POST",A),oe=G?.status===!0||G?.success===!0||G?.code===200||G?.code==="00"||G?.status==="SUCCESS";if(oe){const he=j.key||j.id;let ge=G?.data||G?.payload||G;if(Array.isArray(ge)&&ge.length>0&&(ge=ge[0]),g[he]=ge,U?.resetDirty&&U.resetDirty(),ge&&typeof ge=="object"){const xe=["status","success","code","message","error","errorCode","errorMessage"],ae=mf(ge);if(typeof window<"u"&&window.history){const ve=new URL(window.location.href);let be=!1;Object.entries(ae).forEach(([_e,Oe])=>{!xe.includes(_e)&&Oe!==null&&Oe!==void 0&&(typeof Oe=="string"||typeof Oe=="number"||typeof Oe=="boolean")&&ve.searchParams.get(_e)!==String(Oe)&&(ve.searchParams.set(_e,String(Oe)),be=!0)}),be&&window.history.replaceState(window.history.state,"",ve.toString())}}}return oe}catch($){return console.error("[DynamicWizard] Error in handleBeforeNext:",$),!1}finally{y.value=!1}},J=async j=>{if(n.dummyMode)return!0;const K=j.endpointActionStepPrev;if(!K?.apiUrl)return!0;try{const U=or(K.apiUrl,T.value),ee=re(K.keyParam||[]);return await s(U,K.apiMethod||"POST",ee),!0}catch(U){return console.error("[DynamicWizard] Error in handleBeforePrev:",U),!0}},re=j=>{const K={};if(!Array.isArray(j)||j.length===0){const U=l?.currentRoute?.value?.params?.id;return U&&(K.id=U),K}return j.forEach(U=>{if(typeof U=="string"){let ee;if(U.startsWith("$route.")){const ne=U.replace("$route.","");n.apiParams&&n.apiParams[ne]!==void 0&&n.apiParams[ne]!==null?ee=n.apiParams[ne]:ee=l?.currentRoute?.value?.params?.[ne]}else if(U.startsWith("$query.")){const ne=U.replace("$query.","");if(n.apiParams&&n.apiParams[ne]!==void 0&&n.apiParams[ne]!==null)ee=n.apiParams[ne];else{if(typeof window<"u"){const $=new URLSearchParams(window.location.search);$.has(ne)&&(ee=$.get(ne))}ee===void 0&&(ee=l?.currentRoute?.value?.query?.[ne])}}else if(U.startsWith("$value(")){const ne=U.match(/\$value\(([^)]+)\)/);ee=ne?ne[1].replace(/^['"]|['"]$/g,""):void 0}else{if(ee=p.value[U],ee===void 0)for(const ne of Object.keys(p.value)){const $=p.value[ne];if($&&typeof $=="object"&&U in $){ee=$[U];break}}if(ee===void 0)for(const ne of Object.keys(g)){const $=g[ne];if($&&typeof $=="object"&&U in $){ee=$[U];break}}}if(ee!=null&&ee!==""){const ne=U.startsWith("$")&&U.split(".").pop()||U;K[ne]=ee}}else typeof U=="object"&&U!==null&&Object.entries(U).forEach(([ee,ne])=>{const $=ne;let _;if($.startsWith("$route.")){const x=$.replace("$route.","");n.apiParams&&n.apiParams[x]!==void 0&&n.apiParams[x]!==null?_=n.apiParams[x]:_=l?.currentRoute?.value?.params?.[x]||l?.currentRoute?.value?.query?.[x]}else if($.startsWith("$query.")){const x=$.replace("$query.","");if(n.apiParams&&n.apiParams[x]!==void 0&&n.apiParams[x]!==null)_=n.apiParams[x];else{if(typeof window<"u"){const D=new URLSearchParams(window.location.search);D.has(x)?_=D.get(x):D.has(ee)&&(_=D.get(ee))}_===void 0&&(_=l?.currentRoute?.value?.query?.[x]||l?.currentRoute?.value?.query?.[ee])}}else if(_=p.value[$],_===void 0)for(const x of Object.keys(p.value)){const D=p.value[x];if(D&&typeof D=="object"&&$ in D){_=D[$];break}}if(_==null||_===""){if(typeof window<"u"){const x=new URLSearchParams(window.location.search);x.has(ee)&&(_=x.get(ee))}_===void 0&&(_=l?.currentRoute?.value?.query?.[ee]||l?.currentRoute?.value?.params?.[ee])}_!=null&&_!==""&&(K[ee]=_)})}),Object.keys(K).forEach(U=>{const ee=K[U];typeof ee=="string"&&ee!==""&&!isNaN(Number(ee))&&(K[U]=Number(ee))}),K},se=async()=>{const j=I.value[c.value];j&&!await W(j)||i("submit",p.value)},Q=()=>{i("cancel")},X=()=>{w.resolvePromise&&(w.resolvePromise(!0),w.resolvePromise=null),w.visible=!1},Z=()=>{w.resolvePromise&&(w.resolvePromise(!1),w.resolvePromise=null),w.visible=!1},Y=async(j,K)=>{if(j==="cancel"){Q();return}i("action",K,p.value)},ue=async(j,K)=>{if(n.isEditMode)return;const U=d[K];if(U?.sections)for(const ee of U.sections){const ne=ee.propsForm?.endpointForm;if(ne?.apiMethod?.toUpperCase()==="GET"&&ne?.byPassMode===!0&&ne?.apiUrl){const $=or(ne.apiUrl,T.value),_=re(ne.keyParam||[]);try{f[K]=!0;const x=await s($,"GET",_);if(x?.status===!0||x?.success===!0||x?.code===200||x?.code==="00"||x?.status==="SUCCESS"){let N=x?.data||x?.payload||x;Array.isArray(N)&&N.length>0&&(N=N[0]),x?.payload&&(N={...N,...x.payload}),N&&typeof N=="object"&&z(j,N)}}catch(x){console.error("[DynamicWizard] Fetch step data failed:",x)}finally{f[K]=!1,h[K]=(h[K]||0)+1}}}};return r.watch(c,async j=>{const K=k.value[j];if(K){i("step-change",K.key||`step-${j}`);const U=K.fieldMapping?.formCode;U&&(d[U]||await P(U),ue(K,U))}},{immediate:!0}),r.watch(()=>n.model,j=>{j&&Object.keys(j).length>0&&(p.value={...p.value,...j})},{deep:!0}),r.watch(()=>C.value?.propsSteps,()=>{S()},{immediate:!0}),(j,K)=>(r.openBlock(),r.createElementBlock("div",jbe,[k.value.length===0?(r.openBlock(),r.createElementBlock("div",Ube,[...K[2]||(K[2]=[r.createElementVNode("span",{class:"text-4xl mb-3"},"📋",-1),r.createElementVNode("p",null,"No wizard steps configured",-1)])])):(r.openBlock(),r.createElementBlock("form",{key:1,onSubmit:r.withModifiers(se,["prevent"]),class:"w-full"},[r.createVNode(q_,{modelValue:c.value,"onUpdate:modelValue":K[0]||(K[0]=U=>c.value=U),tabs:I.value,"auto-fetch-on-mount":!1,"is-vertical":C.value?.isVertical||!1,"is-wizard":C.value?.isWizard!==!1,"type-wizard":C.value?.typeWizard?.toLowerCase()||"icon",loading:y.value,"before-next":W,"before-prev":J},r.createSlots({_:2},[r.renderList(I.value,U=>({name:U.slotName,fn:r.withCtx(()=>[r.createElementVNode("div",Wbe,[U.actionComponent?.length?(r.openBlock(),r.createElementBlock("div",Hbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(U.actionComponent,(ee,ne)=>(r.openBlock(),r.createBlock(Tt,{key:ne,icon:ee.icon||ee.propsActionGlobal?.icon,text:R.value==="KR"?ee.labelKR||ee.propsActionGlobal?.labelKR||ee.labelEN||ee.propsActionGlobal?.labelEN:R.value==="ID"?ee.labelID||ee.propsActionGlobal?.labelID:ee.labelEN||ee.propsActionGlobal?.labelEN,"bg-color":(ee.bgColor||ee.propsActionGlobal?.bgColor||"primary").toLowerCase(),variant:(ee.variant||ee.propsActionGlobal?.variant||"outline").toLowerCase(),size:"sm",onClick:$=>Y(ee.key||"action",ee)},null,8,["icon","text","bg-color","variant","onClick"]))),128))])):r.createCommentVNode("",!0),U.fieldMapping?.formCode&&f[U.fieldMapping.formCode]?(r.openBlock(),r.createElementBlock("div",qbe,[...K[3]||(K[3]=[r.createElementVNode("div",{class:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin mb-3"},null,-1),r.createElementVNode("span",{class:"text-xs"},"Loading form...",-1)])])):U.fieldMapping?.formCode&&d[U.fieldMapping.formCode]?(r.openBlock(),r.createBlock(T0,{ref:ee=>B(U.key,ee),key:`form-${U.fieldMapping.formCode}-${h[U.fieldMapping.formCode]||0}`,schema:M(U.fieldMapping.formCode),model:O(U),"onUpdate:model":ee=>z(U,ee),onCancel:Q,"is-edit-mode":e.isEditMode,loading:!1,"selected-token-core":e.selectedTokenCore,"token-cores":e.tokenCores,"dummy-mode":e.dummyMode,router:r.unref(l),"permission-base":e.permissionBase,"user-permissions":e.userPermissions,"check-permission":e.checkPermission,"hide-actions":!E.value},null,8,["schema","model","onUpdate:model","is-edit-mode","selected-token-core","token-cores","dummy-mode","router","permission-base","user-permissions","check-permission","hide-actions"])):U.fieldMapping?.formCode?(r.openBlock(),r.createElementBlock("div",Gbe,[r.createElementVNode("div",Ybe,[K[5]||(K[5]=r.createElementVNode("div",{class:"text-4xl"},"⚠️",-1)),K[6]||(K[6]=r.createElementVNode("h3",{class:"text-lg font-semibold text-red-700 dark:text-red-400"}," Form Load Failed ",-1)),r.createElementVNode("p",Zbe," Failed to load form schema for code: "+r.toDisplayString(U.fieldMapping?.formCode),1),r.createVNode(Tt,{onClick:ee=>P(U.fieldMapping?.formCode),text:"Retry",variant:"outline","bg-color":"danger",size:"sm",icon:"RefreshCw"},null,8,["onClick"])])])):(r.openBlock(),r.createElementBlock("div",Kbe,[...K[4]||(K[4]=[r.createElementVNode("div",{class:"max-w-md space-y-3"},[r.createElementVNode("div",{class:"text-4xl"},"📄"),r.createElementVNode("h3",{class:"text-lg font-semibold text-neutral-700 dark:text-neutral-300"}," No Form Assigned "),r.createElementVNode("p",{class:"text-xs text-neutral-400 max-w-xs mx-auto"}," This wizard step does not have a form code assigned. Configure the step's field mapping to link a form. ")],-1)])]))])])}))]),1032,["modelValue","tabs","is-vertical","is-wizard","type-wizard","loading"])],32)),!e.hideActions&&C.value?.actionGlobal?.length?(r.openBlock(),r.createElementBlock("div",Xbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(C.value.actionGlobal,(U,ee)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:ee},[U.propsActionGlobal?(r.openBlock(),r.createBlock(Tt,{key:0,icon:U.propsActionGlobal.icon,text:R.value==="KR"?U.propsActionGlobal.labelKR||U.propsActionGlobal.labelEN:R.value==="ID"?U.propsActionGlobal.labelID:U.propsActionGlobal.labelEN,"bg-color":(U.propsActionGlobal.bgColor||"primary").toLowerCase(),variant:(U.propsActionGlobal.variant||"default").toLowerCase(),loading:y.value,onClick:ne=>Y(U.propsActionGlobal?.key||"action",U)},null,8,["icon","text","bg-color","variant","loading","onClick"])):r.createCommentVNode("",!0)],64))),128))])):r.createCommentVNode("",!0),r.createVNode(Mr,{modelValue:w.visible,"onUpdate:modelValue":K[1]||(K[1]=U=>w.visible=U),title:w.title,icon:"AlertTriangle","max-width":450,persistent:""},{footer:r.withCtx(()=>[r.createElementVNode("div",Qbe,[r.createVNode(Tt,{variant:"outline",text:R.value==="ID"?"Batal":"Cancel",onClick:Z},null,8,["text"]),r.createVNode(Tt,{"bg-color":"primary",text:R.value==="ID"?"Ya, Lanjutkan":"Confirm",onClick:X},null,8,["text"])])]),default:r.withCtx(()=>[r.createElementVNode("div",Jbe,r.toDisplayString(w.message),1)]),_:1},8,["modelValue","title"])]))}}),Vbe={class:"w-full space-y-6 animate-pulse"},eye={class:"p-4 grid grid-cols-1 md:grid-cols-2 gap-4"},tye=r.defineComponent({__name:"AutoLayoutSkeleton",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("div",Vbe,[n[2]||(n[2]=r.createElementVNode("div",{class:"h-6 w-48 bg-neutral-200 dark:bg-neutral-700 rounded-md"},null,-1)),(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(2,i=>r.createElementVNode("div",{key:i,class:"rounded-xl border border-neutral-200 dark:border-neutral-700 overflow-hidden"},[n[1]||(n[1]=r.createElementVNode("div",{class:"px-4 py-3 bg-neutral-200 dark:bg-neutral-700"},[r.createElementVNode("div",{class:"h-4 w-32 bg-neutral-300 dark:bg-neutral-600 rounded"})],-1)),r.createElementVNode("div",eye,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(6,o=>r.createElementVNode("div",{key:o,class:r.normalizeClass(o>4?"md:col-span-2":"col-span-1")},[...n[0]||(n[0]=[r.createElementVNode("div",{class:"h-3 w-24 bg-neutral-200 dark:bg-neutral-700 rounded mb-2"},null,-1),r.createElementVNode("div",{class:"h-10 w-full bg-neutral-200 dark:bg-neutral-700 rounded-lg"},null,-1)])],2)),64))])])),64)),n[3]||(n[3]=r.createElementVNode("div",{class:"flex items-center gap-2"},[r.createElementVNode("div",{class:"h-9 w-24 bg-neutral-300 dark:bg-neutral-600 rounded-lg"}),r.createElementVNode("div",{class:"h-9 w-20 bg-neutral-200 dark:bg-neutral-700 rounded-lg"})],-1))]))}}),nye={class:"w-full"},iye={class:"relative mx-auto min-h-[37.5rem]"},oye={key:"content",class:"w-full"},rye={class:"mb-6"},sye={class:"text-neutral-500 dark:text-neutral-400"},aye={key:"skeleton",class:"w-full"},lye={key:"error",class:"flex items-center justify-center p-20 text-red-500 w-full"},P0=r.defineComponent({name:"AutoLayoutForm",__name:"AutoLayoutForm",props:{layoutCode:{},apiToken:{},isEditMode:{type:Boolean},model:{},selectedTokenCore:{},tokenCores:{},router:{},userPermissions:{},permissionBase:{},checkPermission:{type:Function},dummyMode:{type:Boolean},config:{},schema:{},hideActions:{type:Boolean},apiParams:{}},emits:["submit-success","cancel","action-success","update:model","navigate"],setup(e,{emit:t}){const n=e,i=t,o=r.getCurrentInstance()?.appContext?.app;o&&!o._context.provides[Symbol.for("vue-router-route-location")]&&o.provide(Symbol.for("vue-router-route-location"),{query:{},params:{},path:""});let s={query:{},params:{},path:""};try{const Q=fs.useRoute();if(Q&&Object.keys(Q).length>0)s=Q;else{const X=r.getCurrentInstance();X?.appContext?.config?.globalProperties?.$route&&(s=X.appContext.config.globalProperties.$route)}}catch{console.warn("useRoute not available, using fallback")}let a={back:()=>{typeof window<"u"&&window.history&&window.history.length>1&&window.history.back()},push:Q=>{if(typeof window<"u"){if(typeof Q=="string")window.location.href=Q;else if(Q&&(Q.path||Q.name)){const X=Q.path||"/",Z=new URL(X,window.location.origin);Q.query&&Object.entries(Q.query).forEach(([Y,ue])=>Z.searchParams.set(Y,String(ue))),window.location.href=Z.toString()}}},replace:async Q=>{if(typeof window<"u"&&window.history){const X=new URL(window.location.href);Q.query&&Object.entries(Q.query).forEach(([Z,Y])=>X.searchParams.set(Z,String(Y))),window.history.replaceState({},"",X.toString())}},currentRoute:r.computed(()=>({query:s?.query||{},params:s?.params||{},path:s?.path||""})),__isFallback:!0};try{const Q=n.router||fs.useRouter();if(Q)a=Q;else{const X=r.getCurrentInstance();X?.appContext?.config?.globalProperties?.$router&&(a=X.appContext.config.globalProperties.$router)}}catch{console.warn("useRouter not available, using fallback")}const{apiUrl:l,DCodeApi:c}=r.inject("externalApi");let d;try{d=Mn.useI18n().locale}catch{d=r.ref("en")}const{setPageTitle:f}=q2(),h=r.computed(()=>n.isEditMode!==void 0?n.isEditMode:s.params&&"id"in s.params?!0:s.path?/\/edit\/[^\/]+\/?$/.test(s.path):!1);r.watchEffect(()=>{}),console.log("[AutoLayoutForm] props.isEditMode:",n.isEditMode,"computed isEditMode:",h.value,"route.params:",s.params);const p=r.computed(()=>{if(s.params&&"id"in s.params)return s.params.id;if(!s.path)return null;const Q=s.path.match(/\/edit\/([^\/]+)\/?$/);return Q?Q[1]:null}),g=r.ref({}),y=r.ref(n.config||n.schema||null),v=r.ref(!y.value),w=r.ref(!1),C=r.ref(null),E=r.ref(0),k=r.ref(n.layoutCode),T=r.computed(()=>{if(!y.value)return null;const Q=JSON.parse(JSON.stringify(y.value));let X=Q;if(Array.isArray(Q.propsSteps)&&Q.propsSteps.length>0)X=Q;else if(Array.isArray(Q.sections)){const Z=Q.sections.find(Y=>Y?.type?.toUpperCase()==="WIZARD"||Y?.propsWizard?.propsSteps);Z?.propsWizard&&Array.isArray(Z.propsWizard.propsSteps)?X={...Q,...Z.propsWizard}:(typeof Q.isWizard=="boolean"||Q.typeWizard)&&(X={...Q,propsSteps:Q.sections})}if(h.value&&X){const Z=Y=>Y.endpointUpdate&&Y.endpointUpdate.apiUrl?{...Y,endpointSave:{...Y.endpointSave,...Y.endpointUpdate}}:Y;Array.isArray(X.propsSteps)&&(X.propsSteps=X.propsSteps.map(Z)),Array.isArray(X.sections)&&(X.sections=X.sections.map(Z))}return X}),R=r.computed(()=>T.value?!!(typeof T.value.isWizard=="boolean"||T.value.typeWizard||Array.isArray(T.value.propsSteps)&&T.value.propsSteps.length>0):!1),I=r.computed(()=>{if(!y.value)return"";const Q=d?.value?.toLowerCase()||"en",X=Q==="kr"||Q==="ko"||Q.startsWith("kr-")||Q.startsWith("ko-"),Z=Q==="en"||Q.startsWith("en-");return(X?y.value.titleKR||y.value.titleEN:Z?y.value.titleEN:y.value.titleID)||y.value.title||n.layoutCode});r.watch(I,Q=>{Q&&f(Q)},{immediate:!0});const P=(Q,X={})=>(!Q||typeof Q!="object"||Object.keys(Q).forEach(Z=>{const Y=Q[Z];X[Z]=Y,Y&&typeof Y=="object"&&!Array.isArray(Y)&&!(Y instanceof Date)&&!Y._isLogicValue&&P(Y,X)}),X),S=Q=>{if(!Q||typeof Q!="string"||Q.startsWith("http"))return Q;const X=n.selectedTokenCore?.address;if(!X||typeof X!="string")return Q;const Z=X.replace(/\/$/,""),Y=Q.startsWith("/")?Q:`/${Q}`;return`${Z}${Y}`},O=Q=>{if(!Q)return!1;for(const X of Q){const Z=X.propsForm||X.propsFormStep||X.propsTable||X.propsTableStep||X.props||{};if(Z.endpointForm||Z.endpointTable||X.endpointForm)return!0;if(X.type==="WIZARD"&&X.propsWizard?.propsSteps)for(const Y of X.propsWizard.propsSteps){const ue=Array.isArray(Y.sectionsWizard)?Y.sectionsWizard:[Y.sectionsWizard].filter(Boolean);if(O(ue))return!0}}return!1},z=async()=>{v.value=!y.value;try{let Q=n.layoutCode;s&&s.query&&typeof s.query=="object"&&"code"in s.query&&s.query.code===n.layoutCode&&(Q=s.query.code||n.layoutCode),y.value=n.config||n.schema||null;const X=Z=>Z?!!(Z.sections?.length||Z.propsSteps?.length||Z.columns?.length||Z.endpointGlobal||Z.isWizard||Z.typeWizard):!1;if(!y.value&&Q){const Z=await l(`/api/auto-layout/form/form-dynamic?code=${Q}`,"GET");if(Z.status){const Y=Array.isArray(Z.data)?Z.data[0]:Z.data;X(Y)&&(y.value=Y)}if(!X(y.value)&&Q)try{const Y=await l(`/api/auto-layout/wizard/form-dynamic?code=${Q}`,"GET");Y?.status&&(y.value=Array.isArray(Y.data)?Y.data[0]:Y.data)}catch(Y){console.warn("[AutoLayoutForm] Wizard fallback also failed:",Y)}}if(y.value){const Z=()=>{const Y={};return y.value?.sections&&y.value.sections.forEach(ue=>{((ue.propsForm||ue.props||{}).fields||ue.fields||[]).forEach(U=>{const ee=U.model||U.props?.model||U.key;ee&&(Y[ee]=null)}),ue.type?.toUpperCase()==="WIZARD"&&ue.propsWizard?.propsSteps&&ue.propsWizard.propsSteps.forEach(U=>{(Array.isArray(U.sectionsWizard)?U.sectionsWizard:[U.sectionsWizard].filter(Boolean)).forEach(ne=>{(ne.fields||ne.propsFormStep?.fields||[]).forEach(_=>{const x=_.model||_.props?.model||_.key;x&&(Y[x]=null)})})})}),Y};if(g.value=Z(),h.value&&p.value&&(g.value.id=p.value),v.value=!1,h.value&&p.value){w.value=!0;try{const Y=y.value.sections?.[0]?.propsForm||y.value.sections?.[0]?.props,ue=Y?.endpointSection||Y?.endpointForm,j=y.value.endpointForm,K=ue||j;if(K?.apiUrl){w.value=!0;const U=K.apiUrl,ee=K.apiMethod||"GET",ne=K.keyParam||[],$={};ne.length>0?ne.forEach(x=>{typeof x=="string"?$[x]=p.value:typeof x=="object"&&x!==null&&Object.entries(x).forEach(([D])=>{$[D]=p.value})}):$.id=p.value;const _=await c(S(U),ee,$);if(_.status){let x=Array.isArray(_.data)?_.data[0]:_.data;_.payload&&(x={...x,..._.payload});const D=P(x);g.value={...g.value,...D,...x}}else console.warn("[AutoLayoutForm] Record API returned status: false",_)}else if(y.value.endpointGlobal?.apiUrl){w.value=!0;const U=y.value.endpointGlobal.apiUrl,ee=y.value.endpointGlobal.apiMethod||"GET",ne={id:p.value},$=await c(S(U),ee,ne);if($.status){const _=Array.isArray($.data)?$.data[0]:$.data,x=P(_);g.value={...g.value,...x,..._}}}else if(!O(y.value.sections)){const U=y.value.endpoint?.detailUrl||(R.value?null:`/api/${k.value}/detail/${p.value}`);if(!U){w.value=!1;return}w.value=!0;const ee=await l(S(U),"GET");if(ee.status){let ne=Array.isArray(ee.data)?ee.data[0]:ee.data;if(ee.payload){const x={...ee.payload};if(Object.keys(x).forEach(D=>{ne[D]!==void 0&&ne[D]!==null&&(x[D]=ne[D])}),!("id"in x)&&ne.id){const D=Object.keys(x).find(N=>N.startsWith("id")&&N.length>2&&!x[N]);D&&(x[D]=ne.id)}ne=x}const $={...ne};Object.keys(g.value).forEach(x=>{if($[x]===void 0||$[x]===null){if(x.toLowerCase().startsWith("id")&&x.length>2){const N=x.substring(2).toLowerCase(),A=Array.isArray(ee.data)?ee.data[0]:ee.data,H=Object.keys(A).find(G=>G.toLowerCase()===N);H&&A[H]&&typeof A[H]=="object"&&"id"in A[H]&&($[x]=A[H].id)}if(x==="idSupervisor"){const N=Array.isArray(ee.data)?ee.data[0]:ee.data;N.supervisorId&&($[x]=N.supervisorId)}}});const _=P($);g.value={...g.value,..._,...$}}}}catch(Y){console.error("Failed to fetch record data:",Y)}finally{w.value=!1,E.value++}}}}catch(Q){console.error("Failed to load form layout:",Q),v.value=!1}},M=Q=>{const X=Object.keys(g.value||{}).filter(Y=>g.value[Y]!==null&&g.value[Y]!==void 0),Z=Object.keys(Q||{}).filter(Y=>Q[Y]!==null&&Q[Y]!==void 0);if(X.length>3&&Z.length<X.length/2){console.warn('[AutoLayoutForm] Circuit breaker triggered: Ignoring likely erroneous "empty" update from child.',{currentCount:X.length,incomingCount:Z.length,data:Q});return}g.value=Q,i("update:model",Q)},B=Q=>{const X=Q?.routeBack||Q?.pathBack||y.value?.routeBack||y.value?.pathBack;X?a.push(X):a.back()},W=async Q=>{if(n.dummyMode){i("submit-success",Q),y.value=null,g.value={},B();return}try{const X=y.value.sections?.[0]?.propsForm?.endpointForm,Z=y.value.endpointGlobal||y.value.endpoint;let Y=null;if(R.value&&T.value?.propsSteps){const D=T.value.propsSteps,N=D.find(A=>A.isSubmit)||D[D.length-1];N&&(Y=h.value&&N.endpointUpdate?.apiUrl?N.endpointUpdate:N.endpointSave)}const ue=Y?.apiUrl||X?.submitUrl||Z?.submitUrl||(R.value?"":`/api/generic/${n.layoutCode}`),j=Y?.apiMethod||X?.submitMethod||Z?.submitMethod||(h.value?"PUT":"POST"),K=Object.values(Q).some(D=>D instanceof File||D instanceof Blob);let U=Q;if(C.value&&Q[C.value]){const D=Q[C.value];U={},Object.values(D).forEach(N=>{typeof N=="object"&&N!==null&&Object.assign(U,N)})}let ee;K?(ee=new FormData,Object.keys(U).forEach(D=>{const N=U[D];N!=null&&(Array.isArray(N)?N.forEach(A=>ee.append(`${D}[]`,A)):ee.append(D,N))})):(ee={...U},h.value&&p.value&&!ee.id&&(ee.id=p.value));const ne=X||Z,$={...ne?.config};ne?.accept&&($.headers||($.headers={}),$.headers.Accept=ne.accept,$.headers.accept=ne.accept);let _=null,x=!0;if(ue&&!R.value&&(_=await l(S(ue),j,ee,$),x=_?.status===!0||_?.success===!0||_?.code===200||_?.code==="00"||_?.status==="SUCCESS"),x){let D=_?.data||_?.payload||_;if(Array.isArray(D)&&D.length>0&&(D=D[0]),D&&typeof D=="object"){const N={...s?.query||{}};let A=!1;if(Object.entries(D).forEach(([H,G])=>{["status","success","code","message"].includes(H)||G!=null&&(typeof G=="string"||typeof G=="number"||typeof G=="boolean")&&N[H]!==String(G)&&(N[H]=String(G),A=!0)}),A&&typeof window<"u"&&window.history){const H=new URL(window.location.href);Object.entries(N).forEach(([G,oe])=>{oe!=null&&H.searchParams.set(G,String(oe))}),window.history.replaceState(window.history.state,"",H.toString())}}}x&&(i("submit-success",ee),y.value=null,g.value={},B())}catch(X){console.error("Submit failed:",X)}},J=async(Q,X,Z)=>{if(Q==="cancel"){re();return}const Y=X.endpointPropAction||X.propsActionGlobal&&X.propsActionGlobal.endpointPropAction;if(Y){if(n.dummyMode){i("action-success",Q,X,Z||g.value);return}try{v.value=!0;const ue=Z?{...Z}:{...g.value};h.value&&X.model&&p.value&&(ue[X.model]=p.value);const j=Y.apiUrl,K=Y.apiMethod||"POST";(await c(S(j),K,ue)).status&&(i("action-success",Q,X,ue),B(X))}catch(ue){console.error("Action failed:",ue)}finally{v.value=!1}}},re=()=>{i("cancel"),a.back()},se=Q=>{C.value=Q};return r.watch(()=>[n.layoutCode,s.path,s.query?.code,h.value,p.value,n.config,n.schema],(Q,X)=>{(!X||Q.some((Y,ue)=>Y!==X[ue]))&&(y.value=n.config||n.schema||null,g.value={},v.value=!y.value,z())},{immediate:!0}),r.watch(()=>n.model,Q=>{if(Q&&Object.keys(Q).length>0)g.value={...g.value,...Q};else if(!h.value){const X={};y.value?.sections&&y.value.sections.forEach(Z=>{((Z.propsForm||Z.props||{}).fields||Z.fields||[]).forEach(j=>{const K=j.model||j.props?.model||j.key;K&&(X[K]=null)}),Z.type?.toUpperCase()==="WIZARD"&&Z.propsWizard?.propsSteps&&Z.propsWizard.propsSteps.forEach(j=>{(Array.isArray(j.sectionsWizard)?j.sectionsWizard:[j.sectionsWizard].filter(Boolean)).forEach(U=>{(U.fields||U.propsFormStep?.fields||[]).forEach(ne=>{const $=ne.model||ne.props?.model||ne.key;$&&(X[$]=null)})})})}),g.value=X}},{immediate:!0,deep:!0}),r.onUnmounted(()=>{f(""),y.value=null,g.value={}}),(Q,X)=>(r.openBlock(),r.createElementBlock("div",nye,[r.createElementVNode("div",iye,[r.createVNode(r.Transition,{name:"fade",mode:"out-in"},{default:r.withCtx(()=>[!v.value&&y.value?(r.openBlock(),r.createElementBlock("div",oye,[r.createElementVNode("div",rye,[r.createElementVNode("p",sye,r.toDisplayString(y.value.description),1)]),R.value?(r.openBlock(),r.createBlock(K_,{key:`wizard-${E.value}`,schema:T.value||y.value,model:g.value,"is-edit-mode":h.value,loading:w.value,"selected-token-core":n.selectedTokenCore,"token-cores":n.tokenCores,router:r.unref(a),"permission-base":n.permissionBase,"user-permissions":n.userPermissions,"check-permission":n.checkPermission,"dummy-mode":n.dummyMode,"hide-actions":n.hideActions||n.config?.hideActions||n.schema?.hideActions,"api-params":n.apiParams,"onUpdate:model":X[0]||(X[0]=Z=>M(Z)),onSubmit:W,onCancel:re,onAction:J,onNavigate:X[1]||(X[1]=Z=>Q.$emit("navigate",Z)),onStepChange:se,class:"w-full"},null,8,["schema","model","is-edit-mode","loading","selected-token-core","token-cores","router","permission-base","user-permissions","check-permission","dummy-mode","hide-actions","api-params"])):(r.openBlock(),r.createBlock(T0,{key:`form-${E.value}`,schema:T.value||y.value,model:g.value,"is-edit-mode":h.value,loading:w.value,"selected-token-core":n.selectedTokenCore,router:r.unref(a),"permission-base":n.permissionBase,"user-permissions":n.userPermissions,"check-permission":n.checkPermission,"dummy-mode":n.dummyMode,"hide-actions":n.hideActions||n.config?.hideActions||n.schema?.hideActions,"api-params":n.apiParams,"onUpdate:model":X[2]||(X[2]=Z=>M(Z)),onSubmit:W,onCancel:re,onAction:J,onNavigate:X[3]||(X[3]=Z=>Q.$emit("navigate",Z)),onStepChange:se,class:"w-full"},null,8,["schema","model","is-edit-mode","loading","selected-token-core","router","permission-base","user-permissions","check-permission","dummy-mode","hide-actions","api-params"]))])):v.value?(r.openBlock(),r.createElementBlock("div",aye,[r.createVNode(tye)])):(r.openBlock(),r.createElementBlock("div",lye," Failed to load form configuration for "+r.toDisplayString(n.layoutCode),1))]),_:1})])]))}}),cye={class:"flex flex-col gap-3 w-full"},dye={key:0,class:"flex items-center gap-1 font-semibold text-sm text-slate-700 dark:text-slate-300"},uye={key:0,class:"text-red-500"},fye={class:"flex flex-col gap-2 w-full"},hye={key:0,class:"flex flex-col gap-2 w-full"},mye={key:1,class:"flex flex-col items-center justify-center text-center gap-2 py-8 bg-slate-50 dark:bg-neutral-900/10 border border-slate-200 dark:border-neutral-700/50 rounded-lg opacity-70"},pye={class:"text-sm font-medium text-slate-500"},gye=["disabled","onClick"],bye={class:"truncate flex-1"},yye={class:"overflow-hidden"},vye={class:"p-4 bg-slate-50/50 dark:bg-neutral-900/10"},wye={key:1,class:"text-xs text-neutral-400 dark:text-neutral-500 italic py-2 text-center"},B0=r.defineComponent({__name:"DCodeDynamicCollapse",props:{modelValue:{type:[Array,String,Number],default:()=>[]},label:{type:String,default:""},labelID:{type:String,default:"Items"},labelEN:{type:String,default:"Items"},labelKR:{type:String,default:"Items"},endpointReference:{type:Object,default:()=>null},itemTitle:{type:String,default:"name"},itemValue:{type:String,default:"id"},disabled:Boolean,items:{type:Array,default:void 0},accordion:{type:[Boolean,String],default:!0},required:Boolean,renderSubForm:{type:Boolean,default:!1},subLayoutCodeKey:{type:String,default:"code"},formData:{type:Object,default:()=>({})},isEditMode:{type:Boolean,default:!1},layoutMapping:{type:[Object,String],default:()=>({})},dummyMode:{type:Boolean,default:!1},selectedTokenCore:{type:Object,default:()=>null}},emits:["update:modelValue","loaded"],setup(e,{emit:t}){const n=e,i=t,{t:o,locale:s}=Mn.useI18n(),{apiUrl:a}=r.inject("externalApi")||{},l=r.ref([]),c=r.ref(!0),d=r.ref(new Set),f=r.computed(()=>n.accordion===void 0||n.accordion===null?!0:typeof n.accordion=="string"?n.accordion==="true":!!n.accordion),h=r.computed(()=>{if(!n.layoutMapping)return{};if(typeof n.layoutMapping=="string")try{return JSON.parse(n.layoutMapping)}catch(E){return console.warn("Failed to parse layoutMapping JSON string",E),{}}return n.layoutMapping}),p=async()=>{if(n.items!==void 0&&n.items!==null){l.value=n.items,c.value=!1,i("loaded",l.value);return}if(!n.endpointReference?.apiUrl){c.value=!1;return}c.value=!0;try{const E=await a(n.endpointReference.apiUrl,n.endpointReference.apiMethod||"GET",{page:1,perPage:100});if(n.items!==void 0){c.value=!1;return}let k=E?.data||E;Array.isArray(k)||(k=[k]),l.value=k,i("loaded",l.value)}catch(E){console.error("Failed to fetch dynamic collapse items",E)}finally{c.value=!1}},g=(E,k)=>E&&E[n.itemValue]!==void 0?E[n.itemValue]:k,y=(E,k)=>{const T=g(E,k);return d.value.has(T)},v=(E,k)=>{if(n.disabled)return;const T=g(E,k),R=new Set(d.value);R.has(T)?R.delete(T):(f.value&&R.clear(),R.add(T)),d.value=R;const I=Array.from(d.value);i("update:modelValue",f.value?I[0]??null:I)},w=(E,k)=>{!E||n.disabled||(n.formData[E]=k)};r.onMounted(()=>{p(),n.modelValue!==void 0&&n.modelValue!==null&&(Array.isArray(n.modelValue)?d.value=new Set(n.modelValue):d.value=new Set([n.modelValue]))}),r.watch(()=>n.modelValue,E=>{if(E!=null){const k=Array.isArray(E)?E:[E],T=new Set(k);JSON.stringify(Array.from(T))!==JSON.stringify(Array.from(d.value))&&(d.value=T)}else d.value.clear()},{deep:!0}),r.watch(()=>f.value,E=>{E&&(d.value.clear(),i("update:modelValue",null))}),r.watch(()=>n.endpointReference?.apiUrl,(E,k)=>{E!==k&&p()}),r.watch(()=>n.endpointReference?.apiMethod,(E,k)=>{E!==k&&p()}),r.watch(()=>n.items,E=>{E!=null?(l.value=E,c.value=!1):n.endpointReference?.apiUrl||(c.value=!1)},{deep:!0,immediate:!0});const C=r.computed(()=>{if(n.label)return n.label;const E=s.value.toLowerCase();return E.startsWith("kr")||E.startsWith("ko")?n.labelKR:E.startsWith("en")?n.labelEN:n.labelID});return(E,k)=>(r.openBlock(),r.createElementBlock("div",cye,[C.value?(r.openBlock(),r.createElementBlock("div",dye,[r.createElementVNode("span",null,r.toDisplayString(C.value),1),e.required?(r.openBlock(),r.createElementBlock("span",uye,"*")):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",fye,[l.value.length===0&&c.value?(r.openBlock(),r.createElementBlock("div",hye,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(3,T=>r.createElementVNode("div",{key:T,class:"w-full flex items-center justify-between p-4 bg-white dark:bg-neutral-800 border border-slate-200 dark:border-neutral-700/50 rounded-lg animate-pulse"},[...k[0]||(k[0]=[r.createElementVNode("div",{class:"h-4 bg-slate-200 dark:bg-neutral-700 rounded w-1/3"},null,-1),r.createElementVNode("div",{class:"h-4 w-4 bg-slate-200 dark:bg-neutral-700 rounded-full"},null,-1)])])),64))])):l.value.length===0&&!c.value?(r.openBlock(),r.createElementBlock("div",mye,[r.createElementVNode("span",pye,r.toDisplayString(r.unref(o)("dynamicUploadList.noDocsRequired")||"No items available"),1)])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,(T,R)=>(r.openBlock(),r.createElementBlock("div",{key:R,class:r.normalizeClass(["bg-white dark:bg-neutral-800 border transition-all duration-200 rounded-lg shadow-sm overflow-hidden",y(T,R)?"border-primary-500/50 dark:border-primary-500/30 ring-1 ring-primary-500/10":"border-slate-200 dark:border-neutral-700/50"])},[r.createElementVNode("button",{type:"button",class:r.normalizeClass(["w-full flex items-center justify-between p-4 font-semibold text-sm text-left transition-colors duration-200 focus:outline-none",[y(T,R)?"text-primary-600 dark:text-primary-400 bg-primary-50/20 dark:bg-primary-950/10 border-b border-primary-500/20 dark:border-primary-500/10":"text-slate-700 dark:text-neutral-300 hover:bg-slate-50 dark:hover:bg-neutral-700/50"]]),disabled:e.disabled,onClick:I=>v(T,R)},[r.renderSlot(E.$slots,"header",{item:T,index:R,expanded:y(T,R)},()=>[r.createElementVNode("span",bye,r.toDisplayString(T[e.itemTitle]||T.name||T.code||`Item ${R+1}`),1)]),r.createVNode(r.unref(Ee.ChevronDown),{class:r.normalizeClass(["w-4 h-4 transition-transform duration-200 shrink-0 ml-2",[y(T,R)?"transform rotate-180 text-primary-500":"text-slate-400"]])},null,8,["class"])],10,gye),r.createElementVNode("div",{class:r.normalizeClass(["grid transition-all duration-200 ease-in-out",y(T,R)?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"])},[r.createElementVNode("div",yye,[r.createElementVNode("div",vye,[r.renderSlot(E.$slots,"default",{item:T,index:R,expanded:y(T,R)},()=>[e.renderSubForm&&h.value[T[e.subLayoutCodeKey]||T.code]?(r.openBlock(),r.createBlock(P0,{key:0,layoutCode:h.value[T[e.subLayoutCodeKey]||T.code],model:e.formData[T[e.subLayoutCodeKey]||T.code]||{},"is-edit-mode":e.isEditMode,"dummy-mode":e.dummyMode,"selected-token-core":e.selectedTokenCore,"hide-actions":!0,"onUpdate:model":I=>w(T[e.subLayoutCodeKey]||T.code,I)},null,8,["layoutCode","model","is-edit-mode","dummy-mode","selected-token-core","onUpdate:model"])):e.renderSubForm?(r.openBlock(),r.createElementBlock("div",wye," Konten Kosong ")):r.createCommentVNode("",!0)])])])],2)],2))),128))])]))}}),_D=r.defineComponent({name:"DCodeDialogCloseBtn",__name:"DCodeDialogCloseBtn",props:{icon:{default:"X"},iconSize:{default:22}},setup(e){const t=e,n=r.computed(()=>Ut[t.icon]??Ut.X);return(i,o)=>(r.openBlock(),r.createBlock(r.unref(ys),{type:"button",variant:"secondary",size:"icon",class:"rounded-full shadow-sm"},{default:r.withCtx(()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.value),{size:Number(e.iconSize)},null,8,["size"]))]),_:1}))}}),_ye={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse mb-2"},kye=["for"],xye={key:0,class:"!ml-1 !text-destructive"},Cye={class:"relative w-full block box-border"},Eye={key:0,class:"absolute inset-y-0 left-3 flex items-center text-muted-foreground pointer-events-none z-10"},Sye=["id","readonly","disabled","placeholder"],Aye={class:"absolute inset-y-0 right-4 flex items-center z-10"},Tye={key:1,class:"absolute z-50 mt-1 w-full rounded-xl border bg-white dark:bg-neutral-800 border-neutral-200/60 dark:border-neutral-700/50 shadow-lg box-border"},Pye={key:0,class:"flex items-center justify-center py-10 text-muted-foreground gap-2"},Bye={key:1,class:"text-sm text-muted-foreground text-center"},Dye=["onClick","title"],Nye={class:"flex flex-col items-center justify-between gap-2 py-1 min-h-[72px]"},Mye={class:"flex items-center justify-center flex-1"},Iye={class:"text-[10px] leading-tight text-muted-foreground truncate w-full text-center block flex-shrink-0"},Rye={key:3,class:"pt-2 text-[11px] text-muted-foreground text-center"},Oye={key:1,class:"text-xs text-destructive mt-1"},kD=r.defineComponent({name:"DCodeIconDropdown",__name:"DCodeIconDropdown",props:{modelValue:{},label:{},placeholder:{default:"Pilih icon…"},clearable:{type:Boolean,default:!0},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},error:{default:null},columns:{default:4},maxHeight:{default:"335px"},iconSize:{default:20},pageSize:{default:120},size:{default:"default"},rounded:{default:"lg"}},emits:["update:modelValue","clear"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>!!n.error),s=r.computed(()=>An(n.size).split(" ").filter(j=>!j.startsWith("px-")).join(" ")),a=Ut,l=r.ref(null),c=r.ref(null),d=Math.random().toString(36).slice(2,7),f=r.computed(()=>`dcode-icon-dropdown-${n.label||"icon-dropdown"}-${d}`),h=r.ref(!1),p=r.computed(()=>(n.modelValue??"").trim()||""),g=r.ref(""),y=r.ref(!1),v=r.ref(!1),w=r.ref(!1),C=r.shallowRef([]),E=r.ref(n.pageSize),k=new Set(["default","createLucideIcon","LucideIcon","Icon","icons","toKebabCase","camelCase","children","IconNode"]),T=async()=>{if(v.value||w.value)return;w.value=!0,await new Promise(K=>setTimeout(K,0));const j=Object.keys(a).filter(K=>!k.has(K)).filter(K=>/^[A-Z]/.test(K)).filter(K=>{if(K.endsWith("Icon")&&K.length>4){const U=K.slice(0,-4);if(a[U])return!1}return!0}).filter(K=>typeof a[K]=="function"||typeof a[K]=="object"&&a[K]).sort((K,U)=>K.localeCompare(U));C.value=j,v.value=!0,w.value=!1},R=r.computed(()=>p.value?_r(p.value,a):null),I=r.ref(p.value),P=r.computed(()=>!!p.value&&!h.value),S=r.computed(()=>{if(!v.value)return[];const j=(g.value??"").trim().toLowerCase();return j?C.value.filter(K=>K.toLowerCase().includes(j)):C.value}),O=r.computed(()=>S.value.slice(0,E.value)),z=r.computed(()=>{const j=n.columns;return j<=2?"grid-cols-2":j===3?"grid-cols-3":j===4?"grid-cols-4":j===5?"grid-cols-5":j>=8?"grid-cols-8":"grid-cols-6"});r.computed(()=>n.clearable?"!pr-10":"!pr-3"),r.computed(()=>R.value&&!h.value?"!pl-12":"!pl-3");const M=async()=>{await r.nextTick(),c.value?.focus()},B=async j=>{if(n.disabled)return;const K=j!==!1;if(y.value){y.value=!1;return}h.value=!0,await T(),K&&(g.value="",I.value=""),E.value=n.pageSize,await M()},W=()=>{h.value=!1,g.value="",I.value=p.value,E.value=n.pageSize},J=async()=>{n.disabled||(h.value?W():await B())};let re=null;const se=async j=>{if(n.disabled)return;i("update:modelValue",null),h.value||await B(!1),re&&clearTimeout(re);const K=I.value;re=setTimeout(()=>{g.value=K},300)},Q=j=>{n.disabled||(i("update:modelValue",j),W(),queueMicrotask(()=>c.value?.blur()))},X=()=>{n.disabled||(i("update:modelValue",null),i("clear"),y.value=!0,W(),queueMicrotask(()=>c.value?.focus()))},Z=j=>{if(j.key==="Escape"){j.preventDefault(),W();return}if(j.key==="Enter"&&h.value){const K=S.value[0];K&&(j.preventDefault(),Q(K))}},Y=j=>{if(!h.value)return;const K=j.target;l.value&&!l.value.contains(K)&&W()},ue=j=>{const K=j.target;K.scrollTop+K.clientHeight>=K.scrollHeight-24&&E.value<S.value.length&&(E.value=Math.min(E.value+n.pageSize,S.value.length))};return r.onMounted(()=>{document.addEventListener("mousedown",Y),queueMicrotask(()=>{c.value=l.value?.querySelector("input")??null}),p.value&&T()}),r.onBeforeUnmount(()=>{document.removeEventListener("mousedown",Y),re&&clearTimeout(re)}),r.watch(p,j=>{h.value||(I.value=j)}),r.watch(()=>g.value,()=>{E.value=n.pageSize}),(j,K)=>r.withDirectives((r.openBlock(),r.createElementBlock("div",{ref_key:"rootEl",ref:l,class:"!w-full !block !box-border"},[n.skeleton?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[n.label?(r.openBlock(),r.createElementBlock("div",_ye)):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["w-full bg-gray-200 dark:bg-gray-700 animate-pulse",[r.unref(An)(n.size),r.unref(Gt)(n.rounded)]])},null,2)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[n.label?(r.openBlock(),r.createElementBlock("label",{key:0,for:f.value,class:"!text-sm !font-medium !mb-1 !block"},[r.createTextVNode(r.toDisplayString(n.label)+" ",1),n.required?(r.openBlock(),r.createElementBlock("span",xye,"*")):r.createCommentVNode("",!0)],8,kye)):r.createCommentVNode("",!0),r.createElementVNode("div",Cye,[R.value&&!h.value?(r.openBlock(),r.createElementBlock("div",Eye,[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(R.value),{size:18}))])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("input",{id:f.value,"onUpdate:modelValue":K[0]||(K[0]=U=>I.value=U),readonly:P.value,disabled:n.disabled,placeholder:n.placeholder,class:r.normalizeClass(["w-full bg-white dark:bg-neutral-800 text-foreground dark:text-gray-300 border border-gray-300 dark:border-neutral-700/50 pr-10 outline-none box-border truncate",[s.value,r.unref(Gt)(n.rounded),R.value&&!h.value?"pl-10":"pl-4",P.value?"cursor-pointer select-none":"",o.value?"border-destructive focus:ring-destructive":""]]),onClick:B,onFocus:B,onInput:se,onKeydown:Z},null,42,Sye),[[r.vModelText,I.value]]),r.createElementVNode("div",Aye,[n.clearable&&p.value?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"flex items-center justify-center p-1 m-0 bg-transparent border-0 text-muted-foreground hover:text-foreground transition cursor-pointer outline-none",onMousedown:K[1]||(K[1]=r.withModifiers(()=>{},["prevent"])),onClick:X,title:"Clear"},[r.createVNode(r.unref(Ee.X),{class:"h-4 w-4"})],32)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"flex items-center justify-center p-1 m-0 bg-transparent border-0 text-muted-foreground hover:text-foreground transition-transform cursor-pointer outline-none",onMousedown:K[2]||(K[2]=r.withModifiers(()=>{},["prevent"])),onClick:J,title:"Open"},[r.createVNode(r.unref(Ee.ChevronDown),{class:"h-4 w-4"})],32))]),h.value?(r.openBlock(),r.createElementBlock("div",Tye,[r.createElementVNode("div",{class:"p-2 overflow-auto",style:r.normalizeStyle({maxHeight:n.maxHeight}),onScroll:ue},[w.value?(r.openBlock(),r.createElementBlock("div",Pye,[r.createVNode(r.unref(Ee.Loader2),{class:"h-4 w-4 animate-spin"}),K[3]||(K[3]=r.createElementVNode("span",{class:"text-sm"},"Loading icons…",-1))])):v.value&&S.value.length===0?(r.openBlock(),r.createElementBlock("div",Bye," Icon tidak ditemukan ")):(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["grid gap-2",z.value])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(O.value,U=>(r.openBlock(),r.createElementBlock("button",{key:U,type:"button",class:r.normalizeClass(["group rounded-lg border p-2 hover:bg-muted/40 transition",p.value===U?"ring-1 ring-primary":""]),onClick:ee=>Q(U),title:U},[r.createElementVNode("div",Nye,[r.createElementVNode("div",Mye,[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(r.unref(a)[U]),{size:n.iconSize,class:"shrink-0"},null,8,["size"]))]),r.createElementVNode("span",Iye,r.toDisplayString(U),1)])],10,Dye))),128))],2)),v.value&&S.value.length>0?(r.openBlock(),r.createElementBlock("div",Rye," Showing "+r.toDisplayString(O.value.length)+" / "+r.toDisplayString(S.value.length),1)):r.createCommentVNode("",!0)],36)])):r.createCommentVNode("",!0)]),o.value?(r.openBlock(),r.createElementBlock("p",Oye,r.toDisplayString(n.error),1)):r.createCommentVNode("",!0)],64))],512)),[[r.vShow,e.visible]])}}),Lye={class:"w-full"},Fye={key:0,class:"flex items-center justify-between mb-2"},$ye={key:0,class:"text-sm font-medium text-gray-700 dark:text-neutral-300"},zye={key:1,class:"text-sm text-gray-600 dark:text-neutral-400"},jye={name:"DCodeProgress"},xD=r.defineComponent({...jye,name:"DCodeProgress",inheritAttrs:!1,props:{modelValue:{default:0},max:{default:100},label:{default:""},showValue:{type:Boolean,default:!1},color:{default:"blue"},size:{default:"md"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=r.computed(()=>Math.min(n.modelValue/n.max*100,100)),o=r.computed(()=>["w-full rounded-full overflow-hidden",{sm:"h-1",md:"h-2",lg:"h-3"}[n.size],"bg-gray-200 dark:bg-neutral-700"].join(" ")),s=r.computed(()=>{const l={blue:"bg-blue-500",green:"bg-green-500",red:"bg-red-500",yellow:"bg-yellow-500",purple:"bg-purple-500",gray:"bg-gray-500"},c=["h-full transition-all duration-300 ease-out",l[n.color]||l.blue];return n.striped&&c.push("bg-gradient-to-r from-transparent via-white/20 to-transparent"),n.animated&&c.push("animate-pulse"),c.join(" ")}),a=r.computed(()=>`${Math.round(i.value)}%`);return(l,c)=>(r.openBlock(),r.createElementBlock("div",Lye,[e.label||e.showValue?(r.openBlock(),r.createElementBlock("div",Fye,[e.label?(r.openBlock(),r.createElementBlock("span",$ye,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.showValue?(r.openBlock(),r.createElementBlock("span",zye,r.toDisplayString(a.value),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(o.value)},[r.createElementVNode("div",{class:r.normalizeClass(s.value),style:r.normalizeStyle({width:`${i.value}%`})},null,6)],2)]))}}),Uye={key:0,class:"fixed top-0 left-0 right-0 z-[10000] h-[3px]"},CD=In(r.defineComponent({name:"DCodeProgressBar",__name:"DCodeProgressBar",props:{isApiLoading:{type:Boolean,default:!1},apiProgress:{default:0}},setup(e){return(t,n)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fade"},{default:r.withCtx(()=>[e.isApiLoading?(r.openBlock(),r.createElementBlock("div",Uye,[r.createElementVNode("div",{class:"h-full bg-primary-600 shadow-[0_0_15px_rgba(37,99,235,0.8)] transition-all duration-300 ease-out",style:r.normalizeStyle({width:`${e.apiProgress}%`})},null,4)])):r.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-85c68054"]]),Wye={key:0},Hye={class:"flex items-start justify-between gap-4"},qye={class:"min-w-0"},Kye={class:"truncate text-sm font-medium text-neutral-700 dark:text-neutral-300"},Gye={key:0,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},Yye=["aria-label","aria-valuenow","aria-valuemax"],Zye=["aria-label","aria-valuenow","aria-valuemax"],Xye={class:"h-full w-full -rotate-90",viewBox:"0 0 100 100","aria-hidden":"true"},Jye=["stroke-width"],Qye=["stroke-width","stroke-dashoffset"],Vye={key:0,class:"text-center"},eve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},tve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},nve=["aria-label","aria-valuenow","aria-valuemax"],ive={class:"relative w-48 overflow-hidden"},ove={class:"h-auto w-full",viewBox:"0 0 100 58","aria-hidden":"true"},rve=["stroke-dasharray"],sve={key:0,class:"text-center"},ave={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},lve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},cve=["aria-label","aria-valuenow","aria-valuemax"],dve={class:"relative z-10 flex h-full w-full items-center justify-center rounded-full bg-white dark:bg-neutral-900"},uve={key:0,class:"text-center"},fve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},hve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},mve=["aria-label","aria-valuenow","aria-valuemax"],pve={class:"flex items-center gap-1.5"},gve={class:"flex items-center justify-between gap-4"},bve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},yve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},vve=["aria-label","aria-valuenow","aria-valuemax"],wve={class:"relative h-3 rounded-sm bg-neutral-200 dark:bg-neutral-700"},_ve={class:"flex items-center justify-between gap-4 text-xs"},kve={class:"text-neutral-500 dark:text-neutral-400"},ED=r.defineComponent({name:"DCodePercentage",inheritAttrs:!1,__name:"DCodePercentage",props:{value:{default:0},max:{default:100},label:{default:""},caption:{default:""},showValue:{type:Boolean,default:!0},variant:{default:"bar"},size:{default:"md"},target:{default:80},stepCount:{default:5},color:{default:"primary"},visible:{type:Boolean,default:!0}},setup(e){const t=e,n=r.computed(()=>Math.max(Number.isFinite(t.max)?t.max:100,1)),i=r.computed(()=>Math.min(Math.max(Number.isFinite(t.value)?t.value:0,0),n.value)),o=r.computed(()=>i.value/n.value*100),s=r.computed(()=>t.showValue?`${Math.round(o.value)}%`:""),a=r.computed(()=>Math.min(Math.max(t.target/n.value*100,0),100)),l=r.computed(()=>Math.round(o.value/100*t.stepCount)),c=r.computed(()=>"h-2"),d=r.computed(()=>({"h-24 w-24":t.size==="sm","h-32 w-32":t.size==="md","h-40 w-40":t.size==="lg"})),f=r.computed(()=>t.variant==="donut"?16:8),h=r.computed(()=>({"bg-primary-500":t.color==="primary","bg-success-500":t.color==="success","bg-warning-500":t.color==="warning","bg-danger-500":t.color==="danger"})),p=r.computed(()=>({"stroke-primary-500":t.color==="primary","stroke-success-500":t.color==="success","stroke-warning-500":t.color==="warning","stroke-danger-500":t.color==="danger"})),g=r.computed(()=>({"--percentage-color":t.color==="success"?"#22c55e":t.color==="warning"?"#f59e0b":t.color==="danger"?"#ef4444":"#0066cc","--percentage-track":"rgb(229 229 229)"})),y=r.computed(()=>({"text-primary-600 dark:text-primary-400":t.color==="primary","text-success-600 dark:text-success-400":t.color==="success","text-warning-600 dark:text-warning-400":t.color==="warning","text-danger-600 dark:text-danger-400":t.color==="danger"}));return(v,w)=>e.visible?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["w-full",v.$attrs.class])},[e.variant==="bar"?(r.openBlock(),r.createElementBlock("div",Wye,[r.createElementVNode("div",Hye,[r.createElementVNode("div",qye,[r.createElementVNode("p",Kye,r.toDisplayString(e.label),1),e.caption?(r.openBlock(),r.createElementBlock("p",Gye,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)]),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["shrink-0 text-sm font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["mt-3 w-full overflow-hidden rounded-full bg-neutral-200 dark:bg-neutral-700",c.value]),role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:r.normalizeClass(["h-full rounded-full transition-[width] duration-500 ease-out",h.value]),style:r.normalizeStyle({width:`${o.value}%`})},null,6)],10,Yye)])):e.variant==="circle"||e.variant==="donut"?(r.openBlock(),r.createElementBlock("div",{key:1,class:"flex flex-col items-center gap-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:r.normalizeClass(["relative",d.value])},[(r.openBlock(),r.createElementBlock("svg",Xye,[r.createElementVNode("circle",{cx:"50",cy:"50",r:"40",fill:"none",class:"stroke-neutral-200 dark:stroke-neutral-700","stroke-width":f.value},null,8,Jye),r.createElementVNode("circle",{cx:"50",cy:"50",r:"40",fill:"none",class:r.normalizeClass(["transition-[stroke-dashoffset] duration-500 ease-out",p.value]),"stroke-width":f.value,"stroke-linecap":"round","stroke-dasharray":"251.2","stroke-dashoffset":251.2-251.2*o.value/100},null,10,Qye)])),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["absolute inset-0 flex items-center justify-center text-xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)],2),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",Vye,[e.label?(r.openBlock(),r.createElementBlock("p",eve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",tve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,Zye)):e.variant==="semi-circle"?(r.openBlock(),r.createElementBlock("div",{key:2,class:"flex flex-col items-center gap-2",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",ive,[(r.openBlock(),r.createElementBlock("svg",ove,[w[0]||(w[0]=r.createElementVNode("path",{d:"M10 50 A40 40 0 0 1 90 50",pathLength:"100",fill:"none",class:"stroke-neutral-200 dark:stroke-neutral-700","stroke-width":"10","stroke-linecap":"round"},null,-1)),r.createElementVNode("path",{d:"M10 50 A40 40 0 0 1 90 50",pathLength:"100",fill:"none",class:r.normalizeClass(["transition-[stroke-dasharray] duration-500 ease-out",p.value]),"stroke-width":"10","stroke-linecap":"round","stroke-dasharray":`${o.value} 100`},null,10,rve)])),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["absolute inset-x-0 bottom-0 text-center text-2xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)]),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",sve,[e.label?(r.openBlock(),r.createElementBlock("p",ave,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",lve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,nve)):e.variant==="radial"?(r.openBlock(),r.createElementBlock("div",{key:3,class:"flex flex-col items-center gap-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:"relative flex h-36 w-36 items-center justify-center rounded-full p-2",style:r.normalizeStyle(g.value)},[r.createElementVNode("div",{class:"absolute inset-0 rounded-full",style:r.normalizeStyle({background:`conic-gradient(var(--percentage-color) ${o.value}%, var(--percentage-track) 0)`})},null,4),r.createElementVNode("div",dve,[e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["text-2xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)])],4),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",uve,[e.label?(r.openBlock(),r.createElementBlock("p",fve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",hve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,cve)):e.variant==="steps"?(r.openBlock(),r.createElementBlock("div",{key:4,class:"space-y-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",pve,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.stepCount,C=>(r.openBlock(),r.createElementBlock("span",{key:C,class:r.normalizeClass(["h-2.5 flex-1 rounded-sm",C<=l.value?h.value:"bg-neutral-200 dark:bg-neutral-700"])},null,2))),128))]),r.createElementVNode("div",gve,[r.createElementVNode("div",null,[e.label?(r.openBlock(),r.createElementBlock("p",bve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",yve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)]),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["text-sm font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)])],8,mve)):(r.openBlock(),r.createElementBlock("div",{key:5,class:"space-y-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",wve,[r.createElementVNode("div",{class:r.normalizeClass(["h-full rounded-sm transition-[width] duration-500 ease-out",h.value]),style:r.normalizeStyle({width:`${o.value}%`})},null,6),r.createElementVNode("span",{class:"absolute top-1/2 h-5 w-0.5 -translate-y-1/2 bg-neutral-900 dark:bg-white",style:r.normalizeStyle({left:`calc(${a.value}% - 1px)`}),"aria-hidden":"true"},null,4)]),r.createElementVNode("div",_ve,[r.createElementVNode("span",kve,r.toDisplayString(e.label),1),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["font-semibold tabular-nums",y.value])},r.toDisplayString(s.value)+" / target "+r.toDisplayString(a.value)+"%",3)):r.createCommentVNode("",!0)])],8,vve))],2)):r.createCommentVNode("",!0)}}),xve={class:"flex flex-col gap-1.5"},Cve={key:0,class:"flex items-center gap-1"},Eve={key:0,class:"text-xs font-medium text-slate-700 dark:text-slate-300 leading-none"},Sve={class:"inline-flex items-center text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 cursor-help transition-colors",tabindex:"-1","aria-label":"More info"},Ave=["aria-disabled"],Tve=["aria-checked","disabled","onClick"],Pve=["aria-checked","disabled","onClick"],Bve={name:"DCodeSegmentGroup"},SD=r.defineComponent({...Bve,props:{modelValue:{},options:{},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=t,o=c=>c.code===n.modelValue,s=c=>{n.disabled||i("update:modelValue",c.code)},a=r.computed(()=>["inline-flex items-center gap-1 rounded-lg border p-1","bg-slate-100 border-slate-200 dark:bg-slate-800/60 dark:border-slate-700",n.disabled?"opacity-50 cursor-not-allowed":""]),l=c=>["relative inline-flex items-center justify-center","min-w-[2.5rem] px-2.5 py-1 rounded-md","font-mono font-bold tracking-wider text-sm","transition-all duration-200 ease-out","focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",o(c)?["bg-white dark:bg-slate-900","text-primary dark:text-primary","shadow-sm border border-slate-200 dark:border-slate-600","scale-[1.03]"]:["text-slate-500 dark:text-slate-400","hover:bg-white/60 dark:hover:bg-slate-700/60","border border-transparent"],n.disabled?"cursor-not-allowed":"cursor-pointer"];return(c,d)=>(r.openBlock(),r.createElementBlock("div",xve,[e.label||e.description?(r.openBlock(),r.createElementBlock("div",Cve,[e.label?(r.openBlock(),r.createElementBlock("span",Eve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.description?(r.openBlock(),r.createBlock(r.unref(Dc),{key:1,"delay-duration":150},{default:r.withCtx(()=>[r.createVNode(r.unref(Pc),null,{default:r.withCtx(()=>[r.createVNode(r.unref(Nc),{"as-child":""},{default:r.withCtx(()=>[r.createElementVNode("span",Sve,[r.createVNode(r.unref(Ee.Info),{class:"w-3.5 h-3.5"})])]),_:1}),r.createVNode(r.unref(Bc),{side:"bottom"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.description),1)]),_:1})]),_:1})]),_:1})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(a.value),role:"radiogroup","aria-disabled":e.disabled?"true":void 0},[r.createVNode(r.unref(Dc),{"delay-duration":200},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.options,f=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:f.code},[f.tooltip?(r.openBlock(),r.createBlock(r.unref(Pc),{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Nc),{"as-child":""},{default:r.withCtx(()=>[r.createElementVNode("button",{type:"button",role:"radio","aria-checked":o(f),disabled:e.disabled,class:r.normalizeClass(l(f)),onClick:h=>s(f)},r.toDisplayString(f.display),11,Tve)]),_:2},1024),r.createVNode(r.unref(Bc),{side:"bottom"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(f.tooltip),1)]),_:2},1024)]),_:2},1024)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",role:"radio","aria-checked":o(f),disabled:e.disabled,class:r.normalizeClass(l(f)),onClick:h=>s(f)},r.toDisplayString(f.display),11,Pve))],64))),128))]),_:1})],10,Ave)]))}}),Dve={class:"dcode-upload-file"},Nve={class:"border-2 border-dashed border-gray-300 dark:border-gray-700 rounded-lg p-6 flex flex-col items-center justify-center text-center hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors cursor-pointer"},Mve={key:0,class:"text-xs text-gray-500 mt-1"},Ive=["accept"],Rve={key:1,class:"text-xs text-red-600 mt-1"},AD=r.defineComponent({name:"DCodeUploadFile",__name:"DCodeUploadFile",props:{label:{},accept:{},errorMessage:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,i=o=>{const s=o.target.files?.[0];s&&n("update:modelValue",s)};return(o,s)=>(r.openBlock(),r.createElementBlock("div",Dve,[e.label?(r.openBlock(),r.createBlock(Sl,{key:0,label:e.label},null,8,["label"])):r.createCommentVNode("",!0),r.createElementVNode("div",Nve,[r.createVNode(r.unref(Ee.UploadCloud),{class:"w-8 h-8 text-gray-400 mb-2"}),s[0]||(s[0]=r.createElementVNode("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[r.createElementVNode("span",{class:"font-medium text-primary-600"},"Click to upload"),r.createTextVNode(" or drag and drop ")],-1)),e.accept?(r.openBlock(),r.createElementBlock("p",Mve,r.toDisplayString(e.accept),1)):r.createCommentVNode("",!0),r.createElementVNode("input",{type:"file",class:"hidden",onChange:i,accept:e.accept},null,40,Ive)]),e.errorMessage?(r.openBlock(),r.createElementBlock("p",Rve,r.toDisplayString(e.errorMessage),1)):r.createCommentVNode("",!0)]))}}),Ove={key:0,class:"flex flex-wrap items-center justify-between gap-3 px-4 py-3 bg-neutral-50 dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 select-none"},Lve={class:"flex items-center gap-2"},Fve={key:0,class:"font-semibold text-sm text-neutral-800 dark:text-neutral-200 flex items-center gap-2"},$ve={key:1,class:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-semibold bg-violet-100 dark:bg-violet-900/40 text-violet-700 dark:text-violet-300 border border-violet-200 dark:border-violet-700/50"},zve={key:2,class:"flex items-center bg-neutral-200 dark:bg-neutral-800 p-0.5 rounded-lg text-xs ml-2"},jve={key:0,class:"flex items-center gap-1.5"},Uve=["title"],Wve={key:0,class:"h-4 w-px bg-neutral-300 dark:bg-neutral-700 mx-1"},Hve={key:1,class:"flex-1 flex overflow-hidden compare-split"},qve={class:"compare-panel flex flex-col flex-1 min-w-0 border-r border-neutral-200 dark:border-neutral-800"},Kve={class:"compare-panel-header flex items-center justify-between px-3 py-2 bg-amber-50 dark:bg-amber-950/30 border-b border-amber-200 dark:border-amber-800/50 select-none"},Gve={class:"inline-flex items-center gap-1.5 text-xs font-semibold text-amber-700 dark:text-amber-400"},Yve={class:"flex items-center gap-1"},Zve={key:0,class:"h-3 w-px bg-amber-200 dark:bg-amber-800 mx-0.5"},Xve={class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},Jve={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},Qve={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},Vve={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-4 rounded-xl max-w-xs border border-red-200 dark:border-red-900/60"},ewe={class:"text-xs opacity-80 font-mono break-words"},twe={key:2,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},nwe={class:"flex flex-col items-center justify-center text-neutral-400 dark:text-neutral-500"},iwe={class:"text-[11px] text-neutral-400 dark:text-neutral-500 mt-0.5 font-mono"},owe={class:"compare-panel flex flex-col flex-1 min-w-0"},rwe={class:"compare-panel-header flex items-center justify-between px-3 py-2 bg-emerald-50 dark:bg-emerald-950/30 border-b border-emerald-200 dark:border-emerald-800/50 select-none"},swe={class:"inline-flex items-center gap-1.5 text-xs font-semibold text-emerald-700 dark:text-emerald-400"},awe={class:"flex items-center gap-1"},lwe={key:0,class:"h-3 w-px bg-emerald-200 dark:bg-emerald-800 mx-0.5"},cwe={class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},dwe={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},uwe={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},fwe={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-4 rounded-xl max-w-xs border border-red-200 dark:border-red-900/60"},hwe={class:"text-xs opacity-80 font-mono break-words"},mwe={key:2,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},pwe={class:"flex flex-col items-center justify-center text-neutral-400 dark:text-neutral-500"},gwe={class:"text-[11px] text-neutral-400 dark:text-neutral-500 mt-0.5 font-mono"},bwe={key:2,class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},ywe={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},vwe={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-6 text-center"},wwe={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-6 rounded-xl max-w-md border border-red-200 dark:border-red-900/60 shadow-xs"},_we={class:"text-xs opacity-90 mb-4 break-words font-mono bg-red-100/50 dark:bg-red-900/40 p-2 rounded"},kwe={class:"flex gap-2 justify-center"},xwe={key:2,class:"w-full h-full p-4 overflow-auto font-mono text-xs text-neutral-100 dark:text-neutral-200 bg-neutral-900 dark:bg-neutral-950"},Cwe={class:"whitespace-pre-wrap break-all leading-relaxed"},TD=`<?xml version="1.0" encoding="UTF-8"?>
|
|
163
|
+
BaseUrl: ${$e||"NONE"}, Final: ${Xe}`);const et={page:1,perPage:100};if(Array.isArray(Be.keyParam)){let xn=!1;if(Be.keyParam.forEach(ln=>{let Yn="",Cn="";if(typeof ln=="string")Yn=ln,Cn=ln;else if(typeof ln=="object"&&ln!==null){const Jo=Object.entries(ln)[0];Jo&&(Yn=Jo[0],Cn=Jo[1])}if(!Yn||!Cn)return;const Dn=mt(_e)[Cn];Dn==null||Dn===""?xn=!0:et[Yn]=Dn&&typeof Dn=="object"?Dn.id??Dn.code??Dn.value??Dn:Dn}),xn){je[me]=[];return}}const kt={...Be.config||{}};Be.accept&&(kt.headers||(kt.headers={}),kt.headers.Accept=Be.accept,kt.headers.accept=Be.accept);const it=await c(Xe,Be.apiMethod||"GET",et,kt),Ve=it?.data||it;console.log(`[prefetchDialogFieldItems][RESPONSE] ${me}`,Ve);let Mt=[];Array.isArray(Ve)?Mt=Ve:Ve&&(Mt=[Ve]),console.log(`[prefetchDialogFieldItems][STORE] ${me} items count: ${Mt.length}`),je[me]=Mt}catch($e){console.error(`[prefetchDialogFieldItems] Error fetching items for ${me}:`,$e),je[me]=[]}};r.watch(_e,(q,ie)=>{$.value&&(Ye(),Je.value.forEach(te=>{const fe=te.props||{},de=fe.endpoint||fe.endpointReference;Array.isArray(de?.keyParam)&&de.keyParam.length>0&&Jr(te,!0)}))},{deep:!0});const pc=()=>{Je.value.length&&Je.value.forEach(q=>{const ie=st(q,_e);if(ie!=null){const te=_e[q.model],de=(q.props||{}).returnObject||q.logic?.returnObject;(te==null||te===""||de&&(typeof te=="string"||typeof te=="number")&&(typeof ie=="object"&&ie!==null))&&(_e[q.model]=ie)}})};r.watch(je,()=>{$.value&&pc()},{deep:!0});const zn=r.ref([]),Qr=r.ref(new Map),Va=r.computed(()=>Array.from(Qr.value.values())),Zo=r.computed(()=>ci.value.find(te=>["CHECKBOX","checkbox"].includes(te.type??""))?.keyCheckbox||Y.value?.endpointTable?.keyParam?.[0]||Y.value?.endpointGlobal?.keyParam?.[0]||Y.value?.endpoint?.keyParam?.[0]||"id"),wb=()=>ci.value.find(ie=>["CHECKBOX","checkbox"].includes(ie.type??""))?.keyPayload||null,im=r.computed(()=>{const q=Zo.value,ie=oo.value.map(te=>te[q]).filter(te=>te!=null);return oo.value.length>0&&ie.length===0&&console.warn(`[DataTable] selectionKey "${q}" returned no IDs for ${oo.value.length} rows. Selection may not work.`),ie}),su=r.computed(()=>new Set(zn.value.map(q=>String(q)))),_b=r.computed(()=>{const q=im.value;if(q.length===0)return!1;const ie=su.value;return q.every(te=>ie.has(String(te)))}),kb=r.computed(()=>{const q=im.value;if(q.length===0)return!1;const ie=su.value,te=q.filter(fe=>ie.has(String(fe))).length;return te>0&&te<q.length}),n1=q=>{const ie=q[Zo.value];return ie!=null&&su.value.has(String(ie))},au=q=>{const ie=typeof q=="boolean"?q:q?.target?.checked??!!q,te=im.value;if(ie){const fe=su.value,de=[...zn.value];oo.value.forEach(pe=>{const me=pe[Zo.value];me!=null&&!fe.has(String(me))&&(de.push(me),Qr.value.set(String(me),pe))}),zn.value=de}else{const fe=new Set(te.map(de=>String(de)));zn.value=zn.value.filter(de=>!fe.has(String(de))),fe.forEach(de=>{Qr.value.delete(de)})}},i1=(q,ie)=>{const te=typeof ie=="boolean"?ie:ie?.target?.checked??!!ie,fe=q[Zo.value];if(fe==null)return;const de=String(fe);te?zn.value.some(pe=>String(pe)===de)||(zn.value.push(fe),Qr.value.set(de,q)):(zn.value=zn.value.filter(pe=>String(pe)!==de),Qr.value.delete(de))};r.watch(zn,q=>{const ie=wb();if(ie){const fe={[ie]:q};o("update:selection",fe)}else o("update:selection",q);o("selection-change",Va.value);const te=_b.value||q.length>1;ee.value?.length&&ee.value.forEach(fe=>{fe.fieldActionGlobal?.length&&fe.fieldActionGlobal.forEach(de=>{const me=(fe.endpoint||fe.propsActionGlobal?.endpointPropAction||fe.propsActionGlobal)?.keyParam?.[0],Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(de.component);(me&&de.model===me||!me&&/^(id|ids|idAuditTrail|idAppRequest)$/i.test(de.model))&&te&&(!Be||me&&de.model===me)&&de.model&&(_e[de.model]=q)})})},{deep:!0});const o1=q=>{const ie=(de,pe,me)=>{if(!pe)return;const Be=pe.split(".");let $e=de;for(let Xe=0;Xe<Be.length-1;Xe++){const et=Be[Xe];$e[et]||($e[et]={}),$e=$e[et]}$e[Be[Be.length-1]]=me},te=(de,pe)=>{if(Array.isArray(de.condition)&&de.condition.length>0)return de.condition[pe%de.condition.length].value;const me=["Active","Pending","Inactive","Success","Failed"];return me[pe%me.length]},fe=(de,pe,me)=>{if(["no","action"].includes(pe.key)||["ACTION","action"].includes(pe.type))return;const $e=(pe.type||"").toUpperCase(),Xe=`Data ${pe.label} ${me+1}`;if($e==="BADGE"||pe.condition){ie(de,pe.key,te(pe,me));return}switch($e){case"CHECKBOX":ie(de,pe.keyCheckbox||"id",me+1);break;case"HYPERLINK":ie(de,pe.key,`Link ${me+1}`),pe.propsCustom?.[0]?.urlLink&&ie(de,pe.propsCustom[0].urlLink,`https://example.com/page/${me+1}`);break;case"CURRENCY":ie(de,pe.key,1e6+me*5e4);break;case"DATE":case"DATA":ie(de,pe.key,new Date(Date.now()-me*864e5).toISOString().split("T")[0]);break;case"DATETIME":ie(de,pe.key,new Date(Date.now()-me*36e5).toISOString());break;case"TEXT":pe.propsCustom?.[0]?.value?ie(de,`${pe.key}.${pe.propsCustom[0].value}`,Xe):ie(de,pe.key,Xe);break;default:ie(de,pe.key,Xe)}};return Array.from({length:q}).map((de,pe)=>{const me={id:pe+1,no:pe+1};return ci.value.forEach(Be=>fe(me,Be,pe)),me})},gc=q=>String(q)==="true"||q===!0,Bn=q=>q&&typeof q=="string"&&q.trim()?q:void 0,lu=r.computed(()=>Bn(Y.value?.endpoint?.apiModule)||Bn(Y.value?.endpointTable?.apiModule)||Bn(Y.value?.endpointGlobal?.apiModule)||i.apiModule),om=r.computed(()=>Bn(Y.value?.endpoint?.apiAction)||Bn(Y.value?.endpointTable?.apiAction)||Bn(Y.value?.endpointGlobal?.apiAction)||i.apiAction),bc=r.computed(()=>Bn(Y.value?.endpoint?.apiMethod)||Bn(Y.value?.endpointSection?.apiMethod)||Bn(Y.value?.endpointTable?.apiMethod)||Bn(Y.value?.endpointGlobal?.apiMethod)||i.apiMethod||"GET"),yc=r.computed(()=>Bn(Y.value?.endpoint?.apiUrl)||Bn(Y.value?.endpointSection?.apiUrl)||Bn(Y.value?.endpointTable?.apiUrl)||Bn(Y.value?.endpointGlobal?.apiUrl)||i.apiUrl),cu=r.computed(()=>Bn(Y.value?.endpoint?.accept)||Bn(Y.value?.endpointSection?.accept)||Bn(Y.value?.endpointTable?.accept)||Bn(Y.value?.endpointGlobal?.accept)||i.accept),Ui=r.computed(()=>Bn(Y.value?.endpoint?.socket)||Bn(Y.value?.endpointSection?.socket)||Bn(Y.value?.endpointTable?.socket)||Bn(Y.value?.endpointGlobal?.socket)||i.socketEndpoint||i.socketRequest),qt=r.computed(()=>({page:W.value,perPage:J.value,...Y.value?.endpoint?.socketParams||Y.value?.endpointSection?.socketParams||Y.value?.endpointTable?.socketParams||Y.value?.endpointGlobal?.socketParams||i.socketParams||{}})),kn=r.computed(()=>!!Ui.value),du=r.computed(()=>i.permissionBase||Y.value?.permissionBase||"");function Vr(){console.log("[DataTable][loadConfig] Called. Existing filters keys:",Object.keys(N.value),"values:",JSON.stringify(N.value));let q=null;if(i.tableConfig&&(q=i.tableConfig),q){Y.value=q,U.value=[],ee.value=[],x.value=!1,q.headers?li.value=q.headers.map(pe=>{const me=(pe.custom?.type||pe.type||"").toUpperCase();if(pe.key==="action"||me==="ACTION"){gc(pe.isHidden)&&(x.value=!0);const et=pe.custom?.actionCustom||pe.custom?.action;if(et){const kt=et.map(it=>{const Ve=it.propsActionCustom||it.props||it.propsActionGlobal||{},Mt=it.propCustomMessage||{},xn=it.type||Ve.type||it.actionType||Ve.actionType,ln=it.buttons||it.propsCustom||Ve.buttons||Ve.propsCustom||[];return{key:it.key,id:it.id,permission:it.permission,type:xn,buttons:ln,propsCustom:ln,labelID:Ve.labelID||it.labelID,labelEN:Ve.labelEN||it.labelEN,labelKR:Ve.labelKR||it.labelKR,label:d.value==="kr"||d.value==="ko"?Ve.labelKR||Ve.labelEN:d.value==="id"?Ve.labelID:Ve.labelEN,tooltip:d.value==="kr"||d.value==="ko"?Ve.tooltipKR||Ve.labelKR||Ve.tooltipEN||Ve.labelEN:d.value==="id"?Ve.tooltipID||Ve.labelID:Ve.tooltipEN||Ve.labelEN,icon:Ve.icon,variant:Ve.variant||"ghost",bgColor:Ve.bgColor,action:it.key||it.id||Ve.actionType||Ve.key,actionType:Ve.actionType,route:Ve.route,path:Ve.path,targetBehavior:Ve.targetBehavior||it.targetBehavior,keyRedirect:Ve.keyRedirect||it.keyRedirect,borderStyle:Ve.borderStyle,borderColor:Ve.borderColor,rounded:Ve.rounded,endpoint:os(it),propsActionCustom:Ve,_customMsg:Mt,propCustomCondition:it.propCustomCondition||[],fieldMapping:it.fieldMapping||Ve.fieldMapping||null,openDialog:it.openDialog??Ve.openDialog??!1,dialogConfig:it.dialogConfig||Ve.dialogConfig||null,layoutColumns:it.layoutColumns||Ve.layoutColumns||it.layout||Ve.layout,fieldActionCustom:(it.fieldActionCustom||[]).map(Yn=>{const Cn=Yn.propsFieldCustom||Yn.propsFieldGlobal||Yn.propsFilters||Yn.props||{};return{...Yn,props:{...Cn,items:je[Yn.key]||je[Yn.model]||Cn.items,endpoint:Cn.endpointComponent||Cn.endpoint}}}),condition:it.visibleRule||it.propCustomCondition||Ve.visibleRule||Ve.propCustomCondition||null,requireConfirm:it.requireConfirm||Ve.requireConfirm||!1,confirmTitle:d.value==="kr"||d.value==="ko"?Mt.titleKR||Ve.confirmTitleKR||"확인":d.value==="id"?Mt.titleID||Ve.confirmTitleID||"Konfirmasi":Mt.titleEN||Ve.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?Mt.messageKR||Ve.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?Mt.messageID||Ve.confirmMessageID||"Apakah Anda yakin?":Mt.messageEN||Ve.confirmMessageEN||"Are you sure?",isHidden:it.isHidden||Ve.isHidden,routeBack:Ve.routeBack,pathBack:Ve.pathBack,triggerNavigation:it.triggerNavigation}});U.value.push(...kt)}return null}let $e;const Xe=pe.custom?.conditionBadge||pe.custom?.condition;return me==="BADGE"&&Xe&&($e=Xe.map(et=>({value:et.value,label:d.value==="kr"||d.value==="ko"?et.labelKR||et.labelEN:d.value==="id"?et.labelID:et.labelEN,labelID:et.labelID,labelEN:et.labelEN,labelKR:et.labelKR,color:et.color||et.bgColor,variant:et.variant,logic:et.logic||et.conditionRule||null}))),{key:pe.key,label:(d.value==="kr"||d.value==="ko"?pe.labelKR||pe.labelEN:d.value==="id"?pe.labelID:pe.labelEN)||pe.label||pe.labelKR||pe.labelEN||pe.labelID,width:pe.width,align:pe.align,sortable:!["CHECKBOX","checkbox"].includes(me),type:pe.custom?.type||pe.type,condition:$e,keyCheckbox:pe.custom?.keyCheckbox,keyPayload:pe.custom?.keyPayload,propsCustom:pe.custom?.propsCustom,isHidden:pe.isHidden,format:pe.format||pe.custom?.format}}).filter(pe=>pe!==null):li.value=[];const ie=q.filters||q.filter;ie&&Array.isArray(ie)&&(H.value=ie.map(pe=>({...pe,props:pe.propsFilters||pe.props||{}})),H.value.forEach(pe=>{N.value[pe.model]===void 0&&(N.value[pe.model]="")}),H.value.forEach(pe=>{if(!pe.logic?.optionsFilterRule)return;const me=pe.propsFilters||pe.props||{},Be=me.endpointComponent||me.endpointReference||me.endpoint;if(!Be?.apiUrl)return;const $e=pe.key||pe.model;if(G[$e])return;const Xe=O.value,et=or(Be.apiUrl,Xe);c(et,Be.apiMethod||"GET",{page:1,perPage:500}).then(kt=>{const it=kt?.data||kt;G[$e]=Array.isArray(it)?it:it?[it]:[]}).catch(()=>{G[$e]=[]})}));const te=q.actionTableGlobal||q.actionGlobal||q.actionSection||q.actionGlobalStep||q.action;te&&Array.isArray(te)&&(ee.value=te.map(pe=>{const me=pe.propsActionGlobal||pe.props||{},Be=pe.propCustomMessage||{},$e=pe.type||me.type||pe.actionType||me.actionType,Xe=pe.buttons||pe.propsCustom||me.buttons||me.propsCustom||[];return{key:me.key,permission:pe.permission,type:$e,buttons:Xe,propsCustom:Xe,labelID:me.labelID||pe.labelID,labelEN:me.labelEN||pe.labelEN,labelKR:me.labelKR||pe.labelKR,actionType:pe.actionType||me.actionType||me.type||pe.permission,label:d.value==="kr"||d.value==="ko"?me.labelKR||me.labelEN||"Action":d.value==="id"?me.labelID||me.labelEN||"Action":me.labelEN||"Action",tooltip:d.value==="kr"||d.value==="ko"?me.tooltipKR||me.labelKR||me.tooltipEN||me.labelEN:d.value==="id"?me.tooltipID||me.labelID:me.tooltipEN||me.labelEN,icon:me.icon,variant:me.variant||"default",bgColor:me.bgColor,textColor:me.textColor,route:me.route,path:me.path,targetBehavior:me.targetBehavior||pe.targetBehavior,keyRedirect:me.keyRedirect||pe.keyRedirect,borderStyle:me.borderStyle,borderColor:me.borderColor,rounded:me.rounded,endpoint:me.endpointDialogActionSave||me.endpointDialogAction||me.endpointAction||me.endpointPropAction||pe.endpoint,propsActionGlobal:me,_customMsg:Be,excludeSelectedInTable:pe.excludeSelectedInTable??me.excludeSelectedInTable,fieldMapping:pe.fieldMapping||me.fieldMapping||null,visibleRule:pe.visibleRule||me.visibleRule||pe.propCustomCondition||me.propCustomCondition||null,openDialog:pe.openDialog??me.openDialog??!1,dialogConfig:pe.dialogConfig||me.dialogConfig||null,layoutColumns:pe.layoutColumns||me.layoutColumns||pe.layout||me.layout,requireConfirm:pe.requireConfirm||me.requireConfirm||!1,confirmTitle:d.value==="kr"||d.value==="ko"?Be.titleKR||me.confirmTitleKR||"확인":d.value==="id"?Be.titleID||me.confirmTitleID||"Konfirmasi":Be.titleEN||me.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?Be.messageKR||me.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?Be.messageID||me.confirmMessageID||"Apakah Anda yakin?":Be.messageEN||me.confirmMessageEN||"Are you sure?",fieldActionGlobal:(pe.fieldActionGlobal||pe.fieldActionCustom||pe.field||[]).map(et=>{const kt=et.propsFieldCustom||et.propsFieldGlobal||et.propsFilters||et.props||{};return{...et,props:{...kt,items:je[et.key]||je[et.model]||kt.items,endpoint:kt.endpointComponent||kt.endpoint}}}),isHidden:pe.isHidden||me.isHidden,routeBack:me.routeBack,pathBack:me.pathBack}})),q.pagination!==void 0&&(ue.value=q.pagination),q.showQuickSearch!==void 0?j.value=q.showQuickSearch:j.value=!0,q.showRefresh!==void 0?K.value=q.showRefresh:K.value=!0;const fe=[],de=pe=>{Array.isArray(pe)&&pe.forEach(me=>{const Be=me.fieldActionGlobal||me.fieldActionCustom||me.fields||me.field||[];Array.isArray(Be)&&fe.push(...Be);const $e=me.buttons||me.propsCustom||me.propsActionCustom?.buttons||me.propsActionCustom?.propsCustom||me.propsActionGlobal?.buttons||me.propsActionGlobal?.propsCustom||[];Array.isArray($e)&&de($e)})};de(q.actionTableGlobal||q.actionGlobal||[]),de(q.actionTableLine||q.actionLine||[]),(q.headers||[]).forEach(pe=>{pe.custom?.propsCustom&&Array.isArray(pe.custom.propsCustom)&&de(pe.custom.propsCustom),pe.custom?.actionCustom&&Array.isArray(pe.custom.actionCustom)&&de(pe.custom.actionCustom)}),fe.forEach(pe=>{Jr(pe)})}}r.watch(()=>i.tableConfig,()=>{Vr()},{deep:!0,immediate:!0}),r.watch(d,()=>{const q=Y.value;if(q&&(U.value.length&&(U.value=U.value.map(ie=>{const te=ie.propsActionCustom||{},fe=ie._customMsg||{};return{...ie,label:d.value==="kr"||d.value==="ko"?te.labelKR||te.labelEN||"":d.value==="id"?te.labelID:te.labelEN,tooltip:d.value==="kr"||d.value==="ko"?te.tooltipKR||te.labelKR||te.tooltipEN||te.labelEN:d.value==="id"?te.tooltipID||te.labelID:te.tooltipEN||te.labelEN,confirmTitle:d.value==="kr"||d.value==="ko"?fe.titleKR||te.confirmTitleKR||"확인":d.value==="id"?fe.titleID||te.confirmTitleID||"Konfirmasi":fe.titleEN||te.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?fe.messageKR||te.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?fe.messageID||te.confirmMessageID||"Apakah Anda yakin?":fe.messageEN||te.confirmMessageEN||"Are you sure?"}})),ee.value.length&&(ee.value=ee.value.map(ie=>{const te=ie.propsActionGlobal||{},fe=ie._customMsg||{};return{...ie,label:d.value==="kr"||d.value==="ko"?te.labelKR||te.labelEN||"Action":d.value==="id"?te.labelID||te.labelEN||"Action":te.labelEN||"Action",tooltip:d.value==="kr"||d.value==="ko"?te.tooltipKR||te.labelKR||te.tooltipEN||te.labelEN:d.value==="id"?te.tooltipID||te.labelID:te.tooltipEN||te.labelEN,confirmTitle:d.value==="kr"||d.value==="ko"?fe.titleKR||te.confirmTitleKR||"확인":d.value==="id"?fe.titleID||te.confirmTitleID||"Konfirmasi":fe.titleEN||te.confirmTitleEN||"Confirm",confirmMessage:d.value==="kr"||d.value==="ko"?fe.messageKR||te.confirmMessageKR||"정말로 진행하시겠습니까?":d.value==="id"?fe.messageID||te.confirmMessageID||"Apakah Anda yakin?":fe.messageEN||te.confirmMessageEN||"Are you sure?"}})),li.value.length)){const ie=q.headers||[];li.value=li.value.map(te=>{const fe=ie.find(de=>de.key===te.key);return fe?{...te,label:d.value==="kr"||d.value==="ko"?fe.labelKR||fe.labelEN||fe.label:(d.value==="id"?fe.labelID:fe.labelEN)||fe.label||fe.labelID||fe.labelEN,condition:te.condition?.map(de=>({...de,label:d.value==="kr"||d.value==="ko"?de.labelKR||de.labelEN||de.label:d.value==="id"?de.labelID||de.label:de.labelEN||de.label}))}:te})}});const ci=r.computed(()=>{let q=[];return i.dynamicColumns||i.configKey||i.tableConfig?q=li.value:q=i.columns||[],q.filter(ie=>!gc(ie.isHidden))}),Vs=r.computed(()=>x.value?!1:i.hasActions||el.value.length>0),wt=r.computed(()=>i.dummyMode?!1:!!(i.loading||X.value)),Pt=r.computed(()=>!!lu.value||!!yc.value||kn.value||i.remotePagination),rm=r.computed(()=>[]),uu=q=>{if(!i.menuPermissions?.length)return;const ie=i.menuPermissions.find(de=>z.path.startsWith(de.path));if(!ie?.actions)return;const te=q.toUpperCase();return ie.actions.find(de=>de.code===te)?.checked},Ri=(q,ie,te)=>{let fe=q(ie,te);return!fe&&te!==te.toLowerCase()&&(fe=q(ie,te.toLowerCase())),fe},r1=(q,ie)=>Array.isArray(P)?[q,q.toLowerCase()].flatMap(de=>[de,`${ie}_${de}`,`${ie}.${de}`]).some(de=>P.includes(de)):!1,fu=(q,ie,te)=>{let fe=Ri(q,ie,te);if(fe)return!0;if(z.path){const pe=z.path.split("/").find(Boolean)[0];pe&&pe!==ie&&(fe=Ri(q,pe,te))}return fe||(ie!==""&&(fe=Ri(q,"",te)),fe)?!0:r1(te,ie)},es=q=>{if(!q)return!0;const ie=uu(q);if(ie!==void 0)return ie;const te=du.value,fe=i.permissionChecker||I;if(fe)return fu(fe,te,q);const de=q.toUpperCase();return rm.value.some(pe=>pe.code===de)},jn=(q,ie)=>{if(q.condition)try{return tr.apply(q.condition,ie)}catch(me){return console.warn("Row action jsonLogic error:",me),!1}if(!q.visibilityCondition)return!0;const{field:te,operator:fe,value:de}=q.visibilityCondition,pe=Kt(ie,te);switch(fe){case"equals":return pe===de;case"notEquals":return pe!==de;case"in":return Array.isArray(de)&&de.includes(pe);case"notIn":return Array.isArray(de)&&!de.includes(pe);case"greaterThan":return pe>de;case"lessThan":return pe<de;case"contains":return String(pe).includes(String(de));default:return!0}},ts=r.computed(()=>{if(ee.value.length===0)return[];const q=i.dummyMode||z.query.preview==="true"||z.query.dummy==="true";return ee.value.filter(ie=>{if(ie.isHidden===!0||ie.isHidden==="true")return!1;if(ie.visibleRule)try{const te=oo.value[0]||{};if(!tr.apply(ie.visibleRule,te))return!1}catch(te){console.warn("Header action visibility logic error:",te)}if(i.ignorePermissions||q||Y.value?.ignorePermissions||!ie.permission)return!0;if(i.checkPermission){let te=i.checkPermission(ie.permission);if(!te&&ie.permission!==ie.permission.toLowerCase()&&(te=i.checkPermission(ie.permission.toLowerCase())),te!==void 0)return!!te}return i.permissions?i.permissions.includes(ie.permission):!!es(ie.permission)})}),el=r.computed(()=>U.value.length===0?U.value:U.value.filter(q=>q.isHidden===!0||q.isHidden==="true"?!1:i.ignorePermissions||i.dummyMode||!q.permission?!0:i.checkPermission?i.checkPermission(q.permission):i.permissions?i.permissions.includes(q.permission):es(q.permission))),ea=q=>el.value.filter(ie=>jn(ie,q)),vc=(q,ie)=>{const te=tl(q,ie);if(te?.color||te?.bgColor)return te.color||te.bgColor;if(!q.dynamicColor||!q.colorCondition)return q.bgColor||"primary";const fe=Kt(ie,q.colorCondition.field);return q.colorCondition.conditions?.find(pe=>ta(pe.value,fe))?.bgColor||q.bgColor||"primary"},tl=(q,ie)=>{const te=q.propsActionCustom?.iconCondition||q.iconCondition;if(!te?.field||!Array.isArray(te.conditions))return null;const fe=Kt(ie,te.field);return te.conditions.find(de=>ta(de.value,fe)||fe&&typeof fe=="object"&&ta(_c(de.value),_c(fe)))},hu=(q,ie)=>tl(q,ie)?.icon||q.icon,sm=q=>{const ie=(q||"left").toLowerCase();return ie==="center"?"justify-center":ie==="right"?"justify-end":"justify-start"},mu={ToggleLeft:Ee.ToggleLeft,SquarePen:Ee.SquarePen,Trash2:Ee.Trash2,Eye:Ee.Eye,CheckCircle:Ee.CheckCircle,Plus:Ee.Plus,Download:Ee.Download,RefreshCw:Ee.RefreshCw,Search:Ee.Search,SlidersHorizontal:Ee.SlidersHorizontal},am=q=>q&&(_r(q,Ut)||mu[q])||null,oo=r.computed(()=>i.dummyMode?ci.value.length>0?o1(5):[]:Xo.value),pu=r.computed(()=>{if(i.dummyMode)return 5;if(i.controlled||i.remotePagination){if(_.value&&Pt.value&&Z.value>0)return Z.value;if(i.totalItems!==void 0)return i.totalItems}return Pt.value&&se.value.length>0?Z.value:gu.value.length}),Kt=(q,ie)=>{if(!q||!ie)return;if(ie.includes(".")){const de=ie.split(".").reduce((pe,me)=>pe&&pe[me],q);if(de!=null)return de}if(ie in q)return q[ie];const te=ie.split(".").reduce((de,pe)=>de&&de[pe],q);if(te!=null)return te;const fe=ie.split(".");if(fe.length>1)for(let de=1;de<fe.length;de++){const pe=fe.slice(de).join("."),me=pe.split(".").reduce((Be,$e)=>Be&&Be[$e],q);if(me!=null)return console.log(`[DataTable resolvePath] Prefixed path "${ie}" resolved via suffix fallback "${pe}" to value:`,me),me;if(pe in q)return console.log(`[DataTable resolvePath] Prefixed path "${ie}" resolved via suffix fallback key "${pe}" to value:`,q[pe]),q[pe]}return te},lm=(q,ie)=>{const te=Kt(q,ie.key);if((ie.type==="TEXT"||ie.type==="text")&&ie.propsCustom?.[0]?.value){const fe=ie.propsCustom[0].value;if(te&&typeof te=="object")return Kt(te,fe)??Kt(q,`${ie.key}.${fe}`)??te;const de=Kt(q,`${ie.key}.${fe}`);if(de!=null)return de}return te},gu=r.computed(()=>{let te=(Pt.value&&(se.value.length>0||_.value)?se.value:i.data||[]).filter(fe=>!fe||typeof fe!="object"?!1:ci.value.some(de=>{if(["no","action"].includes(de.key)||["ACTION","action","CHECKBOX"].includes(de.type||""))return!1;const me=Kt(fe,de.key);return me!=null&&me!==""}));if(!Pt.value&&B.value){const fe=B.value.toLowerCase();te=te.filter(de=>ci.value.some(pe=>{const me=lm(de,pe);return me==null?!1:String(me).toLowerCase().includes(fe)}))}return!Pt.value&&Object.keys(N.value).length>0&&(te=te.filter(fe=>Object.entries(N.value).every(([de,pe])=>{if(pe==null||pe==="")return!0;const me=Kt(fe,de);if(me==null)return!1;const Be=String(me).toLowerCase(),$e=String(pe).toLowerCase();return Be.includes($e)}))),te}),St=r.computed(()=>re.value.key?[...gu.value].sort((ie,te)=>{const fe=Kt(ie,re.value.key),de=Kt(te,re.value.key);if(fe===de)return 0;let pe=0;return typeof fe=="number"&&typeof de=="number"?pe=fe-de:pe=String(fe).localeCompare(String(de)),re.value.direction==="asc"?pe:-pe}):gu.value),Xo=r.computed(()=>{if(Pt.value||i.controlled)return St.value.map((te,fe)=>({...te,no:(W.value-1)*J.value+fe+1}));const q=(W.value-1)*J.value,ie=q+J.value;return St.value.slice(q,ie).map((te,fe)=>({...te,no:q+fe+1}))}),mn=(q,ie)=>{const te=Kt(q,ie.key);if(te==null||te==="")return"-";const fe=ie.propsCustom?.[0]?.value||ie.custom?.propsCustom?.[0]?.value;if((ie.type==="TEXT"||ie.type==="text")&&fe){if(te&&typeof te=="object")return Kt(te,fe)||"-";const pe=ie.key.split(".").reduce((Xe,et)=>Xe&&Xe[et],q);if(pe&&typeof pe=="object")return Kt(pe,fe)||"-";const me=ie.key,Be=me.includes(".")?me.split(".").pop():me,$e=je[me]||(Be?je[Be]:void 0)||l?.rawItemsCache?.[me]||(Be?l?.rawItemsCache?.[Be]:void 0)||l?.rawItemsCache&&Object.entries(l.rawItemsCache).find(([Xe])=>Xe.endsWith(me)||me.endsWith(Xe)||Be&&Xe.endsWith(Be))?.[1];if(Array.isArray($e)&&$e.length>0){const Xe=$e.find(et=>et&&(String(et.id)===String(te)||String(et.code)===String(te)||String(et.value)===String(te)||String(et.name)===String(te)));if(Xe)return Kt(Xe,fe)||"-"}}if(["DATE","date","DATETIME","datetime","DATA","data"].includes(ie.type||"")){const pe=ie.custom?.propsCustom?.[0]?.value||ie["custom.propsCustom[0].value"]||ie.custom?.format||ie.propsCustom?.[0]?.value||(typeof ie.format=="string"?ie.format:null);if(pe)return UR(te,pe);const me=(ie.type||"").toUpperCase()==="DATETIME";return Tc(te,me?"datetime":"long")}if(ie.type==="CURRENCY"||ie.type==="currency"){const pe=ie.propsCustom?.[0]?.value||"IDR";return iy(te,pe)}return ie.format?ie.format(te):te},cm=r.computed(()=>Pt.value?Object.values(N.value).some(q=>!!q):!!B.value),bu=()=>{Pt.value&&(N.value={...N.value,keyword:B.value},W.value=1,Un())};let wc;const dm=()=>{i.enableQuickSearch&&(clearTimeout(wc),wc=setTimeout(()=>{bu()},500))};let br;const yu=()=>{clearTimeout(br),br=setTimeout(()=>{Pt.value&&Un()},500)};r.watch(B,()=>{i.enableQuickSearch&&Pt.value&&dm()}),r.watch(()=>i.baseUrl,q=>{q&&(console.log(`[DataTable] baseUrl resolved to ${q}. Re-triggering prefetch for actions.`),ee.value.forEach(ie=>{(ie.fieldActionCustom||ie.fieldActionGlobal||ie.field||[]).forEach(fe=>Jr(fe))}),U.value.forEach(ie=>{(ie.fieldActionCustom||ie.fieldActionGlobal||ie.field||[]).forEach(fe=>Jr(fe))}))});const Un=async(q=!1,ie=!1)=>{if(i.dummyMode||!Pt.value||X.value&&!q&&se.value.length>0||!lu.value&&!yc.value&&!Ui.value)return;const te=i.data&&i.data.length>0,fe=W.value===1&&Object.keys(N.value).length===0&&!B.value;if(!(!ie&&te&&fe&&!se.value.length&&!X.value))try{q||(X.value=!0);const de={page:W.value,perPage:J.value,...N.value,...i.apiParams};if(!Object.keys(de).some($e=>$e.toLowerCase()==="id"||$e.toLowerCase().endsWith("id"))){const $e=z?.params?.id||z?.query?.id||(typeof window<"u"?new URLSearchParams(window.location.search).get("id"):null);$e&&(de.id=$e)}const me=Y.value?.endpointTable||Y.value?.endpointSection||Y.value?.endpoint||Y.value?.endpointGlobal;if(l?.resolveKeyParams&&Array.isArray(me?.keyParam)){const $e=l.resolveKeyParams(me.keyParam);Object.assign(de,$e)}B.value&&(de.keyword=B.value),Object.keys(de).forEach($e=>{(de[$e]===""||de[$e]===null||de[$e]===void 0)&&delete de[$e]});let Be;if(lu.value)Be=await c(lu.value,om.value,de);else if(yc.value){let $e=yc.value;if(i.baseUrl&&typeof i.baseUrl=="string"&&typeof $e=="string"&&!$e.startsWith("http")){const et=i.baseUrl.replace(/\/$/,""),kt=$e.startsWith("/")?$e:`/${$e}`;$e=`${et}${kt}`}const Xe={...Y.value?.endpoint?.config||{}};cu.value&&(Xe.headers||(Xe.headers={}),Xe.headers.Accept=cu.value,Xe.headers.accept=cu.value),Be=await c($e,bc.value,de,Xe)}else if(Ui.value&&k){const $e={...de,...qt.value};Be=await new Promise(Xe=>{let et=!1;try{k(Ui.value,$e,kt=>{et||(et=!0,Xe(kt))})}catch{et||(et=!0,Xe(null))}setTimeout(()=>{et||(et=!0,Xe(null))},2e3)})}um(Be)}catch(de){console.error("DataTable fetch error",de),X.value=!1}},di=q=>{i.dynamicColumns&&Array.isArray(q?.columns)&&(li.value=q.columns.map(ie=>({key:ie.key||ie.field||ie.name,label:ie.label||ie.header||ie.name,width:ie.width,align:ie.align||"LEFT",sortable:ie.sortable!==!1,type:ie.type,condition:ie.condition,format:ie.format})))},ns={data:(q,ie)=>q.totalData||(q.maxPage?q.maxPage*ie:(q.data?.length||0)*(q.maxPage||1)),users:q=>q.users?.length||0,items:q=>q.total||q.totalItems||q.items?.length||0,list:q=>q.total||q.list?.length||0,rows:q=>q.count||q.total||q.rows?.length||0,result:q=>q.total||q.count||q.result?.length||0},um=q=>{if(_.value=!0,q==null){X.value=!1;return}if(q){di(q);const ie=Object.keys(ns).find(te=>q[te]&&Array.isArray(q[te]));if(ie){se.value=q[ie];const te=ns[ie](q,J.value);Z.value=te}else Array.isArray(q)?(se.value=q,Z.value=q.length):q&&q.status===!0&&(q.data===null||q.data===void 0)?(se.value=[],Z.value=0):Object.keys(q).length>0&&console.warn("DataTable: Unknown response format",q)}X.value=!1};r.onUnmounted(()=>{clearTimeout(wc),clearTimeout(br)});const fm=()=>{Object.keys(N.value).forEach(q=>{N.value[q]=""}),o("reset"),xb()},xb=()=>{W.value=1,o("search",N.value),Un()},ta=(q,ie)=>q==null||ie===void 0||ie===null?!1:typeof q=="string"&&typeof ie=="string"?q.toLowerCase().trim()===ie.toLowerCase().trim():q==ie,_c=q=>{if(typeof q=="boolean")return q?"true":"false";if(typeof q=="object"&&q!==null){const ie=q,te=["code","id","name","value","val","label","key","status","statusRequest.name","description"];for(const fe of te){const de=Kt(ie,fe);if(de!=null)return String(de).toLowerCase().trim()}return""}return typeof q=="string"?q.toLowerCase().trim():String(q??"").toLowerCase().trim()},s1=(q,ie)=>{const te=String(ie).toLowerCase();return q?["true","1","yes","active","aktif","AKT","enabled","on"].includes(te):["false","0","no","inactive","non active","NAK","disabled","off"].includes(te)},Cb=(q,ie,te,fe)=>{if(q.logic||typeof q.value=="object"&&q.value!==null)try{return tr.apply(q.logic||q.value,ie)}catch(pe){return console.warn("Badge logic error:",pe),!1}const de=_c(te);if(ta(q.value,de)||typeof te=="object"&&te!==null&&["code","id","name","value","val","label","key","status","statusRequest.name","description"].some(me=>ta(q.value,Kt(te,me))))return!0;if(typeof te=="boolean")return s1(te,q.value);if(fe.includes(".")){const pe=fe.split(".").slice(0,-1).join("."),me=Kt(ie,pe);if(me&&typeof me=="object"&&["code","id","name","value","val","label","key","status","statusRequest.name","description"].some($e=>ta(q.value,Kt(me,$e))))return!0}return!1},$t=(q,ie)=>{const te=Kt(q,ie.key),de=[...Array.isArray(ie.condition)?ie.condition:[],...Array.isArray(ie.propsCustom)?ie.propsCustom:[],...Array.isArray(ie.custom?.propsCustom)?ie.custom.propsCustom:[]].find(Be=>Cb(Be,q,te,ie.key)),pe=Be=>typeof Be=="object"?Be?.name||Be?.code||"-":Be,me={variant:de?.variant||"secondary",class:"",label:pe(te),color:de?.color};return de&&(de.labelEN||de.labelID||de.labelKR)&&(me.label=d.value==="kr"||d.value==="ko"?de.labelKR||de.labelEN||de.labelID:d.value==="id"?de.labelID||de.labelEN:de.labelEN||de.labelID),me},is=(q,ie,te)=>q.custom?.props?.[ie]??q.props?.[ie]??q.custom?.[ie]??q[ie]??te,Co=(q,ie)=>[...Array.isArray(ie.custom?.propsCustom)?ie.custom.propsCustom:[],...Array.isArray(ie.propsCustom)?ie.propsCustom:[],...Array.isArray(ie.custom?.buttons)?ie.custom.buttons:[],...Array.isArray(ie.buttons)?ie.buttons:[]].filter(fe=>jn(fe,q)),kc=q=>{re.value.key===q?re.value.direction=re.value.direction==="asc"?"desc":"asc":(re.value.key=q,re.value.direction="asc"),o("update:sort",re.value)},Eb=q=>{if(q===W.value)return;W.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un();const ie=(q-1)*J.value+1,te=q*J.value;o("update:page",q),o("update:startIndex",ie),o("update:endIndex",te)},a1=q=>{J.value=q,W.value=1,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un();const ie=1,te=q;o("update:perPage",q),o("update:page",1),o("update:startIndex",ie),o("update:endIndex",te)},vu=()=>{B.value="",N.value=i.filters?{...i.filters}:{},W.value=1,o("reset"),o("refresh"),o("search",N.value),i.controlled||Un(!1,!0)};r.watch(()=>i.data,()=>{se.value=[],_.value=!1},{deep:!0});const l1=q=>{if(!q)return q;const ie=ci.value.find(fe=>fe.key===q.model),te=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect"].includes(q.component);if(ie?.propsCustom?.[0]?.value&&te){const fe={...q},de=q.props||q.propsFieldGlobal||q.propsFieldCustom||{};return fe.props={...de,returnObject:!0},fe}return q};function os(q){if(!q)return null;const ie=q.propsActionCustom||q.props||q.propsActionGlobal||{},te=[q.endpointPropAction,ie.endpointPropAction,q.endpointAction,ie.endpointAction,q.endpointDialogActionSave,ie.endpointDialogActionSave,q.endpointDialogAction,ie.endpointDialogAction,q.endpoint,ie.endpoint];for(const fe of te)if(fe&&typeof fe=="object"&&fe.apiUrl&&fe.apiUrl!=="")return fe;return te.find(fe=>fe&&typeof fe=="object")||null}const c1=q=>{if((q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)&&!i.dummyMode){if(q.path&&q.route){const fe=q.route.startsWith("/")?q.route:"/"+q.route;sessionStorage.setItem(`layout_${fe}`,q.path)}const ie=q.path?{code:q.path}:{},te=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;te&&typeof te=="object"&&Object.entries(te).forEach(([fe,de])=>{if(typeof de=="string"){const pe=_e[fe];pe!==void 0&&(ie[de]=pe)}}),o("navigate",{route:q.route,path:q.path,query:ie,targetBehavior:q.targetBehavior}),q.targetBehavior!=="IN_PLACE"&&M?.push({path:q.route,query:ie})}else{const ie=os(q);ie?.apiUrl?bm(q,null,ie):o("action",{action:q.propsActionCustom?.key||q.key||"create",row:null,selection:zn.value})}},d1=q=>{vt.info(`${h("datatable.navigationInfo")} · ${h("datatable.navigationRouteInfo",{route:q.route||q.path})}`,{autoClose:3500,position:"top-right"})},wu=q=>{vt.info(`${(q.apiMethod||"POST").toUpperCase()} ${q.apiUrl}`,{autoClose:3500,position:"top-right"})},Sb=q=>{if(q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)return d1(q),!0;const te=os(q);return te?.apiUrl&&!q.openDialog?(wu(te),!0):!1},ro=q=>g.value?(wu(q),!0):!1,_u=q=>{if(q.requireConfirm){D.value={button:q,row:null},ne.value=!0;return}if(!(g.value&&Sb(q)))if(q.openDialog||i.dummyMode&&q.route){ae.value=q,ve.value=null,be.value=null,Object.keys(_e).forEach(te=>delete _e[te]);const ie=q.fieldActionGlobal||q.fieldActionCustom||q.field||[];ie.length&&ie.forEach(te=>{Jr(te);const fe=os(q),de=fe?.keyParam&&fe.keyParam.length>0?fe.keyParam[0]:null,pe=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(te.component),me=de&&te.model===de,Be=!de&&/^(id|ids|idAuditTrail|idAppRequest)$/i.test(te.model);if(me||Be&&!pe)_e[te.model]=zn.value;else if(_e[te.model]===void 0||_e[te.model]===""){const $e=st(te,_e);_e[te.model]=$e!==void 0?$e:null}}),console.log("[DataTable][handleHeaderAction] Before applyCalculations. Filters:",JSON.stringify(N.value),"ParentFormDataWrapper:",JSON.stringify(A)),Ye(),$.value=!0,setTimeout(()=>{pc()},50)}else c1(q)},hm=(q,ie)=>{Zo.value;const te=mf(ie);Object.keys(te).forEach(pe=>{_e[pe]=te[pe]}),ie&&typeof ie=="object"&&Object.keys(ie).forEach(pe=>{_e[pe]===void 0&&(_e[pe]=ie[pe])});const fe=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;fe&&typeof fe=="object"&&Object.entries(fe).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);Be!==void 0&&(_e[me]=Be)}});const de=Je.value;console.log(`[initializeDialogData] Processing ${de.length} fields:`,de.map(pe=>pe.key||pe.model)),de.length>0&&de.forEach(pe=>{Jr(pe,!0);const me=pe.model||pe.key;if(!me)return;const Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(pe.component);if(/^(id|ids|idAuditTrail|idAppRequest)$/i.test(me)&&(!Be||me==="idAppRequest")){const $e=ie[Zo.value]||te[me]||ie.id;_e[me]=/id$|idAppRequest|idSlikLogin/i.test(me)?$e:[$e]}else if(q.action==="showToken"&&me==="token")_e[me]=ie.token??te.token??"";else{let $e=Kt(ie,me);if($e==null){const Xe=me.includes(".")?me.split(".").pop():null;Xe&&($e=Kt(ie,Xe))}if($e!=null)_e[me]=$e;else{const Xe=st(pe,_e);_e[me]=Xe!==void 0?Xe:null}}}),setTimeout(()=>{pc()},50)},rs=(q,ie)=>{const te={};if(ie.keyParam&&Array.isArray(ie.keyParam)&&ie.keyParam.forEach((fe,de)=>{if(typeof fe=="string"){const pe=ie.model&&de===0?ie.model:fe,me=Kt(q,fe);me!==void 0&&(te[pe]=me)}else typeof fe=="object"&&fe!==null&&Object.entries(fe).forEach(([pe,me])=>{const Be=Kt(q,me);Be!==void 0&&(te[pe]=Be)})}),Object.keys(te).length===0&&q){const fe=Zo.value;q[fe]?te[fe]=q[fe]:q.id&&(te.id=q.id)}return te},Ab=q=>{let ie=q;ie.item&&(ie=ie.item),Array.isArray(ie)&&(ie=ie[0]||{});const te=mf(ie);if(Object.keys(te).forEach(fe=>{_e[fe]=te[fe]}),Object.keys(ie).forEach(fe=>{ve.value&&(ve.value[fe]=ie[fe])}),!_e.token){const fe=Object.keys(ie).find(de=>de.toLowerCase().includes("token"));fe&&(_e.token=ie[fe])}},Tb=(q,ie,te,fe,de)=>{const pe=q?.data??q?.result??q;pe&&typeof pe=="object"?Ab(pe):typeof pe=="string"&&"token"in _e&&(_e.token=pe),fe&&de!=="delete"&&o("action",{action:ie.action||de,row:ve.value||te})},mm=async(q,ie,te,fe,de)=>{if(ro(te))return;X.value=!0;const pe=rs(ie,te);try{const me={...te.config||{}};te.accept&&(me.headers||(me.headers={}),me.headers.Accept=te.accept,me.headers.accept=te.accept);const Be=await c(te.apiUrl,"GET",pe,me);Tb(Be,q,ie,fe,de)}catch(me){console.error("Fetch Data Failed",me)}finally{X.value=!1}},xc=async(q,ie,te)=>{if(console.log("[DataTable][handleRowAction] Clicked button:",q.key||q.id,"Props:",q),q.requireConfirm){D.value={button:q,row:ie},ne.value=!0;return}if(!(g.value&&Sb(q))){if(q.openDialog){ae.value=q,ve.value=ie,be.value=te!==void 0?te:null,Object.keys(_e).forEach(Be=>delete _e[Be]),hm(q,ie),Ye();const fe=q.propsActionCustom||q.props||q.propsActionGlobal||{},de=os(q),pe=(q.actionType||q.permission||"").toLowerCase(),me=/detail|view|edit|update|delete|destroy/i.test(pe)||/detail|view|edit|update|delete|destroy/i.test(q.action||"");$.value=!0,de?.apiMethod?.toUpperCase()==="GET"&&de.apiUrl&&(de===q.endpointDialogActionSave||de===fe.endpointDialogActionSave||mm(q,ie,de,me,pe));return}ku(q,ie,te)}},Pb=(q,ie)=>{let te=q.route||"";if(!te)return"";const de=(q.propsActionCustom||q.propsActionGlobal)?.endpointForm?.keyParam;if(te.includes(":"))return te.replaceAll(/:(\w+)/g,(me,Be)=>{if(de&&de.length>0){let $e=null;for(const Xe of de)if(typeof Xe=="object"&&Xe!==null)if(Xe[Be]!==void 0){$e=Xe[Be];break}else{const et=Object.values(Xe);et.length>0&&($e=et[0])}else typeof Xe=="string"&&($e=Xe);if($e){const Xe=String($e).split(".").reduce((et,kt)=>et&&et[kt],ie);if(Xe!=null)return Xe}}return(ie?ie[Be]||ie.id:null)||Be});let pe=ie?.id;if(de&&de.length>0){const me=de[0];let Be=null;if(typeof me=="object"&&me!==null?Be=me.id||me.key||Object.values(me)[0]:Be=me,Be&&ie){const $e=String(Be).split(".").reduce((Xe,et)=>Xe&&Xe[et],ie);$e!=null&&(pe=$e)}}return pe?`${te.replace(/\/$/,"")}/${pe}`:te},Bb=(q,ie,te)=>{const fe=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;if(!fe||typeof fe!="object")return;const de=[];if(Object.entries(fe).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);if(Be===void 0)de.push(pe);else{let $e=Be;Be&&typeof Be=="object"&&!Array.isArray(Be)&&/id|code|idSlik|idOperator|idSupervisor/i.test(me)&&($e=Be.id??Be.code??Be.value??Be),te[me]=$e}}}),de.length>0){const pe=d.value||"en",me=pe==="id"?"Masalah Sinkronisasi Data":"Data Synchronization Issue",Be=pe==="id"?`Terdapat ketidaksesuaian skema pada field: ${de.join(", ")}. Harap hubungi tim pengembang.`:`Schema mismatch detected in fields: ${de.join(", ")}. Please contact the development team.`;vt.warning(`${me}: ${Be}`,{autoClose:5e3,position:"top-right"})}},u1=(q,ie)=>{if(console.log("[DataTable][performRoutingAction] Button:",q,"row:",ie),q.path&&q.route){const pe=q.route.startsWith("/")?q.route:"/"+q.route;sessionStorage.setItem(`layout_${pe}`,q.path)}let te=Pb(q,ie);const fe=q.path?{code:q.path}:{};if(te&&te.includes("?")){const[pe,me]=te.split("?");te=pe;const Be=new URLSearchParams(me);for(const[$e,Xe]of Be.entries())fe[$e]=Xe}const de=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;de&&typeof de=="object"&&Object.entries(de).forEach(([pe,me])=>{if(typeof me=="string"){const Be=Kt(ie,pe);Be!==void 0&&(fe[me]=Be)}}),ie&&ie.id&&fe.id===void 0&&(fe.id=ie.id),o("navigate",{route:te,path:q.path,query:fe,targetBehavior:q.targetBehavior||q.action?.targetBehavior}),q.targetBehavior!=="IN_PLACE"&&M?.push({path:te,query:fe})},f1=(q,ie,te)=>{const fe={};if(ie)Bb(q,ie,fe),te.keyParam&&Array.isArray(te.keyParam)&&te.keyParam.forEach((de,pe)=>{if(typeof de=="string"){const me=te.model&&pe===0?te.model:de,Be=Kt(ie,de);Be!==void 0&&(fe[me]=Be)}else typeof de=="object"&&de!==null&&Object.entries(de).forEach(([me,Be])=>{const $e=Kt(ie,Be);$e!==void 0&&(fe[me]=$e)})}),Object.keys(fe).length===0&&ie.id&&(fe.id=ie.id);else{const de=Nb(q,te);fe[de]=zn.value||[]}return fe},pm=q=>{if(!q)return null;const ie=q.match(/filename\*=(?:UTF-8'')?([^;\n]+)/i);if(ie){const fe=ie[1].trim().replace(/^['"]|['"]$/g,"");try{return decodeURIComponent(fe)}catch{return fe}}const te=q.match(/filename=(?:"?)([^";]+)(?:"?)/i);if(te){const fe=te[1].trim().replace(/^['"]|['"]$/g,"");try{return decodeURIComponent(fe)}catch{return fe}}return null},Db=(q,ie)=>{if(!q||!q.headers)return null;const te=q.headers;if(typeof te.get=="function")return te.get(ie);const fe=Object.keys(te).find(de=>de.toLowerCase()===ie.toLowerCase());return fe?te[fe]:null},gm=q=>{const ie=Db(q,"content-disposition")||Db(q,"Content-Disposition"),te=pm(ie);return q instanceof Blob?{blob:q,filename:te}:q?.data instanceof Blob?{blob:q.data,filename:te}:{blob:q,filename:te}},bm=(q,ie,te)=>{if(ro(te))return;X.value=!0;const fe=f1(q,ie,te),de=vt.loading(d.value==="id"?"Memproses...":"Processing..."),pe=te.responseType==="blob"||te.responseType==="arraybuffer"||te.accept&&!te.accept.includes("json")||te.apiUrl&&(te.apiUrl.includes("/export")||te.apiUrl.includes("/download"))||q.actionType==="EXPORT"||q.permission==="EXPORT",me={...te.config||{}};te.accept&&(me.headers||(me.headers={}),me.headers.Accept=te.accept,me.headers.accept=te.accept),pe&&(me.responseType=te.responseType||"blob"),c(te.apiUrl,te.apiMethod||"POST",fe,me).then(Be=>{if(pe&&(Be instanceof Blob||Be?.constructor?.name==="Blob"||Be?.size!==void 0||Be?.data instanceof Blob||Be?.data?.constructor?.name==="Blob"||Be?.data?.size!==void 0||Be?.data instanceof ArrayBuffer)){const{blob:et,filename:kt}=gm(Be),it=et instanceof Blob?et:new Blob([et],{type:te.accept||"application/octet-stream"});if(it.type==="application/json"){const Jo=new FileReader;Jo.onload=()=>{try{const Wi=JSON.parse(Jo.result).message||(d.value==="id"?"Gagal mengunduh file":"Failed to download file");vt.update(de,{render:Wi,type:"error",isLoading:!1,autoClose:5e3})}catch{const Wi=window.URL.createObjectURL(it),yr=document.createElement("a");yr.href=Wi;const nl=q.label||q.text||q.tooltip||"Export",il=kt||`${nl}_${new Date().toISOString().slice(0,10)}.pdf`;yr.setAttribute("download",il),document.body.appendChild(yr),yr.click(),yr.remove(),window.URL.revokeObjectURL(Wi),vt.update(de,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3})}},Jo.readAsText(it);return}const Ve=window.URL.createObjectURL(it),Mt=document.createElement("a");Mt.href=Ve;let xn="txt";const ln=(te.accept||"").toLowerCase(),Yn=(te.apiUrl||"").toLowerCase();_e?.format?xn=String(_e.format).toLowerCase():ln.includes("pdf")?xn="pdf":ln.includes("excel")||ln.includes("sheet")||ln.includes("spreadsheet")||ln.includes("xlsx")?xn="xlsx":ln.includes("csv")?xn="csv":ln.includes("zip")?xn="zip":Yn.includes("pdf")?xn="pdf":Yn.includes("excel")||Yn.includes("xlsx")?xn="xlsx":Yn.includes("csv")?xn="csv":Yn.includes("zip")&&(xn="zip");const Cn=q.label||q.text||q.tooltip||"Export";let Dn=kt||`${Cn}_${new Date().toISOString().slice(0,10)}.${xn}`;xn==="txt"&&Dn.toLowerCase().endsWith(".bin")&&(Dn=Dn.replace(/\.bin$/i,".txt")),Mt.setAttribute("download",Dn),document.body.appendChild(Mt),Mt.click(),Mt.remove(),window.URL.revokeObjectURL(Ve),vt.update(de,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3}),Un(),o("action",{action:q.action||"success",row:ie});return}const $e=Be?.status===!0,Xe=Be?.message||($e?d.value==="id"?"Sukses":"Success":d.value==="id"?"Gagal":"Failed");vt.update(de,{render:Xe,type:$e?"success":"error",isLoading:!1,autoClose:$e?2e3:5e3}),$e&&(Un(),o("action",{action:q.action||"success",row:ie}))}).catch(Be=>{console.error("Action Failed",Be),vt.update(de,{render:Be.message||"Action failed",type:"error",isLoading:!1,autoClose:5e3})}).finally(()=>{X.value=!1})},ku=(q,ie,te)=>{if(console.log("[DataTable][executeRowAction] Button:",q,"route:",q.route,"keyRedirect:",q.keyRedirect,"targetBehavior:",q.targetBehavior,"path:",q.path),i.dummyMode){if(q.triggerNavigation){console.log("[DataTable][executeRowAction] triggerNavigation detected in dummy mode, emitting action event"),o("action",{action:q.action,row:ie,rowIndex:te});return}ae.value=q,ve.value=ie,be.value=null,Object.keys(_e).forEach(fe=>delete _e[fe]),hm(q,ie),$.value=!0;return}if(q.route||q.keyRedirect&&q.targetBehavior==="IN_PLACE"&&q.path)u1(q,ie);else{const fe=os(q);fe?.apiUrl?bm(q,ie,fe):o("action",{action:q.action,row:ie,rowIndex:te})}},na=()=>{if(D.value){const{button:q,row:ie}=D.value;Cu(),ie===null?_u({...q,requireConfirm:!1}):xc({...q,requireConfirm:!1},ie)}},Nb=(q,ie)=>{let te=ie?.model;if(!te&&ie?.keyParam&&ie.keyParam.length>0){const me=ie.keyParam[0];typeof me=="string"?te=me:typeof me=="object"&&me!==null&&(te=Object.keys(me)[0])}if(te)return te;const fe=wb();if(fe)return fe;const pe=(q.fieldActionGlobal||q.fieldActionCustom||q.field||[]).find(me=>{const Be=["DCodeAutoComplete","DCodeInfiniteAutoComplete","DCodeMultiSelect","DCodeSelect"].includes(me.component);return/^(id|ids|idAuditTrail|idAppRequest)$/i.test(me.model)&&!Be});return pe?pe.model:"ids"},Cc=(q,ie,te)=>{let fe={..._e};const de=q.fieldMapping||q.propsActionGlobal?.fieldMapping||q.propsActionCustom?.fieldMapping||q.props?.fieldMapping;if(ve.value){const pe=Zo.value,me=ve.value[pe];fe[te]||(/id$|idAppRequest|idSlikLogin/i.test(te)||ie?.model?fe[te]=me:fe[te]=[me])}else fe[te]||(fe[te]=zn.value||[]);if(de&&typeof de=="object"){const pe={},me=Object.keys(de),Be=(q.fieldActionCustom||q.fieldActionGlobal||q.fields||[]).map(Xe=>Xe.model||Xe.key);[...new Set([...Be,te])].forEach(Xe=>{Xe&&!me.includes(Xe)&&fe[Xe]!==void 0&&(pe[Xe]=fe[Xe])}),Object.entries(de).forEach(([Xe,et])=>{if(typeof et=="string"){const kt=Kt(fe,Xe)??(ve.value?Kt(ve.value,Xe):void 0);if(kt!==void 0){let it=kt;kt&&typeof kt=="object"&&!Array.isArray(kt)&&/id|code|idSlik|idOperator|idSupervisor/i.test(et)&&(it=kt.id??kt.code??kt.value??kt),pe[et]=/id$|idAppRequest|idSlikLogin/i.test(et)&&Array.isArray(it)?it[0]:it}}}),fe=pe}return fe},so=(q,ie,te)=>{if(l?.resolveKeyParams&&Array.isArray(ie?.keyParam)){const me=l.resolveKeyParams(ie.keyParam);console.log("[DataTable][handleApiSave] Resolved keyParams:",me),Object.assign(te,me)}const fe=vt.loading(d.value==="id"?"Memproses...":"Processing..."),de=ie.responseType==="blob"||ie.responseType==="arraybuffer"||ie.accept&&!ie.accept.includes("json")||ie.apiUrl&&(ie.apiUrl.includes("/export")||ie.apiUrl.includes("/download"))||q.actionType==="EXPORT"||q.permission==="EXPORT",pe={...ie.config||{}};ie.accept&&(pe.headers||(pe.headers={}),pe.headers.Accept=ie.accept,pe.headers.accept=ie.accept),de&&(pe.responseType=ie.responseType||"blob"),c(ie.apiUrl,ie.apiMethod||"POST",te,pe).then(me=>{if(de&&(me instanceof Blob||me?.constructor?.name==="Blob"||me?.size!==void 0||me?.data instanceof Blob||me?.data?.constructor?.name==="Blob"||me?.data?.size!==void 0||me?.data instanceof ArrayBuffer)){const{blob:Xe,filename:et}=gm(me),kt=Xe instanceof Blob?Xe:new Blob([Xe],{type:ie.accept||"application/octet-stream"});if(kt.type==="application/json"){const Dn=new FileReader;Dn.onload=()=>{try{const as=JSON.parse(Dn.result).message||(d.value==="id"?"Gagal mengunduh file":"Failed to download file");vt.update(fe,{render:as,type:"error",isLoading:!1,autoClose:5e3})}catch{const as=window.URL.createObjectURL(kt),Wi=document.createElement("a");Wi.href=as;const yr=q.label||q.text||q.tooltip||"Export",nl=et||`${yr}_${new Date().toISOString().slice(0,10)}.pdf`;Wi.setAttribute("download",nl),document.body.appendChild(Wi),Wi.click(),Wi.remove(),window.URL.revokeObjectURL(as),vt.update(fe,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3})}},Dn.readAsText(kt);return}const it=window.URL.createObjectURL(kt),Ve=document.createElement("a");Ve.href=it;let Mt="txt";const xn=(ie.accept||"").toLowerCase(),ln=(ie.apiUrl||"").toLowerCase();_e?.format?Mt=String(_e.format).toLowerCase():te?.format?Mt=String(te.format).toLowerCase():xn.includes("pdf")?Mt="pdf":xn.includes("excel")||xn.includes("sheet")||xn.includes("spreadsheet")||xn.includes("xlsx")?Mt="xlsx":xn.includes("csv")?Mt="csv":xn.includes("zip")?Mt="zip":ln.includes("pdf")?Mt="pdf":ln.includes("excel")||ln.includes("xlsx")?Mt="xlsx":ln.includes("csv")?Mt="csv":ln.includes("zip")&&(Mt="zip");const Yn=q.label||q.text||q.tooltip||"Export";let Cn=et||`${Yn}_${new Date().toISOString().slice(0,10)}.${Mt}`;Mt==="txt"&&Cn.toLowerCase().endsWith(".bin")&&(Cn=Cn.replace(/\.bin$/i,".txt")),Ve.setAttribute("download",Cn),document.body.appendChild(Ve),Ve.click(),Ve.remove(),window.URL.revokeObjectURL(it),vt.update(fe,{render:d.value==="id"?"File berhasil diunduh!":"File downloaded successfully!",type:"success",isLoading:!1,autoClose:2e3}),$.value=!1,ve.value||(zn.value=[]),ss.value="",Un(),o("action",{action:"success",row:null}),xu(q);return}const Be=me?.status===!0,$e=me?.message||(Be?d.value==="id"?"Sukses":"Success":d.value==="id"?"Gagal":"Failed");vt.update(fe,{render:$e,type:Be?"success":"error",isLoading:!1,autoClose:Be?2e3:5e3}),Be&&($.value=!1,ve.value||(zn.value=[]),ss.value="",Un(),o("action",{action:"success",row:null}),xu(q))}).catch(me=>{console.error("Action Failed",me),vt.update(fe,{render:me.message||"Action failed",type:"error",isLoading:!1,autoClose:5e3})})},xu=q=>{const ie=q?.routeBack||q?.pathBack||Y.value?.routeBack||Y.value?.pathBack;ie&&M.push(ie)},Mb=(q,ie)=>{const te={..._e};if(ve.value){const fe=i.tableConfig?.modelDatatable||Y.value?.modelDatatable||q.modelDatatable;o("action",{action:q.propsActionGlobal?.key||q.key||ie,row:te,originalRow:ve.value,rowIndex:be.value,isLocalSave:!0,actionType:"UPDATE",modelDatatable:fe})}else{const fe=Y.value?.modelDatatable||i.apiModule||q.modelDatatable;o("action",{action:q.propsActionGlobal?.key||q.key||ie,row:te,selection:zn.value,isLocalSave:!0,actionType:"CREATE",modelDatatable:fe})}$.value=!1,ve.value||(zn.value=[]),xu(q)},h1=()=>{if(!ae.value)return;let q=!0;if(Object.keys(Oe).forEach(Be=>delete Oe[Be]),(Je.value||[]).forEach(Be=>{if(Be.isHidden||Ae(Be)||!ze(Be))return;const $e=_e[Be.model],Xe=pt(Be,$e,_e);Xe&&(Oe[Be.model]=Xe,q=!1)}),!q){console.warn("[DataTable] Custom action form validation failed:",JSON.parse(JSON.stringify(Oe)));return}const te=ae.value,fe=os(te),de=(te.actionType||te.permission||"").toLowerCase(),pe=!!(te.endpointDialogActionSave?.apiUrl||te.propsActionGlobal?.endpointDialogActionSave?.apiUrl);if(fe?.apiUrl&&(fe.apiMethod?.toUpperCase()!=="GET"||pe)){if(ro(fe))return;const Be=Nb(te,fe),$e=Cc(te,fe,Be);so(te,fe,$e)}else Mb(te,de)},ym=q=>{const ie=_e[q];ie&&KR(String(ie)).then(()=>{vt.success(h("datatable.copiedSuccess"),{autoClose:2e3,theme:"dark",pauseOnHover:!1})}).catch(te=>{console.error("Failed to copy",te)})},Cu=()=>{ne.value=!1,D.value=null},m1=r.computed(()=>D.value?D.value.button.confirmTitle||h("common.confirm"):""),p1=r.computed(()=>D.value?D.value.button.confirmMessage||h("common.confirmMessage"):"");t({fetchData:Un,filters:N,resetFilters:fm,handleRefresh:vu,currentPage:W,currentPerPage:J});const ss=r.ref(""),Ib=q=>{if(!q&&!i.apiParams)return"";const ie=q?.endpoint||q?.endpointTable||q?.endpointGlobal||{};return JSON.stringify({url:ie.apiUrl||q?.apiUrl||i.apiUrl,module:ie.apiModule||q?.apiModule||i.apiModule,action:ie.apiAction||q?.apiAction||i.apiAction,method:ie.apiMethod||q?.apiMethod||i.apiMethod,params:q?.apiParams||i.apiParams,socket:ie.socket||q?.socketEndpoint||i.socketEndpoint,socketParams:q?.socketParams||i.socketParams})};r.watch(()=>i.tableConfig,()=>{if(i.tableConfig){Vr();const q=Ib(i.tableConfig);q!==ss.value&&(!i.controlled&&Pt.value?(ss.value=q,console.log("[DataTable] Triggering internal auto-fetch due to config change."),yu()):i.controlled&&(ss.value=q,console.log("[DataTable] Skipping internal fetch (Controlled Mode).")))}},{deep:!0,immediate:!0});const ao=r.computed(()=>d.value==="kr"||d.value==="ko"?Y.value?.titleKR||Y.value?.titleEN||Y.value?.titleID||"":d.value==="id"?Y.value?.titleID||"":Y.value?.titleEN||Y.value?.titleID||"");r.watch(()=>i.apiModule,()=>{Pt.value&&Un()});const ia=q=>{if(!q||W.value!==1)return;const ie=Array.isArray(q)?q:q?.data||q?.items||q?.list||q?.rows||q?.result;if(ie!=null&&!Array.isArray(ie))return;const te=Array.isArray(ie)?ie.length:0,fe=q?.totalData??q?.total??q?.count??te;if(te>0&&te<J.value&&fe>te){const de=se.value&&se.value.length>0?[...se.value]:[...i.data||[]];if(de.length>0){const pe=Zo.value||"id",me=it=>{if(!it||typeof it!="object")return null;const Ve=it[pe]??it.id??it.idAppRequest??it.idDistribution??it.appDistributionId??it._id??it.noRefCounter;return Ve!=null?String(Ve):null},Be=new Map;ie.forEach(it=>{const Ve=me(it);Ve&&Be.set(Ve,it)});let $e=!1;const Xe=de.map(it=>{const Ve=me(it);return Ve&&Be.has(Ve)?($e=!0,{...it,...Be.get(Ve)}):it}),et=new Set;de.forEach(it=>{const Ve=me(it);Ve&&et.add(Ve)});const kt=ie.filter(it=>{const Ve=me(it);return Ve&&!et.has(Ve)});console.log("[handleSocketUpdate] Smart Patch executed:",{currentListLength:de.length,socketItemCount:ie.length,matchedUpdates:$e,newItemsFound:kt.length}),kt.length>0?(se.value=[...kt,...Xe].slice(0,J.value),$e=!0):$e&&(se.value=Xe),$e&&(_.value=!0),fe!=null&&(Z.value=fe)}return}um(q)};return r.watch(()=>Ui.value,(q,ie)=>{!C||!E||(ie&&E(ie,ia),q&&(T&&T(),C(q,ia),R.value&&k&&k(q,qt.value)))},{immediate:!0}),r.watch(()=>R.value,q=>{q&&Ui.value&&k&&k(Ui.value,qt.value)}),r.watch(()=>i.socketParams,()=>{kn.value&&(R.value&&Ui.value&&k&&k(Ui.value,qt.value),Un())},{deep:!0}),r.watch(()=>i.apiParams,(q,ie)=>{JSON.stringify(q)!==JSON.stringify(ie)&&Pt.value&&yu()},{deep:!0}),r.watch(()=>i.page,q=>{q!==void 0&&q!==W.value&&(W.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un())}),r.watch(()=>i.perPage,q=>{q!==void 0&&q!==J.value&&(J.value=q,se.value=[],_.value=!1,Pt.value&&!i.controlled&&Un())}),r.watch(()=>i.startIndex,q=>{if(q!==void 0){const ie=Math.floor((q-1)/J.value)+1;ie!==W.value&&(W.value=ie,Pt.value&&Un())}}),r.watch(()=>ee.value,q=>{ts.value},{deep:!0}),r.onMounted(()=>{if(Vr(),Pt.value&&!i.controlled){const q=Ib(Y.value||i.tableConfig);q!==ss.value&&(ss.value=q,X.value=!0,Un())}}),(q,ie)=>(r.openBlock(),r.createElementBlock("div",x0e,[gc(Y.value?.isHidden)?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",C0e,[e.nested&&ao.value?(r.openBlock(),r.createElementBlock("div",E0e,[ie[9]||(ie[9]=r.createElementVNode("div",{class:"h-4 w-1 bg-white/50 rounded-full"},null,-1)),r.createElementVNode("span",S0e,r.toDisplayString(ao.value),1)])):r.createCommentVNode("",!0),r.createElementVNode("div",A0e,[!e.nested||e.dummyMode||j.value?(r.openBlock(),r.createElementBlock("div",T0e,[r.createElementVNode("div",P0e,[r.createVNode(r.unref(Ee.Search),{class:"absolute left-2.5 top-2.5 h-4 w-4 text-neutral-500 dark:text-neutral-400"}),r.createVNode(r.unref(i0e),{modelValue:B.value,"onUpdate:modelValue":ie[0]||(ie[0]=te=>B.value=te),placeholder:h("common.searchPlaceholder"),style:{"padding-left":"2.25rem !important"},class:"h-9 bg-white/95 dark:bg-zinc-800/95 border-white/30 dark:border-neutral-700/50 text-neutral-900 dark:text-neutral-100 placeholder:text-neutral-500 dark:placeholder:text-neutral-400",onKeyup:r.withKeys(bu,["enter"])},null,8,["modelValue","placeholder"])]),H.value.length>0||q.$slots["filter-form"]?(r.openBlock(),r.createElementBlock("div",B0e,[r.createVNode(Vge,{title:y.value,description:v.value},{trigger:r.withCtx(()=>[r.createVNode(Tt,{variant:"secondary",icon:"SlidersHorizontal",tooltip:h("common.advanceSearch"),class:"gap-2 h-9 w-full sm:w-auto justify-center bg-white/95 dark:bg-zinc-800/95 text-neutral-700 dark:text-neutral-300 hover:bg-zinc-50 dark:hover:bg-zinc-800 border border-white/30 dark:border-neutral-700/50 shadow-sm backdrop-blur-sm text-xs font-medium"},null,8,["tooltip"])]),default:r.withCtx(()=>[r.createElementVNode("div",D0e,[r.renderSlot(q.$slots,"filter-form",{filters:N.value},()=>[H.value.length>0?(r.openBlock(),r.createElementBlock("div",N0e,[r.createElementVNode("div",M0e,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(oe.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[r.unref(Jt)(te)?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(ru)(te,"1"))},[r.createVNode(n0e,{field:te,modelValue:N.value[te.model],"onUpdate:modelValue":de=>N.value[te.model]=de,disabled:r.unref(Qt)(te),required:r.unref(bn)(te),readonly:r.unref(Vt)(te),options:r.unref(ou)(te),"dynamic-labels":r.unref(_n)(te),"dynamic-length":r.unref(Qs)(te),baseUrl:O.value},null,8,["field","modelValue","onUpdate:modelValue","disabled","required","readonly","options","dynamic-labels","dynamic-length","baseUrl"])],2)):r.createCommentVNode("",!0)],64))),128))])])):r.createCommentVNode("",!0)]),H.value.length>0||q.$slots["filter-form"]?(r.openBlock(),r.createElementBlock("div",I0e,[r.createElementVNode("div",R0e,[r.createVNode(Tt,{variant:"outline",icon:"RefreshCw",text:h("common.reset"),disabled:wt.value,onClick:fm,class:"w-full gap-2"},null,8,["text","disabled"]),r.createVNode(Tt,{variant:"default",icon:"Search",text:h("common.search"),disabled:vb.value,onClick:xb,class:"w-full gap-2"},null,8,["text","disabled"])])])):r.createCommentVNode("",!0)])]),_:3},8,["title","description"])])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["flex items-center gap-2 flex-wrap",{"ml-auto":e.nested}])},[(!e.nested||e.dummyMode||K.value)&&Pt.value?(r.openBlock(),r.createBlock(Tt,{key:0,variant:"secondary",icon:"RefreshCw",text:h("common.refresh"),tooltip:h("common.refresh"),class:"gap-2 h-9 bg-white/95 dark:bg-zinc-800/95 text-neutral-700 dark:text-neutral-300 hover:bg-white dark:hover:bg-zinc-800 border border-white/30 dark:border-neutral-700/50 shadow-sm backdrop-blur-sm text-xs font-medium",onClick:vu,disabled:wt.value},{icon:r.withCtx(()=>[r.createVNode(r.unref(Ee.RefreshCw),{class:r.normalizeClass(["w-3.5 h-3.5",{"animate-spin":wt.value}])},null,8,["class"])]),_:1},8,["text","tooltip","disabled"])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ts.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[te.type==="BUTTONGROUP"||te.actionType==="BUTTONGROUP"||te.propsActionGlobal&&te.propsActionGlobal.type==="BUTTONGROUP"||te.buttons&&te.buttons.length||te.propsCustom&&te.propsCustom.length?(r.openBlock(),r.createBlock(da,{key:0,text:te.label,icon:te.icon,"label-k-r":te.labelKR,"label-e-n":te.labelEN,"label-i-d":te.labelID||te.label,variant:te.variant,"bg-color":te.bgColor,"text-color":te.textColor,"border-style":te.borderStyle||"none","border-color":te.borderColor,rounded:te.rounded||"md",buttons:te.buttons||te.propsCustom||te.propsActionGlobal&&(te.propsActionGlobal.buttons||te.propsActionGlobal.propsCustom)||[],"menu-align":"right",onAction:ie[1]||(ie[1]=de=>_u(de)),onButtonClick:ie[2]||(ie[2]=de=>_u(de))},null,8,["text","icon","label-k-r","label-e-n","label-i-d","variant","bg-color","text-color","border-style","border-color","rounded","buttons"])):(r.openBlock(),r.createBlock(Tt,{key:1,icon:te.icon,text:te.label,tooltip:te.tooltip,variant:te.variant,"bg-color":te.bgColor,"text-color":te.textColor,"border-style":te.borderStyle||"none","border-color":te.borderColor,rounded:te.rounded||"md",class:r.normalizeClass(["gap-2 h-9 shadow-lg shadow-primary-500/20 text-xs font-medium",{"border-none":!te.borderStyle||te.borderStyle==="none"}]),onClick:de=>_u(te)},null,8,["icon","text","tooltip","variant","bg-color","text-color","border-style","border-color","rounded","class","onClick"]))],64))),128)),r.renderSlot(q.$slots,"header-actions")],2)])])),r.createElementVNode("div",O0e,[wt.value?(r.openBlock(),r.createElementBlock("div",L0e,[...ie[10]||(ie[10]=[r.createElementVNode("div",{class:"h-full bg-primary animate-progress-shimmer"},null,-1)])])):r.createCommentVNode("",!0),r.createElementVNode("table",F0e,[r.createElementVNode("thead",$0e,[r.createElementVNode("tr",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,te=>(r.openBlock(),r.createElementBlock("th",{key:te.key,class:r.normalizeClass([te.align?`text-${te.align.toLowerCase()}`:"text-left",te.sortable?"cursor-pointer select-none":"","px-3 py-2 text-xs font-black text-white dark:text-neutral-100 uppercase tracking-wider transition-colors duration-150"]),style:r.normalizeStyle(te.width?{width:te.width}:{}),onClick:fe=>te.sortable&&kc(te.key)},[["CHECKBOX","checkbox"].includes(te.type??"")&&!gc(te.isHidden)?(r.openBlock(),r.createElementBlock("div",j0e,[r.createElementVNode("input",{type:"checkbox",class:"h-4 w-4 rounded border-white/30 bg-transparent text-white focus:ring-offset-primary-700 focus:ring-white cursor-pointer accent-primary-500",checked:_b.value,indeterminate:kb.value,onChange:ie[3]||(ie[3]=fe=>au(fe.target.checked)),onClick:ie[4]||(ie[4]=r.withModifiers(()=>{},["stop"]))},null,40,U0e)])):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex items-center gap-2 w-full",sm(te.align)])},[r.createElementVNode("span",null,r.toDisplayString(te.label),1)],2))],14,z0e))),128)),Vs.value?(r.openBlock(),r.createElementBlock("th",W0e,[r.createElementVNode("div",H0e,r.toDisplayString(h("common.actions")),1)])):r.createCommentVNode("",!0)])]),r.createElementVNode("tbody",q0e,[wt.value&&se.value.length===0?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(oo.value.length>0?oo.value.length:Math.max(J.value,5),te=>(r.openBlock(),r.createElementBlock("tr",{key:`skeleton-${te}`},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,fe=>(r.openBlock(),r.createElementBlock("td",{key:fe.key,class:r.normalizeClass([fe.align?`text-${fe.align.toLowerCase()}`:"text-left","px-3 py-3"])},[r.createElementVNode("div",{class:r.normalizeClass(["animate-shimmer rounded-md",[["badge","BADGE"].includes(fe.type??"")||fe.condition?"h-6 w-24 rounded-full":"h-5 w-full max-w-[80%]",fe.align?.toLowerCase()==="center"?"mx-auto":"",fe.align?.toLowerCase()==="right"?"ml-auto":""]])},null,2)],2))),128)),Vs.value?(r.openBlock(),r.createElementBlock("td",K0e,[...ie[11]||(ie[11]=[r.createElementVNode("div",{class:"flex items-center justify-center gap-1.5"},[r.createElementVNode("div",{class:"w-8 h-8 bg-zinc-200/50 dark:bg-zinc-800/50 rounded-lg animate-pulse"}),r.createElementVNode("div",{class:"w-8 h-8 bg-zinc-200/50 dark:bg-zinc-800/50 rounded-lg animate-pulse delay-75"})],-1)])])):r.createCommentVNode("",!0)]))),128)):oo.value.length===0?(r.openBlock(),r.createElementBlock("tr",G0e,[r.createElementVNode("td",{colspan:ci.value.length+(Vs.value?1:0),class:"text-center py-16"},[r.createElementVNode("div",Z0e,[r.createVNode(r.unref(GI.Vue3Lottie),{animationData:r.unref(k0e),height:200,width:200},null,8,["animationData"]),r.createElementVNode("div",null,[r.createElementVNode("p",X0e,r.toDisplayString(cm.value?h("dataTable.noSearchResults"):h("common.noData")),1),r.createElementVNode("p",J0e,r.toDisplayString(cm.value?h("dataTable.tryChangingKeywords"):h("common.noData")),1)])])],8,Y0e)])):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:2},r.renderList(oo.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[r.createElementVNode("tr",{class:r.normalizeClass(["hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors duration-150",{"opacity-50 pointer-events-none select-none grayscale-[30%]":wt.value}])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ci.value,de=>(r.openBlock(),r.createElementBlock("td",{key:de.key,class:r.normalizeClass([de.align?`text-${de.align.toLowerCase()}`:"text-left","px-3 py-0.5 text-sm text-neutral-900 dark:text-neutral-100"])},[r.renderSlot(q.$slots,`cell-${de.key}`,{row:te,value:Kt(te,de.key)},()=>[["CHECKBOX","checkbox"].includes(de.type??"")&&!gc(de.isHidden)?(r.openBlock(),r.createElementBlock("div",Q0e,[r.createElementVNode("input",{type:"checkbox",class:"h-4 w-4 rounded border-neutral-300 dark:border-neutral-700 bg-white dark:bg-zinc-800 text-primary-600 focus:ring-primary-500 cursor-pointer",checked:n1(te),onChange:pe=>i1(te,pe.target.checked),onClick:ie[5]||(ie[5]=r.withModifiers(()=>{},["stop"]))},null,40,V0e)])):de.type==="badge"||de.type==="BADGE"||de.custom?.type==="badge"||de.custom?.type==="BADGE"||de.condition?(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[de.align?`justify-${de.align.toLowerCase()}`:"justify-start"]])},[r.createVNode(Ld,{variant:$t(te,de).variant,color:$t(te,de).color,class:r.normalizeClass([$t(te,de).class,"whitespace-nowrap truncate max-w-[150px] inline-block"])},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString($t(te,de).label),1)]),_:2},1032,["variant","color","class"])],2)):de.type==="buttongroup"||de.type==="BUTTONGROUP"||de.custom?.type==="buttongroup"||de.custom?.type==="BUTTONGROUP"?(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[de.align?`justify-${de.align.toLowerCase()}`:"justify-start"]])},[r.createVNode(da,{buttons:Co(te,de),size:is(de,"size","sm"),variant:is(de,"variant","default"),"bg-color":is(de,"bgColor",""),"text-color":is(de,"textColor",""),"border-color":is(de,"borderColor",""),"border-style":is(de,"borderStyle","solid"),rounded:is(de,"rounded","md"),orientation:is(de,"orientation","horizontal"),onButtonClick:pe=>xc(pe,te,fe)},null,8,["buttons","size","variant","bg-color","text-color","border-color","border-style","rounded","orientation","onButtonClick"])],2)):de.key==="no"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:3},[r.createTextVNode(r.toDisplayString((W.value-1)*J.value+fe+1),1)],64)):de.type==="HYPERLINK"||de.type==="hyperlink"?(r.openBlock(),r.createElementBlock("a",{key:4,href:Kt(te,de.propsCustom?.[0]?.urlLink)||"#",target:de.propsCustom?.[0]?.target||"_blank",class:"text-blue-600 dark:text-blue-400 hover:underline inline-flex items-center gap-1 font-medium"},[r.createTextVNode(r.toDisplayString(Kt(te,de.key)||"-")+" ",1),de.propsCustom?.[0]?.target==="_blank"?(r.openBlock(),r.createElementBlock("span",tbe,[...ie[12]||(ie[12]=[r.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[r.createElementVNode("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),r.createElementVNode("polyline",{points:"15 3 21 3 21 9"}),r.createElementVNode("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1)])])):r.createCommentVNode("",!0)],8,ebe)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:5},[r.createTextVNode(r.toDisplayString(mn(te,de)),1)],64))])],2))),128)),Vs.value?(r.openBlock(),r.createElementBlock("td",nbe,[r.renderSlot(q.$slots,"actions",{row:te,buttons:ea(te),getButtonColor:vc,getIconComponent:am},()=>[ea(te).length>0?(r.openBlock(),r.createElementBlock("div",ibe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(ea(te),(de,pe)=>(r.openBlock(),r.createElementBlock("div",{key:pe,class:"group relative"},[de.type==="BUTTONGROUP"||de.actionType==="BUTTONGROUP"||de.propsActionCustom&&de.propsActionCustom.type==="BUTTONGROUP"||de.buttons&&de.buttons.length||de.propsCustom&&de.propsCustom.length?(r.openBlock(),r.createBlock(da,{key:0,text:de.label,icon:hu(de,te),"label-k-r":de.labelKR,"label-e-n":de.labelEN,"label-i-d":de.labelID||de.label,size:de.size||"sm",rounded:de.rounded||"sm","border-style":de.borderStyle||"none","border-color":de.borderColor,variant:de.variant||"ghost","bg-color":vc(de,te),buttons:de.buttons||de.propsCustom||de.propsActionCustom&&(de.propsActionCustom.buttons||de.propsActionCustom.propsCustom)||[],onAction:me=>xc(me,te,fe),onButtonClick:me=>xc(me,te,fe)},null,8,["text","icon","label-k-r","label-e-n","label-i-d","size","rounded","border-style","border-color","variant","bg-color","buttons","onAction","onButtonClick"])):(r.openBlock(),r.createBlock(Tt,{key:1,tooltip:de.tooltip||de.label,icon:hu(de,te),text:de.icon?"":de.label||h("common.actions"),size:de.icon?"icon":"sm",rounded:de.rounded||"sm","border-style":de.borderStyle||"none","border-color":de.borderColor,variant:de.variant||"ghost","bg-color":vc(de,te),onClick:me=>xc(de,te,fe)},null,8,["tooltip","icon","text","size","rounded","border-style","border-color","variant","bg-color","onClick"]))]))),128))])):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)],2),q.$slots["expanded-row"]?(r.openBlock(),r.createElementBlock("tr",obe,[r.createElementVNode("td",{colspan:ci.value.length+(Vs.value?1:0),class:"px-0 py-0"},[r.renderSlot(q.$slots,"expanded-row",{row:te,index:fe})],8,rbe)])):r.createCommentVNode("",!0)],64))),128))])])]),oo.value.length>0&&e.showPagination&&ue.value?(r.openBlock(),r.createBlock(H_,{key:1,"total-items":pu.value,"current-page":W.value,"per-page":J.value,loading:wt.value,"onUpdate:page":Eb,"onUpdate:perPage":a1},null,8,["total-items","current-page","per-page","loading"])):r.createCommentVNode("",!0),r.createVNode(Mr,{modelValue:ne.value,"onUpdate:modelValue":ie[6]||(ie[6]=te=>ne.value=te),title:m1.value,icon:"AlertCircle","max-width":nm.value,persistent:!1},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",onClick:Cu,text:h("common.cancel")},null,8,["text"]),r.createVNode(Tt,{variant:"default",onClick:na,text:h("common.yes")},null,8,["text"])]),default:r.withCtx(()=>[r.createElementVNode("div",sbe,[r.createElementVNode("p",abe,r.toDisplayString(p1.value),1)])]),_:1},8,["modelValue","title","max-width"]),r.createVNode(Mr,{modelValue:$.value,"onUpdate:modelValue":ie[8]||(ie[8]=te=>$.value=te),title:bt.value,description:tm.value,icon:"AlertCircle",size:(ae.value?.dialogConfig?.layoutSize||"md").toLowerCase()},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",onClick:ie[7]||(ie[7]=te=>$.value=!1),text:Ge.value?h("common.close"):h("common.cancel")},null,8,["text"]),Ge.value?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Tt,{key:0,variant:"default",onClick:h1,text:h("common.save")},null,8,["text"]))]),default:r.withCtx(()=>[r.createElementVNode("div",{class:r.normalizeClass(["grid gap-4 py-4 px-1 relative",r.unref(De)(ae.value?.dialogConfig?.layoutColumns||ae.value?.layoutColumns)])},[X.value?(r.openBlock(),r.createElementBlock("div",lbe,[r.createElementVNode("div",cbe,[ie[13]||(ie[13]=r.createElementVNode("div",{class:"w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin"},null,-1)),r.createElementVNode("span",dbe,r.toDisplayString(h("datatable.loadingData")),1)])])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(Je.value,(te,fe)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:fe},[!te.isHidden&&!r.unref(Ae)(te)&&r.unref(ze)(te)?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(Ie)(te,ae.value?.dialogConfig?.layoutColumns||ae.value?.layoutColumns))},[r.createElementVNode("div",ube,[r.createVNode(kh,{class:"flex-1 w-full",field:l1(te),"model-value":_e[te.model],"form-data":_e,required:r.unref(Ze)(te),disabled:r.unref(ce)(te),readonly:r.unref(ye)(te),options:r.unref(Ne)(te),"dynamic-labels":r.unref(Ue)(te),"dynamic-length":r.unref(Ce)(te),error:Oe[te.model],"dummy-mode":e.dummyMode,"onUpdate:modelValue":de=>Ct(te,de)},null,8,["field","model-value","form-data","required","disabled","readonly","options","dynamic-labels","dynamic-length","error","dummy-mode","onUpdate:modelValue"]),te.isCopyable||te.props?.isCopyable||ae.value?.action==="showToken"||ae.value?.action==="copyToken"?(r.openBlock(),r.createBlock(Tt,{key:0,icon:"Copy",variant:"outline",class:"h-10 w-10 p-0 flex-shrink-0",tooltip:h("common.copy"),onClick:de=>ym(te.model)},null,8,["tooltip","onClick"])):r.createCommentVNode("",!0)])],2)):r.createCommentVNode("",!0)],64))),128))],2)]),_:1},8,["modelValue","title","description","size"])]))}}),fbe={class:"back-label"},hbe=In(r.defineComponent({__name:"NavigationBackButton",props:{config:{default:null},locale:{default:"en"}},emits:["click"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>n.config?n.locale==="kr"||n.locale==="ko"?n.config.labelKR||n.config.labelEN||"뒤로":n.locale==="id"?n.config.labelID||n.config.labelEN||"Kembali":n.config.labelEN||"Back":n.locale==="kr"||n.locale==="ko"?"뒤로":n.locale==="id"?"Kembali":"Back"),s=r.computed(()=>Ee.ArrowLeft),a=()=>{i("click")};return(l,c)=>(r.openBlock(),r.createElementBlock("button",{type:"button",class:"navigation-back-button",onClick:a},[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(s.value),{class:"back-icon"})),r.createElementVNode("span",fbe,r.toDisplayString(o.value),1)]))}}),[["__scopeId","data-v-44ccdfe5"]]),mbe={class:"dynamic-table-section-wrapper"},pbe={key:0,class:"floating-back-button"},gbe=In(r.defineComponent({__name:"DynamicTableSection",props:{section:{},dummyMode:{type:Boolean}},emits:["navigate"],setup(e,{emit:t}){const n=e,i=r.inject("dynamicFormContext",{}),{resolveSectionLabels:o,tableRows:s=()=>[],handleDataTableAction:a=()=>{},resolvedBaseUrl:l="",permissionBase:c="",userPermissions:d=null,checkPermission:f=()=>!0,sectionLoading:h={},tokenCores:p=[],selectedTokenCore:g=null,sectionPagination:y={},fetchSectionData:v=async()=>{},navigation:w=null,locale:C="en"}=i,E=r.computed(()=>{const S=i.resolvedBaseUrl;return typeof S=="object"&&S!==null&&"value"in S?S.value:S});r.computed(()=>{const S=xt(n.section),O=w?.hasHistory,z=w?.currentContext;return O&&z===S}),r.watchEffect(()=>{xt(n.section)});const k=(S,O)=>{const z=O?.action;let M=null;if(S?.headers){for(const B of S.headers)if(B.custom?.actionCustom&&(M=B.custom.actionCustom.find(W=>W.key===z||W.id===z),M))break}if(M?.triggerNavigation){if(!w||typeof w.navigateTo!="function")return;const B=n.section?.propsTable?.modelKey,J={...B?{[B]:O.row}:{...O.row},_rowIndex:O.rowIndex??0};w.navigateTo(M.triggerNavigation,J);return}a(S,O)},T=S=>{const O=xt(n.section);if(y&&y[O]){y[O].filters=S?{...S}:{},y[O].page=1;const z=n.section?.propsTable?.endpointTable;z?.apiUrl&&Y2(O,z.apiUrl,y[O])}},R=async S=>{const O=xt(n.section);y&&y[O]&&(y[O].page=S,await v(O,n.section))},I=async S=>{const O=xt(n.section);y&&y[O]&&(y[O].page=1,y[O].perPage=S,await v(O,n.section))},P=async()=>{const S=xt(n.section);y&&y[S]&&(y[S].page=1),await v(S,n.section)};return(S,O)=>(r.openBlock(),r.createElementBlock("div",mbe,[r.unref(w)?.hasHistory?.value&&r.unref(w)?.currentContext?.value===r.unref(xt)(e.section)?(r.openBlock(),r.createElementBlock("div",pbe,[r.createVNode(hbe,{config:r.unref(w).getCurrentBackButton(),locale:r.unref(C),onClick:O[0]||(O[0]=z=>r.unref(w).navigateBack())},null,8,["config","locale"])])):r.createCommentVNode("",!0),r.createVNode(xr,{border:!0,padding:"",class:r.normalizeClass(["overflow-hidden",{"with-back-button":r.unref(w)?.hasHistory?.value&&r.unref(w)?.currentContext?.value===r.unref(xt)(e.section)}])},{default:r.withCtx(()=>[r.createVNode(xh,{"table-config":e.section.propsTable,data:r.unref(s)(e.section.propsTable),nested:!0,"show-pagination":e.section.propsTable.pagination??!0,"base-url":E.value,"dummy-mode":e.dummyMode,"permission-base":r.unref(c),"user-permissions":r.unref(d),"check-permission":r.unref(f),"token-cores":r.unref(p),"selected-token-core":r.unref(g),loading:r.unref(h)[e.section.key]||r.unref(h)[r.unref(xt)(e.section)],"total-items":r.unref(y)[r.unref(xt)(e.section)]?.totalData,page:r.unref(y)[r.unref(xt)(e.section)]?.page||1,"per-page":r.unref(y)[r.unref(xt)(e.section)]?.perPage||10,filters:r.unref(y)[r.unref(xt)(e.section)]?.filters,controlled:"",onAction:O[1]||(O[1]=z=>k(e.section.propsTable,z)),onNavigate:O[2]||(O[2]=z=>S.$emit("navigate",z)),"onUpdate:page":R,"onUpdate:perPage":I,onRefresh:P,onReset:P,onSearch:T},null,8,["table-config","data","show-pagination","base-url","dummy-mode","permission-base","user-permissions","check-permission","token-cores","selected-token-core","loading","total-items","page","per-page","filters"])]),_:1},8,["class"])]))}}),[["__scopeId","data-v-6d17cb94"]]),bbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-400"},ybe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4 py-2"},vbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-400"},wbe=r.defineComponent({__name:"DynamicFormDialogs",setup(e){const t=r.inject("dynamicFormContext",{}),{confirmDialog:n,t:i,confirmAction:o,tableDialogOpen:s,tableDialogTitle:a,tableDialogIcon:l,tableDialogFields:c,isFieldVisible:d,isFieldHidden:f,tableRowFormData:h,tableDialogViewOnly:p,isFieldRequired:g,isFieldDisabled:y,getFilteredItems:v,tableRowErrors:w,resolveFieldLabels:C,resolveFieldLength:E,resolvedBaseUrl:k,handleTableRowUpdate:T,locale:R,saveTableRow:I,confirmDeleteOpen:P,executeTableDelete:S,tableDialogSize:O}=t,z=r.computed(()=>{const M=r.unref(c);return Array.isArray(M)?M.some(B=>B.component==="DCodePdfViewer"||B.component==="DCodeWorkflowDiagram"):!1});return(M,B)=>(r.openBlock(),r.createElementBlock("div",null,[r.createVNode(Mr,{modelValue:r.unref(n).visible,"onUpdate:modelValue":B[1]||(B[1]=W=>r.unref(n).visible=W),title:r.unref(n).title,icon:"AlertTriangle","max-width":450,persistent:r.unref(n).isBlocking},{actions:r.withCtx(()=>[r.unref(n).showCancel?(r.openBlock(),r.createBlock(Tt,{key:0,variant:"outline",text:r.unref(n).cancelText||r.unref(i)("common.cancel"),onClick:B[0]||(B[0]=W=>r.unref(n).visible=!1)},null,8,["text"])):r.createCommentVNode("",!0),r.createVNode(Tt,{text:r.unref(n).okText||r.unref(i)("common.confirm"),onClick:r.unref(o)},null,8,["text","onClick"])]),default:r.withCtx(()=>[r.createElementVNode("div",bbe,r.toDisplayString(r.unref(n).message),1)]),_:1},8,["modelValue","title","persistent"]),r.createVNode(Mr,{modelValue:r.unref(s),"onUpdate:modelValue":B[3]||(B[3]=W=>r.isRef(s)?s.value=W:null),title:r.unref(a),icon:r.unref(l),size:r.unref(O)},r.createSlots({default:r.withCtx(()=>[r.unref(c).length?(r.openBlock(),r.createElementBlock("div",ybe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(c),W=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:W.key},[r.unref(d)(W,r.unref(h))?r.withDirectives((r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(W.column==="FULL"?"md:col-span-2":"col-span-1")},[r.createVNode(kh,{field:W,"model-value":r.unref(h)[W.model],"form-data":r.unref(h),required:r.unref(p)?!1:r.unref(g)(W,r.unref(h)),disabled:r.unref(p)||r.unref(y)(W,r.unref(h)),"view-only":r.unref(p),options:r.unref(v)(W,r.unref(h)),error:r.unref(p)?void 0:r.unref(w)[W.model],"dynamic-labels":r.unref(C)(W,r.unref(h)),"dynamic-length":r.unref(E)(W,r.unref(h)),"base-url":r.unref(k),"onUpdate:modelValue":J=>r.unref(T)(W.model,J)},null,8,["field","model-value","form-data","required","disabled","view-only","options","error","dynamic-labels","dynamic-length","base-url","onUpdate:modelValue"])],2)),[[r.vShow,!r.unref(f)(W,r.unref(h))]]):r.createCommentVNode("",!0)],64))),128))])):r.createCommentVNode("",!0)]),_:2},[z.value?void 0:{name:"actions",fn:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",text:r.unref(p)?r.unref(R)==="id"?"Tutup":"Close":r.unref(R)==="id"?"Batal":"Cancel",onClick:B[2]||(B[2]=W=>s.value=!1)},null,8,["text"]),r.unref(p)?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Tt,{key:0,text:"Save",onClick:r.unref(I)},null,8,["onClick"]))]),key:"0"}]),1032,["modelValue","title","icon","size"]),r.createVNode(Mr,{modelValue:r.unref(P),"onUpdate:modelValue":B[5]||(B[5]=W=>r.isRef(P)?P.value=W:null),title:r.unref(R)==="id"?"Konfirmasi Hapus":"Confirm Delete",icon:"Trash2","max-width":440},{actions:r.withCtx(()=>[r.createVNode(Tt,{variant:"outline",text:r.unref(R)==="id"?"Batal":"Cancel",onClick:B[4]||(B[4]=W=>P.value=!1)},null,8,["text"]),r.createVNode(Tt,{variant:"default","bg-color":"danger",icon:"Trash2",text:r.unref(R)==="id"?"Hapus":"Delete",onClick:r.unref(S)},null,8,["text","onClick"])]),default:r.withCtx(()=>[r.createElementVNode("div",vbe,r.toDisplayString(r.unref(R)==="id"?"Apakah Anda yakin ingin menghapus data ini? Tindakan ini tidak dapat dibatalkan.":"Are you sure you want to delete this row? This action cannot be undone."),1)]),_:1},8,["modelValue","title"])]))}}),_be={class:"w-full flex flex-col min-h-0"},kbe={class:"flex-1 space-y-6 overflow-y-auto"},T0=r.defineComponent({__name:"DynamicForm",props:{schema:{},model:{default:()=>({})},isEditMode:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},baseUrl:{default:void 0},selectedTokenCore:{default:null},tokenCores:{default:()=>[]},dummyMode:{type:Boolean,default:!1},router:{default:null},permissionBase:{default:""},userPermissions:{default:null},checkPermission:{type:Function,default:void 0},dynamicForm:{},hideActions:{type:Boolean,default:!1},apiParams:{default:()=>({})}},emits:["submit","cancel","action","navigate","update:model","update:modelValue","success","error","step-change"],setup(e,{expose:t,emit:n}){const i=e,o=n,s=i.dynamicForm||lS(i,o);s&&(s.tableRowFormData||(s.tableRowFormData=r.reactive({}))),r.provide("dynamicFormContext",s);const{activeSchema:a,isSectionVisible:l,isSectionHidden:c,inlineState:d,isActionVisible:f,locale:h,isSubmitting:p,isSubmitDisabled:g,handleGlobalButtonClick:y,handleSubmit:v,fieldLoading:w,navigation:C,getSectionKey:E}=s,k=T=>{s.revision.value;const R=E(T),I=C?.navigationState?.value?.hiddenStates;return I&&R&&typeof I[R]=="boolean"?!I[R]:l(T)};return t({validate:()=>(s.isSubmitted.value=!0,s.validation.validateAll()),isDirty:()=>{const T=s.formData,R=s.originalData;if(!T||!R)return!1;const I=new Set([...Object.keys(T).filter(S=>!S.startsWith("_")),...Object.keys(R).filter(S=>!S.startsWith("_"))]),P=S=>S===void 0||S===""?null:S;for(const S of I)if(JSON.stringify(P(T[S]))!==JSON.stringify(P(R[S])))return!0;return!1},resetDirty:()=>{s.originalData&&s.formData&&Object.assign(s.originalData,JSON.parse(JSON.stringify(s.formData)))}}),(T,R)=>(r.openBlock(),r.createElementBlock("div",_be,[r.createElementVNode("div",kbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(a)?.sections,(I,P)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:P},[I.type?.toUpperCase()==="FORM"&&I.propsForm&&k(I)?r.withDirectives((r.openBlock(),r.createBlock(Kge,{key:0,"dummy-mode":i.dummyMode,section:I,sIdx:Number(P)},null,8,["dummy-mode","section","sIdx"])),[[r.vShow,!r.unref(c)(I)]]):I.type?.toUpperCase()==="TABLE"&&I.propsTable&&k(I)?r.withDirectives((r.openBlock(),r.createBlock(gbe,{key:1,"dummy-mode":i.dummyMode,section:I,onNavigate:R[0]||(R[0]=S=>T.$emit("navigate",S))},null,8,["dummy-mode","section"])),[[r.vShow,!r.unref(c)(I)]]):r.createCommentVNode("",!0)],64))),128))]),!r.unref(d)?.global&&!i.hideActions?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(r.unref(a)?.ui?.actionsClass||"flex items-center gap-2 flex-wrap pt-4 mt-6 border-t border-neutral-100 dark:border-neutral-800")},[r.unref(a)?.actionGlobal?.length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(r.unref(a).actionGlobal,(I,P)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:P},[I.propsActionGlobal&&r.unref(f)(I)&&(I.propsActionGlobal.type==="BUTTONGROUP"||I.buttons&&I.buttons.length||I.propsActionGlobal.buttons&&I.propsActionGlobal.buttons.length)?(r.openBlock(),r.createBlock(da,{key:0,icon:I.propsActionGlobal.icon,"label-k-r":I.propsActionGlobal.labelKR,"label-e-n":I.propsActionGlobal.labelEN,"label-i-d":I.propsActionGlobal.labelID,"bg-color":I.propsActionGlobal.bgColor?.toLowerCase()||"primary",variant:I.propsActionGlobal.variant?.toLowerCase()||"default","border-style":(I.borderStyle||I.propsActionGlobal.borderStyle)?.toLowerCase(),"border-color":(I.borderColor||I.propsActionGlobal.borderColor)?.toLowerCase(),rounded:(I.rounded||I.propsActionGlobal.rounded)?.toLowerCase(),buttons:I.buttons||I.propsCustom||I.propsActionGlobal.buttons||[],onAction:R[1]||(R[1]=S=>r.unref(y)(S)),onButtonClick:R[2]||(R[2]=S=>r.unref(y)(S))},null,8,["icon","label-k-r","label-e-n","label-i-d","bg-color","variant","border-style","border-color","rounded","buttons"])):I.propsActionGlobal&&r.unref(f)(I)?(r.openBlock(),r.createBlock(Tt,{key:1,icon:I.propsActionGlobal.icon,text:r.unref(h)==="kr"||r.unref(h)==="ko"?I.propsActionGlobal.labelKR||I.propsActionGlobal.labelEN:r.unref(h)==="id"?I.propsActionGlobal.labelID:I.propsActionGlobal.labelEN,"bg-color":I.propsActionGlobal.bgColor?.toLowerCase()||"primary",variant:I.propsActionGlobal.variant?.toLowerCase()||"default","border-style":(I.borderStyle||I.propsActionGlobal.borderStyle)?.toLowerCase(),"border-color":(I.borderColor||I.propsActionGlobal.borderColor)?.toLowerCase(),rounded:(I.rounded||I.propsActionGlobal.rounded)?.toLowerCase(),loading:r.unref(p),disabled:r.unref(g)&&(I.permission==="CREATE"||I.permission==="UPDATE"||I.propsActionGlobal?.key==="submit"),onClick:S=>r.unref(y)(I)},null,8,["icon","text","bg-color","variant","border-style","border-color","rounded","loading","disabled","onClick"])):r.createCommentVNode("",!0)],64))),128)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0),r.createVNode(wbe)]))}}),xbe=r.defineComponent({__name:"Separator",props:{orientation:{default:"horizontal"},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=pi.reactiveOmit(t,"class");return(i,o)=>(r.openBlock(),r.createBlock(r.unref(Et.Separator),r.mergeProps(r.unref(n),{class:r.unref(sn)("shrink-0 bg-border",t.orientation==="horizontal"?"h-px w-full":"w-px h-full",t.class)}),null,16,["class"]))}}),Cbe=["onClick"],Ebe={key:1,class:"mr-2 text-xs font-bold shrink-0 opacity-50"},Sbe={class:"font-semibold text-sm whitespace-normal text-center leading-tight"},Abe={key:1},Tbe={key:0,class:"text-white"},Pbe={key:1},Bbe={key:2},Dbe=["disabled","onClick"],Nbe={key:1,class:"mr-2 text-sm font-bold opacity-70"},Mbe={class:"whitespace-normal text-sm text-center leading-tight"},Ibe={class:"flex flex-col flex-1 min-w-0"},Rbe={class:"rounded-lg border bg-muted/30 px-4 py-3 text-sm text-muted-foreground flex items-center gap-2"},Obe={class:"text-sm text-muted-foreground"},Lbe={class:"px-1"},Fbe=["disabled"],$be=["type","disabled"],zbe=["disabled"],q_=In(r.defineComponent({name:"DCodeWizard",__name:"DCodeWizard",props:{tabs:{},modelValue:{},defaultTab:{default:0},allowTabClick:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},cache:{type:Boolean,default:!0},autoFetchOnMount:{type:Boolean,default:!0},apiOptions:{type:[Object,Function],default:void 0},isVertical:{type:Boolean,default:!1},isWizard:{type:Boolean,default:!1},typeWizard:{default:"icon"},showNavigation:{type:Boolean,default:!0},submitText:{default:"Simpan"},loading:{type:Boolean,default:!1},isSubmit:{type:Boolean,default:!1},beforeNext:{},beforePrev:{}},emits:["update:modelValue","change","loaded","error"],setup(e,{emit:t}){const n=e,i=t,s=(r.inject("externalApi")||{})?.DCodeApi;typeof s!="function"&&console.error("[DCodeWizardTabs] useApi() must expose DCodeApi()");const a=r.ref(n.defaultTab),l=r.computed({get(){if(typeof n.modelValue=="string"){const O=n.tabs?.findIndex(z=>z.key===n.modelValue);if(O!==void 0&&O>=0)return O}return(typeof n.modelValue=="number"?n.modelValue:void 0)??a.value},set(O){if(a.value=O,typeof n.modelValue=="string"){const z=n.tabs?.[O];z?i("update:modelValue",z.key):i("update:modelValue",O)}else i("update:modelValue",O)}}),c=r.computed(()=>n.tabs?.length??0),d=r.computed(()=>n.tabs?.[l.value]);function f(O){return c.value<=0?0:Math.min(Math.max(O,0),c.value-1)}function h(O){return O?typeof O=="string"?_r(O,Ut):O:null}const p=r.reactive({});function g(O){return p[O.key]||(p[O.key]={loaded:!1,loading:!1,data:null,error:null}),p[O.key]}function y(){if(n.apiOptions)return typeof n.apiOptions=="function"?n.apiOptions():n.apiOptions}function v(O){const z=O.endpoint||{};return{apiModule:O.apiModule||z.apiModule,apiAction:O.apiAction||z.apiAction,apiUrl:z.apiUrl,apiMethod:z.apiMethod||"GET",apiParams:O.apiParams}}function w(O){if(n.isWizard||!n.allowTabClick||n.disabled)return!1;const z=n.tabs[O];return!(!z||z.disabled)}async function C(O){if(typeof O.tab.fetchData=="function"){const se=await O.tab.fetchData(),Q=se?.data??se;return Q?.data??Q}const z=v(O.tab);if(!(z.apiModule&&z.apiAction||z.apiUrl))return null;if(typeof s!="function")throw new Error("DCodeApi is not available");const B=y();let W;if(z.apiUrl)W=await s("","",B,{_url:z.apiUrl,_method:z.apiMethod,_data:z.apiParams??void 0});else{const se={...B,...z.apiParams};W=await s(z.apiModule,z.apiAction,se)}const J=W?.data??W;return J?.data??J}async function E(O,{force:z=!1}={}){const M=f(O),B=n.tabs[M];if(!B)return;const W=g(B);if(!(n.cache&&W.loaded&&!z)&&!W.loading){W.loading=!0,W.error=null;try{const J=await C({tabIndex:M,tab:B});W.data=J,W.loaded=!0,i("loaded",{tabIndex:M,tab:B,data:J})}catch(J){const re=typeof J?.message=="string"&&J.message||typeof J=="string"&&J||"Failed to load tab data.";W.error=re,i("error",{tabIndex:M,tab:B,message:re})}finally{W.loading=!1}}}function k(O){const z=f(O);w(z)&&z!==l.value&&(l.value=z)}function T(O=l.value){return E(O,{force:!0})}const R=r.ref(!1),I=r.ref(!1);async function P(){if(n.beforePrev&&d.value){I.value=!0;try{if(!await n.beforePrev(d.value))return}finally{I.value=!1}}const O=f(l.value-1);O!==l.value&&(l.value=O)}async function S(){if(n.beforeNext&&d.value){R.value=!0;try{if(!await n.beforeNext(d.value))return}finally{R.value=!1}}const O=f(l.value+1);O!==l.value&&(l.value=O)}return r.watch(()=>n.tabs,O=>{for(const z of O??[])g(z)},{immediate:!0}),r.watch(()=>l.value,async O=>{const z=n.tabs?.[O];z&&i("change",{tabIndex:O,tab:z}),await E(O)},{immediate:!0}),r.watch(()=>n.autoFetchOnMount,async O=>{O&&await E(l.value)},{immediate:!0}),(O,z)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["w-full rounded-lg border bg-card text-card-foreground shadow-sm",{"flex flex-row":e.isVertical}])},[r.createElementVNode("div",{class:r.normalizeClass(["flex flex-col space-y-1.5 p-6",{"w-64 border-r pr-0":e.isVertical,"pb-2":e.isWizard&&!e.isVertical}])},[r.createElementVNode("div",{class:r.normalizeClass({"mt-4":!e.isVertical||e.isWizard})},[e.isWizard?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["w-full relative flex overflow-visible rounded-lg",e.isVertical?"flex-col gap-2":""])},[e.isVertical?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:1},r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("div",{key:M.key,class:"relative z-10 box-border flex items-center gap-3 w-full pb-6 last:pb-0"},[r.createElementVNode("div",{class:r.normalizeClass(["w-8 h-8 rounded-full flex shrink-0 items-center justify-center font-bold text-sm border-2 transition-all bg-card",[B<l.value?"border-primary bg-primary text-primary-foreground":B===l.value?"border-primary text-primary ring-2 ring-primary/20":"border-border text-muted-foreground"]])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"w-4 h-4"})):e.typeWizard==="number"||!M.icon&&e.typeWizard!=="none"?(r.openBlock(),r.createElementBlock("span",Abe,[B<l.value?(r.openBlock(),r.createElementBlock("span",Tbe,"✓")):(r.openBlock(),r.createElementBlock("span",Pbe,r.toDisplayString(B+1),1))])):(r.openBlock(),r.createElementBlock("span",Bbe))],2),r.createElementVNode("span",{class:r.normalizeClass(["text-xs font-semibold whitespace-normal px-2 py-1 rounded transition-colors text-left",B===l.value?"text-primary":"text-muted-foreground"])},r.toDisplayString(M.title),3)]))),128)):(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("div",{key:M.key,onClick:W=>k(B),style:r.normalizeStyle({zIndex:e.tabs.length-B}),class:"relative flex-1 group"},[r.createElementVNode("div",{class:r.normalizeClass(["relative flex items-center justify-center min-h-[3rem] h-auto py-2 px-2 cursor-pointer transition-colors w-full",[B>0?"pl-8":"",B===l.value?"bg-primary text-primary-foreground":B<l.value?"bg-accent text-accent-foreground hover:bg-accent/80":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"]])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"w-4 h-4 mr-2 shrink-0"})):e.typeWizard==="number"?(r.openBlock(),r.createElementBlock("span",Ebe,r.toDisplayString(B+1),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Sbe,r.toDisplayString(M.title),1)],2),c.value>1?(r.openBlock(),r.createElementBlock("svg",{key:0,class:r.normalizeClass(["absolute top-0 -right-[15.5px] w-[16px] h-full transition-colors block z-10",[B===l.value?"fill-primary":B<l.value?"fill-accent":"fill-muted group-hover:fill-muted/80"]]),preserveAspectRatio:"none",viewBox:"0 0 16 48"},[...z[0]||(z[0]=[r.createElementVNode("polygon",{points:"0,0 16,24 0,48"},null,-1)])],2)):r.createCommentVNode("",!0)],12,Cbe))),128))],2)):(r.openBlock(),r.createElementBlock("div",{key:1,class:r.normalizeClass(["flex w-full",e.isVertical?"flex-col gap-1":"flex-wrap border-b border-separate"])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.tabs,(M,B)=>(r.openBlock(),r.createElementBlock("button",{key:M.key,type:"button",disabled:!w(B),onClick:W=>k(B),class:r.normalizeClass(["relative min-h-[3rem] h-auto py-2 flex items-center justify-center gap-2 px-4 transition-all rounded-none focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 border-border",r.unref(sn)("border-b border-r",!e.isVertical&&B===e.tabs.length-1&&"border-r-0",B===l.value?"bg-primary/10 text-primary font-semibold":"bg-transparent text-muted-foreground hover:bg-muted hover:text-foreground",!w(B)&&"opacity-60 cursor-not-allowed",e.isVertical?"w-full justify-start border-r-0":"flex-1")])},[e.typeWizard==="icon"&&M.icon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(h(M.icon)),{key:0,class:"h-4 w-4 shrink-0"})):e.typeWizard==="number"?(r.openBlock(),r.createElementBlock("span",Nbe,r.toDisplayString(B+1),1)):r.createCommentVNode("",!0),r.createElementVNode("span",Mbe,r.toDisplayString(M.title),1)],10,Dbe))),128))],2))],2)],2),e.isVertical?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(r.unref(xbe),{key:0})),r.createElementVNode("div",Ibe,[r.createElementVNode("div",{class:r.normalizeClass(["p-6 flex-1 min-w-0",{"pl-6":e.isVertical}])},[r.createVNode(r.Transition,{name:"wizard-fade",mode:"out-in"},{default:r.withCtx(()=>[(r.openBlock(),r.createElementBlock("div",{key:d.value?.key||l.value,class:"w-full"},[d.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[p[d.value.key]?.loading?r.renderSlot(O.$slots,"loading",{tab:d.value,tabIndex:l.value},()=>[r.createElementVNode("div",Rbe,[r.createVNode(r.unref(Ee.Loader2),{class:"w-4 h-4 animate-spin"}),z[1]||(z[1]=r.createTextVNode(" Loading... ",-1))])],!0,0):r.renderSlot(O.$slots,`tab-${d.value.key}`,{tab:d.value,tabIndex:l.value,data:p[d.value.key]?.data,loaded:p[d.value.key]?.loaded,reload:T},()=>[r.createElementVNode("div",Obe,[z[2]||(z[2]=r.createTextVNode(" Slot ",-1)),r.createElementVNode("code",Lbe,"tab-"+r.toDisplayString(d.value.key),1),z[3]||(z[3]=r.createTextVNode(" belum dibuat. ",-1))])],!0,1)],64)):r.createCommentVNode("",!0)]))]),_:3})],2),e.isWizard&&e.showNavigation?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["flex items-center justify-between p-6 pt-0",{"pl-6":e.isVertical}])},[r.createElementVNode("button",{type:"button",onClick:P,disabled:l.value<=0||I.value||e.loading,class:"relative inline-flex items-center justify-center gap-2 px-5 py-2.5 text-sm font-medium transition-all duration-300 rounded-lg bg-background border border-border text-foreground shadow-sm hover:bg-muted hover:text-foreground hover:-translate-y-0.5 hover:shadow disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-background disabled:hover:text-foreground disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-border focus:ring-offset-2 active:scale-95"},[I.value?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 animate-spin"})):r.createCommentVNode("",!0),z[4]||(z[4]=r.createTextVNode(" Sebelumnya ",-1))],8,Fbe),l.value<c.value-1?(r.openBlock(),r.createElementBlock("button",{key:0,type:e.isSubmit?"submit":"button",onClick:S,disabled:R.value||e.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-primary-foreground transition-all duration-300 rounded-lg shadow-md bg-primary hover:bg-primary/90 hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-primary disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 active:scale-95"},[R.value?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 animate-spin"})):r.createCommentVNode("",!0),z[5]||(z[5]=r.createTextVNode(" Selanjutnya ",-1))],8,$be)):e.isWizard?(r.openBlock(),r.createElementBlock("button",{key:1,type:"submit",disabled:e.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-primary-foreground transition-all duration-300 rounded-lg shadow-md bg-primary hover:bg-primary/90 hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-primary disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 active:scale-95"},[e.loading?(r.openBlock(),r.createBlock(r.unref(Ee.Loader2),{key:0,class:"w-4 h-4 mr-2 animate-spin"})):r.createCommentVNode("",!0),r.createTextVNode(" "+r.toDisplayString(e.submitText),1)],8,zbe)):r.createCommentVNode("",!0)],2)):r.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-2f317c56"]]),jbe={class:"w-full flex flex-col min-h-0"},Ube={key:0,class:"flex-1 flex flex-col items-center justify-center text-neutral-400 py-16"},Wbe={class:"space-y-4 mt-4 min-h-[300px]"},Hbe={key:0,class:"flex items-center justify-end gap-2 border-b border-neutral-100 dark:border-neutral-800 pb-3 mb-2"},qbe={key:1,class:"flex flex-col items-center justify-center py-16 text-neutral-400"},Kbe={key:3,class:"flex-1 border-2 border-dashed border-neutral-200 dark:border-neutral-700 rounded-xl bg-neutral-50/50 dark:bg-neutral-900/30 flex flex-col items-center justify-center p-8 text-center min-h-[300px]"},Gbe={key:4,class:"flex-1 border-2 border-dashed border-red-200 dark:border-red-800 rounded-xl bg-red-50/50 dark:bg-red-900/10 flex flex-col items-center justify-center p-8 text-center min-h-[300px]"},Ybe={class:"max-w-md space-y-3"},Zbe={class:"text-xs text-red-400 max-w-xs mx-auto"},Xbe={key:2,class:"flex items-center gap-2 flex-wrap pt-4 mt-6 border-t border-neutral-100 dark:border-neutral-800"},Jbe={class:"py-2 text-sm text-neutral-600 dark:text-neutral-300 whitespace-pre-line"},Qbe={class:"flex justify-end gap-2 mt-4"},K_=r.defineComponent({__name:"DynamicWizard",props:{schema:{},model:{default:()=>({})},isEditMode:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},selectedTokenCore:{default:null},tokenCores:{default:()=>[]},dummyMode:{type:Boolean,default:!1},router:{default:null},permissionBase:{default:""},userPermissions:{default:null},checkPermission:{type:Function,default:void 0},hideActions:{type:Boolean,default:!1},apiParams:{default:()=>({})}},emits:["submit","cancel","action","update:model","step-change"],setup(e,{emit:t}){const n=e,i=t;let o;try{o=Mn.useI18n().locale}catch{o=r.ref("en")}const{apiUrl:s,DCodeApi:a}=r.inject("externalApi");let l;try{l=n.router||fs.useRouter()}catch{l={back:()=>window?.history?.back(),currentRoute:r.computed(()=>({query:{},params:{},path:""}))}}const c=r.ref(0),d=r.reactive({}),f=r.reactive({}),h=r.reactive({}),p=r.ref({...n.model}),g=r.reactive({}),y=r.ref(!1),v=r.reactive({}),w=r.reactive({visible:!1,title:"",message:"",resolvePromise:null});console.log("[DynamicWizard] props.isEditMode:",n.isEditMode);const C=r.computed(()=>n.schema),E=r.computed(()=>C.value?.isWizard===!1),k=r.computed(()=>{if(!C.value)return[];if(Array.isArray(C.value.propsSteps)&&C.value.propsSteps.length>0)return C.value.propsSteps;if(Array.isArray(C.value.sections)){const j=C.value.sections.find(K=>K?.type?.toUpperCase()==="WIZARD"||K?.propsWizard?.propsSteps);return j?.propsWizard&&Array.isArray(j.propsWizard.propsSteps)?j.propsWizard.propsSteps:C.value.sections}return[]});r.watchEffect(()=>{k.value&&k.value.forEach((j,K)=>{console.log(`[DynamicWizard][STEP-INFO] idx: ${K}, code: ${j.code||j.key}, saveUrl: ${j.endpointSave?.apiUrl}, updateUrl: ${j.endpointUpdate?.apiUrl}`)})});const T=r.computed(()=>{if(typeof n.selectedTokenCore?.address=="string")return n.selectedTokenCore.address;if(C.value?.idTokenCore&&Array.isArray(n.tokenCores)){const j=String(C.value.idTokenCore),K=n.tokenCores.find(U=>String(U.id)===j);if(K?.address)return K.address}}),R=r.computed(()=>{const j=(typeof o=="object"&&"value"in o?o.value:o||"en").toLowerCase();return j.startsWith("en")?"EN":j.startsWith("kr")||j.startsWith("ko")?"KR":"ID"}),I=r.computed(()=>k.value.filter(j=>{const K=j.logic?.visibleRule||j.propsStep?.logic?.visibleRule;if(K==null||K==="")return!0;try{yv();const U={};if(k.value)for(const $ of k.value){const _=$.payload||$.propsStep?.payload;if(_&&typeof _=="object")try{const x=JSON.parse(JSON.stringify(_));Object.entries(x).forEach(([D,N])=>{N&&typeof N=="object"&&!Array.isArray(N)?D in N&&typeof N[D]=="object"&&!Array.isArray(N[D])?U[D]={...U[D]||{},...N[D]}:U[D]={...U[D]||{},...N}:U[D]=N})}catch{}}Object.entries(p.value).forEach(([$,_])=>{_&&typeof _=="object"&&!Array.isArray(_)?$ in _&&typeof _[$]=="object"&&!Array.isArray(_[$])?U[$]={...U[$]||{},..._[$]}:U[$]={...U[$]||{},..._}:U[$]=_}),Object.values(g).forEach($=>{$&&typeof $=="object"&&!Array.isArray($)&&Object.assign(U,$)}),Object.values(U).forEach($=>{$&&typeof $=="object"&&!Array.isArray($)&&Object.entries($).forEach(([_,x])=>{(U[_]===void 0||x!=null)&&(U[_]=x)})}),U._resolveLogicVar=$=>{if(U[$]!==void 0)return U[$];const _=$.split(".");let x=U;for(let N=0;N<_.length&&x!=null;N++)x=x[_[N]];if(x!==void 0)return x;if($.endsWith(".code")||$.endsWith(".id")||$.endsWith(".value")){const N=$.replace(/\.(code|id|value)$/,""),A=U._resolveLogicVar(N);if(A!==void 0)return A}const D=_[_.length-1];if(U[D]!==void 0)return U[D]};const ee=($,_=0)=>{if(!(!$||typeof $!="object"||_>5))for(const[x,D]of Object.entries($))if(typeof D=="number"){const N=new Number(D);N.code=D,N.id=D,N.value=D,$[x]=N}else if(typeof D=="string"){const N=new String(D);N.code=D,N.id=D,N.value=D,$[x]=N}else typeof D=="object"&&!Array.isArray(D)&&ee(D,_+1)};ee(U);let ne;return typeof K=="string"?ne=!!new Function("formData",`return ${K};`)(U):ne=!!tr.apply(K,U),console.log(`[DynamicWizard][visibleRule] step: ${j.code||j.key}, outcome: ${ne}, rule:`,JSON.stringify(K)),ne}catch(U){return console.warn(`[DynamicWizard] Gagal mengevaluasi visibleRule untuk step ${j.key}:`,U),!0}}).map((j,K)=>{const U=`title${R.value}`,ee=`description${R.value}`;return console.log("[DynamicWizard][wizardTabs] mapping step:",j.code||j.key||K,{isEditMode:n.isEditMode,hasEndpointUpdate:!!j.endpointUpdate,endpointUpdateUrl:j.endpointUpdate?.apiUrl,endpointSaveUrl:j.endpointSave?.apiUrl}),{key:j.key||j.propsStep?.key||`step-${K}`,slotName:`tab-${j.key||j.propsStep?.key||`step-${K}`}`,modelKey:j.modelKey||j.propsStep?.modelKey||"",fieldMapping:j.propsStep?.fieldMapping||j.fieldMapping||null,title:j[U]||j.titleEN||j.titleID||j.propsStep?.[U]||j.propsStep?.titleEN||j.propsStep?.titleID||`Step ${K+1}`,description:j[ee]||j.descriptionEN||j.descriptionID||j.propsStep?.[ee]||j.propsStep?.descriptionEN||j.propsStep?.descriptionID||"",icon:j.icon||j.propsStep?.icon||void 0,isSubmit:j.isSubmit||j.propsStep?.isSubmit||!1,endpointActionStepNext:n.isEditMode&&(j.endpointUpdate?.apiUrl||j.propsStep?.endpointUpdate?.apiUrl)?j.endpointUpdate||j.propsStep?.endpointUpdate:j.propsStep?.endpointSave||j.endpointSave||j.propsStep?.endpointActionStepNext||j.endpointActionStepNext,endpointActionStepPrev:j.propsStep?.endpointActionStepPrev||j.endpointActionStepPrev,actionComponent:j.actionComponent||j.propsStep?.actionComponent||[],responseMapping:j.propsStep?.responseMapping||j.responseMapping||{},requireConfirm:j.requireConfirm||j.propsStep?.requireConfirm||!1,requireConfirmAutomation:j.requireConfirmAutomation||j.propsStep?.requireConfirmAutomation||!1,confirmTitleID:j.confirmTitleID||j.propsStep?.confirmTitleID||"",confirmTitleEN:j.confirmTitleEN||j.propsStep?.confirmTitleEN||"",confirmTitleKR:j.confirmTitleKR||j.propsStep?.confirmTitleKR||"",confirmMessageID:j.confirmMessageID||j.propsStep?.confirmMessageID||"",confirmMessageEN:j.confirmMessageEN||j.propsStep?.confirmMessageEN||"",confirmMessageKR:j.confirmMessageKR||j.propsStep?.confirmMessageKR||""}})),P=async j=>{if(!(!j||d[j])){f[j]=!0;try{const K=await s(`/api/auto-layout/form/form-dynamic?code=${j}`,"GET");if(K?.status){const U=Array.isArray(K.data)?K.data[0]:K.data;if(U){const ee=JSON.parse(JSON.stringify(U));E.value||delete ee.actionGlobal,d[j]=ee}}}catch(K){console.error(`[DynamicWizard] Failed to fetch form schema for code: ${j}`,K)}finally{f[j]=!1}}},S=async()=>{if(!k.value||k.value.length===0)return;const j=k.value[0]?.fieldMapping?.formCode;j&&!d[j]&&await P(j);const K=new Set;k.value.slice(1).forEach(U=>{const ee=U.fieldMapping?.formCode;ee&&!d[ee]&&K.add(ee)}),Array.from(K).forEach((U,ee)=>{setTimeout(()=>{P(U)},(ee+1)*300)})},O=j=>j.modelKey?p.value[j.modelKey]||{}:p.value,z=(j,K)=>{if(j.modelKey){const U=p.value[j.modelKey]||{},ee=K&&typeof K=="object"&&j.modelKey in K?K[j.modelKey]:K;p.value={...p.value,[j.modelKey]:{...U,...ee}};const ne=j.fieldMapping?.formCode;ne&&d[ne]&&(d[ne].payload=JSON.parse(JSON.stringify(p.value[j.modelKey])))}else{p.value={...p.value,...K};const U=j.fieldMapping?.formCode;U&&d[U]&&(d[U].payload=JSON.parse(JSON.stringify(p.value)))}i("update:model",p.value)},M=j=>d[j]||null,B=(j,K)=>{K?v[j]=K:delete v[j]},W=async j=>{console.log("[DynamicWizard] handleBeforeNext triggered for tab:",j);const K=j.endpointActionStepNext;console.log("[DynamicWizard] Resolved endpoint configuration:",K);const U=v[j.key],ee=I.value[I.value.length-1]?.key===j.key;if(U&&!U.validate())return console.log("[DynamicWizard] Validation failed"),vt.error(R.value==="ID"?"Mohon lengkapi data wajib isi terlebih dahulu":"Please complete all required fields",{autoClose:3e3}),!1;if(n.dummyMode)return console.log("[DynamicWizard] Dummy mode active"),vt.info(R.value==="ID"?"Simulasi langkah selanjutnya (Dummy Mode)":"Next step simulated (Dummy Mode)",{autoClose:2e3}),!0;const ne=U?.isDirty?U.isDirty():!0;if(console.log("[DynamicWizard] Form dirty check:",{isFormDirty:ne,isEditMode:n.isEditMode,isLastStep:ee,activeForm:U}),!ne&&n.isEditMode&&!ee)return console.log(`[DynamicWizard] Skipping API call for step "${j.titleID||j.key}" because form is not dirty in Edit Mode.`),!0;if(!K?.apiUrl)return console.log("[DynamicWizard] Skipping API call because ep.apiUrl is missing or undefined."),!0;if(j.requireConfirm||j.requireConfirmAutomation){const $=R.value==="KR"?j.confirmTitleKR:R.value==="ID"?j.confirmTitleID:j.confirmTitleEN,_=R.value==="KR"?j.confirmMessageKR:R.value==="ID"?j.confirmMessageID:j.confirmMessageEN;if(w.title=$||(R.value==="ID"?"Konfirmasi":"Confirmation"),w.message=_||(R.value==="ID"?"Apakah Anda yakin ingin melanjutkan?":"Are you sure you want to continue?"),w.visible=!0,!await new Promise(D=>{w.resolvePromise=D}))return!1}try{y.value=!0;const $=j.modelKey?p.value[j.modelKey]||{}:{...p.value};console.log("[nested dynamic][STEP-DATA] Raw stepData for tab:",j.titleID||j.key,JSON.parse(JSON.stringify($)));const _={};Object.values(g).forEach(he=>{he&&typeof he=="object"&&Object.assign(_,he)});let x={};K.fieldMapping&&Object.keys(K.fieldMapping).length>0?(console.log("[nested dynamic][MAPPING-START] Applying fieldMapping rules:",K.fieldMapping),Object.entries(K.fieldMapping).forEach(([he,ge])=>{let xe=he;j.modelKey&&he.startsWith(`${j.modelKey}.`)&&(xe=he.substring(j.modelKey.length+1));const ae=xe.lastIndexOf("."),ve=ae>=0?xe.substring(ae+1):null;let be=We($,xe);if(be==null&&(be=We($,he)),be==null&&ve&&(be=We($,ve)),be==null&&(be=$[xe]??$[he]),be==null&&ve&&(be=$[ve]),(be==null||Array.isArray(be)&&be.length===0)&&xe.includes(".")){const je=xe.indexOf("."),Ge=xe.substring(0,je),Je=xe.substring(je+1),Te=Object.keys($).filter(Se=>Se.startsWith(`${Ge}.`)&&Se.endsWith(`.${Je}`));if(Te.length>0){console.log(`[nested dynamic][INDEXED-KEY] Found indexed keys for "${xe}":`,Te);let Se=!1;if(Te.forEach(Fe=>{const ze=$[Fe];if(Array.isArray(ze)&&ze.length>0&&Array.isArray(ge)&&ge.length>0){const Ze=ge[0];if(typeof Ze=="object"&&Ze!==null){const ce=Object.entries(Ze),ye=ze.map(Ye=>{const mt={};return ce.forEach(([st,De])=>{let Ie=We(Ye,st);if(Ie==null){const Jt=st.lastIndexOf("."),bn=Jt>=0?st.substring(Jt+1):st;Ie=Ye[bn]??Ye[st]}if(Ie==null&&st.includes(".")){const Jt=st.split(".");for(let bn=1;bn<Jt.length;bn++){const Qt=Jt.slice(bn).join("."),Vt=Ye[Qt]??We(Ye,Qt)??void 0;if(Vt!=null){Ie=Vt;break}}}const pt=typeof Ie;Ie!=null&&pt==="object"&&!Array.isArray(Ie)&&(Ie=Ie.id??Ie.code??Ie.value??Ie),Ie!==void 0&&(mt[De]=Ie)}),mt}),Ae=Fe.substring(Ge.length),Ue=Je.includes(".")?Je.substring(Je.lastIndexOf(".")):`.${Je}`,Ce=Ae.replace(new RegExp(`\\.${Je}$`),""),Ne=`${Ge}${Ce}${Ue}`;x[Ne]=ye,Se=!0,console.log(`[nested dynamic][INDEXED-MAPPED] Mapped "${Fe}" -> "${Ne}":`,ye)}}}),Se)return}}if(be==null||Array.isArray(be)&&be.length===0){if(Array.isArray(ge)&&ge.length>0){const je=ge[0];if(typeof je=="object"&&je!==null){const Je=Object.entries(je).map(([Se])=>{const Fe=Se.indexOf(".");return Fe>=0?Se.substring(0,Fe):Se}),Te=Je.length>0?Je[0]:null;if(Te&&Je.every(Se=>Se===Te)){const Se=We($,Te);Array.isArray(Se)&&Se.length>0&&(be=Se,console.log(`[nested dynamic][FALLBACK-SOURCE] Resolved source array for "${he}" via template prefix "${Te}":`,be))}}}if(be==null||Array.isArray(be)&&be.length===0)return}if(Array.isArray(ge)&&ge.length>0){const je=ge[0],Ge=Array.isArray(be)?be:[];if(typeof je=="object"&&je!==null){const Je=Object.entries(je);if(Je.length===1&&(Je[0][1]===xe||he.includes(".")&&Je[0][1]!==xe&&!$[xe])){const[Se,Fe]=Je[0],ze=Ge.map(ce=>{let ye=We(ce,Se);if(ye==null){const Ae=Se.lastIndexOf("."),Ue=Ae>=0?Se.substring(Ae+1):Se;ye=ce[Ue]??ce[Se]}if(ye==null&&Se.includes(".")){const Ae=Se.split(".");for(let Ue=1;Ue<Ae.length;Ue++){const Ce=Ae.slice(Ue).join("."),Ne=ce[Ce]??We(ce,Ce)??void 0;if(Ne!=null){ye=Ne;break}}}if(ye!=null&&typeof ye=="object"&&!Array.isArray(ye)){const Ae=ye;ye=Ae.id??Ae.code??Ae.value??Ae}return ye}).filter(ce=>ce!=null),Ze=Fe||xe;Array.isArray(x[Ze])?x[Ze].push(...ze):x[Ze]=ze,console.log(`[nested dynamic][ARRAY-FLAT] Extracted primitive array for "${xe}" -> "${Ze}":`,x[Ze])}else x[xe]=Ge.map(Se=>{const Fe={};return Je.forEach(([ze,Ze])=>{let ce=We(Se,ze);if(ce==null){const Ue=ze.lastIndexOf("."),Ce=Ue>=0?ze.substring(Ue+1):ze;ce=Se[Ce]??Se[ze]}if(ce==null&&ze.includes(".")){const Ue=ze.split(".");for(let Ce=1;Ce<Ue.length;Ce++){const Ne=Ue.slice(Ce).join("."),Ye=Se[Ne]??We(Se,Ne)??void 0;if(Ye!=null){ce=Ye;break}}}const ye=typeof ce;ce!=null&&ye==="object"&&!Array.isArray(ce)&&(ce=ce.id??ce.code??ce.value??ce),ce!==void 0&&(Fe[Ze]=ce)}),Fe}),console.log(`[nested dynamic][ARRAY-OBJECT] Mapped object array for "${xe}":`,x[xe])}else typeof je=="string"&&(x[je]=Ge,console.log(`[nested dynamic][ARRAY-SIMPLE] Mapped simple array for "${xe}" -> "${je}":`,x[je]));return}const Oe=ge;be&&typeof be=="object"&&!Array.isArray(be)&&(Oe.toLowerCase().endsWith("id")||Oe.toLowerCase().endsWith("_id"))?x[Oe]=be.id!==void 0?be.id:be.value!==void 0?be.value:be:x[Oe]=be,console.log(`[nested dynamic][SIMPLE-FIELD] Mapped field "${xe}" -> "${Oe}":`,x[Oe])})):x={...$};const D=Object.keys(x).filter(he=>he.includes("."));if(D.length>0){console.log("[nested dynamic][CHILD-NESTING-START] Processing child table nesting for dotted keys:",D);for(const he of D){const ge=he.split("."),xe=ge[0],ae=x[xe],ve=x[he];if(Array.isArray(ae)){if(ge.length===3&&!isNaN(Number(ge[1]))){const be=Number(ge[1]),_e=ge[2];ae[be]&&typeof ae[be]=="object"&&(ae[be][_e]=Array.isArray(ve)?ve:[ve],console.log(`[nested dynamic][CHILD-NESTING] Attached indexed child data to "${xe}[${be}].${_e}":`,ae[be][_e]))}else if(ge.length===2){const be=ge[1];if(Array.isArray(ve)&&ve.length>0)for(const _e of ae)_e&&typeof _e=="object"&&(!_e[be]||Array.isArray(_e[be])&&_e[be].length===0)&&(_e[be]=ve,console.log(`[nested dynamic][CHILD-NESTING] Attached flat child data to "${xe}.${be}":`,ve))}}delete x[he]}}const N=re(K.keyParam||[]),A={...x,...N};console.log("[nested dynamic][FINAL-PAYLOAD] Final submit payload:",JSON.parse(JSON.stringify(A)));const H=or(K.apiUrl,T.value),G=await s(H,K.apiMethod||"POST",A),oe=G?.status===!0||G?.success===!0||G?.code===200||G?.code==="00"||G?.status==="SUCCESS";if(oe){const he=j.key||j.id;let ge=G?.data||G?.payload||G;if(Array.isArray(ge)&&ge.length>0&&(ge=ge[0]),g[he]=ge,U?.resetDirty&&U.resetDirty(),ge&&typeof ge=="object"){const xe=["status","success","code","message","error","errorCode","errorMessage"],ae=mf(ge);if(typeof window<"u"&&window.history){const ve=new URL(window.location.href);let be=!1;Object.entries(ae).forEach(([_e,Oe])=>{!xe.includes(_e)&&Oe!==null&&Oe!==void 0&&(typeof Oe=="string"||typeof Oe=="number"||typeof Oe=="boolean")&&ve.searchParams.get(_e)!==String(Oe)&&(ve.searchParams.set(_e,String(Oe)),be=!0)}),be&&window.history.replaceState(window.history.state,"",ve.toString())}}}return oe}catch($){return console.error("[DynamicWizard] Error in handleBeforeNext:",$),!1}finally{y.value=!1}},J=async j=>{if(n.dummyMode)return!0;const K=j.endpointActionStepPrev;if(!K?.apiUrl)return!0;try{const U=or(K.apiUrl,T.value),ee=re(K.keyParam||[]);return await s(U,K.apiMethod||"POST",ee),!0}catch(U){return console.error("[DynamicWizard] Error in handleBeforePrev:",U),!0}},re=j=>{const K={};if(!Array.isArray(j)||j.length===0){const U=l?.currentRoute?.value?.params?.id;return U&&(K.id=U),K}return j.forEach(U=>{if(typeof U=="string"){let ee;if(U.startsWith("$route.")){const ne=U.replace("$route.","");n.apiParams&&n.apiParams[ne]!==void 0&&n.apiParams[ne]!==null?ee=n.apiParams[ne]:ee=l?.currentRoute?.value?.params?.[ne]}else if(U.startsWith("$query.")){const ne=U.replace("$query.","");if(n.apiParams&&n.apiParams[ne]!==void 0&&n.apiParams[ne]!==null)ee=n.apiParams[ne];else{if(typeof window<"u"){const $=new URLSearchParams(window.location.search);$.has(ne)&&(ee=$.get(ne))}ee===void 0&&(ee=l?.currentRoute?.value?.query?.[ne])}}else if(U.startsWith("$value(")){const ne=U.match(/\$value\(([^)]+)\)/);ee=ne?ne[1].replace(/^['"]|['"]$/g,""):void 0}else{if(ee=p.value[U],ee===void 0)for(const ne of Object.keys(p.value)){const $=p.value[ne];if($&&typeof $=="object"&&U in $){ee=$[U];break}}if(ee===void 0)for(const ne of Object.keys(g)){const $=g[ne];if($&&typeof $=="object"&&U in $){ee=$[U];break}}}if(ee!=null&&ee!==""){const ne=U.startsWith("$")&&U.split(".").pop()||U;K[ne]=ee}}else typeof U=="object"&&U!==null&&Object.entries(U).forEach(([ee,ne])=>{const $=ne;let _;if($.startsWith("$route.")){const x=$.replace("$route.","");n.apiParams&&n.apiParams[x]!==void 0&&n.apiParams[x]!==null?_=n.apiParams[x]:_=l?.currentRoute?.value?.params?.[x]||l?.currentRoute?.value?.query?.[x]}else if($.startsWith("$query.")){const x=$.replace("$query.","");if(n.apiParams&&n.apiParams[x]!==void 0&&n.apiParams[x]!==null)_=n.apiParams[x];else{if(typeof window<"u"){const D=new URLSearchParams(window.location.search);D.has(x)?_=D.get(x):D.has(ee)&&(_=D.get(ee))}_===void 0&&(_=l?.currentRoute?.value?.query?.[x]||l?.currentRoute?.value?.query?.[ee])}}else if(_=p.value[$],_===void 0)for(const x of Object.keys(p.value)){const D=p.value[x];if(D&&typeof D=="object"&&$ in D){_=D[$];break}}if(_==null||_===""){if(typeof window<"u"){const x=new URLSearchParams(window.location.search);x.has(ee)&&(_=x.get(ee))}_===void 0&&(_=l?.currentRoute?.value?.query?.[ee]||l?.currentRoute?.value?.params?.[ee])}_!=null&&_!==""&&(K[ee]=_)})}),Object.keys(K).forEach(U=>{const ee=K[U];typeof ee=="string"&&ee!==""&&!isNaN(Number(ee))&&(K[U]=Number(ee))}),K},se=async()=>{const j=I.value[c.value];j&&!await W(j)||i("submit",p.value)},Q=()=>{i("cancel")},X=()=>{w.resolvePromise&&(w.resolvePromise(!0),w.resolvePromise=null),w.visible=!1},Z=()=>{w.resolvePromise&&(w.resolvePromise(!1),w.resolvePromise=null),w.visible=!1},Y=async(j,K)=>{if(j==="cancel"){Q();return}i("action",K,p.value)},ue=async(j,K)=>{if(n.isEditMode)return;const U=d[K];if(U?.sections)for(const ee of U.sections){const ne=ee.propsForm?.endpointForm;if(ne?.apiMethod?.toUpperCase()==="GET"&&ne?.byPassMode===!0&&ne?.apiUrl){const $=or(ne.apiUrl,T.value),_=re(ne.keyParam||[]);try{f[K]=!0;const x=await s($,"GET",_);if(x?.status===!0||x?.success===!0||x?.code===200||x?.code==="00"||x?.status==="SUCCESS"){let N=x?.data||x?.payload||x;Array.isArray(N)&&N.length>0&&(N=N[0]),x?.payload&&(N={...N,...x.payload}),N&&typeof N=="object"&&z(j,N)}}catch(x){console.error("[DynamicWizard] Fetch step data failed:",x)}finally{f[K]=!1,h[K]=(h[K]||0)+1}}}};return r.watch(c,async j=>{const K=k.value[j];if(K){i("step-change",K.key||`step-${j}`);const U=K.fieldMapping?.formCode;U&&(d[U]||await P(U),ue(K,U))}},{immediate:!0}),r.watch(()=>n.model,j=>{j&&Object.keys(j).length>0&&(p.value={...p.value,...j})},{deep:!0}),r.watch(()=>C.value?.propsSteps,()=>{S()},{immediate:!0}),(j,K)=>(r.openBlock(),r.createElementBlock("div",jbe,[k.value.length===0?(r.openBlock(),r.createElementBlock("div",Ube,[...K[2]||(K[2]=[r.createElementVNode("span",{class:"text-4xl mb-3"},"📋",-1),r.createElementVNode("p",null,"No wizard steps configured",-1)])])):(r.openBlock(),r.createElementBlock("form",{key:1,onSubmit:r.withModifiers(se,["prevent"]),class:"w-full"},[r.createVNode(q_,{modelValue:c.value,"onUpdate:modelValue":K[0]||(K[0]=U=>c.value=U),tabs:I.value,"auto-fetch-on-mount":!1,"is-vertical":C.value?.isVertical||!1,"is-wizard":C.value?.isWizard!==!1,"type-wizard":C.value?.typeWizard?.toLowerCase()||"icon",loading:y.value,"before-next":W,"before-prev":J},r.createSlots({_:2},[r.renderList(I.value,U=>({name:U.slotName,fn:r.withCtx(()=>[r.createElementVNode("div",Wbe,[U.actionComponent?.length?(r.openBlock(),r.createElementBlock("div",Hbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(U.actionComponent,(ee,ne)=>(r.openBlock(),r.createBlock(Tt,{key:ne,icon:ee.icon||ee.propsActionGlobal?.icon,text:R.value==="KR"?ee.labelKR||ee.propsActionGlobal?.labelKR||ee.labelEN||ee.propsActionGlobal?.labelEN:R.value==="ID"?ee.labelID||ee.propsActionGlobal?.labelID:ee.labelEN||ee.propsActionGlobal?.labelEN,"bg-color":(ee.bgColor||ee.propsActionGlobal?.bgColor||"primary").toLowerCase(),variant:(ee.variant||ee.propsActionGlobal?.variant||"outline").toLowerCase(),size:"sm",onClick:$=>Y(ee.key||"action",ee)},null,8,["icon","text","bg-color","variant","onClick"]))),128))])):r.createCommentVNode("",!0),U.fieldMapping?.formCode&&f[U.fieldMapping.formCode]?(r.openBlock(),r.createElementBlock("div",qbe,[...K[3]||(K[3]=[r.createElementVNode("div",{class:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin mb-3"},null,-1),r.createElementVNode("span",{class:"text-xs"},"Loading form...",-1)])])):U.fieldMapping?.formCode&&d[U.fieldMapping.formCode]?(r.openBlock(),r.createBlock(T0,{ref:ee=>B(U.key,ee),key:`form-${U.fieldMapping.formCode}-${h[U.fieldMapping.formCode]||0}`,schema:M(U.fieldMapping.formCode),model:O(U),"onUpdate:model":ee=>z(U,ee),onCancel:Q,"is-edit-mode":e.isEditMode,loading:!1,"selected-token-core":e.selectedTokenCore,"token-cores":e.tokenCores,"dummy-mode":e.dummyMode,router:r.unref(l),"permission-base":e.permissionBase,"user-permissions":e.userPermissions,"check-permission":e.checkPermission,"hide-actions":!E.value},null,8,["schema","model","onUpdate:model","is-edit-mode","selected-token-core","token-cores","dummy-mode","router","permission-base","user-permissions","check-permission","hide-actions"])):U.fieldMapping?.formCode?(r.openBlock(),r.createElementBlock("div",Gbe,[r.createElementVNode("div",Ybe,[K[5]||(K[5]=r.createElementVNode("div",{class:"text-4xl"},"⚠️",-1)),K[6]||(K[6]=r.createElementVNode("h3",{class:"text-lg font-semibold text-red-700 dark:text-red-400"}," Form Load Failed ",-1)),r.createElementVNode("p",Zbe," Failed to load form schema for code: "+r.toDisplayString(U.fieldMapping?.formCode),1),r.createVNode(Tt,{onClick:ee=>P(U.fieldMapping?.formCode),text:"Retry",variant:"outline","bg-color":"danger",size:"sm",icon:"RefreshCw"},null,8,["onClick"])])])):(r.openBlock(),r.createElementBlock("div",Kbe,[...K[4]||(K[4]=[r.createElementVNode("div",{class:"max-w-md space-y-3"},[r.createElementVNode("div",{class:"text-4xl"},"📄"),r.createElementVNode("h3",{class:"text-lg font-semibold text-neutral-700 dark:text-neutral-300"}," No Form Assigned "),r.createElementVNode("p",{class:"text-xs text-neutral-400 max-w-xs mx-auto"}," This wizard step does not have a form code assigned. Configure the step's field mapping to link a form. ")],-1)])]))])])}))]),1032,["modelValue","tabs","is-vertical","is-wizard","type-wizard","loading"])],32)),!e.hideActions&&C.value?.actionGlobal?.length?(r.openBlock(),r.createElementBlock("div",Xbe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(C.value.actionGlobal,(U,ee)=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:ee},[U.propsActionGlobal?(r.openBlock(),r.createBlock(Tt,{key:0,icon:U.propsActionGlobal.icon,text:R.value==="KR"?U.propsActionGlobal.labelKR||U.propsActionGlobal.labelEN:R.value==="ID"?U.propsActionGlobal.labelID:U.propsActionGlobal.labelEN,"bg-color":(U.propsActionGlobal.bgColor||"primary").toLowerCase(),variant:(U.propsActionGlobal.variant||"default").toLowerCase(),loading:y.value,onClick:ne=>Y(U.propsActionGlobal?.key||"action",U)},null,8,["icon","text","bg-color","variant","loading","onClick"])):r.createCommentVNode("",!0)],64))),128))])):r.createCommentVNode("",!0),r.createVNode(Mr,{modelValue:w.visible,"onUpdate:modelValue":K[1]||(K[1]=U=>w.visible=U),title:w.title,icon:"AlertTriangle","max-width":450,persistent:""},{footer:r.withCtx(()=>[r.createElementVNode("div",Qbe,[r.createVNode(Tt,{variant:"outline",text:R.value==="ID"?"Batal":"Cancel",onClick:Z},null,8,["text"]),r.createVNode(Tt,{"bg-color":"primary",text:R.value==="ID"?"Ya, Lanjutkan":"Confirm",onClick:X},null,8,["text"])])]),default:r.withCtx(()=>[r.createElementVNode("div",Jbe,r.toDisplayString(w.message),1)]),_:1},8,["modelValue","title"])]))}}),Vbe={class:"w-full space-y-6 animate-pulse"},eye={class:"p-4 grid grid-cols-1 md:grid-cols-2 gap-4"},tye=r.defineComponent({__name:"AutoLayoutSkeleton",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("div",Vbe,[n[2]||(n[2]=r.createElementVNode("div",{class:"h-6 w-48 bg-neutral-200 dark:bg-neutral-700 rounded-md"},null,-1)),(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(2,i=>r.createElementVNode("div",{key:i,class:"rounded-xl border border-neutral-200 dark:border-neutral-700 overflow-hidden"},[n[1]||(n[1]=r.createElementVNode("div",{class:"px-4 py-3 bg-neutral-200 dark:bg-neutral-700"},[r.createElementVNode("div",{class:"h-4 w-32 bg-neutral-300 dark:bg-neutral-600 rounded"})],-1)),r.createElementVNode("div",eye,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(6,o=>r.createElementVNode("div",{key:o,class:r.normalizeClass(o>4?"md:col-span-2":"col-span-1")},[...n[0]||(n[0]=[r.createElementVNode("div",{class:"h-3 w-24 bg-neutral-200 dark:bg-neutral-700 rounded mb-2"},null,-1),r.createElementVNode("div",{class:"h-10 w-full bg-neutral-200 dark:bg-neutral-700 rounded-lg"},null,-1)])],2)),64))])])),64)),n[3]||(n[3]=r.createElementVNode("div",{class:"flex items-center gap-2"},[r.createElementVNode("div",{class:"h-9 w-24 bg-neutral-300 dark:bg-neutral-600 rounded-lg"}),r.createElementVNode("div",{class:"h-9 w-20 bg-neutral-200 dark:bg-neutral-700 rounded-lg"})],-1))]))}}),nye={class:"w-full"},iye={class:"relative mx-auto min-h-[37.5rem]"},oye={key:"content",class:"w-full"},rye={class:"mb-6"},sye={class:"text-neutral-500 dark:text-neutral-400"},aye={key:"skeleton",class:"w-full"},lye={key:"error",class:"flex items-center justify-center p-20 text-red-500 w-full"},P0=r.defineComponent({name:"AutoLayoutForm",__name:"AutoLayoutForm",props:{layoutCode:{},apiToken:{},isEditMode:{type:Boolean},model:{},selectedTokenCore:{},tokenCores:{},router:{},userPermissions:{},permissionBase:{},checkPermission:{type:Function},dummyMode:{type:Boolean},config:{},schema:{},hideActions:{type:Boolean},apiParams:{}},emits:["submit-success","cancel","action-success","update:model","navigate"],setup(e,{emit:t}){const n=e,i=t,o=r.getCurrentInstance()?.appContext?.app;o&&!o._context.provides[Symbol.for("vue-router-route-location")]&&o.provide(Symbol.for("vue-router-route-location"),{query:{},params:{},path:""});let s={query:{},params:{},path:""};try{const Q=fs.useRoute();if(Q&&Object.keys(Q).length>0)s=Q;else{const X=r.getCurrentInstance();X?.appContext?.config?.globalProperties?.$route&&(s=X.appContext.config.globalProperties.$route)}}catch{console.warn("useRoute not available, using fallback")}let a={back:()=>{typeof window<"u"&&window.history&&window.history.length>1&&window.history.back()},push:Q=>{if(typeof window<"u"){if(typeof Q=="string")window.location.href=Q;else if(Q&&(Q.path||Q.name)){const X=Q.path||"/",Z=new URL(X,window.location.origin);Q.query&&Object.entries(Q.query).forEach(([Y,ue])=>Z.searchParams.set(Y,String(ue))),window.location.href=Z.toString()}}},replace:async Q=>{if(typeof window<"u"&&window.history){const X=new URL(window.location.href);Q.query&&Object.entries(Q.query).forEach(([Z,Y])=>X.searchParams.set(Z,String(Y))),window.history.replaceState({},"",X.toString())}},currentRoute:r.computed(()=>({query:s?.query||{},params:s?.params||{},path:s?.path||""})),__isFallback:!0};try{const Q=n.router||fs.useRouter();if(Q)a=Q;else{const X=r.getCurrentInstance();X?.appContext?.config?.globalProperties?.$router&&(a=X.appContext.config.globalProperties.$router)}}catch{console.warn("useRouter not available, using fallback")}const{apiUrl:l,DCodeApi:c}=r.inject("externalApi");let d;try{d=Mn.useI18n().locale}catch{d=r.ref("en")}const{setPageTitle:f}=q2(),h=r.computed(()=>n.isEditMode!==void 0?n.isEditMode:s.params&&"id"in s.params?!0:s.path?/\/edit\/[^\/]+\/?$/.test(s.path):!1);r.watchEffect(()=>{}),console.log("[AutoLayoutForm] props.isEditMode:",n.isEditMode,"computed isEditMode:",h.value,"route.params:",s.params);const p=r.computed(()=>{if(s.params&&"id"in s.params)return s.params.id;if(!s.path)return null;const Q=s.path.match(/\/edit\/([^\/]+)\/?$/);return Q?Q[1]:null}),g=r.ref({}),y=r.ref(n.config||n.schema||null),v=r.ref(!y.value),w=r.ref(!1),C=r.ref(null),E=r.ref(0),k=r.ref(n.layoutCode),T=r.computed(()=>{if(!y.value)return null;const Q=JSON.parse(JSON.stringify(y.value));let X=Q;if(Array.isArray(Q.propsSteps)&&Q.propsSteps.length>0)X=Q;else if(Array.isArray(Q.sections)){const Z=Q.sections.find(Y=>Y?.type?.toUpperCase()==="WIZARD"||Y?.propsWizard?.propsSteps);Z?.propsWizard&&Array.isArray(Z.propsWizard.propsSteps)?X={...Q,...Z.propsWizard}:(typeof Q.isWizard=="boolean"||Q.typeWizard)&&(X={...Q,propsSteps:Q.sections})}if(h.value&&X){const Z=Y=>Y.endpointUpdate&&Y.endpointUpdate.apiUrl?{...Y,endpointSave:{...Y.endpointSave,...Y.endpointUpdate}}:Y;Array.isArray(X.propsSteps)&&(X.propsSteps=X.propsSteps.map(Z)),Array.isArray(X.sections)&&(X.sections=X.sections.map(Z))}return X}),R=r.computed(()=>T.value?!!(typeof T.value.isWizard=="boolean"||T.value.typeWizard||Array.isArray(T.value.propsSteps)&&T.value.propsSteps.length>0):!1),I=r.computed(()=>{if(!y.value)return"";const Q=d?.value?.toLowerCase()||"en",X=Q==="kr"||Q==="ko"||Q.startsWith("kr-")||Q.startsWith("ko-"),Z=Q==="en"||Q.startsWith("en-");return(X?y.value.titleKR||y.value.titleEN:Z?y.value.titleEN:y.value.titleID)||y.value.title||n.layoutCode});r.watch(I,Q=>{Q&&f(Q)},{immediate:!0});const P=(Q,X={})=>(!Q||typeof Q!="object"||Object.keys(Q).forEach(Z=>{const Y=Q[Z];X[Z]=Y,Y&&typeof Y=="object"&&!Array.isArray(Y)&&!(Y instanceof Date)&&!Y._isLogicValue&&P(Y,X)}),X),S=Q=>{if(!Q||typeof Q!="string"||Q.startsWith("http"))return Q;const X=n.selectedTokenCore?.address;if(!X||typeof X!="string")return Q;const Z=X.replace(/\/$/,""),Y=Q.startsWith("/")?Q:`/${Q}`;return`${Z}${Y}`},O=Q=>{if(!Q)return!1;for(const X of Q){const Z=X.propsForm||X.propsFormStep||X.propsTable||X.propsTableStep||X.props||{};if(Z.endpointForm||Z.endpointTable||X.endpointForm)return!0;if(X.type==="WIZARD"&&X.propsWizard?.propsSteps)for(const Y of X.propsWizard.propsSteps){const ue=Array.isArray(Y.sectionsWizard)?Y.sectionsWizard:[Y.sectionsWizard].filter(Boolean);if(O(ue))return!0}}return!1},z=async()=>{v.value=!y.value;try{let Q=n.layoutCode;s&&s.query&&typeof s.query=="object"&&"code"in s.query&&s.query.code===n.layoutCode&&(Q=s.query.code||n.layoutCode),y.value=n.config||n.schema||null;const X=Z=>Z?!!(Z.sections?.length||Z.propsSteps?.length||Z.columns?.length||Z.endpointGlobal||Z.isWizard||Z.typeWizard):!1;if(!y.value&&Q){const Z=await l(`/api/auto-layout/form/form-dynamic?code=${Q}`,"GET");if(Z.status){const Y=Array.isArray(Z.data)?Z.data[0]:Z.data;X(Y)&&(y.value=Y)}if(!X(y.value)&&Q)try{const Y=await l(`/api/auto-layout/wizard/form-dynamic?code=${Q}`,"GET");Y?.status&&(y.value=Array.isArray(Y.data)?Y.data[0]:Y.data)}catch(Y){console.warn("[AutoLayoutForm] Wizard fallback also failed:",Y)}}if(y.value){const Z=()=>{const Y={};return y.value?.sections&&y.value.sections.forEach(ue=>{((ue.propsForm||ue.props||{}).fields||ue.fields||[]).forEach(U=>{const ee=U.model||U.props?.model||U.key;ee&&(Y[ee]=null)}),ue.type?.toUpperCase()==="WIZARD"&&ue.propsWizard?.propsSteps&&ue.propsWizard.propsSteps.forEach(U=>{(Array.isArray(U.sectionsWizard)?U.sectionsWizard:[U.sectionsWizard].filter(Boolean)).forEach(ne=>{(ne.fields||ne.propsFormStep?.fields||[]).forEach(_=>{const x=_.model||_.props?.model||_.key;x&&(Y[x]=null)})})})}),Y};if(g.value=Z(),h.value&&p.value&&(g.value.id=p.value),v.value=!1,h.value&&p.value){w.value=!0;try{const Y=y.value.sections?.[0]?.propsForm||y.value.sections?.[0]?.props,ue=Y?.endpointSection||Y?.endpointForm,j=y.value.endpointForm,K=ue||j;if(K?.apiUrl){w.value=!0;const U=K.apiUrl,ee=K.apiMethod||"GET",ne=K.keyParam||[],$={};ne.length>0?ne.forEach(x=>{typeof x=="string"?$[x]=p.value:typeof x=="object"&&x!==null&&Object.entries(x).forEach(([D])=>{$[D]=p.value})}):$.id=p.value;const _=await c(S(U),ee,$);if(_.status){let x=Array.isArray(_.data)?_.data[0]:_.data;_.payload&&(x={...x,..._.payload});const D=P(x);g.value={...g.value,...D,...x}}else console.warn("[AutoLayoutForm] Record API returned status: false",_)}else if(y.value.endpointGlobal?.apiUrl){w.value=!0;const U=y.value.endpointGlobal.apiUrl,ee=y.value.endpointGlobal.apiMethod||"GET",ne={id:p.value},$=await c(S(U),ee,ne);if($.status){const _=Array.isArray($.data)?$.data[0]:$.data,x=P(_);g.value={...g.value,...x,..._}}}else if(!O(y.value.sections)){const U=y.value.endpoint?.detailUrl||(R.value?null:`/api/${k.value}/detail/${p.value}`);if(!U){w.value=!1;return}w.value=!0;const ee=await l(S(U),"GET");if(ee.status){let ne=Array.isArray(ee.data)?ee.data[0]:ee.data;if(ee.payload){const x={...ee.payload};if(Object.keys(x).forEach(D=>{ne[D]!==void 0&&ne[D]!==null&&(x[D]=ne[D])}),!("id"in x)&&ne.id){const D=Object.keys(x).find(N=>N.startsWith("id")&&N.length>2&&!x[N]);D&&(x[D]=ne.id)}ne=x}const $={...ne};Object.keys(g.value).forEach(x=>{if($[x]===void 0||$[x]===null){if(x.toLowerCase().startsWith("id")&&x.length>2){const N=x.substring(2).toLowerCase(),A=Array.isArray(ee.data)?ee.data[0]:ee.data,H=Object.keys(A).find(G=>G.toLowerCase()===N);H&&A[H]&&typeof A[H]=="object"&&"id"in A[H]&&($[x]=A[H].id)}if(x==="idSupervisor"){const N=Array.isArray(ee.data)?ee.data[0]:ee.data;N.supervisorId&&($[x]=N.supervisorId)}}});const _=P($);g.value={...g.value,..._,...$}}}}catch(Y){console.error("Failed to fetch record data:",Y)}finally{w.value=!1,E.value++}}}}catch(Q){console.error("Failed to load form layout:",Q),v.value=!1}},M=Q=>{const X=Object.keys(g.value||{}).filter(Y=>g.value[Y]!==null&&g.value[Y]!==void 0),Z=Object.keys(Q||{}).filter(Y=>Q[Y]!==null&&Q[Y]!==void 0);if(X.length>3&&Z.length<X.length/2){console.warn('[AutoLayoutForm] Circuit breaker triggered: Ignoring likely erroneous "empty" update from child.',{currentCount:X.length,incomingCount:Z.length,data:Q});return}g.value=Q,i("update:model",Q)},B=Q=>{const X=Q?.routeBack||Q?.pathBack||y.value?.routeBack||y.value?.pathBack;X?a.push(X):a.back()},W=async Q=>{if(n.dummyMode){i("submit-success",Q),y.value=null,g.value={},B();return}try{const X=y.value.sections?.[0]?.propsForm?.endpointForm,Z=y.value.endpointGlobal||y.value.endpoint;let Y=null;if(R.value&&T.value?.propsSteps){const D=T.value.propsSteps,N=D.find(A=>A.isSubmit)||D[D.length-1];N&&(Y=h.value&&N.endpointUpdate?.apiUrl?N.endpointUpdate:N.endpointSave)}const ue=Y?.apiUrl||X?.submitUrl||Z?.submitUrl||(R.value?"":`/api/generic/${n.layoutCode}`),j=Y?.apiMethod||X?.submitMethod||Z?.submitMethod||(h.value?"PUT":"POST"),K=Object.values(Q).some(D=>D instanceof File||D instanceof Blob);let U=Q;if(C.value&&Q[C.value]){const D=Q[C.value];U={},Object.values(D).forEach(N=>{typeof N=="object"&&N!==null&&Object.assign(U,N)})}let ee;K?(ee=new FormData,Object.keys(U).forEach(D=>{const N=U[D];N!=null&&(Array.isArray(N)?N.forEach(A=>ee.append(`${D}[]`,A)):ee.append(D,N))})):(ee={...U},h.value&&p.value&&!ee.id&&(ee.id=p.value));const ne=X||Z,$={...ne?.config};ne?.accept&&($.headers||($.headers={}),$.headers.Accept=ne.accept,$.headers.accept=ne.accept);let _=null,x=!0;if(ue&&!R.value&&(_=await l(S(ue),j,ee,$),x=_?.status===!0||_?.success===!0||_?.code===200||_?.code==="00"||_?.status==="SUCCESS"),x){let D=_?.data||_?.payload||_;if(Array.isArray(D)&&D.length>0&&(D=D[0]),D&&typeof D=="object"){const N={...s?.query||{}};let A=!1;if(Object.entries(D).forEach(([H,G])=>{["status","success","code","message"].includes(H)||G!=null&&(typeof G=="string"||typeof G=="number"||typeof G=="boolean")&&N[H]!==String(G)&&(N[H]=String(G),A=!0)}),A&&typeof window<"u"&&window.history){const H=new URL(window.location.href);Object.entries(N).forEach(([G,oe])=>{oe!=null&&H.searchParams.set(G,String(oe))}),window.history.replaceState(window.history.state,"",H.toString())}}}x&&(i("submit-success",ee),y.value=null,g.value={},B())}catch(X){console.error("Submit failed:",X)}},J=async(Q,X,Z)=>{if(Q==="cancel"){re();return}const Y=X.endpointPropAction||X.propsActionGlobal&&X.propsActionGlobal.endpointPropAction;if(Y){if(n.dummyMode){i("action-success",Q,X,Z||g.value);return}try{v.value=!0;const ue=Z?{...Z}:{...g.value};h.value&&X.model&&p.value&&(ue[X.model]=p.value);const j=Y.apiUrl,K=Y.apiMethod||"POST";(await c(S(j),K,ue)).status&&(i("action-success",Q,X,ue),B(X))}catch(ue){console.error("Action failed:",ue)}finally{v.value=!1}}},re=()=>{i("cancel"),a.back()},se=Q=>{C.value=Q};return r.watch(()=>[n.layoutCode,s.path,s.query?.code,h.value,p.value,n.config,n.schema],(Q,X)=>{(!X||Q.some((Y,ue)=>Y!==X[ue]))&&(y.value=n.config||n.schema||null,g.value={},v.value=!y.value,z())},{immediate:!0}),r.watch(()=>n.model,Q=>{if(Q&&Object.keys(Q).length>0)g.value={...g.value,...Q};else if(!h.value){const X={};y.value?.sections&&y.value.sections.forEach(Z=>{((Z.propsForm||Z.props||{}).fields||Z.fields||[]).forEach(j=>{const K=j.model||j.props?.model||j.key;K&&(X[K]=null)}),Z.type?.toUpperCase()==="WIZARD"&&Z.propsWizard?.propsSteps&&Z.propsWizard.propsSteps.forEach(j=>{(Array.isArray(j.sectionsWizard)?j.sectionsWizard:[j.sectionsWizard].filter(Boolean)).forEach(U=>{(U.fields||U.propsFormStep?.fields||[]).forEach(ne=>{const $=ne.model||ne.props?.model||ne.key;$&&(X[$]=null)})})})}),g.value=X}},{immediate:!0,deep:!0}),r.onUnmounted(()=>{f(""),y.value=null,g.value={}}),(Q,X)=>(r.openBlock(),r.createElementBlock("div",nye,[r.createElementVNode("div",iye,[r.createVNode(r.Transition,{name:"fade",mode:"out-in"},{default:r.withCtx(()=>[!v.value&&y.value?(r.openBlock(),r.createElementBlock("div",oye,[r.createElementVNode("div",rye,[r.createElementVNode("p",sye,r.toDisplayString(y.value.description),1)]),R.value?(r.openBlock(),r.createBlock(K_,{key:`wizard-${E.value}`,schema:T.value||y.value,model:g.value,"is-edit-mode":h.value,loading:w.value,"selected-token-core":n.selectedTokenCore,"token-cores":n.tokenCores,router:r.unref(a),"permission-base":n.permissionBase,"user-permissions":n.userPermissions,"check-permission":n.checkPermission,"dummy-mode":n.dummyMode,"hide-actions":n.hideActions||n.config?.hideActions||n.schema?.hideActions,"api-params":n.apiParams,"onUpdate:model":X[0]||(X[0]=Z=>M(Z)),onSubmit:W,onCancel:re,onAction:J,onNavigate:X[1]||(X[1]=Z=>Q.$emit("navigate",Z)),onStepChange:se,class:"w-full"},null,8,["schema","model","is-edit-mode","loading","selected-token-core","token-cores","router","permission-base","user-permissions","check-permission","dummy-mode","hide-actions","api-params"])):(r.openBlock(),r.createBlock(T0,{key:`form-${E.value}`,schema:T.value||y.value,model:g.value,"is-edit-mode":h.value,loading:w.value,"selected-token-core":n.selectedTokenCore,router:r.unref(a),"permission-base":n.permissionBase,"user-permissions":n.userPermissions,"check-permission":n.checkPermission,"dummy-mode":n.dummyMode,"hide-actions":n.hideActions||n.config?.hideActions||n.schema?.hideActions,"api-params":n.apiParams,"onUpdate:model":X[2]||(X[2]=Z=>M(Z)),onSubmit:W,onCancel:re,onAction:J,onNavigate:X[3]||(X[3]=Z=>Q.$emit("navigate",Z)),onStepChange:se,class:"w-full"},null,8,["schema","model","is-edit-mode","loading","selected-token-core","router","permission-base","user-permissions","check-permission","dummy-mode","hide-actions","api-params"]))])):v.value?(r.openBlock(),r.createElementBlock("div",aye,[r.createVNode(tye)])):(r.openBlock(),r.createElementBlock("div",lye," Failed to load form configuration for "+r.toDisplayString(n.layoutCode),1))]),_:1})])]))}}),cye={class:"flex flex-col gap-3 w-full"},dye={key:0,class:"flex items-center gap-1 font-semibold text-sm text-slate-700 dark:text-slate-300"},uye={key:0,class:"text-red-500"},fye={class:"flex flex-col gap-2 w-full"},hye={key:0,class:"flex flex-col gap-2 w-full"},mye={key:1,class:"flex flex-col items-center justify-center text-center gap-2 py-8 bg-slate-50 dark:bg-neutral-900/10 border border-slate-200 dark:border-neutral-700/50 rounded-lg opacity-70"},pye={class:"text-sm font-medium text-slate-500"},gye=["disabled","onClick"],bye={class:"truncate flex-1"},yye={class:"overflow-hidden"},vye={class:"p-4 bg-slate-50/50 dark:bg-neutral-900/10"},wye={key:1,class:"text-xs text-neutral-400 dark:text-neutral-500 italic py-2 text-center"},B0=r.defineComponent({__name:"DCodeDynamicCollapse",props:{modelValue:{type:[Array,String,Number],default:()=>[]},label:{type:String,default:""},labelID:{type:String,default:"Items"},labelEN:{type:String,default:"Items"},labelKR:{type:String,default:"Items"},endpointReference:{type:Object,default:()=>null},itemTitle:{type:String,default:"name"},itemValue:{type:String,default:"id"},disabled:Boolean,items:{type:Array,default:void 0},accordion:{type:[Boolean,String],default:!0},required:Boolean,renderSubForm:{type:Boolean,default:!1},subLayoutCodeKey:{type:String,default:"code"},formData:{type:Object,default:()=>({})},isEditMode:{type:Boolean,default:!1},layoutMapping:{type:[Object,String],default:()=>({})},dummyMode:{type:Boolean,default:!1},selectedTokenCore:{type:Object,default:()=>null}},emits:["update:modelValue","loaded"],setup(e,{emit:t}){const n=e,i=t,{t:o,locale:s}=Mn.useI18n(),{apiUrl:a}=r.inject("externalApi")||{},l=r.ref([]),c=r.ref(!0),d=r.ref(new Set),f=r.computed(()=>n.accordion===void 0||n.accordion===null?!0:typeof n.accordion=="string"?n.accordion==="true":!!n.accordion),h=r.computed(()=>{if(!n.layoutMapping)return{};if(typeof n.layoutMapping=="string")try{return JSON.parse(n.layoutMapping)}catch(E){return console.warn("Failed to parse layoutMapping JSON string",E),{}}return n.layoutMapping}),p=async()=>{if(n.items!==void 0&&n.items!==null){l.value=n.items,c.value=!1,i("loaded",l.value);return}if(!n.endpointReference?.apiUrl){c.value=!1;return}c.value=!0;try{const E=await a(n.endpointReference.apiUrl,n.endpointReference.apiMethod||"GET",{page:1,perPage:100});if(n.items!==void 0){c.value=!1;return}let k=E?.data||E;Array.isArray(k)||(k=[k]),l.value=k,i("loaded",l.value)}catch(E){console.error("Failed to fetch dynamic collapse items",E)}finally{c.value=!1}},g=(E,k)=>E&&E[n.itemValue]!==void 0?E[n.itemValue]:k,y=(E,k)=>{const T=g(E,k);return d.value.has(T)},v=(E,k)=>{if(n.disabled)return;const T=g(E,k),R=new Set(d.value);R.has(T)?R.delete(T):(f.value&&R.clear(),R.add(T)),d.value=R;const I=Array.from(d.value);i("update:modelValue",f.value?I[0]??null:I)},w=(E,k)=>{!E||n.disabled||(n.formData[E]=k)};r.onMounted(()=>{p(),n.modelValue!==void 0&&n.modelValue!==null&&(Array.isArray(n.modelValue)?d.value=new Set(n.modelValue):d.value=new Set([n.modelValue]))}),r.watch(()=>n.modelValue,E=>{if(E!=null){const k=Array.isArray(E)?E:[E],T=new Set(k);JSON.stringify(Array.from(T))!==JSON.stringify(Array.from(d.value))&&(d.value=T)}else d.value.clear()},{deep:!0}),r.watch(()=>f.value,E=>{E&&(d.value.clear(),i("update:modelValue",null))}),r.watch(()=>n.endpointReference?.apiUrl,(E,k)=>{E!==k&&p()}),r.watch(()=>n.endpointReference?.apiMethod,(E,k)=>{E!==k&&p()}),r.watch(()=>n.items,E=>{E!=null?(l.value=E,c.value=!1):n.endpointReference?.apiUrl||(c.value=!1)},{deep:!0,immediate:!0});const C=r.computed(()=>{if(n.label)return n.label;const E=s.value.toLowerCase();return E.startsWith("kr")||E.startsWith("ko")?n.labelKR:E.startsWith("en")?n.labelEN:n.labelID});return(E,k)=>(r.openBlock(),r.createElementBlock("div",cye,[C.value?(r.openBlock(),r.createElementBlock("div",dye,[r.createElementVNode("span",null,r.toDisplayString(C.value),1),e.required?(r.openBlock(),r.createElementBlock("span",uye,"*")):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",fye,[l.value.length===0&&c.value?(r.openBlock(),r.createElementBlock("div",hye,[(r.openBlock(),r.createElementBlock(r.Fragment,null,r.renderList(3,T=>r.createElementVNode("div",{key:T,class:"w-full flex items-center justify-between p-4 bg-white dark:bg-neutral-800 border border-slate-200 dark:border-neutral-700/50 rounded-lg animate-pulse"},[...k[0]||(k[0]=[r.createElementVNode("div",{class:"h-4 bg-slate-200 dark:bg-neutral-700 rounded w-1/3"},null,-1),r.createElementVNode("div",{class:"h-4 w-4 bg-slate-200 dark:bg-neutral-700 rounded-full"},null,-1)])])),64))])):l.value.length===0&&!c.value?(r.openBlock(),r.createElementBlock("div",mye,[r.createElementVNode("span",pye,r.toDisplayString(r.unref(o)("dynamicUploadList.noDocsRequired")||"No items available"),1)])):r.createCommentVNode("",!0),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,(T,R)=>(r.openBlock(),r.createElementBlock("div",{key:R,class:r.normalizeClass(["bg-white dark:bg-neutral-800 border transition-all duration-200 rounded-lg shadow-sm overflow-hidden",y(T,R)?"border-primary-500/50 dark:border-primary-500/30 ring-1 ring-primary-500/10":"border-slate-200 dark:border-neutral-700/50"])},[r.createElementVNode("button",{type:"button",class:r.normalizeClass(["w-full flex items-center justify-between p-4 font-semibold text-sm text-left transition-colors duration-200 focus:outline-none",[y(T,R)?"text-primary-600 dark:text-primary-400 bg-primary-50/20 dark:bg-primary-950/10 border-b border-primary-500/20 dark:border-primary-500/10":"text-slate-700 dark:text-neutral-300 hover:bg-slate-50 dark:hover:bg-neutral-700/50"]]),disabled:e.disabled,onClick:I=>v(T,R)},[r.renderSlot(E.$slots,"header",{item:T,index:R,expanded:y(T,R)},()=>[r.createElementVNode("span",bye,r.toDisplayString(T[e.itemTitle]||T.name||T.code||`Item ${R+1}`),1)]),r.createVNode(r.unref(Ee.ChevronDown),{class:r.normalizeClass(["w-4 h-4 transition-transform duration-200 shrink-0 ml-2",[y(T,R)?"transform rotate-180 text-primary-500":"text-slate-400"]])},null,8,["class"])],10,gye),r.createElementVNode("div",{class:r.normalizeClass(["grid transition-all duration-200 ease-in-out",y(T,R)?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"])},[r.createElementVNode("div",yye,[r.createElementVNode("div",vye,[r.renderSlot(E.$slots,"default",{item:T,index:R,expanded:y(T,R)},()=>[e.renderSubForm&&h.value[T[e.subLayoutCodeKey]||T.code]?(r.openBlock(),r.createBlock(P0,{key:0,layoutCode:h.value[T[e.subLayoutCodeKey]||T.code],model:e.formData[T[e.subLayoutCodeKey]||T.code]||{},"is-edit-mode":e.isEditMode,"dummy-mode":e.dummyMode,"selected-token-core":e.selectedTokenCore,"hide-actions":!0,"onUpdate:model":I=>w(T[e.subLayoutCodeKey]||T.code,I)},null,8,["layoutCode","model","is-edit-mode","dummy-mode","selected-token-core","onUpdate:model"])):e.renderSubForm?(r.openBlock(),r.createElementBlock("div",wye," Konten Kosong ")):r.createCommentVNode("",!0)])])])],2)],2))),128))])]))}}),_D=r.defineComponent({name:"DCodeDialogCloseBtn",__name:"DCodeDialogCloseBtn",props:{icon:{default:"X"},iconSize:{default:22}},setup(e){const t=e,n=r.computed(()=>Ut[t.icon]??Ut.X);return(i,o)=>(r.openBlock(),r.createBlock(r.unref(ys),{type:"button",variant:"secondary",size:"icon",class:"rounded-full shadow-sm"},{default:r.withCtx(()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.value),{size:Number(e.iconSize)},null,8,["size"]))]),_:1}))}}),_ye={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse mb-2"},kye=["for"],xye={key:0,class:"!ml-1 !text-destructive"},Cye={class:"relative w-full block box-border"},Eye={key:0,class:"absolute inset-y-0 left-3 flex items-center text-muted-foreground pointer-events-none z-10"},Sye=["id","readonly","disabled","placeholder"],Aye={class:"absolute inset-y-0 right-4 flex items-center z-10"},Tye={key:1,class:"absolute z-50 mt-1 w-full rounded-xl border bg-white dark:bg-neutral-800 border-neutral-200/60 dark:border-neutral-700/50 shadow-lg box-border"},Pye={key:0,class:"flex items-center justify-center py-10 text-muted-foreground gap-2"},Bye={key:1,class:"text-sm text-muted-foreground text-center"},Dye=["onClick","title"],Nye={class:"flex flex-col items-center justify-between gap-2 py-1 min-h-[72px]"},Mye={class:"flex items-center justify-center flex-1"},Iye={class:"text-[10px] leading-tight text-muted-foreground truncate w-full text-center block flex-shrink-0"},Rye={key:3,class:"pt-2 text-[11px] text-muted-foreground text-center"},Oye={key:1,class:"text-xs text-destructive mt-1"},kD=r.defineComponent({name:"DCodeIconDropdown",__name:"DCodeIconDropdown",props:{modelValue:{},label:{},placeholder:{default:"Pilih icon…"},clearable:{type:Boolean,default:!0},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},error:{default:null},columns:{default:4},maxHeight:{default:"335px"},iconSize:{default:20},pageSize:{default:120},size:{default:"default"},rounded:{default:"lg"}},emits:["update:modelValue","clear"],setup(e,{emit:t}){const n=e,i=t,o=r.computed(()=>!!n.error),s=r.computed(()=>An(n.size).split(" ").filter(j=>!j.startsWith("px-")).join(" ")),a=Ut,l=r.ref(null),c=r.ref(null),d=Math.random().toString(36).slice(2,7),f=r.computed(()=>`dcode-icon-dropdown-${n.label||"icon-dropdown"}-${d}`),h=r.ref(!1),p=r.computed(()=>(n.modelValue??"").trim()||""),g=r.ref(""),y=r.ref(!1),v=r.ref(!1),w=r.ref(!1),C=r.shallowRef([]),E=r.ref(n.pageSize),k=new Set(["default","createLucideIcon","LucideIcon","Icon","icons","toKebabCase","camelCase","children","IconNode"]),T=async()=>{if(v.value||w.value)return;w.value=!0,await new Promise(K=>setTimeout(K,0));const j=Object.keys(a).filter(K=>!k.has(K)).filter(K=>/^[A-Z]/.test(K)).filter(K=>{if(K.endsWith("Icon")&&K.length>4){const U=K.slice(0,-4);if(a[U])return!1}return!0}).filter(K=>typeof a[K]=="function"||typeof a[K]=="object"&&a[K]).sort((K,U)=>K.localeCompare(U));C.value=j,v.value=!0,w.value=!1},R=r.computed(()=>p.value?_r(p.value,a):null),I=r.ref(p.value),P=r.computed(()=>!!p.value&&!h.value),S=r.computed(()=>{if(!v.value)return[];const j=(g.value??"").trim().toLowerCase();return j?C.value.filter(K=>K.toLowerCase().includes(j)):C.value}),O=r.computed(()=>S.value.slice(0,E.value)),z=r.computed(()=>{const j=n.columns;return j<=2?"grid-cols-2":j===3?"grid-cols-3":j===4?"grid-cols-4":j===5?"grid-cols-5":j>=8?"grid-cols-8":"grid-cols-6"});r.computed(()=>n.clearable?"!pr-10":"!pr-3"),r.computed(()=>R.value&&!h.value?"!pl-12":"!pl-3");const M=async()=>{await r.nextTick(),c.value?.focus()},B=async j=>{if(n.disabled)return;const K=j!==!1;if(y.value){y.value=!1;return}h.value=!0,await T(),K&&(g.value="",I.value=""),E.value=n.pageSize,await M()},W=()=>{h.value=!1,g.value="",I.value=p.value,E.value=n.pageSize},J=async()=>{n.disabled||(h.value?W():await B())};let re=null;const se=async j=>{if(n.disabled)return;i("update:modelValue",null),h.value||await B(!1),re&&clearTimeout(re);const K=I.value;re=setTimeout(()=>{g.value=K},300)},Q=j=>{n.disabled||(i("update:modelValue",j),W(),queueMicrotask(()=>c.value?.blur()))},X=()=>{n.disabled||(i("update:modelValue",null),i("clear"),y.value=!0,W(),queueMicrotask(()=>c.value?.focus()))},Z=j=>{if(j.key==="Escape"){j.preventDefault(),W();return}if(j.key==="Enter"&&h.value){const K=S.value[0];K&&(j.preventDefault(),Q(K))}},Y=j=>{if(!h.value)return;const K=j.target;l.value&&!l.value.contains(K)&&W()},ue=j=>{const K=j.target;K.scrollTop+K.clientHeight>=K.scrollHeight-24&&E.value<S.value.length&&(E.value=Math.min(E.value+n.pageSize,S.value.length))};return r.onMounted(()=>{document.addEventListener("mousedown",Y),queueMicrotask(()=>{c.value=l.value?.querySelector("input")??null}),p.value&&T()}),r.onBeforeUnmount(()=>{document.removeEventListener("mousedown",Y),re&&clearTimeout(re)}),r.watch(p,j=>{h.value||(I.value=j)}),r.watch(()=>g.value,()=>{E.value=n.pageSize}),(j,K)=>r.withDirectives((r.openBlock(),r.createElementBlock("div",{ref_key:"rootEl",ref:l,class:"!w-full !block !box-border"},[n.skeleton?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[n.label?(r.openBlock(),r.createElementBlock("div",_ye)):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["w-full bg-gray-200 dark:bg-gray-700 animate-pulse",[r.unref(An)(n.size),r.unref(Gt)(n.rounded)]])},null,2)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[n.label?(r.openBlock(),r.createElementBlock("label",{key:0,for:f.value,class:"!text-sm !font-medium !mb-1 !block"},[r.createTextVNode(r.toDisplayString(n.label)+" ",1),n.required?(r.openBlock(),r.createElementBlock("span",xye,"*")):r.createCommentVNode("",!0)],8,kye)):r.createCommentVNode("",!0),r.createElementVNode("div",Cye,[R.value&&!h.value?(r.openBlock(),r.createElementBlock("div",Eye,[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(R.value),{size:18}))])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("input",{id:f.value,"onUpdate:modelValue":K[0]||(K[0]=U=>I.value=U),readonly:P.value,disabled:n.disabled,placeholder:n.placeholder,class:r.normalizeClass(["w-full bg-white dark:bg-neutral-800 text-foreground dark:text-gray-300 border border-gray-300 dark:border-neutral-700/50 pr-10 outline-none box-border truncate",[s.value,r.unref(Gt)(n.rounded),R.value&&!h.value?"pl-10":"pl-4",P.value?"cursor-pointer select-none":"",o.value?"border-destructive focus:ring-destructive":""]]),onClick:B,onFocus:B,onInput:se,onKeydown:Z},null,42,Sye),[[r.vModelText,I.value]]),r.createElementVNode("div",Aye,[n.clearable&&p.value?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"flex items-center justify-center p-1 m-0 bg-transparent border-0 text-muted-foreground hover:text-foreground transition cursor-pointer outline-none",onMousedown:K[1]||(K[1]=r.withModifiers(()=>{},["prevent"])),onClick:X,title:"Clear"},[r.createVNode(r.unref(Ee.X),{class:"h-4 w-4"})],32)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",class:"flex items-center justify-center p-1 m-0 bg-transparent border-0 text-muted-foreground hover:text-foreground transition-transform cursor-pointer outline-none",onMousedown:K[2]||(K[2]=r.withModifiers(()=>{},["prevent"])),onClick:J,title:"Open"},[r.createVNode(r.unref(Ee.ChevronDown),{class:"h-4 w-4"})],32))]),h.value?(r.openBlock(),r.createElementBlock("div",Tye,[r.createElementVNode("div",{class:"p-2 overflow-auto",style:r.normalizeStyle({maxHeight:n.maxHeight}),onScroll:ue},[w.value?(r.openBlock(),r.createElementBlock("div",Pye,[r.createVNode(r.unref(Ee.Loader2),{class:"h-4 w-4 animate-spin"}),K[3]||(K[3]=r.createElementVNode("span",{class:"text-sm"},"Loading icons…",-1))])):v.value&&S.value.length===0?(r.openBlock(),r.createElementBlock("div",Bye," Icon tidak ditemukan ")):(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["grid gap-2",z.value])},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(O.value,U=>(r.openBlock(),r.createElementBlock("button",{key:U,type:"button",class:r.normalizeClass(["group rounded-lg border p-2 hover:bg-muted/40 transition",p.value===U?"ring-1 ring-primary":""]),onClick:ee=>Q(U),title:U},[r.createElementVNode("div",Nye,[r.createElementVNode("div",Mye,[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(r.unref(a)[U]),{size:n.iconSize,class:"shrink-0"},null,8,["size"]))]),r.createElementVNode("span",Iye,r.toDisplayString(U),1)])],10,Dye))),128))],2)),v.value&&S.value.length>0?(r.openBlock(),r.createElementBlock("div",Rye," Showing "+r.toDisplayString(O.value.length)+" / "+r.toDisplayString(S.value.length),1)):r.createCommentVNode("",!0)],36)])):r.createCommentVNode("",!0)]),o.value?(r.openBlock(),r.createElementBlock("p",Oye,r.toDisplayString(n.error),1)):r.createCommentVNode("",!0)],64))],512)),[[r.vShow,e.visible]])}}),Lye={class:"w-full"},Fye={key:0,class:"flex items-center justify-between mb-2"},$ye={key:0,class:"text-sm font-medium text-gray-700 dark:text-neutral-300"},zye={key:1,class:"text-sm text-gray-600 dark:text-neutral-400"},jye={name:"DCodeProgress"},xD=r.defineComponent({...jye,name:"DCodeProgress",inheritAttrs:!1,props:{modelValue:{default:0},max:{default:100},label:{default:""},showValue:{type:Boolean,default:!1},color:{default:"blue"},size:{default:"md"},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=r.computed(()=>Math.min(n.modelValue/n.max*100,100)),o=r.computed(()=>["w-full rounded-full overflow-hidden",{sm:"h-1",md:"h-2",lg:"h-3"}[n.size],"bg-gray-200 dark:bg-neutral-700"].join(" ")),s=r.computed(()=>{const l={blue:"bg-blue-500",green:"bg-green-500",red:"bg-red-500",yellow:"bg-yellow-500",purple:"bg-purple-500",gray:"bg-gray-500"},c=["h-full transition-all duration-300 ease-out",l[n.color]||l.blue];return n.striped&&c.push("bg-gradient-to-r from-transparent via-white/20 to-transparent"),n.animated&&c.push("animate-pulse"),c.join(" ")}),a=r.computed(()=>`${Math.round(i.value)}%`);return(l,c)=>(r.openBlock(),r.createElementBlock("div",Lye,[e.label||e.showValue?(r.openBlock(),r.createElementBlock("div",Fye,[e.label?(r.openBlock(),r.createElementBlock("span",$ye,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.showValue?(r.openBlock(),r.createElementBlock("span",zye,r.toDisplayString(a.value),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(o.value)},[r.createElementVNode("div",{class:r.normalizeClass(s.value),style:r.normalizeStyle({width:`${i.value}%`})},null,6)],2)]))}}),Uye={key:0,class:"fixed top-0 left-0 right-0 z-[10000] h-[3px]"},CD=In(r.defineComponent({name:"DCodeProgressBar",__name:"DCodeProgressBar",props:{isApiLoading:{type:Boolean,default:!1},apiProgress:{default:0}},setup(e){return(t,n)=>(r.openBlock(),r.createBlock(r.Transition,{name:"fade"},{default:r.withCtx(()=>[e.isApiLoading?(r.openBlock(),r.createElementBlock("div",Uye,[r.createElementVNode("div",{class:"h-full bg-primary-600 shadow-[0_0_15px_rgba(37,99,235,0.8)] transition-all duration-300 ease-out",style:r.normalizeStyle({width:`${e.apiProgress}%`})},null,4)])):r.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-85c68054"]]),Wye={key:0},Hye={class:"flex items-start justify-between gap-4"},qye={class:"min-w-0"},Kye={class:"truncate text-sm font-medium text-neutral-700 dark:text-neutral-300"},Gye={key:0,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},Yye=["aria-label","aria-valuenow","aria-valuemax"],Zye=["aria-label","aria-valuenow","aria-valuemax"],Xye={class:"h-full w-full -rotate-90",viewBox:"0 0 100 100","aria-hidden":"true"},Jye=["stroke-width"],Qye=["stroke-width","stroke-dashoffset"],Vye={key:0,class:"text-center"},eve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},tve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},nve=["aria-label","aria-valuenow","aria-valuemax"],ive={class:"relative w-48 overflow-hidden"},ove={class:"h-auto w-full",viewBox:"0 0 100 58","aria-hidden":"true"},rve=["stroke-dasharray"],sve={key:0,class:"text-center"},ave={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},lve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},cve=["aria-label","aria-valuenow","aria-valuemax"],dve={class:"relative z-10 flex h-full w-full items-center justify-center rounded-full bg-white dark:bg-neutral-900"},uve={key:0,class:"text-center"},fve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},hve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},mve=["aria-label","aria-valuenow","aria-valuemax"],pve={class:"flex items-center gap-1.5"},gve={class:"flex items-center justify-between gap-4"},bve={key:0,class:"text-sm font-medium text-neutral-700 dark:text-neutral-300"},yve={key:1,class:"mt-1 text-xs text-neutral-500 dark:text-neutral-400"},vve=["aria-label","aria-valuenow","aria-valuemax"],wve={class:"relative h-3 rounded-sm bg-neutral-200 dark:bg-neutral-700"},_ve={class:"flex items-center justify-between gap-4 text-xs"},kve={class:"text-neutral-500 dark:text-neutral-400"},ED=r.defineComponent({name:"DCodePercentage",inheritAttrs:!1,__name:"DCodePercentage",props:{value:{default:0},max:{default:100},label:{default:""},caption:{default:""},showValue:{type:Boolean,default:!0},variant:{default:"bar"},size:{default:"md"},target:{default:80},stepCount:{default:5},color:{default:"primary"},visible:{type:Boolean,default:!0}},setup(e){const t=e,n=r.computed(()=>Math.max(Number.isFinite(t.max)?t.max:100,1)),i=r.computed(()=>Math.min(Math.max(Number.isFinite(t.value)?t.value:0,0),n.value)),o=r.computed(()=>i.value/n.value*100),s=r.computed(()=>t.showValue?`${Math.round(o.value)}%`:""),a=r.computed(()=>Math.min(Math.max(t.target/n.value*100,0),100)),l=r.computed(()=>Math.round(o.value/100*t.stepCount)),c=r.computed(()=>"h-2"),d=r.computed(()=>({"h-24 w-24":t.size==="sm","h-32 w-32":t.size==="md","h-40 w-40":t.size==="lg"})),f=r.computed(()=>t.variant==="donut"?16:8),h=r.computed(()=>({"bg-primary-500":t.color==="primary","bg-success-500":t.color==="success","bg-warning-500":t.color==="warning","bg-danger-500":t.color==="danger"})),p=r.computed(()=>({"stroke-primary-500":t.color==="primary","stroke-success-500":t.color==="success","stroke-warning-500":t.color==="warning","stroke-danger-500":t.color==="danger"})),g=r.computed(()=>({"--percentage-color":t.color==="success"?"#22c55e":t.color==="warning"?"#f59e0b":t.color==="danger"?"#ef4444":"#0066cc","--percentage-track":"rgb(229 229 229)"})),y=r.computed(()=>({"text-primary-600 dark:text-primary-400":t.color==="primary","text-success-600 dark:text-success-400":t.color==="success","text-warning-600 dark:text-warning-400":t.color==="warning","text-danger-600 dark:text-danger-400":t.color==="danger"}));return(v,w)=>e.visible?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["w-full",v.$attrs.class])},[e.variant==="bar"?(r.openBlock(),r.createElementBlock("div",Wye,[r.createElementVNode("div",Hye,[r.createElementVNode("div",qye,[r.createElementVNode("p",Kye,r.toDisplayString(e.label),1),e.caption?(r.openBlock(),r.createElementBlock("p",Gye,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)]),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["shrink-0 text-sm font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)]),r.createElementVNode("div",{class:r.normalizeClass(["mt-3 w-full overflow-hidden rounded-full bg-neutral-200 dark:bg-neutral-700",c.value]),role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:r.normalizeClass(["h-full rounded-full transition-[width] duration-500 ease-out",h.value]),style:r.normalizeStyle({width:`${o.value}%`})},null,6)],10,Yye)])):e.variant==="circle"||e.variant==="donut"?(r.openBlock(),r.createElementBlock("div",{key:1,class:"flex flex-col items-center gap-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:r.normalizeClass(["relative",d.value])},[(r.openBlock(),r.createElementBlock("svg",Xye,[r.createElementVNode("circle",{cx:"50",cy:"50",r:"40",fill:"none",class:"stroke-neutral-200 dark:stroke-neutral-700","stroke-width":f.value},null,8,Jye),r.createElementVNode("circle",{cx:"50",cy:"50",r:"40",fill:"none",class:r.normalizeClass(["transition-[stroke-dashoffset] duration-500 ease-out",p.value]),"stroke-width":f.value,"stroke-linecap":"round","stroke-dasharray":"251.2","stroke-dashoffset":251.2-251.2*o.value/100},null,10,Qye)])),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["absolute inset-0 flex items-center justify-center text-xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)],2),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",Vye,[e.label?(r.openBlock(),r.createElementBlock("p",eve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",tve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,Zye)):e.variant==="semi-circle"?(r.openBlock(),r.createElementBlock("div",{key:2,class:"flex flex-col items-center gap-2",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",ive,[(r.openBlock(),r.createElementBlock("svg",ove,[w[0]||(w[0]=r.createElementVNode("path",{d:"M10 50 A40 40 0 0 1 90 50",pathLength:"100",fill:"none",class:"stroke-neutral-200 dark:stroke-neutral-700","stroke-width":"10","stroke-linecap":"round"},null,-1)),r.createElementVNode("path",{d:"M10 50 A40 40 0 0 1 90 50",pathLength:"100",fill:"none",class:r.normalizeClass(["transition-[stroke-dasharray] duration-500 ease-out",p.value]),"stroke-width":"10","stroke-linecap":"round","stroke-dasharray":`${o.value} 100`},null,10,rve)])),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["absolute inset-x-0 bottom-0 text-center text-2xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)]),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",sve,[e.label?(r.openBlock(),r.createElementBlock("p",ave,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",lve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,nve)):e.variant==="radial"?(r.openBlock(),r.createElementBlock("div",{key:3,class:"flex flex-col items-center gap-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",{class:"relative flex h-36 w-36 items-center justify-center rounded-full p-2",style:r.normalizeStyle(g.value)},[r.createElementVNode("div",{class:"absolute inset-0 rounded-full",style:r.normalizeStyle({background:`conic-gradient(var(--percentage-color) ${o.value}%, var(--percentage-track) 0)`})},null,4),r.createElementVNode("div",dve,[e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["text-2xl font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)])],4),e.label||e.caption?(r.openBlock(),r.createElementBlock("div",uve,[e.label?(r.openBlock(),r.createElementBlock("p",fve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",hve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],8,cve)):e.variant==="steps"?(r.openBlock(),r.createElementBlock("div",{key:4,class:"space-y-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",pve,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.stepCount,C=>(r.openBlock(),r.createElementBlock("span",{key:C,class:r.normalizeClass(["h-2.5 flex-1 rounded-sm",C<=l.value?h.value:"bg-neutral-200 dark:bg-neutral-700"])},null,2))),128))]),r.createElementVNode("div",gve,[r.createElementVNode("div",null,[e.label?(r.openBlock(),r.createElementBlock("p",bve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.caption?(r.openBlock(),r.createElementBlock("p",yve,r.toDisplayString(e.caption),1)):r.createCommentVNode("",!0)]),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["text-sm font-semibold tabular-nums",y.value])},r.toDisplayString(s.value),3)):r.createCommentVNode("",!0)])],8,mve)):(r.openBlock(),r.createElementBlock("div",{key:5,class:"space-y-3",role:"progressbar","aria-label":e.label||void 0,"aria-valuenow":i.value,"aria-valuemin":0,"aria-valuemax":n.value},[r.createElementVNode("div",wve,[r.createElementVNode("div",{class:r.normalizeClass(["h-full rounded-sm transition-[width] duration-500 ease-out",h.value]),style:r.normalizeStyle({width:`${o.value}%`})},null,6),r.createElementVNode("span",{class:"absolute top-1/2 h-5 w-0.5 -translate-y-1/2 bg-neutral-900 dark:bg-white",style:r.normalizeStyle({left:`calc(${a.value}% - 1px)`}),"aria-hidden":"true"},null,4)]),r.createElementVNode("div",_ve,[r.createElementVNode("span",kve,r.toDisplayString(e.label),1),e.showValue?(r.openBlock(),r.createElementBlock("span",{key:0,class:r.normalizeClass(["font-semibold tabular-nums",y.value])},r.toDisplayString(s.value)+" / target "+r.toDisplayString(a.value)+"%",3)):r.createCommentVNode("",!0)])],8,vve))],2)):r.createCommentVNode("",!0)}}),xve={class:"flex flex-col gap-1.5"},Cve={key:0,class:"flex items-center gap-1"},Eve={key:0,class:"text-xs font-medium text-slate-700 dark:text-slate-300 leading-none"},Sve={class:"inline-flex items-center text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 cursor-help transition-colors",tabindex:"-1","aria-label":"More info"},Ave=["aria-disabled"],Tve=["aria-checked","disabled","onClick"],Pve=["aria-checked","disabled","onClick"],Bve={name:"DCodeSegmentGroup"},SD=r.defineComponent({...Bve,props:{modelValue:{},options:{},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=t,o=c=>c.code===n.modelValue,s=c=>{n.disabled||i("update:modelValue",c.code)},a=r.computed(()=>["inline-flex items-center gap-1 rounded-lg border p-1","bg-slate-100 border-slate-200 dark:bg-slate-800/60 dark:border-slate-700",n.disabled?"opacity-50 cursor-not-allowed":""]),l=c=>["relative inline-flex items-center justify-center","min-w-[2.5rem] px-2.5 py-1 rounded-md","font-mono font-bold tracking-wider text-sm","transition-all duration-200 ease-out","focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",o(c)?["bg-white dark:bg-slate-900","text-primary dark:text-primary","shadow-sm border border-slate-200 dark:border-slate-600","scale-[1.03]"]:["text-slate-500 dark:text-slate-400","hover:bg-white/60 dark:hover:bg-slate-700/60","border border-transparent"],n.disabled?"cursor-not-allowed":"cursor-pointer"];return(c,d)=>(r.openBlock(),r.createElementBlock("div",xve,[e.label||e.description?(r.openBlock(),r.createElementBlock("div",Cve,[e.label?(r.openBlock(),r.createElementBlock("span",Eve,r.toDisplayString(e.label),1)):r.createCommentVNode("",!0),e.description?(r.openBlock(),r.createBlock(r.unref(Dc),{key:1,"delay-duration":150},{default:r.withCtx(()=>[r.createVNode(r.unref(Pc),null,{default:r.withCtx(()=>[r.createVNode(r.unref(Nc),{"as-child":""},{default:r.withCtx(()=>[r.createElementVNode("span",Sve,[r.createVNode(r.unref(Ee.Info),{class:"w-3.5 h-3.5"})])]),_:1}),r.createVNode(r.unref(Bc),{side:"bottom"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(e.description),1)]),_:1})]),_:1})]),_:1})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(a.value),role:"radiogroup","aria-disabled":e.disabled?"true":void 0},[r.createVNode(r.unref(Dc),{"delay-duration":200},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.options,f=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:f.code},[f.tooltip?(r.openBlock(),r.createBlock(r.unref(Pc),{key:0},{default:r.withCtx(()=>[r.createVNode(r.unref(Nc),{"as-child":""},{default:r.withCtx(()=>[r.createElementVNode("button",{type:"button",role:"radio","aria-checked":o(f),disabled:e.disabled,class:r.normalizeClass(l(f)),onClick:h=>s(f)},r.toDisplayString(f.display),11,Tve)]),_:2},1024),r.createVNode(r.unref(Bc),{side:"bottom"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(f.tooltip),1)]),_:2},1024)]),_:2},1024)):(r.openBlock(),r.createElementBlock("button",{key:1,type:"button",role:"radio","aria-checked":o(f),disabled:e.disabled,class:r.normalizeClass(l(f)),onClick:h=>s(f)},r.toDisplayString(f.display),11,Pve))],64))),128))]),_:1})],10,Ave)]))}}),Dve={class:"dcode-upload-file"},Nve={class:"border-2 border-dashed border-gray-300 dark:border-gray-700 rounded-lg p-6 flex flex-col items-center justify-center text-center hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors cursor-pointer"},Mve={key:0,class:"text-xs text-gray-500 mt-1"},Ive=["accept"],Rve={key:1,class:"text-xs text-red-600 mt-1"},AD=r.defineComponent({name:"DCodeUploadFile",__name:"DCodeUploadFile",props:{label:{},accept:{},errorMessage:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,i=o=>{const s=o.target.files?.[0];s&&n("update:modelValue",s)};return(o,s)=>(r.openBlock(),r.createElementBlock("div",Dve,[e.label?(r.openBlock(),r.createBlock(Sl,{key:0,label:e.label},null,8,["label"])):r.createCommentVNode("",!0),r.createElementVNode("div",Nve,[r.createVNode(r.unref(Ee.UploadCloud),{class:"w-8 h-8 text-gray-400 mb-2"}),s[0]||(s[0]=r.createElementVNode("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[r.createElementVNode("span",{class:"font-medium text-primary-600"},"Click to upload"),r.createTextVNode(" or drag and drop ")],-1)),e.accept?(r.openBlock(),r.createElementBlock("p",Mve,r.toDisplayString(e.accept),1)):r.createCommentVNode("",!0),r.createElementVNode("input",{type:"file",class:"hidden",onChange:i,accept:e.accept},null,40,Ive)]),e.errorMessage?(r.openBlock(),r.createElementBlock("p",Rve,r.toDisplayString(e.errorMessage),1)):r.createCommentVNode("",!0)]))}}),Ove={key:0,class:"flex flex-wrap items-center justify-between gap-3 px-4 py-3 bg-neutral-50 dark:bg-neutral-900 border-b border-neutral-200 dark:border-neutral-800 select-none"},Lve={class:"flex items-center gap-2"},Fve={key:0,class:"font-semibold text-sm text-neutral-800 dark:text-neutral-200 flex items-center gap-2"},$ve={key:1,class:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-semibold bg-violet-100 dark:bg-violet-900/40 text-violet-700 dark:text-violet-300 border border-violet-200 dark:border-violet-700/50"},zve={key:2,class:"flex items-center bg-neutral-200 dark:bg-neutral-800 p-0.5 rounded-lg text-xs ml-2"},jve={key:0,class:"flex items-center gap-1.5"},Uve=["title"],Wve={key:0,class:"h-4 w-px bg-neutral-300 dark:bg-neutral-700 mx-1"},Hve={key:1,class:"flex-1 flex overflow-hidden compare-split"},qve={class:"compare-panel flex flex-col flex-1 min-w-0 border-r border-neutral-200 dark:border-neutral-800"},Kve={class:"compare-panel-header flex items-center justify-between px-3 py-2 bg-amber-50 dark:bg-amber-950/30 border-b border-amber-200 dark:border-amber-800/50 select-none"},Gve={class:"inline-flex items-center gap-1.5 text-xs font-semibold text-amber-700 dark:text-amber-400"},Yve={class:"flex items-center gap-1"},Zve={key:0,class:"h-3 w-px bg-amber-200 dark:bg-amber-800 mx-0.5"},Xve={class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},Jve={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},Qve={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},Vve={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-4 rounded-xl max-w-xs border border-red-200 dark:border-red-900/60"},ewe={class:"text-xs opacity-80 font-mono break-words"},twe={key:2,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},nwe={class:"flex flex-col items-center justify-center text-neutral-400 dark:text-neutral-500"},iwe={class:"text-[11px] text-neutral-400 dark:text-neutral-500 mt-0.5 font-mono"},owe={class:"compare-panel flex flex-col flex-1 min-w-0"},rwe={class:"compare-panel-header flex items-center justify-between px-3 py-2 bg-emerald-50 dark:bg-emerald-950/30 border-b border-emerald-200 dark:border-emerald-800/50 select-none"},swe={class:"inline-flex items-center gap-1.5 text-xs font-semibold text-emerald-700 dark:text-emerald-400"},awe={class:"flex items-center gap-1"},lwe={key:0,class:"h-3 w-px bg-emerald-200 dark:bg-emerald-800 mx-0.5"},cwe={class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},dwe={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},uwe={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},fwe={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-4 rounded-xl max-w-xs border border-red-200 dark:border-red-900/60"},hwe={class:"text-xs opacity-80 font-mono break-words"},mwe={key:2,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-4 text-center"},pwe={class:"flex flex-col items-center justify-center text-neutral-400 dark:text-neutral-500"},gwe={class:"text-[11px] text-neutral-400 dark:text-neutral-500 mt-0.5 font-mono"},bwe={key:2,class:"flex-1 relative overflow-hidden bg-neutral-50/50 dark:bg-neutral-950/40"},ywe={key:0,class:"absolute inset-0 z-20 flex flex-col items-center justify-center bg-white/80 dark:bg-neutral-900/80 backdrop-blur-xs"},vwe={key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center p-6 text-center"},wwe={class:"bg-red-50 dark:bg-red-950/40 text-red-600 dark:text-red-400 p-6 rounded-xl max-w-md border border-red-200 dark:border-red-900/60 shadow-xs"},_we={class:"text-xs opacity-90 mb-4 break-words font-mono bg-red-100/50 dark:bg-red-900/40 p-2 rounded"},kwe={class:"flex gap-2 justify-center"},xwe={key:2,class:"w-full h-full p-4 overflow-auto font-mono text-xs text-neutral-100 dark:text-neutral-200 bg-neutral-900 dark:bg-neutral-950"},Cwe={class:"whitespace-pre-wrap break-all leading-relaxed"},TD=`<?xml version="1.0" encoding="UTF-8"?>
|
|
164
164
|
<definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
165
165
|
xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
|
166
166
|
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
|