@gemafajarramadhan/dynamic-ui 1.2.19 → 1.2.20

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.
@@ -8561,7 +8561,7 @@ For more information, see https://www.reka-ui.com/docs/components/${n}`,c=`Warni
8561
8561
  .dcode-datepicker-menu .dp__menu_inner {
8562
8562
  padding: 0 !important;
8563
8563
  }
8564
- `.trim();let r=document.getElementById(e);r||(r=document.createElement("style"),r.id=e,document.head.appendChild(r)),r.textContent=o}function CW(a,e=Ez){t.watch(a,n=>vW(n,e),{immediate:!0})}const LW={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},SW={key:0,class:"ml-1 text-destructive"},IW=["disabled","onClick"],_W={class:"flex-shrink-0 px-2 text-sm text-muted-foreground select-none whitespace-nowrap"},AW=["id","value","placeholder","disabled","onClick","onFocus","onBlur","onInput","onKeydown","onKeypress","onPaste"],BW={class:"h-full p-2 flex flex-col gap-3 w-32"},VW={class:"flex items-center justify-end gap-2 w-full p-2"},zW={key:1,class:"text-xs text-destructive"},GI=t.defineComponent({name:"DCodeDatePicker",inheritAttrs:!1,__name:"DCodeDatePicker",props:{modelValue:{},range:{type:Boolean,default:!1},autoRangeDays:{default:null},disablePast:{type:Boolean,default:!1},maxDaysAhead:{default:null},placeholder:{default:"Pilih tanggal"},label:{},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},displayFormat:{default:"dd/MM/yyyy"},modelType:{default:"yyyy-MM-dd"},locale:{default:"en"},placement:{default:"bottom-start"},prependInner:{default:void 0},error:{default:null},selectLabel:{default:"Select"},cancelLabel:{default:"Cancel"},tone:{default:"primary"},skeleton:{type:Boolean,default:!1}},emits:["update:modelValue","change","clear"],setup(a,{emit:e}){const n=t.useAttrs(),o=a,r=e,i=Math.random().toString(36).slice(2,7),s=t.computed(()=>`dcode-datepicker-${n.id||o.label||"date-picker"}-${i}`),c=t.computed(()=>{const P=n.required,D=n["aria-required"];return P===""||P===!0||P==="true"||D==="true"||D===!0}),d=t.computed(()=>!!o.error),h=t.computed({get:()=>o.modelValue,set:P=>{r("update:modelValue",P),r("change",P)}}),u=t.computed(()=>o.locale==="en"?Iz:wW),p=t.computed(()=>o.range?2:!1),y=t.computed(()=>{if(!o.range)return!1;const P={partialRange:!1};return o.autoRangeDays&&o.autoRangeDays>0&&(P.maxRange=o.autoRangeDays,P.autoRange=o.autoRangeDays),P}),f=P=>{const D=new Date(P);return D.setHours(0,0,0,0),D},k=P=>{const D=new Date(P);return D.setHours(23,59,59,999),D},m=(P,D)=>{const U=new Date(P);return U.setDate(U.getDate()+D),U},g=t.computed(()=>{if(o.disablePast)return f(new Date)}),v=t.computed(()=>{if(o.maxDaysAhead&&o.maxDaysAhead>0)return k(m(new Date,o.maxDaysAhead))}),L=t.ref(null),w=t.ref(null),M=P=>{w.value={month:P.month,year:P.year}},C=t.ref(!1);let S=null;t.onMounted(()=>{const P=document.documentElement,D=()=>C.value=P.classList.contains("dark");D(),S=new MutationObserver(D),S.observe(P,{attributes:!0,attributeFilter:["class"]})}),t.onBeforeUnmount(()=>{S==null||S.disconnect(),S=null}),CW(t.toRef(o,"tone"));const b=P=>{const D=new Date(P),U=D.getDay(),T=D.getDate()-U+(U===0?-6:1);return D.setDate(T),f(D)},x=P=>{const D=b(P);return D.setDate(D.getDate()+6),k(D)},I=P=>{const D=new Date(P);return D.setDate(1),f(D)},V=P=>{const D=new Date(P);return D.setMonth(D.getMonth()+1),D.setDate(0),k(D)},B=t.computed(()=>{if(!o.range)return[];const P=new Date,D=f(P),U=b(P),T=x(P),H=I(P),N=V(P),Q=(j,F)=>{let R=j;o.disablePast&&R<D&&(R=D);let Z=F;if(o.autoRangeDays&&o.autoRangeDays>0){const J=k(m(R,o.autoRangeDays-1));Z>J&&(Z=J)}return Z<R&&(Z=k(new Date(R))),[R,Z]};return[{label:o.locale==="id"?"Minggu Ini":"This Week",range:Q(U,T)},{label:o.locale==="id"?"Bulan Ini":"This Month",range:Q(H,N)}]}),A=async P=>{var F,R;const D=o.modelType||"yyyy-MM-dd";if(P.length===0){h.value=null;return}if(P.length<2)return;const U=Pz(P[0],D),T=Pz(P[1],D);h.value=[U,T],await t.nextTick();const H=P[0],N=H.getMonth(),Q=H.getFullYear();w.value&&w.value.month===N&&w.value.year===Q||(F=L.value)==null||F.setMonthYear({month:N,year:Q}),(R=L.value)==null||R.openMenu()};return(P,D)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class])},[a.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[a.label?(t.openBlock(),t.createElementBlock("div",LW)):t.createCommentVNode("",!0),D[2]||(D[2]=t.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[a.label?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:s.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),c.value?(t.openBlock(),t.createElementBlock("span",SW,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Je.VueDatePicker),{ref_key:"dpRef",ref:L,modelValue:h.value,"onUpdate:modelValue":D[1]||(D[1]=U=>h.value=U),dark:C.value,range:y.value,"multi-calendars":p.value,disabled:a.disabled,clearable:!1,"text-input":"","enable-time-picker":!1,"time-config":{enableTimePicker:!1},"auto-apply":!1,"action-row":{showPreview:!0,showNow:!1},locale:u.value,"model-type":a.modelType,formats:{input:a.displayFormat},"min-date":g.value,"max-date":v.value,"preset-ranges":B.value,floating:{placement:a.placement,offset:8,arrow:!1,flip:!1,shift:!0},teleport:!0,"menu-class-name":"dcode-datepicker-menu","calendar-class-name":"dcode-datepicker-calendar",onUpdateMonthYear:M},t.createSlots({"dp-input":t.withCtx(({value:U,onInput:T,onEnter:H,onTab:N,onBlur:Q,onFocus:j,onKeypress:F,onPaste:R,toggleMenu:Z})=>[t.createElementVNode("div",{class:t.normalizeClass(["flex items-center w-full h-10 rounded-lg border bg-white dark:bg-neutral-900 border-gray-300 dark:border-gray-700 overflow-hidden",[d.value?"border-destructive":"",a.disabled?"opacity-50 cursor-not-allowed":""]])},[t.createElementVNode("button",{type:"button",tabindex:"-1",disabled:a.disabled,class:"flex-shrink-0 flex items-center justify-center w-10 h-full text-muted-foreground hover:text-foreground transition-colors focus:outline-none",onClick:J=>Z()},[t.createVNode(t.unref(Hs),{class:"w-4 h-4 pointer-events-none"})],8,IW),D[4]||(D[4]=t.createElementVNode("span",{class:"w-px h-5 bg-gray-200 dark:bg-gray-700 flex-shrink-0"},null,-1)),a.prependInner?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("span",_W,t.toDisplayString(a.prependInner),1),D[3]||(D[3]=t.createElementVNode("span",{class:"w-px h-5 bg-gray-200 dark:bg-gray-700 flex-shrink-0"},null,-1))],64)):t.createCommentVNode("",!0),t.createElementVNode("input",{id:s.value,value:U,placeholder:a.placeholder,disabled:a.disabled,autocomplete:"off",readonly:"",class:t.normalizeClass(["flex-1 min-w-0 px-3 h-full bg-transparent text-sm text-foreground dark:text-gray-300 placeholder:text-muted-foreground outline-none",a.disabled?"cursor-not-allowed":"cursor-pointer"]),onClick:J=>Z(),onFocus:J=>j(),onBlur:J=>Q(),onInput:J=>T(J),onKeydown:[t.withKeys(J=>H(J),["enter"]),t.withKeys(J=>N(J),["tab"])],onKeypress:J=>F(J),onPaste:J=>R()},null,42,AW)],2)]),"action-buttons":t.withCtx(({selectDate:U,selectionDisabled:T})=>[t.createElementVNode("div",VW,[t.createVNode(t.unref(Ee),{type:"button",variant:"outline",onClick:D[0]||(D[0]=H=>{var N;return(N=L.value)==null?void 0:N.closeMenu()})},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.cancelLabel),1)]),_:1}),t.createVNode(t.unref(Ee),{type:"button",variant:"default",disabled:T,onClick:H=>U()},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.selectLabel),1)]),_:1},8,["disabled","onClick"])])]),_:2},[a.range?{name:"left-sidebar",fn:t.withCtx(()=>[t.createElementVNode("div",BW,[B.value.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(B.value,U=>(t.openBlock(),t.createBlock(t.unref(Ee),{key:U.label,type:"button",variant:"default",class:"w-full",onClick:T=>A(U.range)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(U.label),1)]),_:2},1032,["onClick"]))),128)):t.createCommentVNode("",!0)])]),key:"0"}:void 0]),1032,["modelValue","dark","range","multi-calendars","disabled","locale","model-type","formats","min-date","max-date","preset-ranges","floating"]),d.value?(t.openBlock(),t.createElementBlock("p",zW,t.toDisplayString(o.error),1)):t.createCommentVNode("",!0)],64))],2))}}),qW=t.defineComponent({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(VA),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),PW=t.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref($A),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NA),{class:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),t.createVNode(t.unref(FA),t.mergeProps({...t.unref(i),...s.$attrs},{class:t.unref(be)("fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",n.class)}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default"),t.createVNode(t.unref(zA),{class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"},{default:t.withCtx(()=>[t.createVNode(t.unref(it),{class:"w-4 h-4"}),c[0]||(c[0]=t.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})]),_:3},16,["class"])]),_:3}))}}),DW=t.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(RA),t.mergeProps(t.unref(o),{class:t.unref(be)("text-sm text-muted-foreground",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),EW=t.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(UA),t.mergeProps(t.unref(o),{class:t.unref(be)("text-lg font-medium leading-none tracking-tight",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),TW={class:"flex items-center gap-3"},HW={class:"flex justify-end gap-3"},lS=t.defineComponent({name:"DCodeDialog",inheritAttrs:!1,__name:"DCodeDialog",props:{modelValue:{type:Boolean,default:!1},title:{default:""},icon:{default:""},maxWidth:{default:500},persistent:{type:Boolean,default:!0},contentClass:{default:"p-5"},contentStyle:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:e}){const n=a,o=e,r=t.useAttrs(),i=t.computed(()=>{const{style:h,...u}=r;return u}),s=t.computed(()=>({maxWidth:typeof n.maxWidth=="number"?`${n.maxWidth}px`:n.maxWidth,width:"100%"})),c=t.computed(()=>n.icon?Gt[n.icon]??null:null),d=h=>{o("update:modelValue",h)};return(h,u)=>(t.openBlock(),t.createBlock(t.unref(qW),{open:a.modelValue,"onUpdate:open":d},{default:t.withCtx(()=>[t.createVNode(t.unref(PW),t.mergeProps(i.value,{style:s.value,class:"p-0 overflow-hidden rounded-xl",onInteractOutside:u[0]||(u[0]=p=>a.persistent?p.preventDefault():null),onEscapeKeyDown:u[1]||(u[1]=p=>a.persistent?p.preventDefault():null)}),{default:t.withCtx(()=>[t.createVNode(rI,{padding:a.contentClass,border:"",shadow:"",class:"w-full !rounded-xl !border-0",level:1},t.createSlots({header:t.withCtx(()=>[t.createElementVNode("div",TW,[c.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c.value),{key:0,class:"h-5 w-5"})):t.createCommentVNode("",!0),t.createVNode(t.unref(EW),{class:"text-base font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),t.createVNode(t.unref(DW),{class:"hidden"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title||"Dialog Content"),1)]),_:1})])]),actions:t.withCtx(()=>[t.renderSlot(h.$slots,"header-append")]),default:t.withCtx(()=>[t.createElementVNode("div",{style:t.normalizeStyle(a.contentStyle)},[t.renderSlot(h.$slots,"default")],4)]),_:2},[h.$slots.actions?{name:"footer",fn:t.withCtx(()=>[t.createElementVNode("div",HW,[t.renderSlot(h.$slots,"actions")])]),key:"0"}:void 0]),1032,["padding"])]),_:3},16,["style"])]),_:3},8,["open"]))}}),Tz=t.defineComponent({__name:"DCodeDialogCloseBtn",props:{icon:{default:"X"},iconSize:{default:22}},setup(a){const e=a,n=t.computed(()=>Gt[e.icon]??it);return(o,r)=>(t.openBlock(),t.createBlock(t.unref(Ee),{type:"button",variant:"secondary",size:"icon",class:"rounded-full shadow-sm"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value),{size:Number(a.iconSize)},null,8,["size"]))]),_:1}))}}),jW=t.defineComponent({__name:"Alert",props:{class:{type:[Boolean,null,String,Object,Array]},variant:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)(t.unref(FW)({variant:a.variant}),e.class)),role:"alert"},[t.renderSlot(n.$slots,"default")],2))}}),OW=t.defineComponent({__name:"AlertDescription",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("text-sm [&_p]:leading-relaxed",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),FW=i1("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),_a=t.defineComponent({__name:"Badge",props:{variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)(t.unref(RW)({variant:a.variant}),e.class))},[t.renderSlot(n.$slots,"default")],2))}}),RW=i1("inline-flex gap-1 items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),KI=t.defineComponent({__name:"Card",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("rounded-xl border bg-card text-card-foreground shadow",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),XI=t.defineComponent({__name:"CardContent",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("p-6 pt-0",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),ZI=t.defineComponent({__name:"CardHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col gap-y-1.5 p-6",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),YI=t.defineComponent({__name:"CardTitle",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("h3",{class:t.normalizeClass(t.unref(be)("font-medium leading-none tracking-tight",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),NW={class:"h-full w-full p-6 flex flex-col items-center justify-center text-center gap-2"},$W={class:"flex flex-wrap items-center justify-center gap-2"},UW=["accept","multiple"],cS=Xt(t.defineComponent({__name:"DCodeDropzone",props:{label:{default:"Upload File"},hint:{default:"Drag & drop file di sini atau klik area ini"},accept:{default:"*/*"},maxSizeMb:{default:2},mode:{default:"single"},disabled:{type:Boolean,default:!1},showSelected:{type:Boolean,default:!0},error:{default:null}},emits:["picked","picked:multiple","error"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null),i=t.ref(!1),s=t.ref(null),c=t.ref(null),d=t.ref(null);t.computed(()=>n.accept||"file/*");const h=t.computed(()=>n.error??s.value);function u(){var b;n.disabled||(b=r.value)==null||b.click()}function p(b){const x=b/1024,I=x/1024;return I>=1?`${I.toFixed(2)} MB`:x>=1?`${x.toFixed(1)} KB`:`${b} B`}function y(b){var I;if(!b)return"File tidak valid";if((I=n.accept)!=null&&I.includes("image/")&&!b.type.startsWith("image/"))return"Hanya file gambar yang diizinkan";const x=(n.maxSizeMb??2)*1024*1024;return b.size>x?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:null}function f(b){c.value=b.name,d.value=b.size}function k(b){if(s.value=null,!b.length)return;if(n.mode==="single"){const I=b[0],V=y(I);if(V){s.value=V,o("error",V);return}n.showSelected&&f(I),o("picked",I);return}const x=[];for(const I of b){const V=y(I);if(V){s.value=V,o("error",V);return}x.push(I)}x.length&&(n.showSelected&&f(x[0]),o("picked:multiple",x))}function m(b){const x=b.target,I=Array.from(x.files??[]);k(I),x.value=""}function g(){n.disabled||(i.value=!0)}function v(){n.disabled||(i.value=!0)}function L(){i.value=!1}function w(b){var V,B;if(n.disabled)return;i.value=!1;const x=Array.from(((V=b.dataTransfer)==null?void 0:V.files)??[]),I=(B=n.accept)!=null&&B.includes("image/")?x.filter(A=>A.type.startsWith("image/")):x;k(I)}const M=t.computed(()=>(n.accept||"file/*").split(",").map(b=>b.trim()).filter(Boolean).map(b=>b==="image/*"?"IMAGE":b.replace(/^image\//,"").replace(/^\./,"")).join(", "));t.computed(()=>`${n.maxSizeMb??0}MB`);const C=t.ref(!1),S=t.computed(()=>{if(n.disabled||!C.value)return{};const b=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark");return{borderColor:b?"hsl(var(--primary) / 0.5)":"hsl(var(--primary) / 0.6)",backgroundColor:b?"hsl(var(--primary) / 0.1)":"hsl(var(--primary) / 0.05)"}});return(b,x)=>(t.openBlock(),t.createBlock(t.unref(KI),{class:t.normalizeClass([a.disabled?"opacity-60":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(t.unref(ZI),{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(t.unref(YI),{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label),1)]),_:1})]),_:1}),t.createVNode(t.unref(XI),{class:"pt-2"},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["d-dropzone-area flex justify-center items-center rounded-xl border-2 border-dashed transition cursor-pointer select-none",[i.value?"is-dragging border-primary bg-primary/10 dark:bg-primary/20 -translate-y-[1px]":"border-border dark:border-neutral-700 bg-muted/30 dark:bg-neutral-800/50",a.disabled?"is-disabled":""]]),style:t.normalizeStyle([{minHeight:"190px"},S.value]),onClick:u,onDragenter:t.withModifiers(g,["prevent"]),onDragover:t.withModifiers(v,["prevent"]),onDragleave:t.withModifiers(L,["prevent"]),onDrop:t.withModifiers(w,["prevent"]),onMouseenter:x[0]||(x[0]=I=>C.value=!0),onMouseleave:x[1]||(x[1]=I=>C.value=!1)},[t.createElementVNode("div",NW,[x[2]||(x[2]=t.createElementVNode("div",{class:"text-sm font-medium dark:text-neutral-200"},"Drag & drop file di sini",-1)),x[3]||(x[3]=t.createElementVNode("div",{class:"text-xs text-muted-foreground dark:text-neutral-400"},"atau klik area ini untuk memilih file",-1)),t.createElementVNode("div",$W,[t.createVNode(t.unref(_a),{variant:"secondary",class:"text-[11px] dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(" Allowed: "+t.toDisplayString(M.value),1)]),_:1}),t.createVNode(t.unref(_a),{variant:"secondary",class:"text-[11px] dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(" Max: "+t.toDisplayString(n.maxSizeMb)+"MB ",1)]),_:1})]),a.showSelected&&c.value?(t.openBlock(),t.createBlock(t.unref(_a),{key:0,variant:"secondary",class:"mt-2 dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.value)+" • "+t.toDisplayString(d.value?p(d.value):""),1)]),_:1})):t.createCommentVNode("",!0)]),t.createElementVNode("input",{ref_key:"fileInputEl",ref:r,type:"file",class:"hidden",accept:a.accept,multiple:a.mode==="multiple",onChange:m},null,40,UW)],38),h.value?(t.openBlock(),t.createBlock(t.unref(jW),{key:0,variant:"destructive",class:"mt-3"},{default:t.withCtx(()=>[t.createVNode(t.unref(OW),{class:"text-sm"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h.value),1)]),_:1})]),_:1})):t.createCommentVNode("",!0)]),_:1})]),_:1},8,["class"]))}}),[["__scopeId","data-v-218e1a20"]]),WW={key:0,class:"text-xs text-muted-foreground dark:text-neutral-400"},GW=["src"],KW={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"},XW={class:"space-y-0.5"},ZW={class:"text-sm font-medium truncate max-w-[180px] dark:text-neutral-200"},YW={class:"text-xs opacity-70"},QW=["disabled"],JW={key:1},eG=["disabled"],tG={class:"text-[11px] text-foreground/90 dark:text-neutral-200 space-y-1 whitespace-nowrap"},aG={class:"flex gap-2"},nG={class:"font-medium truncate"},oG={class:"flex gap-2"},rG={class:"font-medium"},iG={class:"flex gap-2"},sG={class:"font-medium truncate"},QI=Xt(t.defineComponent({__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},forceFileIcon:{type:Boolean,default:!1}},emits:["edit","replace","remove"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null),i=t.computed(()=>n.forceFileIcon||!n.file?!1:(n.file.type||"").startsWith("image/"));t.watch(()=>n.file,f=>{r.value&&URL.revokeObjectURL(r.value),r.value=f?URL.createObjectURL(f):null},{immediate:!0}),t.onBeforeUnmount(()=>{r.value&&URL.revokeObjectURL(r.value),u&&u.disconnect()});function s(f){const k=f/1024,m=k/1024;return m>=1?`${m.toFixed(2)} MB`:k>=1?`${k.toFixed(1)} KB`:`${f} B`}const c=t.computed(()=>n.file?{name:n.file.name,size:s(n.file.size),type:n.file.type||"unknown"}:null),d=t.ref(!1),h=t.ref(!1);let u=null;const p=()=>{typeof document<"u"&&(h.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{p(),typeof document<"u"&&(u=new MutationObserver(p),u.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),u.observe(document.body,{attributes:!0,attributeFilter:["class"]}))});const y=t.computed(()=>n.disabled||!d.value?{}:{borderColor:h.value?"hsl(var(--primary) / 0.4)":"hsl(var(--primary) / 0.5)",backgroundColor:h.value?"hsl(var(--primary) / 0.1)":"hsl(var(--primary) / 0.05)"});return(f,k)=>a.file?(t.openBlock(),t.createBlock(KI,{key:0,class:t.normalizeClass([a.disabled?"opacity-60 pointer-events-none":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(ZI,{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(YI,{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),a.description?(t.openBlock(),t.createElementBlock("div",WW,t.toDisplayString(a.description),1)):t.createCommentVNode("",!0)]),_:1}),t.createVNode(XI,{class:"pt-2"},{default:t.withCtx(()=>{var m,g,v,L,w;return[t.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-800/50 border-border dark:border-neutral-700 w-full",style:t.normalizeStyle([{height:`${a.previewHeight}px`},y.value]),onMouseenter:k[2]||(k[2]=M=>d.value=!0),onMouseleave:k[3]||(k[3]=M=>d.value=!1)},[i.value&&r.value?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.value,alt:"Preview",class:"h-full w-full object-contain"},null,8,GW)):(t.openBlock(),t.createElementBlock("div",KW,[t.createVNode(t.unref(hs),{class:"w-10 h-10"}),t.createElementVNode("div",XW,[t.createElementVNode("p",ZW,t.toDisplayString((m=c.value)==null?void 0:m.name),1),t.createElementVNode("p",YW,t.toDisplayString((g=c.value)==null?void 0:g.size),1)])])),t.createElementVNode("div",{class:"d-action-buttons",style:t.normalizeStyle({position:"absolute",top:"8px",left:"8px",right:"8px",display:"flex",alignItems:"center",justifyContent:"space-between",zIndex:50,opacity:d.value?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:d.value?"auto":"none"})},[a.showEdit&&i.value?(t.openBlock(),t.createElementBlock("button",{key:0,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:k[0]||(k[0]=M=>o("edit"))},[t.createVNode(t.unref(sr),{style:{width:"16px",height:"16px"}})],12,QW)):(t.openBlock(),t.createElementBlock("div",JW)),a.showRemove?(t.openBlock(),t.createElementBlock("button",{key:2,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:k[1]||(k[1]=M=>o("remove"))},[t.createVNode(t.unref(_i),{style:{width:"16px",height:"16px"}})],12,eG)):t.createCommentVNode("",!0)],4),t.createElementVNode("div",{class:"d-metadata-overlay",style:t.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:d.value?1:0,transform:d.value?"translateY(0) scale(1)":"translateY(4px) scale(0.99)",backgroundColor:h.value?"rgba(38, 38, 38, 0.8)":"rgba(255, 255, 255, 0.8)",color:h.value?"#e5e5e5":"#171717"})},[t.createElementVNode("div",tG,[t.createElementVNode("div",aG,[k[4]||(k[4]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Nama",-1)),t.createElementVNode("span",nG,t.toDisplayString((v=c.value)==null?void 0:v.name),1)]),t.createElementVNode("div",oG,[k[5]||(k[5]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Ukuran",-1)),t.createElementVNode("span",rG,t.toDisplayString((L=c.value)==null?void 0:L.size),1)]),t.createElementVNode("div",iG,[k[6]||(k[6]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Tipe",-1)),t.createElementVNode("span",sG,t.toDisplayString((w=c.value)==null?void 0:w.type),1)])])],4)],36)]}),_:1})]),_:1},8,["class"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-21123eaf"]]);function JI(){const a=i=>{var d;const s={type:i.type||"info",title:i.title,message:i.message,duration:i.duration??3e3};typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:toast",{detail:s,bubbles:!0,composed:!0})),(s.type==="error"?console.error:s.type==="warning"?console.warn:console.log)(`[Toast][${(d=s.type)==null?void 0:d.toUpperCase()}]`,s.title||"",s.message)};return{show:a,success:(i,s)=>a({type:"success",message:i,title:s}),error:(i,s)=>a({type:"error",message:i,title:s}),warning:(i,s)=>a({type:"warning",message:i,title:s}),info:(i,s)=>a({type:"info",message:i,title:s})}}const lG={class:"space-y-3"},cG={key:1,class:"flex items-center justify-center p-6 border rounded-lg bg-muted/30 dark:bg-neutral-800/20 dark:border-neutral-800"},Hz=t.defineComponent({__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:{}},emits:["update:modelValue","error","uploaded"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:S=>o("update:modelValue",S)}),i=t.ref(null),s=t.ref(null);function c(S){s.value=S,o("error",S)}function d(){s.value=null}const h=t.computed(()=>{const S=(n.allowedTypes??"").trim();return S?S.split(/[,\s;]+/g).map(x=>x.trim().toLowerCase()).filter(Boolean).map(x=>x.includes("/")||x.startsWith(".")?x:`.${x}`):[]});function u(S){const b=S.lastIndexOf(".");return b>=0?S.slice(b).toLowerCase():""}const p=t.computed(()=>{if(h.value.length){const S=h.value.filter(x=>x.startsWith("."));return[...h.value.filter(x=>x.includes("/")),...S].join(",")}return n.accept}),y=t.computed(()=>h.value.length?h.value.join(", "):n.accept||"Semua File");function f(S){if(h.value.length){const b=(S.type||"").toLowerCase(),x=u(S.name);return h.value.some(I=>I.includes("/")?b===I:I.startsWith(".")?x===I:x===`.${I}`)}if(n.accept){if(n.accept==="*/*")return!0;const b=n.accept.split(",").map(V=>V.trim().toLowerCase()),x=(S.type||"").toLowerCase(),I=u(S.name);return b.some(V=>{if(V.endsWith("/*")){const B=V.slice(0,-2);return x.startsWith(B)}return V.startsWith(".")?I===V:x===V})}return!0}function k(S){return S*1024*1024}async function m(S){return S?f(S)?n.minSizeMb!=null&&S.size<k(n.minSizeMb)?`Ukuran file terlalu kecil. Minimal ${n.minSizeMb}MB`:n.maxSizeMb!=null&&S.size>k(n.maxSizeMb)?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:null:`File Type not allowed. Allowed: ${y.value}`:"File tidak valid"}const{DCodeApi:g}=Ke(),v=JI(),L=t.ref(!1);async function w(S){var b;if(n.uploadFn){try{L.value=!0;const x=await n.uploadFn(S);r.value=S,o("uploaded",x)}catch(x){console.error("Upload Error",x),v.error("Upload Failed",(x==null?void 0:x.message)||"Unknown error"),c((x==null?void 0:x.message)||"Upload Failed")}finally{L.value=!1}return}if(!((b=n.endpoint)!=null&&b.apiUrl)){r.value=S;return}if(typeof g!="function"){c("useApi() must expose DCodeApi()");return}try{L.value=!0;const x=new FormData;x.append("doc",S);const I=(n.endpoint.apiMethod||"POST").toUpperCase(),V=n.endpoint.apiUrl,B=await g("","",x,{_url:V,_method:I,withCredentials:!0,transformRequest:[(P,D)=>(D&&(delete D["Content-Type"],delete D["content-type"]),P)]}),A=(B==null?void 0:B.data)??B;r.value=S,o("uploaded",A)}catch(x){console.error("Upload Error",x),v.error("Upload Failed",(x==null?void 0:x.message)||"Unknown error"),c((x==null?void 0:x.message)||"Upload Failed")}finally{L.value=!1}}async function M(S){var x;if(n.disabled)return;d();const b=await m(S);if(b){c(b);return}i.value=S,n.uploadFn||(x=n.endpoint)!=null&&x.apiUrl?await w(S):r.value=S}function C(){d(),r.value=null,i.value=null}return t.watch(()=>n.modelValue,S=>{S&&!i.value&&(i.value=S),S||(i.value=null)},{immediate:!0}),(S,b)=>(t.openBlock(),t.createElementBlock("div",lG,[r.value?L.value?(t.openBlock(),t.createElementBlock("div",cG,[...b[1]||(b[1]=[t.createElementVNode("span",{class:"text-sm text-muted-foreground dark:text-neutral-400 animate-pulse"},"Uploading...",-1)])])):(t.openBlock(),t.createBlock(QI,{key:2,file:r.value,title:a.label,description:a.hint,disabled:a.disabled,"show-edit":!1,"show-replace":!1,"show-remove":!0,"force-file-icon":!0,"preview-height":a.previewHeight,"preview-width":a.previewWidth,onRemove:C},null,8,["file","title","description","disabled","preview-height","preview-width"])):(t.openBlock(),t.createBlock(cS,{key:0,label:a.label,hint:a.hint,accept:p.value,maxSizeMb:a.maxSizeMb,disabled:a.disabled||L.value,onPicked:M,error:s.value,onError:b[0]||(b[0]=x=>c(x))},null,8,["label","hint","accept","maxSizeMb","disabled","error"]))]))}}),dG=["for"],hG={key:0,class:"!ml-1 !text-destructive"},uG={class:"relative w-full block box-border"},pG={key:0,class:"absolute inset-y-0 left-3 flex items-center text-muted-foreground pointer-events-none z-10"},yG=["id","readonly","disabled","placeholder"],fG={class:"absolute inset-y-0 right-4 flex items-center z-10"},kG={key:1,class:"absolute z-50 mt-1 w-full rounded-xl border bg-white dark:bg-neutral-900 shadow-lg box-border"},mG={key:0,class:"flex items-center justify-center py-10 text-muted-foreground gap-2"},gG={key:1,class:"text-sm text-muted-foreground text-center"},bG=["onClick","title"],MG={class:"flex flex-col items-center justify-between gap-2 py-1 min-h-[72px]"},xG={class:"flex items-center justify-center flex-1"},wG={class:"text-[10px] leading-tight text-muted-foreground truncate w-full text-center block flex-shrink-0"},vG={key:3,class:"pt-2 text-[11px] text-muted-foreground text-center"},jz=t.defineComponent({name:"DCodeIconDropdown",__name:"DCodeIconDropdown",props:{modelValue:{},label:{},placeholder:{default:"Pilih icon…"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},columns:{default:4},maxHeight:{default:"335px"},iconSize:{default:20},pageSize:{default:120}},emits:["update:modelValue","clear"],setup(a,{emit:e}){const n=a,o=e,r=Gt,i=t.ref(null),s=t.ref(null),c=Math.random().toString(36).slice(2,7),d=t.computed(()=>`dcode-icon-dropdown-${n.label||"icon-dropdown"}-${c}`),h=t.ref(!1),u=t.computed(()=>(n.modelValue??"").trim()||""),p=t.ref(""),y=t.ref(!1),f=t.ref(!1),k=t.ref(!1),m=t.shallowRef([]),g=t.ref(n.pageSize),v=new Set(["default","createLucideIcon","LucideIcon","Icon","icons","toKebabCase","camelCase","children","IconNode"]),L=async()=>{if(f.value||k.value)return;k.value=!0,await new Promise(F=>setTimeout(F,0));const j=Object.keys(r).filter(F=>!v.has(F)).filter(F=>/^[A-Z]/.test(F)).filter(F=>typeof r[F]=="function"||typeof r[F]=="object"&&r[F]).sort((F,R)=>F.localeCompare(R));m.value=j,f.value=!0,k.value=!1},w=t.computed(()=>!f.value||!u.value||!m.value.includes(u.value)?null:r[u.value]),M=t.ref(u.value),C=t.computed(()=>!!u.value&&!h.value),S=t.computed(()=>{if(!f.value)return[];const j=(p.value??"").trim().toLowerCase();return j?m.value.filter(F=>F.toLowerCase().includes(j)):m.value}),b=t.computed(()=>S.value.slice(0,g.value)),x=t.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"});t.computed(()=>n.clearable?"!pr-10":"!pr-3"),t.computed(()=>w.value&&!h.value?"!pl-12":"!pl-3");const I=async()=>{var j;await t.nextTick(),(j=s.value)==null||j.focus()},V=async j=>{if(n.disabled)return;const F=j!==!1;if(y.value){y.value=!1;return}h.value=!0,await L(),F&&(p.value="",M.value=""),g.value=n.pageSize,await I()},B=()=>{h.value=!1,p.value="",M.value=u.value,g.value=n.pageSize},A=async()=>{n.disabled||(h.value?B():await V())};let P=null;const D=async j=>{if(n.disabled)return;o("update:modelValue",null),h.value||await V(!1),P&&clearTimeout(P);const F=M.value;P=setTimeout(()=>{p.value=F},300)},U=j=>{n.disabled||(o("update:modelValue",j),B(),queueMicrotask(()=>{var F;return(F=s.value)==null?void 0:F.blur()}))},T=()=>{n.disabled||(o("update:modelValue",null),o("clear"),y.value=!0,B(),queueMicrotask(()=>{var j;return(j=s.value)==null?void 0:j.focus()}))},H=j=>{if(j.key==="Escape"){j.preventDefault(),B();return}if(j.key==="Enter"&&h.value){const F=S.value[0];F&&(j.preventDefault(),U(F))}},N=j=>{if(!h.value)return;const F=j.target;i.value&&!i.value.contains(F)&&B()},Q=j=>{const F=j.target;F.scrollTop+F.clientHeight>=F.scrollHeight-24&&g.value<S.value.length&&(g.value=Math.min(g.value+n.pageSize,S.value.length))};return t.onMounted(()=>{document.addEventListener("mousedown",N),queueMicrotask(()=>{var j;s.value=((j=i.value)==null?void 0:j.querySelector("input"))??null}),u.value&&L()}),t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",N),P&&clearTimeout(P)}),t.watch(u,j=>{h.value||(M.value=j)}),t.watch(()=>p.value,()=>{g.value=n.pageSize}),(j,F)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootEl",ref:i,class:"!w-full !block !box-border"},[n.label?(t.openBlock(),t.createElementBlock("label",{key:0,for:d.value,class:"!text-sm !font-medium !mb-1 !block"},[t.createTextVNode(t.toDisplayString(n.label)+" ",1),n.required?(t.openBlock(),t.createElementBlock("span",hG,"*")):t.createCommentVNode("",!0)],8,dG)):t.createCommentVNode("",!0),t.createElementVNode("div",uG,[w.value&&!h.value?(t.openBlock(),t.createElementBlock("div",pG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(w.value),{size:18}))])):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("input",{id:d.value,"onUpdate:modelValue":F[0]||(F[0]=R=>M.value=R),readonly:C.value,disabled:n.disabled,placeholder:n.placeholder,class:t.normalizeClass(["w-full h-10 m-0 py-0 rounded-lg border bg-white dark:bg-neutral-900 text-foreground dark:text-gray-300 border-gray-300 dark:border-gray-700 pr-10 outline-none box-border truncate",[w.value&&!h.value?"pl-10":"pl-4",C.value?"cursor-pointer select-none":""]]),onClick:V,onFocus:V,onInput:D,onKeydown:H},null,42,yG),[[t.vModelText,M.value]]),t.createElementVNode("div",fG,[n.clearable&&u.value?(t.openBlock(),t.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:F[1]||(F[1]=t.withModifiers(()=>{},["prevent"])),onClick:T,title:"Clear"},[t.createVNode(t.unref(it),{class:"h-4 w-4"})],32)):(t.openBlock(),t.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:F[2]||(F[2]=t.withModifiers(()=>{},["prevent"])),onClick:A,title:"Open"},[t.createVNode(t.unref(St),{class:"h-4 w-4"})],32))]),h.value?(t.openBlock(),t.createElementBlock("div",kG,[t.createElementVNode("div",{class:"p-2 overflow-auto",style:t.normalizeStyle({maxHeight:n.maxHeight}),onScroll:Q},[k.value?(t.openBlock(),t.createElementBlock("div",mG,[t.createVNode(t.unref(kt),{class:"h-4 w-4 animate-spin"}),F[3]||(F[3]=t.createElementVNode("span",{class:"text-sm"},"Loading icons…",-1))])):f.value&&S.value.length===0?(t.openBlock(),t.createElementBlock("div",gG," Icon tidak ditemukan ")):(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(["grid gap-2",x.value])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,R=>(t.openBlock(),t.createElementBlock("button",{key:R,type:"button",class:t.normalizeClass(["group rounded-lg border p-2 hover:bg-muted/40 transition",u.value===R?"ring-1 ring-primary":""]),onClick:Z=>U(R),title:R},[t.createElementVNode("div",MG,[t.createElementVNode("div",xG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r)[R]),{size:n.iconSize,class:"shrink-0"},null,8,["size"]))]),t.createElementVNode("span",wG,t.toDisplayString(R),1)])],10,bG))),128))],2)),f.value&&S.value.length>0?(t.openBlock(),t.createElementBlock("div",vG," Showing "+t.toDisplayString(b.value.length)+" / "+t.toDisplayString(S.value.length),1)):t.createCommentVNode("",!0)],36)])):t.createCommentVNode("",!0)])],512))}}),CG={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6"},LG={class:"flex items-center justify-between border-b dark:border-neutral-800 px-6 py-4"},SG={class:"relative overflow-auto p-0"},e_=t.defineComponent({__name:"DCodeImageCropperDialog",props:{modelValue:{type:Boolean},file:{},title:{default:"Resize & Crop Gambar"},description:{default:""},aspectRatio:{default:null},outputWidth:{default:null},outputHeight:{default:null},quality:{default:.92},autoOpenEditor:{type:Boolean,default:!1}},emits:["update:modelValue","done","cancel"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:w=>o("update:modelValue",w)}),i=t.ref(null),s=t.ref(null);let c=null,d=!1,h=0,u=null;function p(){if(c){try{c.close()}catch{}c=null,u&&(u.disconnect(),u=null),i.value&&(i.value.innerHTML=""),s.value=null}}async function y(w,M,C,S,b){const x=await new Promise((B,A)=>{const P=URL.createObjectURL(w),D=new Image;D.onload=()=>{URL.revokeObjectURL(P),B(D)},D.onerror=U=>{URL.revokeObjectURL(P),A(U)},D.src=P}),I=document.createElement("canvas");I.width=M,I.height=C;const V=I.getContext("2d");return V?(V.drawImage(x,0,0,M,C),await new Promise(B=>{I.toBlob(A=>B(A||w),S,b)})):w}function f(){if(!c||!s.value)return;const w=c.getPlugin("Dashboard"),M=c.getFile(s.value);!w||!M||requestAnimationFrame(()=>{try{w.openFileEditor(M)}catch{try{w.openFileEditor(s.value)}catch{}}})}async function k(w){if(c){c.cancelAll(),s.value=null;try{const M=c.addFile({name:w.name,type:w.type,data:w,source:"Local",isRemote:!1});s.value=String(M)}catch{}}}function m(){if(!i.value)return;c&&p(),c=new kq({autoProceed:!1,restrictions:{maxNumberOfFiles:1,allowedFileTypes:["image/*"]}});const w=document.documentElement.classList.contains("dark");c.use(y_,{target:i.value,inline:!0,height:480,theme:w?"dark":"light",proudlyDisplayPoweredByUppy:!1,hideUploadButton:!0,hideRetryButton:!0,hidePauseResumeButton:!0,hideCancelButton:!0,showProgressDetails:!1}),u=new MutationObserver(()=>{if(!c)return;const M=document.documentElement.classList.contains("dark"),C=c.getPlugin("Dashboard");C&&C.setOptions({theme:M?"dark":"light"})}),u.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),c.use(mq,{target:y_,quality:n.quality,cropperOptions:{viewMode:1,dragMode:"move",autoCropArea:1,aspectRatio:n.aspectRatio==null?Number.NaN:n.aspectRatio}}),c.on("file-editor:cancel",()=>{r.value=!1}),c.on("file-added",M=>{s.value=(M==null?void 0:M.id)??null,n.autoOpenEditor&&setTimeout(()=>f(),80)}),c.on("file-editor:complete",async M=>{const C=++h;try{const S=M.data,b=S.type||M.type||"image/jpeg";let x=S;if(n.outputWidth&&n.outputHeight&&(x=await y(S,n.outputWidth,n.outputHeight,b,n.quality)),d||C!==h)return;const I=M.name||"edited-image.jpg",V=new File([x],I,{type:b});await g(V,"UPPY_EDITOR_COMPLETE"),o("done",V),r.value=!1}catch{}})}async function g(w,M="CROP_RESULT"){const C=URL.createObjectURL(w);try{const S=await new Promise((b,x)=>{const I=new Image;I.onload=()=>b(I),I.onerror=x,I.src=C});console.group(M),console.log("file:",w),console.table({name:w.name,type:w.type,sizeBytes:w.size,sizeMB:+(w.size/1024/1024).toFixed(3),width:S.naturalWidth,height:S.naturalHeight,ratio:+(S.naturalWidth/S.naturalHeight).toFixed(4)}),console.log("previewUrl:",C),console.groupEnd()}finally{URL.revokeObjectURL(C)}}t.watch(r,async w=>{d=!w,h++,w?(await t.nextTick(),m(),n.file&&await k(n.file)):p()},{flush:"post"}),t.watch(()=>n.file,async w=>{r.value&&w&&(await t.nextTick(),await k(w))}),t.onBeforeUnmount(()=>{d=!0,h++,p()});const v=w=>{w.key==="Escape"&&r.value&&(r.value=!1)};t.watch(r,w=>{w?globalThis.addEventListener("keydown",v):globalThis.removeEventListener("keydown",v)},{immediate:!0});const L=t.ref(!1);return(w,M)=>r.value?(t.openBlock(),t.createElementBlock("div",CG,[t.createVNode(t.Transition,{appear:"","enter-active-class":"duration-300 ease-out","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"duration-200 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"fixed inset-0 bg-black/60 backdrop-blur-sm transition-opacity",onClick:M[0]||(M[0]=C=>r.value=!1)})):t.createCommentVNode("",!0)]),_:1}),t.createVNode(t.Transition,{appear:"","enter-active-class":"duration-300 ease-out","enter-from-class":"opacity-0 scale-95 translate-y-4 sm:translate-y-0 sm:scale-95","enter-to-class":"opacity-100 scale-100 translate-y-0 sm:scale-100","leave-active-class":"duration-200 ease-in","leave-from-class":"opacity-100 scale-100 translate-y-0 sm:scale-100","leave-to-class":"opacity-0 scale-95 translate-y-4 sm:translate-y-0 sm:scale-95"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"relative flex w-fit max-w-4xl flex-col overflow-hidden rounded-xl border border-border dark:border-neutral-800 bg-background dark:bg-neutral-900 shadow-2xl transition-all",onClick:M[4]||(M[4]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",LG,[M[6]||(M[6]=t.createElementVNode("h3",{class:"text-lg font-semibold leading-none tracking-tight dark:text-neutral-100"}," Crop & Resize ",-1)),t.createElementVNode("button",{class:"d-close-btn rounded-sm dark:text-neutral-400 ring-offset-background transition-opacity focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",style:t.normalizeStyle({opacity:L.value?1:.7}),onClick:M[1]||(M[1]=C=>r.value=!1),onMouseenter:M[2]||(M[2]=C=>L.value=!0),onMouseleave:M[3]||(M[3]=C=>L.value=!1)},[t.createVNode(t.unref(it),{class:"h-4 w-4"}),M[5]||(M[5]=t.createElementVNode("span",{class:"sr-only"},"Close",-1))],36)]),t.createElementVNode("div",SG,[t.createElementVNode("div",{ref_key:"dashboardEl",ref:i,class:"uppy-wrap"},null,512)])])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)}}),IG={key:0,class:"text-xs text-muted-foreground dark:text-neutral-400"},_G=["src"],AG=["disabled"],BG=["disabled"],VG={class:"text-[11px] text-foreground/90 dark:text-neutral-200 space-y-1 whitespace-nowrap"},zG={class:"flex gap-2"},qG={class:"font-medium truncate"},PG={class:"flex gap-2"},DG={class:"font-medium"},EG={class:"flex gap-2"},TG={class:"font-medium truncate"},t_=Xt(t.defineComponent({__name:"DCodeImageResult",props:{file:{},title:{default:"Hasil Gambar"},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}},emits:["edit","replace","remove"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null);t.watch(()=>n.file,y=>{r.value&&URL.revokeObjectURL(r.value),r.value=y?URL.createObjectURL(y):null},{immediate:!0}),t.onBeforeUnmount(()=>{r.value&&URL.revokeObjectURL(r.value),h&&h.disconnect()});function i(y){const f=y/1024,k=f/1024;return k>=1?`${k.toFixed(2)} MB`:f>=1?`${f.toFixed(1)} KB`:`${y} B`}const s=t.computed(()=>n.file?{name:n.file.name,size:i(n.file.size),type:n.file.type||"unknown"}:null),c=t.ref(!1),d=t.ref(!1);let h=null;const u=()=>{typeof document<"u"&&(d.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{u(),typeof document<"u"&&(h=new MutationObserver(u),h.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),h.observe(document.body,{attributes:!0,attributeFilter:["class"]}))});const p=t.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(y,f)=>a.file?(t.openBlock(),t.createBlock(KI,{key:0,class:t.normalizeClass([a.disabled?"opacity-60 pointer-events-none":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(ZI,{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(YI,{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),a.description?(t.openBlock(),t.createElementBlock("div",IG,t.toDisplayString(a.description),1)):t.createCommentVNode("",!0)]),_:1}),t.createVNode(XI,{class:"pt-2"},{default:t.withCtx(()=>{var k,m,g;return[t.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-800/50 border-border dark:border-neutral-700 w-full",style:t.normalizeStyle([{height:`${a.previewHeight}px`},p.value]),onMouseenter:f[2]||(f[2]=v=>c.value=!0),onMouseleave:f[3]||(f[3]=v=>c.value=!1)},[r.value?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.value,alt:"Preview",class:"h-full w-full object-contain"},null,8,_G)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"d-action-buttons",style:t.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"})},[a.showEdit?(t.openBlock(),t.createElementBlock("button",{key:0,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"}),onClick:f[0]||(f[0]=v=>o("edit"))},[t.createVNode(t.unref(sr),{style:{width:"16px",height:"16px"}})],12,AG)):t.createCommentVNode("",!0),a.showRemove?(t.openBlock(),t.createElementBlock("button",{key:1,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"}),onClick:f[1]||(f[1]=v=>o("remove"))},[t.createVNode(t.unref(_i),{style:{width:"16px",height:"16px"}})],12,BG)):t.createCommentVNode("",!0)],4),t.createElementVNode("div",{class:"d-metadata-overlay",style:t.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"})},[t.createElementVNode("div",VG,[t.createElementVNode("div",zG,[f[4]||(f[4]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Nama",-1)),t.createElementVNode("span",qG,t.toDisplayString((k=s.value)==null?void 0:k.name),1)]),t.createElementVNode("div",PG,[f[5]||(f[5]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Ukuran",-1)),t.createElementVNode("span",DG,t.toDisplayString((m=s.value)==null?void 0:m.size),1)]),t.createElementVNode("div",EG,[f[6]||(f[6]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Tipe",-1)),t.createElementVNode("span",TG,t.toDisplayString((g=s.value)==null?void 0:g.type),1)])])],4)],36)]}),_:1})]),_:1},8,["class"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-349b562d"]]),HG={class:"space-y-3"},a_=t.defineComponent({__name:"DCodeImageField",props:{modelValue:{default:null},label:{default:"Upload Gambar"},hint:{default:"Drag & drop atau klik area ini"},disabled:{type:Boolean,default:!1},allowedTypes:{default:null},accept:{default:"image/*"},minSizeMb:{default:null},maxSizeMb:{default:1},title:{default:"Hasil Gambar"},description:{default:""},previewWidth:{default:360},previewHeight:{default:220},aspectRatio:{default:null},outputWidth:{default:null},outputHeight:{default:null},quality:{default:.92},autoOpenEditor:{type:Boolean,default:!0},minWidth:{default:null},minHeight:{default:null},maxWidth:{default:null},maxHeight:{default:null},endpoint:{},uploadFn:{},editUseOriginal:{type:Boolean,default:!1}},emits:["update:modelValue","error","uploaded"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:T=>o("update:modelValue",T)}),i=t.ref(!1),s=t.ref(null),c=t.ref(null),d=t.ref(null);function h(T){d.value=T,o("error",T)}function u(){d.value=null}const p=t.computed(()=>{const T=(n.allowedTypes??"").trim();return T?T.split(/[,\s;]+/g).map(N=>N.trim().toLowerCase()).filter(Boolean).map(N=>N.includes("/")||N.startsWith(".")?N:`.${N}`):[]});function y(T){const H=T.lastIndexOf(".");return H>=0?T.slice(H).toLowerCase():""}const f=t.computed(()=>{if(p.value.length){const T=p.value.filter(N=>N.startsWith("."));return[...p.value.filter(N=>N.includes("/")),...T].join(",")}return n.accept||"image/*"}),k=t.computed(()=>p.value.length?p.value.join(", "):n.accept||"image/*");function m(T){if(p.value.length){const N=(T.type||"").toLowerCase(),Q=y(T.name);return p.value.some(j=>j.includes("/")?N===j:j.startsWith(".")?Q===j:Q===`.${j}`)}return(n.accept||"image/*").toLowerCase().includes("image/")?(T.type||"").toLowerCase().startsWith("image/"):!0}function g(T){return T*1024*1024}async function v(T){var H;return(H=T.type)!=null&&H.startsWith("image/")?await new Promise(N=>{const Q=URL.createObjectURL(T),j=new Image;j.onload=()=>{URL.revokeObjectURL(Q),N({w:j.naturalWidth,h:j.naturalHeight})},j.onerror=()=>{URL.revokeObjectURL(Q),N(null)},j.src=Q}):null}async function L(T){if(!(n.minWidth!=null||n.minHeight!=null||n.maxWidth!=null||n.maxHeight!=null))return null;const N=await v(T);return N?n.minWidth!=null&&N.w<n.minWidth?`Lebar gambar minimal ${n.minWidth}px`:n.minHeight!=null&&N.h<n.minHeight?`Tinggi gambar minimal ${n.minHeight}px`:n.maxWidth!=null&&N.w>n.maxWidth?`Lebar gambar maksimal ${n.maxWidth}px`:n.maxHeight!=null&&N.h>n.maxHeight?`Tinggi gambar maksimal ${n.maxHeight}px`:null:"Gagal membaca dimensi gambar"}async function w(T){return T?m(T)?n.minSizeMb!=null&&T.size<g(n.minSizeMb)?`Ukuran file terlalu kecil. Minimal ${n.minSizeMb}MB`:n.maxSizeMb!=null&&T.size>g(n.maxSizeMb)?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:await L(T):`only Allowed: ${k.value}`:"File tidak valid"}function M(T){n.disabled||(s.value=T,i.value=!0)}async function C(T){if(n.disabled)return;u();const H=await w(T);if(H){h(H);return}c.value=T,M(T)}const{DCodeApi:S}=Ke(),b=JI(),x=t.ref(!1);t.ref(null);function I(T,H){return!T||!H?null:T.replace(/\/+$/,"")+"/"+H.replace(/^\/+/,"")}function V(T){var j;const H=(T==null?void 0:T.data)??T,N=(j=H==null?void 0:H.data)==null?void 0:j[0];if(!N)return null;const Q=I(N.server,N.url);return{...N,fullUrl:Q?encodeURI(Q):null}}async function B(T){var H;if(n.uploadFn){try{x.value=!0;const N=await n.uploadFn(T);r.value=T,o("uploaded",N)}catch(N){console.error("Upload Error",N),b.error("Upload Failed",(N==null?void 0:N.message)||"Unknown error"),h((N==null?void 0:N.message)||"Upload Failed")}finally{x.value=!1}return}if(!((H=n.endpoint)!=null&&H.apiUrl)){r.value=T;return}if(typeof S!="function"){h("useApi() must expose DCodeApi()");return}try{x.value=!0;const N=new FormData;N.append("doc",T);const Q=(n.endpoint.apiMethod||"POST").toUpperCase(),j=n.endpoint.apiUrl,F=await S("","",N,{_url:j,_method:Q,withCredentials:!0,transformRequest:[(Z,J)=>(J&&(delete J["Content-Type"],delete J["content-type"]),Z)]}),R=(F==null?void 0:F.data)??F;V(R),r.value=T,o("uploaded",R)}catch(N){console.error("Upload Error",N),b.error("Upload Failed",(N==null?void 0:N.message)||"Unknown error"),h((N==null?void 0:N.message)||"Upload Failed")}finally{x.value=!1}}async function A(T){var H;u(),n.uploadFn||(H=n.endpoint)!=null&&H.apiUrl?await B(T):r.value=T,i.value=!1,s.value=null}function P(){i.value=!1,s.value=null}async function D(){if(!r.value)return;u();const T=n.editUseOriginal?c.value??r.value:r.value,H=await w(T);if(H){h(H);return}M(T)}function U(){u(),r.value=null,s.value=null,i.value=!1,c.value=null}return t.watch(()=>n.modelValue,T=>{T&&!c.value&&(c.value=T),T||(c.value=null)},{immediate:!0}),(T,H)=>(t.openBlock(),t.createElementBlock("div",HG,[r.value?(t.openBlock(),t.createBlock(t_,{key:1,file:r.value,title:a.label,description:a.description,"preview-width":a.previewWidth,disabled:a.disabled,"show-edit":!0,"show-remove":!0,"show-replace":!1,onEdit:D,onRemove:U,"aspect-ratio":16/9},null,8,["file","title","description","preview-width","disabled"])):(t.openBlock(),t.createBlock(cS,{key:0,label:a.label,hint:a.hint,accept:f.value,maxSizeMb:a.maxSizeMb,disabled:a.disabled,onPicked:C,error:d.value,onError:H[0]||(H[0]=N=>h(N))},null,8,["label","hint","accept","maxSizeMb","disabled","error"])),t.createVNode(e_,{modelValue:i.value,"onUpdate:modelValue":H[1]||(H[1]=N=>i.value=N),file:s.value,title:a.title,description:a.description,"auto-open-editor":a.autoOpenEditor,"aspect-ratio":a.aspectRatio,"output-width":a.outputWidth,"output-height":a.outputHeight,quality:a.quality,onDone:A,onCancel:P},null,8,["modelValue","file","title","description","auto-open-editor","aspect-ratio","output-width","output-height","quality"])]))}}),n_=t.defineComponent({name:"DCodeLabel",inheritAttrs:!1,__name:"DCodeLabel",props:{label:{},text:{},textSize:{},textType:{},icon:{},iconClass:{}},setup(a){const e=t.useAttrs(),n=a,o=t.computed(()=>n.icon&&Gt[n.icon]||null),r=t.computed(()=>n.textSize?`text-${n.textSize}`:"text-xs"),i={xs:"w-3 h-3",sm:"w-3.5 h-3.5",base:"w-4 h-4",lg:"w-5 h-5",xl:"w-5 h-5","2xl":"w-6 h-6","3xl":"w-7 h-7","4xl":"w-8 h-8","5xl":"w-10 h-10","6xl":"w-12 h-12"},s=t.computed(()=>i[n.textSize??"xs"]??"w-3 h-3"),c=t.computed(()=>n.textType==="BOLD"?"font-bold":n.textType==="ITALIC"?"italic font-normal":"font-normal"),d=t.computed(()=>{const u=`${r.value} ${c.value} text-slate-600 ml-1 inline-flex items-center gap-1`,p=e.class??"";return[u,p].filter(Boolean).join(" ")}),h=t.computed(()=>{const{class:u,...p}=e;return p});return(u,p)=>(t.openBlock(),t.createElementBlock("span",t.mergeProps({class:d.value},h.value),[o.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{key:0,class:t.normalizeClass(["shrink-0",s.value,a.iconClass])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(a.label||a.text),1)],16))}}),o_=t.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue"],setup(a,{emit:e}){const n=a,r=ks(n,"modelValue",e,{passive:!0,defaultValue:n.defaultValue});return(i,s)=>t.withDirectives((t.openBlock(),t.createElementBlock("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>t.isRef(r)?r.value=c:null),class:t.normalizeClass(t.unref(be)("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)),[[t.vModelText,t.unref(r)]])}}),jG=["aria-busy"],OG={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},FG={key:0,class:"ml-1 text-destructive"},RG={class:"min-w-0 flex-1 text-left"},NG={key:0,class:"flex flex-wrap gap-1.5"},$G={class:"max-w-[220px] truncate"},UG=["onClick"],WG={key:1,class:"text-muted-foreground truncate"},GG={class:"flex items-center gap-2 shrink-0"},KG={key:0,class:"p-2 border-b border-gray-200 dark:border-gray-800"},XG={key:0,class:"h-full flex items-center justify-center px-3 text-sm text-muted-foreground"},ZG=["disabled","onClick"],YG={class:"truncate"},QG={key:0,class:"text-primary-600 dark:text-primary-400"},JG={key:1,class:"h-full flex items-center justify-center text-sm text-muted-foreground"},eK={key:0},tK={key:1},aK={key:1,class:"text-xs text-destructive"},nK={name:"DCodeMultiSelect"},Oz=t.defineComponent({...nK,name:"DCodeMultiSelect",inheritAttrs:!1,props:{modelValue:{},items:{default:()=>[]},endpoint:{default:void 0},fetchItems:{},autoFetchOnOpen:{type:Boolean,default:!0},autoFetchOnMount:{type:Boolean,default:!1},refreshOnOpen:{type:Boolean,default:!1},label:{default:""},placeholder:{default:"Pilih data…"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:"Cari…"},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},maxChips:{default:2},maxSelected:{default:3},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},error:{default:null},required:{type:Boolean,default:!1}},emits:["update:modelValue","clear","max"],setup(a,{emit:e}){const n=t.useAttrs(),o=e,r=a,i=t.computed(()=>(r.label||n.label)??void 0),s=t.computed(()=>r.visible??!0),c=Math.random().toString(36).slice(2,7),d=t.computed(()=>`app-multiselect-${n.id||i.value||"field"}-${c}`),h=t.computed(()=>{if(r.required)return!0;const K=n.required,te=n["aria-required"];return K===""||K===!0||K==="true"||(te==="true"||te===!0)}),u=t.computed(()=>!!r.error);function p(K){return K?typeof r.itemTitle=="function"?r.itemTitle(K)??"":String((K==null?void 0:K[r.itemTitle])??""):""}function y(K){return K?typeof r.itemValue=="function"?r.itemValue(K):K==null?void 0:K[r.itemValue]:null}function f(K,te){return y(K)??te}const k=t.computed(()=>Array.isArray(r.modelValue)?r.modelValue:[]),m=t.computed(()=>{var K;return!!((K=r.endpoint)!=null&&K.apiUrl)||!!r.fetchItems}),g=t.ref([]),v=t.ref(!1),L=t.ref(!1),w=t.computed(()=>{var te;const K=(te=r.endpoint)==null?void 0:te.apiOptions;if(K)return typeof K=="function"?K():K}),M=t.computed(()=>{var ye,Ve;const K=((ye=r.endpoint)==null?void 0:ye.apiUrl)??"",te=(((Ve=r.endpoint)==null?void 0:Ve.apiMethod)??"GET").toUpperCase(),ne=JSON.stringify(w.value??null);return`${te} ${K} :: ${ne}`}),C=t.computed(()=>m.value?g.value:r.items||[]);async function S(){var K;if(m.value&&!(!((K=r.endpoint)!=null&&K.apiUrl)&&!r.fetchItems)&&!v.value){v.value=!0;try{let te;if(r.fetchItems){const ne=await r.fetchItems(),ye=(ne==null?void 0:ne.data)??ne;te=(ye==null?void 0:ye.data)??ye}else{const{DCodeApi:ne}=Ke();if(typeof ne!="function"){console.error("[DCodeMultiSelectChips] useApi() must expose DCodeApi()");return}const ye={page:1,perPage:100,...w.value||{}},Ve=await ne("","",ye,{_url:r.endpoint.apiUrl,_method:(r.endpoint.apiMethod||"GET").toUpperCase()}),ra=(Ve==null?void 0:Ve.data)??Ve;te=(ra==null?void 0:ra.data)??ra}g.value=Array.isArray(te)?te:[],L.value=!0}catch(te){console.error("[DCodeMultiSelectChips][fetchOptions] ERROR:",te),g.value=[]}finally{v.value=!1}}}t.watch(()=>M.value,()=>{g.value=[],L.value=!1}),t.onMounted(()=>{r.autoFetchOnMount&&m.value&&S()});const b=t.computed(()=>{const K=k.value;if(r.returnObject)return K;const te=new Map;for(const ne of C.value)te.set(y(ne),ne);return K.map(ne=>te.get(ne)??{[r.itemValue]:ne,[r.itemTitle]:String(ne)})}),x=t.computed(()=>r.maxChips===null?b.value:b.value.slice(0,r.maxChips));function I(K){const te=k.value;if(r.returnObject){const ne=y(K);return te.some(ye=>y(ye)===ne)}return te.includes(y(K))}const V=t.computed(()=>{if(r.maxSelected===null||r.maxSelected===void 0)return null;const K=Number(r.maxSelected);return Number.isFinite(K)&&K>0?K:null}),B=t.computed(()=>{const K=V.value;return K===null?!1:k.value.length>=K});function A(K){return!I(K)&&B.value}const P=t.computed(()=>{const K=k.value,te=new Set;if(r.returnObject)for(const ne of K)te.add(y(ne));else for(const ne of K)te.add(ne);return te}),D=t.computed(()=>{const K=P.value;return(C.value||[]).filter(te=>!K.has(y(te)))}),U=t.computed(()=>C.value.length===0?!1:D.value.length===0),T=t.ref(null),H=t.ref(null),N=t.ref(null),Q=t.ref(!1),j=t.ref(""),F=t.ref(0),R=t.ref(0),{floatingStyles:Z}=Q1(T,H,{whileElementsMounted:K1,placement:"bottom-start",middleware:[X1(8),Ds(),Z1({padding:8}),Y1({apply({rects:K,elements:te}){Object.assign(te.floating.style,{width:`${K.reference.width}px`,"--floating-width":`${K.reference.width}px`})}})]}),J=t.computed(()=>Z.value),re=t.computed(()=>{const K=Number(r.maxRows);return Number.isFinite(K)&&K>0?K:5});async function de(){r.disabled||(Q.value=!0,R.value=0,requestAnimationFrame(()=>{N.value&&(N.value.scrollTop=0),F.value=0}),m.value&&r.autoFetchOnOpen&&(r.refreshOnOpen||!L.value)&&!v.value&&await S())}function ue(){Q.value=!1}function ve(){Q.value?ue():de()}function le(K){var ne,ye;if(!Q.value)return;const te=K.target;(ne=T.value)!=null&&ne.contains(te)||(ye=H.value)!=null&&ye.contains(te)||ue()}t.onMounted(()=>document.addEventListener("mousedown",le)),t.onBeforeUnmount(()=>document.removeEventListener("mousedown",le));function G(K){if(r.disabled)return;if(A(K)){o("max");return}const te=[...k.value];if(r.returnObject){const ne=y(K);if(te.some(Ve=>y(Ve)===ne))return;o("update:modelValue",[...te,K])}else{const ne=y(K);if(te.includes(ne))return;o("update:modelValue",[...te,ne])}j.value="",R.value=0,requestAnimationFrame(()=>{N.value&&(N.value.scrollTop=0),F.value=0})}function z(K){if(r.disabled)return;const te=[...k.value];if(r.returnObject){const ne=y(K);o("update:modelValue",te.filter(ye=>y(ye)!==ne))}else{const ne=y(K);o("update:modelValue",te.filter(ye=>ye!==ne))}}function W(){r.disabled||(o("update:modelValue",[]),o("clear"),ue())}const ee=t.computed(()=>{const K=j.value.trim().toLowerCase(),te=D.value;return K?te.filter(ne=>p(ne).toLowerCase().includes(K)):te}),pe=t.computed(()=>ee.value.length);t.watch(Q,K=>{K||(j.value="")});const qe=t.computed(()=>{if(U.value)return r.itemHeight;const K=pe.value;return(K<=0?1:Math.min(K,re.value))*r.itemHeight}),ot=t.computed(()=>r.virtual?pe.value*r.itemHeight:0),Mt=t.computed(()=>r.virtual?Math.ceil(qe.value/r.itemHeight)+r.overscan:pe.value),oa=t.computed(()=>{if(!r.virtual)return 0;const K=Math.floor(F.value/r.itemHeight)-Math.floor(r.overscan/2);return Math.max(0,K)}),Aa=t.computed(()=>r.virtual?Math.min(pe.value,oa.value+Mt.value):pe.value),xt=t.computed(()=>r.virtual?oa.value*r.itemHeight:0),$t=t.computed(()=>{const K=ee.value;return r.virtual?K.slice(oa.value,Aa.value):K});function D1(K){const te=K.target;F.value=te.scrollTop}function E1(K){return K===R.value}function O(K){const te=N.value;if(!te||!r.virtual)return;const ne=K*r.itemHeight,ye=ne+r.itemHeight,Ve=te.scrollTop,ra=te.scrollTop+te.clientHeight;ne<Ve?te.scrollTop=ne:ye>ra&&(te.scrollTop=ye-te.clientHeight)}function ae(K){const te=Math.max(0,pe.value-1);R.value=Math.min(te,Math.max(0,R.value+K)),O(R.value)}function he(){const K=ee.value[R.value];K&&G(K)}const _e=t.computed(()=>r.clearable&&!r.disabled&&b.value.length>0),Pe=t.computed(()=>u.value?"border-red-500 ring-[0.5px] ring-red-500":Q.value?"border-gray-700 ring-[0.5px] ring-gray-700 dark:border-gray-300 dark:ring-gray-300":"");return(K,te)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class]),"aria-busy":r.skeleton},[r.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[i.value?(t.openBlock(),t.createElementBlock("div",OG)):t.createCommentVNode("",!0),te[3]||(te[3]=t.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:d.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.value)+" ",1),h.value?(t.openBlock(),t.createElementBlock("span",FG,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"referenceEl",ref:T,class:"relative"},[t.createVNode(t.unref(Ee),{id:d.value,type:"button",variant:"outline",class:t.normalizeClass(["w-full justify-between h-auto min-h-10 px-3 py-2 transition border",["bg-white dark:bg-neutral-900 border-gray-300 dark:border-gray-700 text-foreground dark:text-gray-300",Pe.value]]),disabled:r.disabled,onClick:ve},{default:t.withCtx(()=>[t.createElementVNode("div",RG,[b.value.length?(t.openBlock(),t.createElementBlock("div",NG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(x.value,(ne,ye)=>(t.openBlock(),t.createBlock(t.unref(_a),{key:`chip-${f(ne,ye)}`,variant:"secondary",class:"gap-1"},{default:t.withCtx(()=>[t.createElementVNode("span",$G,t.toDisplayString(p(ne)),1),r.disabled?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,class:"ml-1 opacity-70 hover:opacity-100",onClick:t.withModifiers(Ve=>z(ne),["stop"]),"aria-label":"Remove"}," ✕ ",8,UG))]),_:2},1024))),128)),r.maxChips!==null&&b.value.length>r.maxChips?(t.openBlock(),t.createBlock(t.unref(_a),{key:0,variant:"secondary"},{default:t.withCtx(()=>[t.createTextVNode(" +"+t.toDisplayString(b.value.length-(r.maxChips??0)),1)]),_:1})):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",WG,t.toDisplayString(r.placeholder),1))]),t.createElementVNode("div",GG,[_e.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:"text-muted-foreground hover:text-foreground",onClick:t.withModifiers(W,["stop"]),"aria-label":"Clear"}," ✕ ")):t.createCommentVNode("",!0),t.createVNode(t.unref(St),{class:"h-4 w-4 text-muted-foreground"})])]),_:1},8,["id","disabled","class"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[Q.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"floatingEl",ref:H,class:"-mt-1 z-[9999] w-[var(--floating-width)] rounded-lg border shadow-lg overflow-hidden bg-white dark:bg-neutral-900 border-gray-200 dark:border-gray-800",style:t.normalizeStyle(J.value)},[r.searchable&&!U.value?(t.openBlock(),t.createElementBlock("div",KG,[t.createVNode(t.unref(o_),{modelValue:j.value,"onUpdate:modelValue":te[0]||(te[0]=ne=>j.value=ne),placeholder:r.searchPlaceholder,class:"h-10",onKeydown:[te[1]||(te[1]=t.withKeys(t.withModifiers(ne=>ae(1),["prevent"]),["down"])),te[2]||(te[2]=t.withKeys(t.withModifiers(ne=>ae(-1),["prevent"]),["up"])),t.withKeys(t.withModifiers(he,["prevent"]),["enter"]),t.withKeys(t.withModifiers(ue,["prevent"]),["esc"])]},null,8,["modelValue","placeholder","onKeydown"])])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listEl",ref:N,class:"relative overflow-auto",style:t.normalizeStyle({height:qe.value+"px"}),onScroll:D1},[U.value?(t.openBlock(),t.createElementBlock("div",XG," All items have been selected ")):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[r.virtual?(t.openBlock(),t.createElementBlock("div",{key:0,style:t.normalizeStyle({height:ot.value+"px"})},null,4)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(r.virtual?"absolute left-0 top-0 w-full":""),style:t.normalizeStyle(r.virtual?{transform:`translateY(${xt.value}px)`}:void 0)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList($t.value,(ne,ye)=>(t.openBlock(),t.createElementBlock("button",{key:String(f(ne,oa.value+ye)),type:"button",class:t.normalizeClass(["w-full px-3 text-left text-sm flex items-center justify-between gap-3",[A(ne)?"cursor-not-allowed opacity-50":"hover:bg-neutral-50 dark:hover:bg-neutral-800/60",E1(oa.value+ye)?"bg-neutral-50 dark:bg-neutral-800/60":"",I(ne)?"font-semibold":"font-normal"]]),style:t.normalizeStyle({height:r.itemHeight+"px"}),disabled:r.disabled||A(ne),onClick:Ve=>G(ne)},[t.createElementVNode("span",YG,t.toDisplayString(p(ne)),1),I(ne)?(t.openBlock(),t.createElementBlock("span",QG,"✓")):t.createCommentVNode("",!0)],14,ZG))),128))],6),pe.value===0?(t.openBlock(),t.createElementBlock("div",JG,[v.value?(t.openBlock(),t.createElementBlock("span",eK,"Loading data…")):(t.openBlock(),t.createElementBlock("span",tK,"Tidak ada data"))])):t.createCommentVNode("",!0)],64))],36)],4)):t.createCommentVNode("",!0)]))],512),u.value?(t.openBlock(),t.createElementBlock("p",aK,t.toDisplayString(r.error),1)):t.createCommentVNode("",!0)],64))],10,jG)),[[t.vShow,s.value]])}}),oK={class:"space-y-4"},rK={key:0,class:"space-y-1"},iK={class:"text-base font-semibold text-gray-800"},sK={class:"text-sm text-gray-400"},lK={class:"flex items-center gap-2 flex-nowrap"},cK=["value","disabled","onKeydown","onInput","onPaste"],r_=t.defineComponent({name:"DCodeOtpInput",__name:"DCodeOtpInput",props:{modelValue:{default:""},totalInput:{default:6},default:{default:""},label:{default:""},endpoint:{},submitFn:{}},emits:["updateOtp","update:modelValue","complete","loading","success","error"],setup(a,{emit:e}){const n=a,o=e,r=t.ref([]),i=t.ref([]),s=t.ref(!1),{DCodeApi:c}=Ke(),d=JI(),h=t.computed(()=>{const w=Number(n.totalInput);return w&&w>0?w:6}),u=()=>{i.value=Array.from({length:h.value},(w,M)=>{var C;return((C=n.default)==null?void 0:C[M])??""}),o("updateOtp",i.value.join(""))};u(),t.watch(()=>[n.totalInput,n.default],()=>u());const p=w=>{w<0||w>=h.value||t.nextTick(()=>{var M;return(M=r.value[w])==null?void 0:M.focus()})},y=w=>w.match(/[a-zA-Z0-9]/)?w.match(/[a-zA-Z0-9]/)[0]:"";async function f(w){var M;if(o("complete",w),n.submitFn){try{s.value=!0,o("loading",!0);const C=await n.submitFn(w);o("success",C)}catch(C){console.error("OTP Submit Error",C),d.error("Submit Failed",(C==null?void 0:C.message)||"Unknown error"),o("error",(C==null?void 0:C.message)||"Submit Failed")}finally{s.value=!1,o("loading",!1)}return}if((M=n.endpoint)!=null&&M.apiUrl){if(typeof c!="function"){o("error","useApi() must expose DCodeApi()");return}try{s.value=!0,o("loading",!0);const C=(n.endpoint.apiMethod||"POST").toUpperCase(),S=n.endpoint.apiUrl,b=await c("","",{otp:w},{_url:S,_method:C,withCredentials:!0}),x=(b==null?void 0:b.data)??b;o("success",x)}catch(C){console.error("OTP Submit Error",C),d.error("Submit Failed",(C==null?void 0:C.message)||"Unknown error"),o("error",(C==null?void 0:C.message)||"Submit Failed")}finally{s.value=!1,o("loading",!1)}}}const k=(w,M)=>{i.value[w]=y(M);const C=i.value.join("");o("updateOtp",C),o("update:modelValue",C),C.length===h.value&&f(C)},m=(w,M)=>{const C=w.key,S=/^\d$/.test(C),b=/^[a-zA-Z]$/.test(C);if(C==="Backspace"){if(w.preventDefault(),i.value[M]){k(M,"");return}M>0&&(k(M-1,""),p(M-1));return}if(C==="ArrowLeft"){w.preventDefault(),p(M-1);return}if(C==="ArrowRight"){w.preventDefault(),p(M+1);return}if(S||b){w.preventDefault(),k(M,C),M<h.value-1&&p(M+1);return}C.length===1&&w.preventDefault()},g=(w,M)=>{const C=w.target,S=C.value??"",b=y(S);C.value=b,k(M,b),b&&M<h.value-1&&p(M+1)},v=(w,M)=>{var I;w.preventDefault();const S=(((I=w.clipboardData)==null?void 0:I.getData("text"))??"").replaceAll(/[^a-zA-Z0-9]/g,"");if(!S)return;let b=M;for(const V of S){if(b>=h.value)break;i.value[b]=V,b++}const x=i.value.join("");o("updateOtp",x),o("update:modelValue",x),x.length===h.value&&f(x),p(Math.min(b,h.value-1))},L=w=>M=>{r.value[w]=(M==null?void 0:M.$el)??M};return(w,M)=>(t.openBlock(),t.createElementBlock("div",oK,[n.label||h.value?(t.openBlock(),t.createElementBlock("div",rK,[t.createElementVNode("h6",iK,t.toDisplayString(n.label||"Masukkan kode keamanan"),1),t.createElementVNode("p",sK," Ketik "+t.toDisplayString(h.value)+" digit kode verifikasi Anda ",1)])):t.createCommentVNode("",!0),t.createElementVNode("div",lK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,C=>(t.openBlock(),t.createElementBlock("input",{key:C,ref_for:!0,ref:L(C-1),value:i.value[C-1]||"",type:"text",inputmode:"text",maxlength:"1",autocomplete:"one-time-code","aria-label":"`OTP digit ${i}`",placeholder:"*",disabled:s.value,class:t.normalizeClass(["w-12 h-12 flex-none text-center text-xl font-bold rounded-xl border-2 transition-all duration-200 box-border p-0","focus:outline-none focus:scale-105 disabled:opacity-50 disabled:cursor-not-allowed",i.value[C-1]?"border-blue-500 bg-blue-50 text-blue-700 shadow-sm shadow-blue-100":"border-gray-200 bg-gray-50 text-gray-400 focus:border-blue-400 focus:bg-white focus:shadow-md focus:shadow-blue-50"]),onKeydown:S=>m(S,C-1),onInput:S=>g(S,C-1),onPaste:S=>v(S,C-1)},null,42,cK))),128))])]))}}),dK={class:"w-full"},hK={key:0,class:"flex items-center justify-between mb-2"},uK={key:0,class:"text-sm font-medium text-gray-700"},pK={key:1,class:"text-sm text-gray-600"},yK={name:"DCodeProgress"},Fz=t.defineComponent({...yK,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(a,{emit:e}){const n=a,o=t.computed(()=>Math.min(n.modelValue/n.max*100,100)),r=t.computed(()=>["w-full rounded-full overflow-hidden",{sm:"h-1",md:"h-2",lg:"h-3"}[n.size],"bg-gray-200"].join(" ")),i=t.computed(()=>{const c={blue:"bg-blue-500",green:"bg-green-500",red:"bg-red-500",yellow:"bg-yellow-500",purple:"bg-purple-500",gray:"bg-gray-500"},d=["h-full transition-all duration-300 ease-out",c[n.color]||c.blue];return n.striped&&d.push("bg-gradient-to-r from-transparent via-white/20 to-transparent"),n.animated&&d.push("animate-pulse"),d.join(" ")}),s=t.computed(()=>`${Math.round(o.value)}%`);return(c,d)=>(t.openBlock(),t.createElementBlock("div",dK,[a.label||a.showValue?(t.openBlock(),t.createElementBlock("div",hK,[a.label?(t.openBlock(),t.createElementBlock("span",uK,t.toDisplayString(a.label),1)):t.createCommentVNode("",!0),a.showValue?(t.openBlock(),t.createElementBlock("span",pK,t.toDisplayString(s.value),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(r.value)},[t.createElementVNode("div",{class:t.normalizeClass(i.value),style:t.normalizeStyle({width:`${o.value}%`})},null,6)],2)]))}}),fK={key:0,class:"fixed top-0 left-0 right-0 z-[10000] h-[3px]"},Rz=Xt(t.defineComponent({name:"DCodeProgressBar",__name:"DCodeProgressBar",props:{isApiLoading:{type:Boolean,default:!1},apiProgress:{default:0}},setup(a){return(e,n)=>(t.openBlock(),t.createBlock(t.Transition,{name:"fade"},{default:t.withCtx(()=>[a.isApiLoading?(t.openBlock(),t.createElementBlock("div",fK,[t.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:t.normalizeStyle({width:`${a.apiProgress}%`})},null,4)])):t.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-85c68054"]]),kK={class:"grid gap-3"},mK={key:0,class:"ml-1 text-destructive"},gK={class:"flex flex-col"},bK={key:0,class:"flex items-center gap-2 text-sm text-gray-500 mb-2"},MK={class:"relative flex-shrink-0 mt-0.5"},xK=["id","name","value","checked","disabled","required","onChange"],wK=["onClick"],vK=["for"],CK={key:0,class:"ml-1 text-red-500"},LK={key:1,class:"flex items-center gap-1 text-sm text-red-500 mt-1"},Nz=t.defineComponent({name:"DCodeRadio",inheritAttrs:!1,__name:"DCodeRadio",props:{modelValue:{default:void 0},label:{default:""},itemTitle:{default:"name"},itemValue:{default:"id"},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:""}},emits:["update:modelValue","change"],setup(a,{emit:e}){t.useAttrs();const{apiUrl:n}=Ke(),o=e,r=a,i=t.ref([]),s=t.ref(!1),c=t.ref(null),d=async()=>{var M,C;const w=((M=r.endpoint)==null?void 0:M.apiUrl)||r.apiUrl;if(w){s.value=!0,c.value=null;try{const S={page:1,perPage:100},b=((C=r.endpoint)==null?void 0:C.apiMethod)||r.apiMethod,x=await n(w,b,S);let I=x;r.dataPath?I=r.dataPath.split(".").reduce((B,A)=>B&&B[A]!=="undefined"?B[A]:void 0,x):typeof x=="object"&&!Array.isArray(x)&&x.data&&(I=x.data),Array.isArray(I)?i.value=I:(console.warn("DCodeRadio: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),c.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(S){console.error("DCodeRadio fetch error:",S),c.value="Gagal memuat data dari endpoint."}finally{s.value=!1}}};t.onMounted(()=>{var w;((w=r.endpoint)!=null&&w.apiUrl||r.apiUrl)&&d()});const h=t.computed(()=>{if(r.options&&r.options.length>0)return r.options;if(i.value.length>0)return i.value;const w=r.itemValue||r.model||"id",M=r.itemTitle||(r.label===""?"name":r.label);return M&&r.label!==""?[{[w]:w,[M]:M}]:[]}),u=w=>{if(typeof w!="object")return w;const M=r.itemValue||r.model||"id";return w[M]},p=w=>{if(typeof w!="object")return String(w);const M=r.itemTitle||"name";return w[M]},y=t.computed(()=>r.model||`radio-group-${Math.random().toString(36).substr(2,9)}`),f=t.computed(()=>!!r.error||!!c.value),k=t.computed(()=>r.error||c.value),m=w=>w==null?r.modelValue===w:String(r.modelValue)===String(w),g=t.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"}})[r.size]),v=(w,M)=>{M.target.checked&&(o("update:modelValue",w),o("change",w))},L=w=>{!r.disabled&&!m(w)&&(o("update:modelValue",w),o("change",w))};return(w,M)=>(t.openBlock(),t.createElementBlock("div",kK,[a.label?(t.openBlock(),t.createBlock(La,{key:0,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",mK,"*")):t.createCommentVNode("",!0)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",gK,[s.value?(t.openBlock(),t.createElementBlock("div",bK,[t.createVNode(t.unref(kt),{class:"w-4 h-4 animate-spin"}),M[0]||(M[0]=t.createTextVNode(" Sedang memuat opsi... ",-1))])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["flex",a.layout?"flex-row flex-wrap gap-4":"flex-col gap-3"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(C,S)=>(t.openBlock(),t.createElementBlock("div",{key:S,class:t.normalizeClass(["flex items-start",g.value.container,a.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"])},[t.createElementVNode("div",MK,[t.createElementVNode("input",{id:a.id?`${a.id}-${S}`:`${y.value}-${S}`,name:y.value,type:"radio",value:u(C),checked:m(u(C)),disabled:a.disabled,required:a.required&&S===0,onChange:b=>v(u(C),b),class:"w-5 h-5 text-blue-600 focus:ring-blue-500 border-gray-300"},null,40,xK)]),t.createElementVNode("div",{class:"flex-1 min-w-0",onClick:b=>L(u(C))},[t.createElementVNode("label",{for:a.id?`${a.id}-${S}`:`${y.value}-${S}`,class:t.normalizeClass([g.value.label,"font-medium cursor-pointer select-none text-foreground dark:text-gray-300",a.disabled?"cursor-not-allowed opacity-50":""])},[t.createTextVNode(t.toDisplayString(p(C))+" ",1),a.required&&h.value.length===1&&a.label?(t.openBlock(),t.createElementBlock("span",CK,"*")):t.createCommentVNode("",!0)],10,vK)],8,wK)],2))),128))],2),f.value&&k.value?(t.openBlock(),t.createElementBlock("div",LK,[t.createVNode(t.unref(It),{class:"w-4 h-4 flex-shrink-0"}),t.createTextVNode(" "+t.toDisplayString(k.value),1)])):t.createCommentVNode("",!0)])]))}}),SK={class:"grid gap-3"},IK={key:0,class:"ml-1 text-destructive"},_K={class:"flex flex-col"},AK={key:0,class:"flex items-center gap-2 text-sm text-gray-500 dark:text-neutral-400 mb-2"},BK=["onClick"],VK=["id","name","value","checked","disabled","required","onChange"],zK={key:1,class:"w-6 h-6",fill:"currentColor",viewBox:"0 0 20 20"},qK=["for"],PK={key:0,class:"ml-1 text-red-500"},DK={key:1,class:"flex items-center gap-1 text-sm text-red-500 mt-2"},$z=t.defineComponent({name:"DCodeRadioCustom",inheritAttrs:!1,__name:"DCodeRadioCustom",props:{modelValue:{default:void 0},icon:{},itemTitle:{default:"name"},itemValue:{default:"id"},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:""}},emits:["update:modelValue","change"],setup(a,{emit:e}){t.useAttrs();const{apiUrl:n}=Ke(),o=e,r=a,i=t.ref(r.modelValue??void 0);t.watch(()=>r.modelValue,I=>{i.value=I},{immediate:!0});const s=t.ref([]),c=t.ref(!1),d=t.ref(null),h=async()=>{var V,B;const I=((V=r.endpoint)==null?void 0:V.apiUrl)||r.apiUrl;if(I){c.value=!0,d.value=null;try{const A={page:1,perPage:100},P=((B=r.endpoint)==null?void 0:B.apiMethod)||r.apiMethod,D=await n(I,P,A);let U=D;r.dataPath?U=r.dataPath.split(".").reduce((H,N)=>H&&H[N]!=="undefined"?H[N]:void 0,D):typeof D=="object"&&!Array.isArray(D)&&D.data&&(U=D.data),Array.isArray(U)?s.value=U:(console.warn("DCodeRadioCustom: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),d.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(A){console.error("DCodeRadioCustom fetch error:",A),d.value="Gagal memuat data dari endpoint."}finally{c.value=!1}}},u=t.ref(!1);let p=null;const y=()=>{typeof document<"u"&&(u.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{var I;((I=r.endpoint)!=null&&I.apiUrl||r.apiUrl)&&h(),y(),typeof document<"u"&&(p=new MutationObserver(y),p.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),p.observe(document.body,{attributes:!0,attributeFilter:["class"]}))}),t.onBeforeUnmount(()=>{p&&p.disconnect()});const f=t.computed(()=>{if(r.options&&r.options.length>0)return r.options;if(s.value.length>0)return s.value;const I=r.itemValue||r.model||"id",V=r.itemTitle||(r.label===""?"name":r.label);return V&&r.label!==""?[{[I]:I,[V]:V}]:[]}),k=I=>{if(typeof I!="object")return I;const V=r.itemValue||r.model||"id";return I[V]},m=I=>{if(typeof I!="object")return String(I);const V=r.itemTitle||"name";return I[V]},g=Math.random().toString(36).slice(2,7),v=t.computed(()=>r.id?`radio-custom-${r.id}`:`radio-custom-${r.model}-${g}`),L=t.computed(()=>!!r.error||!!d.value),w=t.computed(()=>r.error||d.value),M=I=>{const V=i.value;return I==null?V===I:String(V)===String(I)},C=t.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"}})[r.size]),S=t.computed(()=>r.icon&&Gt[r.icon]||null),b=(I,V)=>{V.target.checked&&(i.value=I,o("update:modelValue",I),o("change",I))},x=I=>{r.disabled||M(I)||(i.value=I,o("update:modelValue",I),o("change",I))};return(I,V)=>(t.openBlock(),t.createElementBlock("div",SK,[a.label?(t.openBlock(),t.createBlock(La,{key:0,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",IK,"*")):t.createCommentVNode("",!0)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",_K,[c.value?(t.openBlock(),t.createElementBlock("div",AK,[t.createVNode(t.unref(kt),{class:"w-4 h-4 animate-spin"}),V[0]||(V[0]=t.createTextVNode(" Sedang memuat opsi... ",-1))])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["grid",a.layout?"grid-cols-2 sm:grid-cols-3":"grid-cols-1","gap-3"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(B,A)=>(t.openBlock(),t.createElementBlock("div",{key:A,class:t.normalizeClass(["relative flex flex-col items-center justify-center gap-2 p-4 rounded-xl border-2 transition-all duration-200",M(k(B))?u.value?"border-primary-500 bg-primary-500/10 shadow-none":"border-primary-500 bg-primary-50 shadow-md shadow-primary-100":u.value?"border-neutral-700 bg-neutral-800 hover:border-neutral-600":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",a.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:P=>!a.disabled&&x(k(B))},[t.createElementVNode("input",{id:a.id?`${a.id}-${A}`:`${v.value}-${A}`,name:v.value,type:"radio",value:k(B),checked:M(k(B)),disabled:a.disabled,required:a.required&&A===0,onChange:P=>b(k(B),P),class:"sr-only",tabindex:"-1"},null,40,VK),t.createElementVNode("div",{class:t.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center transition-all duration-200",M(k(B))?u.value?"bg-primary-500/25 text-primary-400":"bg-primary-100 text-primary-600":u.value?"bg-neutral-700 text-neutral-500":"bg-gray-100 text-gray-400"])},[S.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(S.value),{key:0,class:"w-6 h-6"})):(t.openBlock(),t.createElementBlock("svg",zK,[...V[1]||(V[1]=[t.createElementVNode("circle",{cx:"10",cy:"10",r:"6"},null,-1)])]))],2),t.createElementVNode("label",{for:a.id?`${a.id}-${A}`:`${v.value}-${A}`,class:t.normalizeClass([C.value.label,"font-medium text-center leading-tight select-none transition-colors duration-200",M(k(B))?u.value?"text-primary-400":"text-primary-700":u.value?"text-neutral-300":"text-gray-700",a.disabled?"cursor-not-allowed":"cursor-pointer"])},[t.createTextVNode(t.toDisplayString(m(B))+" ",1),a.required&&f.value.length===1&&a.label?(t.openBlock(),t.createElementBlock("span",PK,"*")):t.createCommentVNode("",!0)],10,qK)],10,BK))),128))],2),L.value&&w.value?(t.openBlock(),t.createElementBlock("div",DK,[t.createVNode(t.unref(It),{class:"w-4 h-4 flex-shrink-0"}),t.createTextVNode(" "+t.toDisplayString(w.value),1)])):t.createCommentVNode("",!0)])]))}}),EK={key:0,class:"ml-1 text-destructive"},TK={class:"relative w-full"},HK={key:0,class:"mb-2 flex items-center justify-between"},jK={class:"text-sm text-muted-foreground"},OK={class:"text-sm font-medium text-foreground"},FK={class:"text-sm text-muted-foreground"},RK={class:"relative"},NK=["id","value","min","max","step","disabled","placeholder"],$K={key:1,class:"relative mt-2"},UK={class:"text-xs text-muted-foreground mt-1"},WK={key:1,class:"flex items-center gap-1 text-sm text-destructive"},GK={name:"DCodeSlider"},i_=t.defineComponent({...GK,name:"DCodeSlider",inheritAttrs:!1,props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},label:{default:""},placeholder:{default:""},required:{type:Boolean,default:!1},error:{default:null},showValue:{type:Boolean,default:!0},valuePrefix:{default:""},valueSuffix:{default:""},marks:{default:()=>[]},color:{default:"blue"},size:{default:"md"}},emits:["update:modelValue","change","input"],setup(a,{emit:e}){const n=t.useAttrs(),o=e,r=a,i=t.ref(),s=t.ref(!1),c=t.computed(()=>!!r.error),d=t.computed(()=>`slider-${Math.random().toString(36).substr(2,9)}`),h=t.computed(()=>(r.label||n.label)??void 0),u=t.computed(()=>!0),p=t.computed(()=>{const C={sm:"h-2",md:"h-2.5",lg:"h-3"},S={blue:"accent-blue-500",green:"accent-green-500",red:"accent-red-500",yellow:"accent-yellow-500",purple:"accent-purple-500",gray:"accent-gray-500"};return["w-full appearance-none bg-transparent rounded-lg outline-none transition-all cursor-pointer relative z-10","disabled:opacity-50 disabled:cursor-not-allowed",C[r.size],S[r.color]||S.blue,c.value?"accent-red-500":"",n.class].filter(Boolean).join(" ")}),y=t.computed(()=>["appearance-none bg-white border-2 border-current rounded-full cursor-pointer transition-all","hover:scale-110 focus:scale-110","shadow-md hover:shadow-lg focus:shadow-lg","focus:outline-none focus:ring-2 focus:ring-offset-2",{sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"}[r.size],r.color==="blue"?"focus:ring-blue-500":r.color==="green"?"focus:ring-green-500":r.color==="red"?"focus:ring-red-500":r.color==="yellow"?"focus:ring-yellow-500":r.color==="purple"?"focus:ring-purple-500":"focus:ring-gray-500"].join(" ")),f=t.computed(()=>`${r.valuePrefix}${r.modelValue}${r.valueSuffix}`),k=t.computed(()=>{const C=r.max-r.min;return(r.modelValue-r.min)/C*100}),m=C=>{const S=C.target,b=parseFloat(S.value);o("update:modelValue",b),o("input",b)},g=C=>{const S=C.target,b=parseFloat(S.value);o("change",b)},v=()=>{s.value=!0},L=()=>{s.value=!1},w=C=>{const S=r.max-r.min;return(C-r.min)/S*100},M=t.computed(()=>{const C={sm:16,md:20,lg:24};return`
8564
+ `.trim();let r=document.getElementById(e);r||(r=document.createElement("style"),r.id=e,document.head.appendChild(r)),r.textContent=o}function CW(a,e=Ez){t.watch(a,n=>vW(n,e),{immediate:!0})}const LW={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},SW={key:0,class:"ml-1 text-destructive"},IW=["disabled","onClick"],_W={class:"flex-shrink-0 px-2 text-sm text-muted-foreground select-none whitespace-nowrap"},AW=["id","value","placeholder","disabled","onClick","onFocus","onBlur","onInput","onKeydown","onKeypress","onPaste"],BW={class:"h-full p-2 flex flex-col gap-3 w-32"},VW={class:"flex items-center justify-end gap-2 w-full p-2"},zW={key:1,class:"text-xs text-destructive"},GI=t.defineComponent({name:"DCodeDatePicker",inheritAttrs:!1,__name:"DCodeDatePicker",props:{modelValue:{},range:{type:Boolean,default:!1},autoRangeDays:{default:null},disablePast:{type:Boolean,default:!1},maxDaysAhead:{default:null},placeholder:{default:"Pilih tanggal"},label:{},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},displayFormat:{default:"dd/MM/yyyy"},modelType:{default:"yyyy-MM-dd"},locale:{default:"en"},placement:{default:"bottom-start"},prependInner:{default:void 0},error:{default:null},selectLabel:{default:"Select"},cancelLabel:{default:"Cancel"},tone:{default:"primary"},skeleton:{type:Boolean,default:!1}},emits:["update:modelValue","change","clear"],setup(a,{emit:e}){const n=t.useAttrs(),o=a,r=e,i=Math.random().toString(36).slice(2,7),s=t.computed(()=>`dcode-datepicker-${n.id||o.label||"date-picker"}-${i}`),c=t.computed(()=>{const P=n.required,D=n["aria-required"];return P===""||P===!0||P==="true"||D==="true"||D===!0}),d=t.computed(()=>!!o.error),h=t.computed({get:()=>o.modelValue,set:P=>{r("update:modelValue",P),r("change",P)}}),u=t.computed(()=>o.locale==="en"?Iz:wW),p=t.computed(()=>o.range?2:!1),y=t.computed(()=>{if(!o.range)return!1;const P={partialRange:!1};return o.autoRangeDays&&o.autoRangeDays>0&&(P.maxRange=o.autoRangeDays,P.autoRange=o.autoRangeDays),P}),f=P=>{const D=new Date(P);return D.setHours(0,0,0,0),D},k=P=>{const D=new Date(P);return D.setHours(23,59,59,999),D},m=(P,D)=>{const U=new Date(P);return U.setDate(U.getDate()+D),U},g=t.computed(()=>{if(o.disablePast)return f(new Date)}),v=t.computed(()=>{if(o.maxDaysAhead&&o.maxDaysAhead>0)return k(m(new Date,o.maxDaysAhead))}),L=t.ref(null),w=t.ref(null),M=P=>{w.value={month:P.month,year:P.year}},C=t.ref(!1);let S=null;t.onMounted(()=>{const P=document.documentElement,D=()=>C.value=P.classList.contains("dark");D(),S=new MutationObserver(D),S.observe(P,{attributes:!0,attributeFilter:["class"]})}),t.onBeforeUnmount(()=>{S==null||S.disconnect(),S=null}),CW(t.toRef(o,"tone"));const b=P=>{const D=new Date(P),U=D.getDay(),T=D.getDate()-U+(U===0?-6:1);return D.setDate(T),f(D)},x=P=>{const D=b(P);return D.setDate(D.getDate()+6),k(D)},I=P=>{const D=new Date(P);return D.setDate(1),f(D)},V=P=>{const D=new Date(P);return D.setMonth(D.getMonth()+1),D.setDate(0),k(D)},B=t.computed(()=>{if(!o.range)return[];const P=new Date,D=f(P),U=b(P),T=x(P),H=I(P),N=V(P),Q=(j,F)=>{let R=j;o.disablePast&&R<D&&(R=D);let Z=F;if(o.autoRangeDays&&o.autoRangeDays>0){const J=k(m(R,o.autoRangeDays-1));Z>J&&(Z=J)}return Z<R&&(Z=k(new Date(R))),[R,Z]};return[{label:o.locale==="id"?"Minggu Ini":"This Week",range:Q(U,T)},{label:o.locale==="id"?"Bulan Ini":"This Month",range:Q(H,N)}]}),A=async P=>{var F,R;const D=o.modelType||"yyyy-MM-dd";if(P.length===0){h.value=null;return}if(P.length<2)return;const U=Pz(P[0],D),T=Pz(P[1],D);h.value=[U,T],await t.nextTick();const H=P[0],N=H.getMonth(),Q=H.getFullYear();w.value&&w.value.month===N&&w.value.year===Q||(F=L.value)==null||F.setMonthYear({month:N,year:Q}),(R=L.value)==null||R.openMenu()};return(P,D)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class])},[a.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[a.label?(t.openBlock(),t.createElementBlock("div",LW)):t.createCommentVNode("",!0),D[2]||(D[2]=t.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[a.label?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:s.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),c.value?(t.openBlock(),t.createElementBlock("span",SW,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Je.VueDatePicker),{ref_key:"dpRef",ref:L,modelValue:h.value,"onUpdate:modelValue":D[1]||(D[1]=U=>h.value=U),dark:C.value,range:y.value,"multi-calendars":p.value,disabled:a.disabled,clearable:!1,"text-input":"","enable-time-picker":!1,"time-config":{enableTimePicker:!1},"auto-apply":!1,"action-row":{showPreview:!0,showNow:!1},locale:u.value,"model-type":a.modelType,formats:{input:a.displayFormat},"min-date":g.value,"max-date":v.value,"preset-ranges":B.value,floating:{placement:a.placement,offset:8,arrow:!1,flip:!1,shift:!0},teleport:!0,"menu-class-name":"dcode-datepicker-menu","calendar-class-name":"dcode-datepicker-calendar",onUpdateMonthYear:M},t.createSlots({"dp-input":t.withCtx(({value:U,onInput:T,onEnter:H,onTab:N,onBlur:Q,onFocus:j,onKeypress:F,onPaste:R,toggleMenu:Z})=>[t.createElementVNode("div",{class:t.normalizeClass(["flex items-center w-full h-10 rounded-lg border bg-white dark:bg-neutral-900 border-gray-300 dark:border-gray-700 overflow-hidden",[d.value?"border-destructive":"",a.disabled?"opacity-50 cursor-not-allowed":""]])},[t.createElementVNode("button",{type:"button",tabindex:"-1",disabled:a.disabled,class:"flex-shrink-0 flex items-center justify-center w-10 h-full text-muted-foreground hover:text-foreground transition-colors focus:outline-none",onClick:J=>Z()},[t.createVNode(t.unref(Hs),{class:"w-4 h-4 pointer-events-none"})],8,IW),D[4]||(D[4]=t.createElementVNode("span",{class:"w-px h-5 bg-gray-200 dark:bg-gray-700 flex-shrink-0"},null,-1)),a.prependInner?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("span",_W,t.toDisplayString(a.prependInner),1),D[3]||(D[3]=t.createElementVNode("span",{class:"w-px h-5 bg-gray-200 dark:bg-gray-700 flex-shrink-0"},null,-1))],64)):t.createCommentVNode("",!0),t.createElementVNode("input",{id:s.value,value:U,placeholder:a.placeholder,disabled:a.disabled,autocomplete:"off",readonly:"",class:t.normalizeClass(["flex-1 min-w-0 px-3 h-full bg-transparent text-sm text-foreground dark:text-gray-300 placeholder:text-muted-foreground outline-none",a.disabled?"cursor-not-allowed":"cursor-pointer"]),onClick:J=>Z(),onFocus:J=>j(),onBlur:J=>Q(),onInput:J=>T(J),onKeydown:[t.withKeys(J=>H(J),["enter"]),t.withKeys(J=>N(J),["tab"])],onKeypress:J=>F(J),onPaste:J=>R()},null,42,AW)],2)]),"action-buttons":t.withCtx(({selectDate:U,selectionDisabled:T})=>[t.createElementVNode("div",VW,[t.createVNode(t.unref(Ee),{type:"button",variant:"outline",onClick:D[0]||(D[0]=H=>{var N;return(N=L.value)==null?void 0:N.closeMenu()})},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.cancelLabel),1)]),_:1}),t.createVNode(t.unref(Ee),{type:"button",variant:"default",disabled:T,onClick:H=>U()},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.selectLabel),1)]),_:1},8,["disabled","onClick"])])]),_:2},[a.range?{name:"left-sidebar",fn:t.withCtx(()=>[t.createElementVNode("div",BW,[B.value.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(B.value,U=>(t.openBlock(),t.createBlock(t.unref(Ee),{key:U.label,type:"button",variant:"default",class:"w-full",onClick:T=>A(U.range)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(U.label),1)]),_:2},1032,["onClick"]))),128)):t.createCommentVNode("",!0)])]),key:"0"}:void 0]),1032,["modelValue","dark","range","multi-calendars","disabled","locale","model-type","formats","min-date","max-date","preset-ranges","floating"]),d.value?(t.openBlock(),t.createElementBlock("p",zW,t.toDisplayString(o.error),1)):t.createCommentVNode("",!0)],64))],2))}}),qW=t.defineComponent({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(VA),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),PW=t.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref($A),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NA),{class:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),t.createVNode(t.unref(FA),t.mergeProps({...t.unref(i),...s.$attrs},{class:t.unref(be)("fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",n.class)}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default"),t.createVNode(t.unref(zA),{class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"},{default:t.withCtx(()=>[t.createVNode(t.unref(it),{class:"w-4 h-4"}),c[0]||(c[0]=t.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})]),_:3},16,["class"])]),_:3}))}}),DW=t.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(RA),t.mergeProps(t.unref(o),{class:t.unref(be)("text-sm text-muted-foreground",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),EW=t.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(UA),t.mergeProps(t.unref(o),{class:t.unref(be)("text-lg font-medium leading-none tracking-tight",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),TW={class:"flex items-center gap-3"},HW={class:"flex justify-end gap-3"},lS=t.defineComponent({name:"DCodeDialog",inheritAttrs:!1,__name:"DCodeDialog",props:{modelValue:{type:Boolean,default:!1},title:{default:""},icon:{default:""},maxWidth:{default:500},persistent:{type:Boolean,default:!0},contentClass:{default:"p-5"},contentStyle:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:e}){const n=a,o=e,r=t.useAttrs(),i=t.computed(()=>{const{style:h,...u}=r;return u}),s=t.computed(()=>({maxWidth:typeof n.maxWidth=="number"?`${n.maxWidth}px`:n.maxWidth,width:"100%"})),c=t.computed(()=>n.icon?Gt[n.icon]??null:null),d=h=>{o("update:modelValue",h)};return(h,u)=>(t.openBlock(),t.createBlock(t.unref(qW),{open:a.modelValue,"onUpdate:open":d},{default:t.withCtx(()=>[t.createVNode(t.unref(PW),t.mergeProps(i.value,{style:s.value,class:"p-0 overflow-hidden rounded-xl",onInteractOutside:u[0]||(u[0]=p=>a.persistent?p.preventDefault():null),onEscapeKeyDown:u[1]||(u[1]=p=>a.persistent?p.preventDefault():null)}),{default:t.withCtx(()=>[t.createVNode(rI,{padding:a.contentClass,border:"",shadow:"",class:"w-full !rounded-xl !border-0",level:1},t.createSlots({header:t.withCtx(()=>[t.createElementVNode("div",TW,[c.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c.value),{key:0,class:"h-5 w-5"})):t.createCommentVNode("",!0),t.createVNode(t.unref(EW),{class:"text-base font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),t.createVNode(t.unref(DW),{class:"hidden"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title||"Dialog Content"),1)]),_:1})])]),actions:t.withCtx(()=>[t.renderSlot(h.$slots,"header-append")]),default:t.withCtx(()=>[t.createElementVNode("div",{style:t.normalizeStyle(a.contentStyle)},[t.renderSlot(h.$slots,"default")],4)]),_:2},[h.$slots.actions?{name:"footer",fn:t.withCtx(()=>[t.createElementVNode("div",HW,[t.renderSlot(h.$slots,"actions")])]),key:"0"}:void 0]),1032,["padding"])]),_:3},16,["style"])]),_:3},8,["open"]))}}),Tz=t.defineComponent({name:"DCodeDialogCloseBtn",__name:"DCodeDialogCloseBtn",props:{icon:{default:"X"},iconSize:{default:22}},setup(a){const e=a,n=t.computed(()=>Gt[e.icon]??it);return(o,r)=>(t.openBlock(),t.createBlock(t.unref(Ee),{type:"button",variant:"secondary",size:"icon",class:"rounded-full shadow-sm"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value),{size:Number(a.iconSize)},null,8,["size"]))]),_:1}))}}),jW=t.defineComponent({__name:"Alert",props:{class:{type:[Boolean,null,String,Object,Array]},variant:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)(t.unref(FW)({variant:a.variant}),e.class)),role:"alert"},[t.renderSlot(n.$slots,"default")],2))}}),OW=t.defineComponent({__name:"AlertDescription",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("text-sm [&_p]:leading-relaxed",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),FW=i1("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),_a=t.defineComponent({__name:"Badge",props:{variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)(t.unref(RW)({variant:a.variant}),e.class))},[t.renderSlot(n.$slots,"default")],2))}}),RW=i1("inline-flex gap-1 items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),KI=t.defineComponent({__name:"Card",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("rounded-xl border bg-card text-card-foreground shadow",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),XI=t.defineComponent({__name:"CardContent",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("p-6 pt-0",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),ZI=t.defineComponent({__name:"CardHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col gap-y-1.5 p-6",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),YI=t.defineComponent({__name:"CardTitle",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("h3",{class:t.normalizeClass(t.unref(be)("font-medium leading-none tracking-tight",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),NW={class:"h-full w-full p-6 flex flex-col items-center justify-center text-center gap-2"},$W={class:"flex flex-wrap items-center justify-center gap-2"},UW=["accept","multiple"],cS=Xt(t.defineComponent({name:"DCodeDropzone",__name:"DCodeDropzone",props:{label:{default:"Upload File"},hint:{default:"Drag & drop file di sini atau klik area ini"},accept:{default:"*/*"},maxSizeMb:{default:2},mode:{default:"single"},disabled:{type:Boolean,default:!1},showSelected:{type:Boolean,default:!0},error:{default:null}},emits:["picked","picked:multiple","error"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null),i=t.ref(!1),s=t.ref(null),c=t.ref(null),d=t.ref(null);t.computed(()=>n.accept||"file/*");const h=t.computed(()=>n.error??s.value);function u(){var b;n.disabled||(b=r.value)==null||b.click()}function p(b){const x=b/1024,I=x/1024;return I>=1?`${I.toFixed(2)} MB`:x>=1?`${x.toFixed(1)} KB`:`${b} B`}function y(b){var I;if(!b)return"File tidak valid";if((I=n.accept)!=null&&I.includes("image/")&&!b.type.startsWith("image/"))return"Hanya file gambar yang diizinkan";const x=(n.maxSizeMb??2)*1024*1024;return b.size>x?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:null}function f(b){c.value=b.name,d.value=b.size}function k(b){if(s.value=null,!b.length)return;if(n.mode==="single"){const I=b[0],V=y(I);if(V){s.value=V,o("error",V);return}n.showSelected&&f(I),o("picked",I);return}const x=[];for(const I of b){const V=y(I);if(V){s.value=V,o("error",V);return}x.push(I)}x.length&&(n.showSelected&&f(x[0]),o("picked:multiple",x))}function m(b){const x=b.target,I=Array.from(x.files??[]);k(I),x.value=""}function g(){n.disabled||(i.value=!0)}function v(){n.disabled||(i.value=!0)}function L(){i.value=!1}function w(b){var V,B;if(n.disabled)return;i.value=!1;const x=Array.from(((V=b.dataTransfer)==null?void 0:V.files)??[]),I=(B=n.accept)!=null&&B.includes("image/")?x.filter(A=>A.type.startsWith("image/")):x;k(I)}const M=t.computed(()=>(n.accept||"file/*").split(",").map(b=>b.trim()).filter(Boolean).map(b=>b==="image/*"?"IMAGE":b.replace(/^image\//,"").replace(/^\./,"")).join(", "));t.computed(()=>`${n.maxSizeMb??0}MB`);const C=t.ref(!1),S=t.computed(()=>{if(n.disabled||!C.value)return{};const b=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark");return{borderColor:b?"hsl(var(--primary) / 0.5)":"hsl(var(--primary) / 0.6)",backgroundColor:b?"hsl(var(--primary) / 0.1)":"hsl(var(--primary) / 0.05)"}});return(b,x)=>(t.openBlock(),t.createBlock(t.unref(KI),{class:t.normalizeClass([a.disabled?"opacity-60":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(t.unref(ZI),{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(t.unref(YI),{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label),1)]),_:1})]),_:1}),t.createVNode(t.unref(XI),{class:"pt-2"},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["d-dropzone-area flex justify-center items-center rounded-xl border-2 border-dashed transition cursor-pointer select-none",[i.value?"is-dragging border-primary bg-primary/10 dark:bg-primary/20 -translate-y-[1px]":"border-border dark:border-neutral-700 bg-muted/30 dark:bg-neutral-800/50",a.disabled?"is-disabled":""]]),style:t.normalizeStyle([{minHeight:"190px"},S.value]),onClick:u,onDragenter:t.withModifiers(g,["prevent"]),onDragover:t.withModifiers(v,["prevent"]),onDragleave:t.withModifiers(L,["prevent"]),onDrop:t.withModifiers(w,["prevent"]),onMouseenter:x[0]||(x[0]=I=>C.value=!0),onMouseleave:x[1]||(x[1]=I=>C.value=!1)},[t.createElementVNode("div",NW,[x[2]||(x[2]=t.createElementVNode("div",{class:"text-sm font-medium dark:text-neutral-200"},"Drag & drop file di sini",-1)),x[3]||(x[3]=t.createElementVNode("div",{class:"text-xs text-muted-foreground dark:text-neutral-400"},"atau klik area ini untuk memilih file",-1)),t.createElementVNode("div",$W,[t.createVNode(t.unref(_a),{variant:"secondary",class:"text-[11px] dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(" Allowed: "+t.toDisplayString(M.value),1)]),_:1}),t.createVNode(t.unref(_a),{variant:"secondary",class:"text-[11px] dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(" Max: "+t.toDisplayString(n.maxSizeMb)+"MB ",1)]),_:1})]),a.showSelected&&c.value?(t.openBlock(),t.createBlock(t.unref(_a),{key:0,variant:"secondary",class:"mt-2 dark:bg-neutral-700 dark:text-neutral-300"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.value)+" • "+t.toDisplayString(d.value?p(d.value):""),1)]),_:1})):t.createCommentVNode("",!0)]),t.createElementVNode("input",{ref_key:"fileInputEl",ref:r,type:"file",class:"hidden",accept:a.accept,multiple:a.mode==="multiple",onChange:m},null,40,UW)],38),h.value?(t.openBlock(),t.createBlock(t.unref(jW),{key:0,variant:"destructive",class:"mt-3"},{default:t.withCtx(()=>[t.createVNode(t.unref(OW),{class:"text-sm"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h.value),1)]),_:1})]),_:1})):t.createCommentVNode("",!0)]),_:1})]),_:1},8,["class"]))}}),[["__scopeId","data-v-02ca61c0"]]),WW={key:0,class:"text-xs text-muted-foreground dark:text-neutral-400"},GW=["src"],KW={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"},XW={class:"space-y-0.5"},ZW={class:"text-sm font-medium truncate max-w-[180px] dark:text-neutral-200"},YW={class:"text-xs opacity-70"},QW=["disabled"],JW={key:1},eG=["disabled"],tG={class:"text-[11px] text-foreground/90 dark:text-neutral-200 space-y-1 whitespace-nowrap"},aG={class:"flex gap-2"},nG={class:"font-medium truncate"},oG={class:"flex gap-2"},rG={class:"font-medium"},iG={class:"flex gap-2"},sG={class:"font-medium truncate"},QI=Xt(t.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},forceFileIcon:{type:Boolean,default:!1}},emits:["edit","replace","remove"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null),i=t.computed(()=>n.forceFileIcon||!n.file?!1:(n.file.type||"").startsWith("image/"));t.watch(()=>n.file,f=>{r.value&&URL.revokeObjectURL(r.value),r.value=f?URL.createObjectURL(f):null},{immediate:!0}),t.onBeforeUnmount(()=>{r.value&&URL.revokeObjectURL(r.value),u&&u.disconnect()});function s(f){const k=f/1024,m=k/1024;return m>=1?`${m.toFixed(2)} MB`:k>=1?`${k.toFixed(1)} KB`:`${f} B`}const c=t.computed(()=>n.file?{name:n.file.name,size:s(n.file.size),type:n.file.type||"unknown"}:null),d=t.ref(!1),h=t.ref(!1);let u=null;const p=()=>{typeof document<"u"&&(h.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{p(),typeof document<"u"&&(u=new MutationObserver(p),u.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),u.observe(document.body,{attributes:!0,attributeFilter:["class"]}))});const y=t.computed(()=>n.disabled||!d.value?{}:{borderColor:h.value?"hsl(var(--primary) / 0.4)":"hsl(var(--primary) / 0.5)",backgroundColor:h.value?"hsl(var(--primary) / 0.1)":"hsl(var(--primary) / 0.05)"});return(f,k)=>a.file?(t.openBlock(),t.createBlock(KI,{key:0,class:t.normalizeClass([a.disabled?"opacity-60 pointer-events-none":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(ZI,{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(YI,{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),a.description?(t.openBlock(),t.createElementBlock("div",WW,t.toDisplayString(a.description),1)):t.createCommentVNode("",!0)]),_:1}),t.createVNode(XI,{class:"pt-2"},{default:t.withCtx(()=>{var m,g,v,L,w;return[t.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-800/50 border-border dark:border-neutral-700 w-full",style:t.normalizeStyle([{height:`${a.previewHeight}px`},y.value]),onMouseenter:k[2]||(k[2]=M=>d.value=!0),onMouseleave:k[3]||(k[3]=M=>d.value=!1)},[i.value&&r.value?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.value,alt:"Preview",class:"h-full w-full object-contain"},null,8,GW)):(t.openBlock(),t.createElementBlock("div",KW,[t.createVNode(t.unref(hs),{class:"w-10 h-10"}),t.createElementVNode("div",XW,[t.createElementVNode("p",ZW,t.toDisplayString((m=c.value)==null?void 0:m.name),1),t.createElementVNode("p",YW,t.toDisplayString((g=c.value)==null?void 0:g.size),1)])])),t.createElementVNode("div",{class:"d-action-buttons",style:t.normalizeStyle({position:"absolute",top:"8px",left:"8px",right:"8px",display:"flex",alignItems:"center",justifyContent:"space-between",zIndex:50,opacity:d.value?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:d.value?"auto":"none"})},[a.showEdit&&i.value?(t.openBlock(),t.createElementBlock("button",{key:0,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:k[0]||(k[0]=M=>o("edit"))},[t.createVNode(t.unref(sr),{style:{width:"16px",height:"16px"}})],12,QW)):(t.openBlock(),t.createElementBlock("div",JW)),a.showRemove?(t.openBlock(),t.createElementBlock("button",{key:2,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s"}),onClick:k[1]||(k[1]=M=>o("remove"))},[t.createVNode(t.unref(_i),{style:{width:"16px",height:"16px"}})],12,eG)):t.createCommentVNode("",!0)],4),t.createElementVNode("div",{class:"d-metadata-overlay",style:t.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:d.value?1:0,transform:d.value?"translateY(0) scale(1)":"translateY(4px) scale(0.99)",backgroundColor:h.value?"rgba(38, 38, 38, 0.8)":"rgba(255, 255, 255, 0.8)",color:h.value?"#e5e5e5":"#171717"})},[t.createElementVNode("div",tG,[t.createElementVNode("div",aG,[k[4]||(k[4]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Nama",-1)),t.createElementVNode("span",nG,t.toDisplayString((v=c.value)==null?void 0:v.name),1)]),t.createElementVNode("div",oG,[k[5]||(k[5]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Ukuran",-1)),t.createElementVNode("span",rG,t.toDisplayString((L=c.value)==null?void 0:L.size),1)]),t.createElementVNode("div",iG,[k[6]||(k[6]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Tipe",-1)),t.createElementVNode("span",sG,t.toDisplayString((w=c.value)==null?void 0:w.type),1)])])],4)],36)]}),_:1})]),_:1},8,["class"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-4f5c1d5e"]]);function JI(){const a=i=>{var d;const s={type:i.type||"info",title:i.title,message:i.message,duration:i.duration??3e3};typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:toast",{detail:s,bubbles:!0,composed:!0})),(s.type==="error"?console.error:s.type==="warning"?console.warn:console.log)(`[Toast][${(d=s.type)==null?void 0:d.toUpperCase()}]`,s.title||"",s.message)};return{show:a,success:(i,s)=>a({type:"success",message:i,title:s}),error:(i,s)=>a({type:"error",message:i,title:s}),warning:(i,s)=>a({type:"warning",message:i,title:s}),info:(i,s)=>a({type:"info",message:i,title:s})}}const lG={class:"space-y-3"},cG={key:1,class:"flex items-center justify-center p-6 border rounded-lg bg-muted/30 dark:bg-neutral-800/20 dark:border-neutral-800"},Hz=t.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:{}},emits:["update:modelValue","error","uploaded"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:S=>o("update:modelValue",S)}),i=t.ref(null),s=t.ref(null);function c(S){s.value=S,o("error",S)}function d(){s.value=null}const h=t.computed(()=>{const S=(n.allowedTypes??"").trim();return S?S.split(/[,\s;]+/g).map(x=>x.trim().toLowerCase()).filter(Boolean).map(x=>x.includes("/")||x.startsWith(".")?x:`.${x}`):[]});function u(S){const b=S.lastIndexOf(".");return b>=0?S.slice(b).toLowerCase():""}const p=t.computed(()=>{if(h.value.length){const S=h.value.filter(x=>x.startsWith("."));return[...h.value.filter(x=>x.includes("/")),...S].join(",")}return n.accept}),y=t.computed(()=>h.value.length?h.value.join(", "):n.accept||"Semua File");function f(S){if(h.value.length){const b=(S.type||"").toLowerCase(),x=u(S.name);return h.value.some(I=>I.includes("/")?b===I:I.startsWith(".")?x===I:x===`.${I}`)}if(n.accept){if(n.accept==="*/*")return!0;const b=n.accept.split(",").map(V=>V.trim().toLowerCase()),x=(S.type||"").toLowerCase(),I=u(S.name);return b.some(V=>{if(V.endsWith("/*")){const B=V.slice(0,-2);return x.startsWith(B)}return V.startsWith(".")?I===V:x===V})}return!0}function k(S){return S*1024*1024}async function m(S){return S?f(S)?n.minSizeMb!=null&&S.size<k(n.minSizeMb)?`Ukuran file terlalu kecil. Minimal ${n.minSizeMb}MB`:n.maxSizeMb!=null&&S.size>k(n.maxSizeMb)?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:null:`File Type not allowed. Allowed: ${y.value}`:"File tidak valid"}const{DCodeApi:g}=Ke(),v=JI(),L=t.ref(!1);async function w(S){var b;if(n.uploadFn){try{L.value=!0;const x=await n.uploadFn(S);r.value=S,o("uploaded",x)}catch(x){console.error("Upload Error",x),v.error("Upload Failed",(x==null?void 0:x.message)||"Unknown error"),c((x==null?void 0:x.message)||"Upload Failed")}finally{L.value=!1}return}if(!((b=n.endpoint)!=null&&b.apiUrl)){r.value=S;return}if(typeof g!="function"){c("useApi() must expose DCodeApi()");return}try{L.value=!0;const x=new FormData;x.append("doc",S);const I=(n.endpoint.apiMethod||"POST").toUpperCase(),V=n.endpoint.apiUrl,B=await g("","",x,{_url:V,_method:I,withCredentials:!0,transformRequest:[(P,D)=>(D&&(delete D["Content-Type"],delete D["content-type"]),P)]}),A=(B==null?void 0:B.data)??B;r.value=S,o("uploaded",A)}catch(x){console.error("Upload Error",x),v.error("Upload Failed",(x==null?void 0:x.message)||"Unknown error"),c((x==null?void 0:x.message)||"Upload Failed")}finally{L.value=!1}}async function M(S){var x;if(n.disabled)return;d();const b=await m(S);if(b){c(b);return}i.value=S,n.uploadFn||(x=n.endpoint)!=null&&x.apiUrl?await w(S):r.value=S}function C(){d(),r.value=null,i.value=null}return t.watch(()=>n.modelValue,S=>{S&&!i.value&&(i.value=S),S||(i.value=null)},{immediate:!0}),(S,b)=>(t.openBlock(),t.createElementBlock("div",lG,[r.value?L.value?(t.openBlock(),t.createElementBlock("div",cG,[...b[1]||(b[1]=[t.createElementVNode("span",{class:"text-sm text-muted-foreground dark:text-neutral-400 animate-pulse"},"Uploading...",-1)])])):(t.openBlock(),t.createBlock(QI,{key:2,file:r.value,title:a.label,description:a.hint,disabled:a.disabled,"show-edit":!1,"show-replace":!1,"show-remove":!0,"force-file-icon":!0,"preview-height":a.previewHeight,"preview-width":a.previewWidth,onRemove:C},null,8,["file","title","description","disabled","preview-height","preview-width"])):(t.openBlock(),t.createBlock(cS,{key:0,label:a.label,hint:a.hint,accept:p.value,maxSizeMb:a.maxSizeMb,disabled:a.disabled||L.value,onPicked:M,error:s.value,onError:b[0]||(b[0]=x=>c(x))},null,8,["label","hint","accept","maxSizeMb","disabled","error"]))]))}}),dG=["for"],hG={key:0,class:"!ml-1 !text-destructive"},uG={class:"relative w-full block box-border"},pG={key:0,class:"absolute inset-y-0 left-3 flex items-center text-muted-foreground pointer-events-none z-10"},yG=["id","readonly","disabled","placeholder"],fG={class:"absolute inset-y-0 right-4 flex items-center z-10"},kG={key:1,class:"absolute z-50 mt-1 w-full rounded-xl border bg-white dark:bg-neutral-900 shadow-lg box-border"},mG={key:0,class:"flex items-center justify-center py-10 text-muted-foreground gap-2"},gG={key:1,class:"text-sm text-muted-foreground text-center"},bG=["onClick","title"],MG={class:"flex flex-col items-center justify-between gap-2 py-1 min-h-[72px]"},xG={class:"flex items-center justify-center flex-1"},wG={class:"text-[10px] leading-tight text-muted-foreground truncate w-full text-center block flex-shrink-0"},vG={key:3,class:"pt-2 text-[11px] text-muted-foreground text-center"},jz=t.defineComponent({name:"DCodeIconDropdown",__name:"DCodeIconDropdown",props:{modelValue:{},label:{},placeholder:{default:"Pilih icon…"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},columns:{default:4},maxHeight:{default:"335px"},iconSize:{default:20},pageSize:{default:120}},emits:["update:modelValue","clear"],setup(a,{emit:e}){const n=a,o=e,r=Gt,i=t.ref(null),s=t.ref(null),c=Math.random().toString(36).slice(2,7),d=t.computed(()=>`dcode-icon-dropdown-${n.label||"icon-dropdown"}-${c}`),h=t.ref(!1),u=t.computed(()=>(n.modelValue??"").trim()||""),p=t.ref(""),y=t.ref(!1),f=t.ref(!1),k=t.ref(!1),m=t.shallowRef([]),g=t.ref(n.pageSize),v=new Set(["default","createLucideIcon","LucideIcon","Icon","icons","toKebabCase","camelCase","children","IconNode"]),L=async()=>{if(f.value||k.value)return;k.value=!0,await new Promise(F=>setTimeout(F,0));const j=Object.keys(r).filter(F=>!v.has(F)).filter(F=>/^[A-Z]/.test(F)).filter(F=>typeof r[F]=="function"||typeof r[F]=="object"&&r[F]).sort((F,R)=>F.localeCompare(R));m.value=j,f.value=!0,k.value=!1},w=t.computed(()=>!f.value||!u.value||!m.value.includes(u.value)?null:r[u.value]),M=t.ref(u.value),C=t.computed(()=>!!u.value&&!h.value),S=t.computed(()=>{if(!f.value)return[];const j=(p.value??"").trim().toLowerCase();return j?m.value.filter(F=>F.toLowerCase().includes(j)):m.value}),b=t.computed(()=>S.value.slice(0,g.value)),x=t.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"});t.computed(()=>n.clearable?"!pr-10":"!pr-3"),t.computed(()=>w.value&&!h.value?"!pl-12":"!pl-3");const I=async()=>{var j;await t.nextTick(),(j=s.value)==null||j.focus()},V=async j=>{if(n.disabled)return;const F=j!==!1;if(y.value){y.value=!1;return}h.value=!0,await L(),F&&(p.value="",M.value=""),g.value=n.pageSize,await I()},B=()=>{h.value=!1,p.value="",M.value=u.value,g.value=n.pageSize},A=async()=>{n.disabled||(h.value?B():await V())};let P=null;const D=async j=>{if(n.disabled)return;o("update:modelValue",null),h.value||await V(!1),P&&clearTimeout(P);const F=M.value;P=setTimeout(()=>{p.value=F},300)},U=j=>{n.disabled||(o("update:modelValue",j),B(),queueMicrotask(()=>{var F;return(F=s.value)==null?void 0:F.blur()}))},T=()=>{n.disabled||(o("update:modelValue",null),o("clear"),y.value=!0,B(),queueMicrotask(()=>{var j;return(j=s.value)==null?void 0:j.focus()}))},H=j=>{if(j.key==="Escape"){j.preventDefault(),B();return}if(j.key==="Enter"&&h.value){const F=S.value[0];F&&(j.preventDefault(),U(F))}},N=j=>{if(!h.value)return;const F=j.target;i.value&&!i.value.contains(F)&&B()},Q=j=>{const F=j.target;F.scrollTop+F.clientHeight>=F.scrollHeight-24&&g.value<S.value.length&&(g.value=Math.min(g.value+n.pageSize,S.value.length))};return t.onMounted(()=>{document.addEventListener("mousedown",N),queueMicrotask(()=>{var j;s.value=((j=i.value)==null?void 0:j.querySelector("input"))??null}),u.value&&L()}),t.onBeforeUnmount(()=>{document.removeEventListener("mousedown",N),P&&clearTimeout(P)}),t.watch(u,j=>{h.value||(M.value=j)}),t.watch(()=>p.value,()=>{g.value=n.pageSize}),(j,F)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"rootEl",ref:i,class:"!w-full !block !box-border"},[n.label?(t.openBlock(),t.createElementBlock("label",{key:0,for:d.value,class:"!text-sm !font-medium !mb-1 !block"},[t.createTextVNode(t.toDisplayString(n.label)+" ",1),n.required?(t.openBlock(),t.createElementBlock("span",hG,"*")):t.createCommentVNode("",!0)],8,dG)):t.createCommentVNode("",!0),t.createElementVNode("div",uG,[w.value&&!h.value?(t.openBlock(),t.createElementBlock("div",pG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(w.value),{size:18}))])):t.createCommentVNode("",!0),t.withDirectives(t.createElementVNode("input",{id:d.value,"onUpdate:modelValue":F[0]||(F[0]=R=>M.value=R),readonly:C.value,disabled:n.disabled,placeholder:n.placeholder,class:t.normalizeClass(["w-full h-10 m-0 py-0 rounded-lg border bg-white dark:bg-neutral-900 text-foreground dark:text-gray-300 border-gray-300 dark:border-gray-700 pr-10 outline-none box-border truncate",[w.value&&!h.value?"pl-10":"pl-4",C.value?"cursor-pointer select-none":""]]),onClick:V,onFocus:V,onInput:D,onKeydown:H},null,42,yG),[[t.vModelText,M.value]]),t.createElementVNode("div",fG,[n.clearable&&u.value?(t.openBlock(),t.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:F[1]||(F[1]=t.withModifiers(()=>{},["prevent"])),onClick:T,title:"Clear"},[t.createVNode(t.unref(it),{class:"h-4 w-4"})],32)):(t.openBlock(),t.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:F[2]||(F[2]=t.withModifiers(()=>{},["prevent"])),onClick:A,title:"Open"},[t.createVNode(t.unref(St),{class:"h-4 w-4"})],32))]),h.value?(t.openBlock(),t.createElementBlock("div",kG,[t.createElementVNode("div",{class:"p-2 overflow-auto",style:t.normalizeStyle({maxHeight:n.maxHeight}),onScroll:Q},[k.value?(t.openBlock(),t.createElementBlock("div",mG,[t.createVNode(t.unref(kt),{class:"h-4 w-4 animate-spin"}),F[3]||(F[3]=t.createElementVNode("span",{class:"text-sm"},"Loading icons…",-1))])):f.value&&S.value.length===0?(t.openBlock(),t.createElementBlock("div",gG," Icon tidak ditemukan ")):(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(["grid gap-2",x.value])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,R=>(t.openBlock(),t.createElementBlock("button",{key:R,type:"button",class:t.normalizeClass(["group rounded-lg border p-2 hover:bg-muted/40 transition",u.value===R?"ring-1 ring-primary":""]),onClick:Z=>U(R),title:R},[t.createElementVNode("div",MG,[t.createElementVNode("div",xG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r)[R]),{size:n.iconSize,class:"shrink-0"},null,8,["size"]))]),t.createElementVNode("span",wG,t.toDisplayString(R),1)])],10,bG))),128))],2)),f.value&&S.value.length>0?(t.openBlock(),t.createElementBlock("div",vG," Showing "+t.toDisplayString(b.value.length)+" / "+t.toDisplayString(S.value.length),1)):t.createCommentVNode("",!0)],36)])):t.createCommentVNode("",!0)])],512))}}),CG={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6"},LG={class:"flex items-center justify-between border-b dark:border-neutral-800 px-6 py-4"},SG={class:"relative overflow-auto p-0"},e_=t.defineComponent({name:"DCodeImageCropperDialog",inheritAttrs:!1,__name:"DCodeImageCropperDialog",props:{modelValue:{type:Boolean},file:{},title:{default:"Resize & Crop Gambar"},description:{default:""},aspectRatio:{default:null},outputWidth:{default:null},outputHeight:{default:null},quality:{default:.92},autoOpenEditor:{type:Boolean,default:!1}},emits:["update:modelValue","done","cancel"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:w=>o("update:modelValue",w)}),i=t.ref(null),s=t.ref(null);let c=null,d=!1,h=0,u=null;function p(){if(c){try{c.close()}catch{}c=null,u&&(u.disconnect(),u=null),i.value&&(i.value.innerHTML=""),s.value=null}}async function y(w,M,C,S,b){const x=await new Promise((B,A)=>{const P=URL.createObjectURL(w),D=new Image;D.onload=()=>{URL.revokeObjectURL(P),B(D)},D.onerror=U=>{URL.revokeObjectURL(P),A(U)},D.src=P}),I=document.createElement("canvas");I.width=M,I.height=C;const V=I.getContext("2d");return V?(V.drawImage(x,0,0,M,C),await new Promise(B=>{I.toBlob(A=>B(A||w),S,b)})):w}function f(){if(!c||!s.value)return;const w=c.getPlugin("Dashboard"),M=c.getFile(s.value);!w||!M||requestAnimationFrame(()=>{try{w.openFileEditor(M)}catch{try{w.openFileEditor(s.value)}catch{}}})}async function k(w){if(c){c.cancelAll(),s.value=null;try{const M=c.addFile({name:w.name,type:w.type,data:w,source:"Local",isRemote:!1});s.value=String(M)}catch{}}}function m(){if(!i.value)return;c&&p(),c=new kq({autoProceed:!1,restrictions:{maxNumberOfFiles:1,allowedFileTypes:["image/*"]}});const w=document.documentElement.classList.contains("dark");c.use(y_,{target:i.value,inline:!0,height:480,theme:w?"dark":"light",proudlyDisplayPoweredByUppy:!1,hideUploadButton:!0,hideRetryButton:!0,hidePauseResumeButton:!0,hideCancelButton:!0,showProgressDetails:!1}),u=new MutationObserver(()=>{if(!c)return;const M=document.documentElement.classList.contains("dark"),C=c.getPlugin("Dashboard");C&&C.setOptions({theme:M?"dark":"light"})}),u.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),c.use(mq,{target:y_,quality:n.quality,cropperOptions:{viewMode:1,dragMode:"move",autoCropArea:1,aspectRatio:n.aspectRatio==null?Number.NaN:n.aspectRatio}}),c.on("file-editor:cancel",()=>{r.value=!1}),c.on("file-added",M=>{s.value=(M==null?void 0:M.id)??null,n.autoOpenEditor&&setTimeout(()=>f(),80)}),c.on("file-editor:complete",async M=>{const C=++h;try{const S=M.data,b=S.type||M.type||"image/jpeg";let x=S;if(n.outputWidth&&n.outputHeight&&(x=await y(S,n.outputWidth,n.outputHeight,b,n.quality)),d||C!==h)return;const I=M.name||"edited-image.jpg",V=new File([x],I,{type:b});await g(V,"UPPY_EDITOR_COMPLETE"),o("done",V),r.value=!1}catch{}})}async function g(w,M="CROP_RESULT"){const C=URL.createObjectURL(w);try{const S=await new Promise((b,x)=>{const I=new Image;I.onload=()=>b(I),I.onerror=x,I.src=C});console.group(M),console.log("file:",w),console.table({name:w.name,type:w.type,sizeBytes:w.size,sizeMB:+(w.size/1024/1024).toFixed(3),width:S.naturalWidth,height:S.naturalHeight,ratio:+(S.naturalWidth/S.naturalHeight).toFixed(4)}),console.log("previewUrl:",C),console.groupEnd()}finally{URL.revokeObjectURL(C)}}t.watch(r,async w=>{d=!w,h++,w?(await t.nextTick(),m(),n.file&&await k(n.file)):p()},{flush:"post"}),t.watch(()=>n.file,async w=>{r.value&&w&&(await t.nextTick(),await k(w))}),t.onBeforeUnmount(()=>{d=!0,h++,p()});const v=w=>{w.key==="Escape"&&r.value&&(r.value=!1)};t.watch(r,w=>{w?globalThis.addEventListener("keydown",v):globalThis.removeEventListener("keydown",v)},{immediate:!0});const L=t.ref(!1);return(w,M)=>r.value?(t.openBlock(),t.createElementBlock("div",CG,[t.createVNode(t.Transition,{appear:"","enter-active-class":"duration-300 ease-out","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"duration-200 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"fixed inset-0 bg-black/60 backdrop-blur-sm transition-opacity",onClick:M[0]||(M[0]=C=>r.value=!1)})):t.createCommentVNode("",!0)]),_:1}),t.createVNode(t.Transition,{appear:"","enter-active-class":"duration-300 ease-out","enter-from-class":"opacity-0 scale-95 translate-y-4 sm:translate-y-0 sm:scale-95","enter-to-class":"opacity-100 scale-100 translate-y-0 sm:scale-100","leave-active-class":"duration-200 ease-in","leave-from-class":"opacity-100 scale-100 translate-y-0 sm:scale-100","leave-to-class":"opacity-0 scale-95 translate-y-4 sm:translate-y-0 sm:scale-95"},{default:t.withCtx(()=>[r.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"relative flex w-fit max-w-4xl flex-col overflow-hidden rounded-xl border border-border dark:border-neutral-800 bg-background dark:bg-neutral-900 shadow-2xl transition-all",onClick:M[4]||(M[4]=t.withModifiers(()=>{},["stop"]))},[t.createElementVNode("div",LG,[M[6]||(M[6]=t.createElementVNode("h3",{class:"text-lg font-semibold leading-none tracking-tight dark:text-neutral-100"}," Crop & Resize ",-1)),t.createElementVNode("button",{class:"d-close-btn rounded-sm dark:text-neutral-400 ring-offset-background transition-opacity focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",style:t.normalizeStyle({opacity:L.value?1:.7}),onClick:M[1]||(M[1]=C=>r.value=!1),onMouseenter:M[2]||(M[2]=C=>L.value=!0),onMouseleave:M[3]||(M[3]=C=>L.value=!1)},[t.createVNode(t.unref(it),{class:"h-4 w-4"}),M[5]||(M[5]=t.createElementVNode("span",{class:"sr-only"},"Close",-1))],36)]),t.createElementVNode("div",SG,[t.createElementVNode("div",{ref_key:"dashboardEl",ref:i,class:"uppy-wrap"},null,512)])])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)}}),IG={key:0,class:"text-xs text-muted-foreground dark:text-neutral-400"},_G=["src"],AG=["disabled"],BG=["disabled"],VG={class:"text-[11px] text-foreground/90 dark:text-neutral-200 space-y-1 whitespace-nowrap"},zG={class:"flex gap-2"},qG={class:"font-medium truncate"},PG={class:"flex gap-2"},DG={class:"font-medium"},EG={class:"flex gap-2"},TG={class:"font-medium truncate"},t_=Xt(t.defineComponent({name:"DCodeImageResult",__name:"DCodeImageResult",props:{file:{},title:{default:"Hasil Gambar"},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}},emits:["edit","replace","remove"],setup(a,{emit:e}){const n=a,o=e,r=t.ref(null);t.watch(()=>n.file,y=>{r.value&&URL.revokeObjectURL(r.value),r.value=y?URL.createObjectURL(y):null},{immediate:!0}),t.onBeforeUnmount(()=>{r.value&&URL.revokeObjectURL(r.value),h&&h.disconnect()});function i(y){const f=y/1024,k=f/1024;return k>=1?`${k.toFixed(2)} MB`:f>=1?`${f.toFixed(1)} KB`:`${y} B`}const s=t.computed(()=>n.file?{name:n.file.name,size:i(n.file.size),type:n.file.type||"unknown"}:null),c=t.ref(!1),d=t.ref(!1);let h=null;const u=()=>{typeof document<"u"&&(d.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{u(),typeof document<"u"&&(h=new MutationObserver(u),h.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),h.observe(document.body,{attributes:!0,attributeFilter:["class"]}))});const p=t.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(y,f)=>a.file?(t.openBlock(),t.createBlock(KI,{key:0,class:t.normalizeClass([a.disabled?"opacity-60 pointer-events-none":"","dark:bg-neutral-900 dark:border-neutral-800"])},{default:t.withCtx(()=>[t.createVNode(ZI,{class:"pb-2"},{default:t.withCtx(()=>[t.createVNode(YI,{class:"text-sm font-semibold dark:text-neutral-100"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),a.description?(t.openBlock(),t.createElementBlock("div",IG,t.toDisplayString(a.description),1)):t.createCommentVNode("",!0)]),_:1}),t.createVNode(XI,{class:"pt-2"},{default:t.withCtx(()=>{var k,m,g;return[t.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-800/50 border-border dark:border-neutral-700 w-full",style:t.normalizeStyle([{height:`${a.previewHeight}px`},p.value]),onMouseenter:f[2]||(f[2]=v=>c.value=!0),onMouseleave:f[3]||(f[3]=v=>c.value=!1)},[r.value?(t.openBlock(),t.createElementBlock("img",{key:0,src:r.value,alt:"Preview",class:"h-full w-full object-contain"},null,8,_G)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"d-action-buttons",style:t.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"})},[a.showEdit?(t.openBlock(),t.createElementBlock("button",{key:0,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"}),onClick:f[0]||(f[0]=v=>o("edit"))},[t.createVNode(t.unref(sr),{style:{width:"16px",height:"16px"}})],12,AG)):t.createCommentVNode("",!0),a.showRemove?(t.openBlock(),t.createElementBlock("button",{key:1,disabled:a.disabled,class:"d-action-btn shadow-md",style:t.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:a.disabled?"not-allowed":"pointer",transition:"all 0.2s",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"}),onClick:f[1]||(f[1]=v=>o("remove"))},[t.createVNode(t.unref(_i),{style:{width:"16px",height:"16px"}})],12,BG)):t.createCommentVNode("",!0)],4),t.createElementVNode("div",{class:"d-metadata-overlay",style:t.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"})},[t.createElementVNode("div",VG,[t.createElementVNode("div",zG,[f[4]||(f[4]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Nama",-1)),t.createElementVNode("span",qG,t.toDisplayString((k=s.value)==null?void 0:k.name),1)]),t.createElementVNode("div",PG,[f[5]||(f[5]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Ukuran",-1)),t.createElementVNode("span",DG,t.toDisplayString((m=s.value)==null?void 0:m.size),1)]),t.createElementVNode("div",EG,[f[6]||(f[6]=t.createElementVNode("span",{class:"w-14 shrink-0 text-muted-foreground dark:text-neutral-400"},"Tipe",-1)),t.createElementVNode("span",TG,t.toDisplayString((g=s.value)==null?void 0:g.type),1)])])],4)],36)]}),_:1})]),_:1},8,["class"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-72c623f7"]]),HG={class:"space-y-3"},a_=t.defineComponent({name:"DCodeImageField",inheritAttrs:!1,__name:"DCodeImageField",props:{modelValue:{default:null},label:{default:"Upload Gambar"},hint:{default:"Drag & drop atau klik area ini"},disabled:{type:Boolean,default:!1},allowedTypes:{default:null},accept:{default:"image/*"},minSizeMb:{default:null},maxSizeMb:{default:1},title:{default:"Hasil Gambar"},description:{default:""},previewWidth:{default:360},previewHeight:{default:220},aspectRatio:{default:null},outputWidth:{default:null},outputHeight:{default:null},quality:{default:.92},autoOpenEditor:{type:Boolean,default:!0},minWidth:{default:null},minHeight:{default:null},maxWidth:{default:null},maxHeight:{default:null},endpoint:{},uploadFn:{},editUseOriginal:{type:Boolean,default:!1}},emits:["update:modelValue","error","uploaded"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:T=>o("update:modelValue",T)}),i=t.ref(!1),s=t.ref(null),c=t.ref(null),d=t.ref(null);function h(T){d.value=T,o("error",T)}function u(){d.value=null}const p=t.computed(()=>{const T=(n.allowedTypes??"").trim();return T?T.split(/[,\s;]+/g).map(N=>N.trim().toLowerCase()).filter(Boolean).map(N=>N.includes("/")||N.startsWith(".")?N:`.${N}`):[]});function y(T){const H=T.lastIndexOf(".");return H>=0?T.slice(H).toLowerCase():""}const f=t.computed(()=>{if(p.value.length){const T=p.value.filter(N=>N.startsWith("."));return[...p.value.filter(N=>N.includes("/")),...T].join(",")}return n.accept||"image/*"}),k=t.computed(()=>p.value.length?p.value.join(", "):n.accept||"image/*");function m(T){if(p.value.length){const N=(T.type||"").toLowerCase(),Q=y(T.name);return p.value.some(j=>j.includes("/")?N===j:j.startsWith(".")?Q===j:Q===`.${j}`)}return(n.accept||"image/*").toLowerCase().includes("image/")?(T.type||"").toLowerCase().startsWith("image/"):!0}function g(T){return T*1024*1024}async function v(T){var H;return(H=T.type)!=null&&H.startsWith("image/")?await new Promise(N=>{const Q=URL.createObjectURL(T),j=new Image;j.onload=()=>{URL.revokeObjectURL(Q),N({w:j.naturalWidth,h:j.naturalHeight})},j.onerror=()=>{URL.revokeObjectURL(Q),N(null)},j.src=Q}):null}async function L(T){if(!(n.minWidth!=null||n.minHeight!=null||n.maxWidth!=null||n.maxHeight!=null))return null;const N=await v(T);return N?n.minWidth!=null&&N.w<n.minWidth?`Lebar gambar minimal ${n.minWidth}px`:n.minHeight!=null&&N.h<n.minHeight?`Tinggi gambar minimal ${n.minHeight}px`:n.maxWidth!=null&&N.w>n.maxWidth?`Lebar gambar maksimal ${n.maxWidth}px`:n.maxHeight!=null&&N.h>n.maxHeight?`Tinggi gambar maksimal ${n.maxHeight}px`:null:"Gagal membaca dimensi gambar"}async function w(T){return T?m(T)?n.minSizeMb!=null&&T.size<g(n.minSizeMb)?`Ukuran file terlalu kecil. Minimal ${n.minSizeMb}MB`:n.maxSizeMb!=null&&T.size>g(n.maxSizeMb)?`Ukuran file terlalu besar. Maks ${n.maxSizeMb}MB`:await L(T):`only Allowed: ${k.value}`:"File tidak valid"}function M(T){n.disabled||(s.value=T,i.value=!0)}async function C(T){if(n.disabled)return;u();const H=await w(T);if(H){h(H);return}c.value=T,M(T)}const{DCodeApi:S}=Ke(),b=JI(),x=t.ref(!1);t.ref(null);function I(T,H){return!T||!H?null:T.replace(/\/+$/,"")+"/"+H.replace(/^\/+/,"")}function V(T){var j;const H=(T==null?void 0:T.data)??T,N=(j=H==null?void 0:H.data)==null?void 0:j[0];if(!N)return null;const Q=I(N.server,N.url);return{...N,fullUrl:Q?encodeURI(Q):null}}async function B(T){var H;if(n.uploadFn){try{x.value=!0;const N=await n.uploadFn(T);r.value=T,o("uploaded",N)}catch(N){console.error("Upload Error",N),b.error("Upload Failed",(N==null?void 0:N.message)||"Unknown error"),h((N==null?void 0:N.message)||"Upload Failed")}finally{x.value=!1}return}if(!((H=n.endpoint)!=null&&H.apiUrl)){r.value=T;return}if(typeof S!="function"){h("useApi() must expose DCodeApi()");return}try{x.value=!0;const N=new FormData;N.append("doc",T);const Q=(n.endpoint.apiMethod||"POST").toUpperCase(),j=n.endpoint.apiUrl,F=await S("","",N,{_url:j,_method:Q,withCredentials:!0,transformRequest:[(Z,J)=>(J&&(delete J["Content-Type"],delete J["content-type"]),Z)]}),R=(F==null?void 0:F.data)??F;V(R),r.value=T,o("uploaded",R)}catch(N){console.error("Upload Error",N),b.error("Upload Failed",(N==null?void 0:N.message)||"Unknown error"),h((N==null?void 0:N.message)||"Upload Failed")}finally{x.value=!1}}async function A(T){var H;u(),n.uploadFn||(H=n.endpoint)!=null&&H.apiUrl?await B(T):r.value=T,i.value=!1,s.value=null}function P(){i.value=!1,s.value=null}async function D(){if(!r.value)return;u();const T=n.editUseOriginal?c.value??r.value:r.value,H=await w(T);if(H){h(H);return}M(T)}function U(){u(),r.value=null,s.value=null,i.value=!1,c.value=null}return t.watch(()=>n.modelValue,T=>{T&&!c.value&&(c.value=T),T||(c.value=null)},{immediate:!0}),(T,H)=>(t.openBlock(),t.createElementBlock("div",HG,[r.value?(t.openBlock(),t.createBlock(t_,{key:1,file:r.value,title:a.label,description:a.description,"preview-width":a.previewWidth,disabled:a.disabled,"show-edit":!0,"show-remove":!0,"show-replace":!1,onEdit:D,onRemove:U,"aspect-ratio":16/9},null,8,["file","title","description","preview-width","disabled"])):(t.openBlock(),t.createBlock(cS,{key:0,label:a.label,hint:a.hint,accept:f.value,maxSizeMb:a.maxSizeMb,disabled:a.disabled,onPicked:C,error:d.value,onError:H[0]||(H[0]=N=>h(N))},null,8,["label","hint","accept","maxSizeMb","disabled","error"])),t.createVNode(e_,{modelValue:i.value,"onUpdate:modelValue":H[1]||(H[1]=N=>i.value=N),file:s.value,title:a.title,description:a.description,"auto-open-editor":a.autoOpenEditor,"aspect-ratio":a.aspectRatio,"output-width":a.outputWidth,"output-height":a.outputHeight,quality:a.quality,onDone:A,onCancel:P},null,8,["modelValue","file","title","description","auto-open-editor","aspect-ratio","output-width","output-height","quality"])]))}}),n_=t.defineComponent({name:"DCodeLabel",inheritAttrs:!1,__name:"DCodeLabel",props:{label:{},text:{},textSize:{},textType:{},icon:{},iconClass:{}},setup(a){const e=t.useAttrs(),n=a,o=t.computed(()=>n.icon&&Gt[n.icon]||null),r=t.computed(()=>n.textSize?`text-${n.textSize}`:"text-xs"),i={xs:"w-3 h-3",sm:"w-3.5 h-3.5",base:"w-4 h-4",lg:"w-5 h-5",xl:"w-5 h-5","2xl":"w-6 h-6","3xl":"w-7 h-7","4xl":"w-8 h-8","5xl":"w-10 h-10","6xl":"w-12 h-12"},s=t.computed(()=>i[n.textSize??"xs"]??"w-3 h-3"),c=t.computed(()=>n.textType==="BOLD"?"font-bold":n.textType==="ITALIC"?"italic font-normal":"font-normal"),d=t.computed(()=>{const u=`${r.value} ${c.value} text-slate-600 ml-1 inline-flex items-center gap-1`,p=e.class??"";return[u,p].filter(Boolean).join(" ")}),h=t.computed(()=>{const{class:u,...p}=e;return p});return(u,p)=>(t.openBlock(),t.createElementBlock("span",t.mergeProps({class:d.value},h.value),[o.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{key:0,class:t.normalizeClass(["shrink-0",s.value,a.iconClass])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(a.label||a.text),1)],16))}}),o_=t.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["update:modelValue"],setup(a,{emit:e}){const n=a,r=ks(n,"modelValue",e,{passive:!0,defaultValue:n.defaultValue});return(i,s)=>t.withDirectives((t.openBlock(),t.createElementBlock("input",{"onUpdate:modelValue":s[0]||(s[0]=c=>t.isRef(r)?r.value=c:null),class:t.normalizeClass(t.unref(be)("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)),[[t.vModelText,t.unref(r)]])}}),jG=["aria-busy"],OG={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},FG={key:0,class:"ml-1 text-destructive"},RG={class:"min-w-0 flex-1 text-left"},NG={key:0,class:"flex flex-wrap gap-1.5"},$G={class:"max-w-[220px] truncate"},UG=["onClick"],WG={key:1,class:"text-muted-foreground truncate"},GG={class:"flex items-center gap-2 shrink-0"},KG={key:0,class:"p-2 border-b border-gray-200 dark:border-gray-800"},XG={key:0,class:"h-full flex items-center justify-center px-3 text-sm text-muted-foreground"},ZG=["disabled","onClick"],YG={class:"truncate"},QG={key:0,class:"text-primary-600 dark:text-primary-400"},JG={key:1,class:"h-full flex items-center justify-center text-sm text-muted-foreground"},eK={key:0},tK={key:1},aK={key:1,class:"text-xs text-destructive"},nK={name:"DCodeMultiSelect"},Oz=t.defineComponent({...nK,name:"DCodeMultiSelect",inheritAttrs:!1,props:{modelValue:{},items:{default:()=>[]},endpoint:{default:void 0},fetchItems:{},autoFetchOnOpen:{type:Boolean,default:!0},autoFetchOnMount:{type:Boolean,default:!1},refreshOnOpen:{type:Boolean,default:!1},label:{default:""},placeholder:{default:"Pilih data…"},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:"Cari…"},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},maxChips:{default:2},maxSelected:{default:3},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},error:{default:null},required:{type:Boolean,default:!1}},emits:["update:modelValue","clear","max"],setup(a,{emit:e}){const n=t.useAttrs(),o=e,r=a,i=t.computed(()=>(r.label||n.label)??void 0),s=t.computed(()=>r.visible??!0),c=Math.random().toString(36).slice(2,7),d=t.computed(()=>`app-multiselect-${n.id||i.value||"field"}-${c}`),h=t.computed(()=>{if(r.required)return!0;const K=n.required,te=n["aria-required"];return K===""||K===!0||K==="true"||(te==="true"||te===!0)}),u=t.computed(()=>!!r.error);function p(K){return K?typeof r.itemTitle=="function"?r.itemTitle(K)??"":String((K==null?void 0:K[r.itemTitle])??""):""}function y(K){return K?typeof r.itemValue=="function"?r.itemValue(K):K==null?void 0:K[r.itemValue]:null}function f(K,te){return y(K)??te}const k=t.computed(()=>Array.isArray(r.modelValue)?r.modelValue:[]),m=t.computed(()=>{var K;return!!((K=r.endpoint)!=null&&K.apiUrl)||!!r.fetchItems}),g=t.ref([]),v=t.ref(!1),L=t.ref(!1),w=t.computed(()=>{var te;const K=(te=r.endpoint)==null?void 0:te.apiOptions;if(K)return typeof K=="function"?K():K}),M=t.computed(()=>{var ye,Ve;const K=((ye=r.endpoint)==null?void 0:ye.apiUrl)??"",te=(((Ve=r.endpoint)==null?void 0:Ve.apiMethod)??"GET").toUpperCase(),ne=JSON.stringify(w.value??null);return`${te} ${K} :: ${ne}`}),C=t.computed(()=>m.value?g.value:r.items||[]);async function S(){var K;if(m.value&&!(!((K=r.endpoint)!=null&&K.apiUrl)&&!r.fetchItems)&&!v.value){v.value=!0;try{let te;if(r.fetchItems){const ne=await r.fetchItems(),ye=(ne==null?void 0:ne.data)??ne;te=(ye==null?void 0:ye.data)??ye}else{const{DCodeApi:ne}=Ke();if(typeof ne!="function"){console.error("[DCodeMultiSelectChips] useApi() must expose DCodeApi()");return}const ye={page:1,perPage:100,...w.value||{}},Ve=await ne("","",ye,{_url:r.endpoint.apiUrl,_method:(r.endpoint.apiMethod||"GET").toUpperCase()}),ra=(Ve==null?void 0:Ve.data)??Ve;te=(ra==null?void 0:ra.data)??ra}g.value=Array.isArray(te)?te:[],L.value=!0}catch(te){console.error("[DCodeMultiSelectChips][fetchOptions] ERROR:",te),g.value=[]}finally{v.value=!1}}}t.watch(()=>M.value,()=>{g.value=[],L.value=!1}),t.onMounted(()=>{r.autoFetchOnMount&&m.value&&S()});const b=t.computed(()=>{const K=k.value;if(r.returnObject)return K;const te=new Map;for(const ne of C.value)te.set(y(ne),ne);return K.map(ne=>te.get(ne)??{[r.itemValue]:ne,[r.itemTitle]:String(ne)})}),x=t.computed(()=>r.maxChips===null?b.value:b.value.slice(0,r.maxChips));function I(K){const te=k.value;if(r.returnObject){const ne=y(K);return te.some(ye=>y(ye)===ne)}return te.includes(y(K))}const V=t.computed(()=>{if(r.maxSelected===null||r.maxSelected===void 0)return null;const K=Number(r.maxSelected);return Number.isFinite(K)&&K>0?K:null}),B=t.computed(()=>{const K=V.value;return K===null?!1:k.value.length>=K});function A(K){return!I(K)&&B.value}const P=t.computed(()=>{const K=k.value,te=new Set;if(r.returnObject)for(const ne of K)te.add(y(ne));else for(const ne of K)te.add(ne);return te}),D=t.computed(()=>{const K=P.value;return(C.value||[]).filter(te=>!K.has(y(te)))}),U=t.computed(()=>C.value.length===0?!1:D.value.length===0),T=t.ref(null),H=t.ref(null),N=t.ref(null),Q=t.ref(!1),j=t.ref(""),F=t.ref(0),R=t.ref(0),{floatingStyles:Z}=Q1(T,H,{whileElementsMounted:K1,placement:"bottom-start",middleware:[X1(8),Ds(),Z1({padding:8}),Y1({apply({rects:K,elements:te}){Object.assign(te.floating.style,{width:`${K.reference.width}px`,"--floating-width":`${K.reference.width}px`})}})]}),J=t.computed(()=>Z.value),re=t.computed(()=>{const K=Number(r.maxRows);return Number.isFinite(K)&&K>0?K:5});async function de(){r.disabled||(Q.value=!0,R.value=0,requestAnimationFrame(()=>{N.value&&(N.value.scrollTop=0),F.value=0}),m.value&&r.autoFetchOnOpen&&(r.refreshOnOpen||!L.value)&&!v.value&&await S())}function ue(){Q.value=!1}function ve(){Q.value?ue():de()}function le(K){var ne,ye;if(!Q.value)return;const te=K.target;(ne=T.value)!=null&&ne.contains(te)||(ye=H.value)!=null&&ye.contains(te)||ue()}t.onMounted(()=>document.addEventListener("mousedown",le)),t.onBeforeUnmount(()=>document.removeEventListener("mousedown",le));function G(K){if(r.disabled)return;if(A(K)){o("max");return}const te=[...k.value];if(r.returnObject){const ne=y(K);if(te.some(Ve=>y(Ve)===ne))return;o("update:modelValue",[...te,K])}else{const ne=y(K);if(te.includes(ne))return;o("update:modelValue",[...te,ne])}j.value="",R.value=0,requestAnimationFrame(()=>{N.value&&(N.value.scrollTop=0),F.value=0})}function z(K){if(r.disabled)return;const te=[...k.value];if(r.returnObject){const ne=y(K);o("update:modelValue",te.filter(ye=>y(ye)!==ne))}else{const ne=y(K);o("update:modelValue",te.filter(ye=>ye!==ne))}}function W(){r.disabled||(o("update:modelValue",[]),o("clear"),ue())}const ee=t.computed(()=>{const K=j.value.trim().toLowerCase(),te=D.value;return K?te.filter(ne=>p(ne).toLowerCase().includes(K)):te}),pe=t.computed(()=>ee.value.length);t.watch(Q,K=>{K||(j.value="")});const qe=t.computed(()=>{if(U.value)return r.itemHeight;const K=pe.value;return(K<=0?1:Math.min(K,re.value))*r.itemHeight}),ot=t.computed(()=>r.virtual?pe.value*r.itemHeight:0),Mt=t.computed(()=>r.virtual?Math.ceil(qe.value/r.itemHeight)+r.overscan:pe.value),oa=t.computed(()=>{if(!r.virtual)return 0;const K=Math.floor(F.value/r.itemHeight)-Math.floor(r.overscan/2);return Math.max(0,K)}),Aa=t.computed(()=>r.virtual?Math.min(pe.value,oa.value+Mt.value):pe.value),xt=t.computed(()=>r.virtual?oa.value*r.itemHeight:0),$t=t.computed(()=>{const K=ee.value;return r.virtual?K.slice(oa.value,Aa.value):K});function D1(K){const te=K.target;F.value=te.scrollTop}function E1(K){return K===R.value}function O(K){const te=N.value;if(!te||!r.virtual)return;const ne=K*r.itemHeight,ye=ne+r.itemHeight,Ve=te.scrollTop,ra=te.scrollTop+te.clientHeight;ne<Ve?te.scrollTop=ne:ye>ra&&(te.scrollTop=ye-te.clientHeight)}function ae(K){const te=Math.max(0,pe.value-1);R.value=Math.min(te,Math.max(0,R.value+K)),O(R.value)}function he(){const K=ee.value[R.value];K&&G(K)}const _e=t.computed(()=>r.clearable&&!r.disabled&&b.value.length>0),Pe=t.computed(()=>u.value?"border-red-500 ring-[0.5px] ring-red-500":Q.value?"border-gray-700 ring-[0.5px] ring-gray-700 dark:border-gray-300 dark:ring-gray-300":"");return(K,te)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class]),"aria-busy":r.skeleton},[r.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[i.value?(t.openBlock(),t.createElementBlock("div",OG)):t.createCommentVNode("",!0),te[3]||(te[3]=t.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1))],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:d.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.value)+" ",1),h.value?(t.openBlock(),t.createElementBlock("span",FG,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"referenceEl",ref:T,class:"relative"},[t.createVNode(t.unref(Ee),{id:d.value,type:"button",variant:"outline",class:t.normalizeClass(["w-full justify-between h-auto min-h-10 px-3 py-2 transition border",["bg-white dark:bg-neutral-900 border-gray-300 dark:border-gray-700 text-foreground dark:text-gray-300",Pe.value]]),disabled:r.disabled,onClick:ve},{default:t.withCtx(()=>[t.createElementVNode("div",RG,[b.value.length?(t.openBlock(),t.createElementBlock("div",NG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(x.value,(ne,ye)=>(t.openBlock(),t.createBlock(t.unref(_a),{key:`chip-${f(ne,ye)}`,variant:"secondary",class:"gap-1"},{default:t.withCtx(()=>[t.createElementVNode("span",$G,t.toDisplayString(p(ne)),1),r.disabled?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("button",{key:0,class:"ml-1 opacity-70 hover:opacity-100",onClick:t.withModifiers(Ve=>z(ne),["stop"]),"aria-label":"Remove"}," ✕ ",8,UG))]),_:2},1024))),128)),r.maxChips!==null&&b.value.length>r.maxChips?(t.openBlock(),t.createBlock(t.unref(_a),{key:0,variant:"secondary"},{default:t.withCtx(()=>[t.createTextVNode(" +"+t.toDisplayString(b.value.length-(r.maxChips??0)),1)]),_:1})):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",WG,t.toDisplayString(r.placeholder),1))]),t.createElementVNode("div",GG,[_e.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:"text-muted-foreground hover:text-foreground",onClick:t.withModifiers(W,["stop"]),"aria-label":"Clear"}," ✕ ")):t.createCommentVNode("",!0),t.createVNode(t.unref(St),{class:"h-4 w-4 text-muted-foreground"})])]),_:1},8,["id","disabled","class"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[Q.value?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"floatingEl",ref:H,class:"-mt-1 z-[9999] w-[var(--floating-width)] rounded-lg border shadow-lg overflow-hidden bg-white dark:bg-neutral-900 border-gray-200 dark:border-gray-800",style:t.normalizeStyle(J.value)},[r.searchable&&!U.value?(t.openBlock(),t.createElementBlock("div",KG,[t.createVNode(t.unref(o_),{modelValue:j.value,"onUpdate:modelValue":te[0]||(te[0]=ne=>j.value=ne),placeholder:r.searchPlaceholder,class:"h-10",onKeydown:[te[1]||(te[1]=t.withKeys(t.withModifiers(ne=>ae(1),["prevent"]),["down"])),te[2]||(te[2]=t.withKeys(t.withModifiers(ne=>ae(-1),["prevent"]),["up"])),t.withKeys(t.withModifiers(he,["prevent"]),["enter"]),t.withKeys(t.withModifiers(ue,["prevent"]),["esc"])]},null,8,["modelValue","placeholder","onKeydown"])])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"listEl",ref:N,class:"relative overflow-auto",style:t.normalizeStyle({height:qe.value+"px"}),onScroll:D1},[U.value?(t.openBlock(),t.createElementBlock("div",XG," All items have been selected ")):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[r.virtual?(t.openBlock(),t.createElementBlock("div",{key:0,style:t.normalizeStyle({height:ot.value+"px"})},null,4)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(r.virtual?"absolute left-0 top-0 w-full":""),style:t.normalizeStyle(r.virtual?{transform:`translateY(${xt.value}px)`}:void 0)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList($t.value,(ne,ye)=>(t.openBlock(),t.createElementBlock("button",{key:String(f(ne,oa.value+ye)),type:"button",class:t.normalizeClass(["w-full px-3 text-left text-sm flex items-center justify-between gap-3",[A(ne)?"cursor-not-allowed opacity-50":"hover:bg-neutral-50 dark:hover:bg-neutral-800/60",E1(oa.value+ye)?"bg-neutral-50 dark:bg-neutral-800/60":"",I(ne)?"font-semibold":"font-normal"]]),style:t.normalizeStyle({height:r.itemHeight+"px"}),disabled:r.disabled||A(ne),onClick:Ve=>G(ne)},[t.createElementVNode("span",YG,t.toDisplayString(p(ne)),1),I(ne)?(t.openBlock(),t.createElementBlock("span",QG,"✓")):t.createCommentVNode("",!0)],14,ZG))),128))],6),pe.value===0?(t.openBlock(),t.createElementBlock("div",JG,[v.value?(t.openBlock(),t.createElementBlock("span",eK,"Loading data…")):(t.openBlock(),t.createElementBlock("span",tK,"Tidak ada data"))])):t.createCommentVNode("",!0)],64))],36)],4)):t.createCommentVNode("",!0)]))],512),u.value?(t.openBlock(),t.createElementBlock("p",aK,t.toDisplayString(r.error),1)):t.createCommentVNode("",!0)],64))],10,jG)),[[t.vShow,s.value]])}}),oK={class:"space-y-4"},rK={key:0,class:"space-y-1"},iK={class:"text-base font-semibold text-gray-800"},sK={class:"text-sm text-gray-400"},lK={class:"flex items-center gap-2 flex-nowrap"},cK=["value","disabled","onKeydown","onInput","onPaste"],r_=t.defineComponent({name:"DCodeOtpInput",__name:"DCodeOtpInput",props:{modelValue:{default:""},totalInput:{default:6},default:{default:""},label:{default:""},endpoint:{},submitFn:{}},emits:["updateOtp","update:modelValue","complete","loading","success","error"],setup(a,{emit:e}){const n=a,o=e,r=t.ref([]),i=t.ref([]),s=t.ref(!1),{DCodeApi:c}=Ke(),d=JI(),h=t.computed(()=>{const w=Number(n.totalInput);return w&&w>0?w:6}),u=()=>{i.value=Array.from({length:h.value},(w,M)=>{var C;return((C=n.default)==null?void 0:C[M])??""}),o("updateOtp",i.value.join(""))};u(),t.watch(()=>[n.totalInput,n.default],()=>u());const p=w=>{w<0||w>=h.value||t.nextTick(()=>{var M;return(M=r.value[w])==null?void 0:M.focus()})},y=w=>w.match(/[a-zA-Z0-9]/)?w.match(/[a-zA-Z0-9]/)[0]:"";async function f(w){var M;if(o("complete",w),n.submitFn){try{s.value=!0,o("loading",!0);const C=await n.submitFn(w);o("success",C)}catch(C){console.error("OTP Submit Error",C),d.error("Submit Failed",(C==null?void 0:C.message)||"Unknown error"),o("error",(C==null?void 0:C.message)||"Submit Failed")}finally{s.value=!1,o("loading",!1)}return}if((M=n.endpoint)!=null&&M.apiUrl){if(typeof c!="function"){o("error","useApi() must expose DCodeApi()");return}try{s.value=!0,o("loading",!0);const C=(n.endpoint.apiMethod||"POST").toUpperCase(),S=n.endpoint.apiUrl,b=await c("","",{otp:w},{_url:S,_method:C,withCredentials:!0}),x=(b==null?void 0:b.data)??b;o("success",x)}catch(C){console.error("OTP Submit Error",C),d.error("Submit Failed",(C==null?void 0:C.message)||"Unknown error"),o("error",(C==null?void 0:C.message)||"Submit Failed")}finally{s.value=!1,o("loading",!1)}}}const k=(w,M)=>{i.value[w]=y(M);const C=i.value.join("");o("updateOtp",C),o("update:modelValue",C),C.length===h.value&&f(C)},m=(w,M)=>{const C=w.key,S=/^\d$/.test(C),b=/^[a-zA-Z]$/.test(C);if(C==="Backspace"){if(w.preventDefault(),i.value[M]){k(M,"");return}M>0&&(k(M-1,""),p(M-1));return}if(C==="ArrowLeft"){w.preventDefault(),p(M-1);return}if(C==="ArrowRight"){w.preventDefault(),p(M+1);return}if(S||b){w.preventDefault(),k(M,C),M<h.value-1&&p(M+1);return}C.length===1&&w.preventDefault()},g=(w,M)=>{const C=w.target,S=C.value??"",b=y(S);C.value=b,k(M,b),b&&M<h.value-1&&p(M+1)},v=(w,M)=>{var I;w.preventDefault();const S=(((I=w.clipboardData)==null?void 0:I.getData("text"))??"").replaceAll(/[^a-zA-Z0-9]/g,"");if(!S)return;let b=M;for(const V of S){if(b>=h.value)break;i.value[b]=V,b++}const x=i.value.join("");o("updateOtp",x),o("update:modelValue",x),x.length===h.value&&f(x),p(Math.min(b,h.value-1))},L=w=>M=>{r.value[w]=(M==null?void 0:M.$el)??M};return(w,M)=>(t.openBlock(),t.createElementBlock("div",oK,[n.label||h.value?(t.openBlock(),t.createElementBlock("div",rK,[t.createElementVNode("h6",iK,t.toDisplayString(n.label||"Masukkan kode keamanan"),1),t.createElementVNode("p",sK," Ketik "+t.toDisplayString(h.value)+" digit kode verifikasi Anda ",1)])):t.createCommentVNode("",!0),t.createElementVNode("div",lK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,C=>(t.openBlock(),t.createElementBlock("input",{key:C,ref_for:!0,ref:L(C-1),value:i.value[C-1]||"",type:"text",inputmode:"text",maxlength:"1",autocomplete:"one-time-code","aria-label":"`OTP digit ${i}`",placeholder:"*",disabled:s.value,class:t.normalizeClass(["w-12 h-12 flex-none text-center text-xl font-bold rounded-xl border-2 transition-all duration-200 box-border p-0","focus:outline-none focus:scale-105 disabled:opacity-50 disabled:cursor-not-allowed",i.value[C-1]?"border-blue-500 bg-blue-50 text-blue-700 shadow-sm shadow-blue-100":"border-gray-200 bg-gray-50 text-gray-400 focus:border-blue-400 focus:bg-white focus:shadow-md focus:shadow-blue-50"]),onKeydown:S=>m(S,C-1),onInput:S=>g(S,C-1),onPaste:S=>v(S,C-1)},null,42,cK))),128))])]))}}),dK={class:"w-full"},hK={key:0,class:"flex items-center justify-between mb-2"},uK={key:0,class:"text-sm font-medium text-gray-700"},pK={key:1,class:"text-sm text-gray-600"},yK={name:"DCodeProgress"},Fz=t.defineComponent({...yK,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(a,{emit:e}){const n=a,o=t.computed(()=>Math.min(n.modelValue/n.max*100,100)),r=t.computed(()=>["w-full rounded-full overflow-hidden",{sm:"h-1",md:"h-2",lg:"h-3"}[n.size],"bg-gray-200"].join(" ")),i=t.computed(()=>{const c={blue:"bg-blue-500",green:"bg-green-500",red:"bg-red-500",yellow:"bg-yellow-500",purple:"bg-purple-500",gray:"bg-gray-500"},d=["h-full transition-all duration-300 ease-out",c[n.color]||c.blue];return n.striped&&d.push("bg-gradient-to-r from-transparent via-white/20 to-transparent"),n.animated&&d.push("animate-pulse"),d.join(" ")}),s=t.computed(()=>`${Math.round(o.value)}%`);return(c,d)=>(t.openBlock(),t.createElementBlock("div",dK,[a.label||a.showValue?(t.openBlock(),t.createElementBlock("div",hK,[a.label?(t.openBlock(),t.createElementBlock("span",uK,t.toDisplayString(a.label),1)):t.createCommentVNode("",!0),a.showValue?(t.openBlock(),t.createElementBlock("span",pK,t.toDisplayString(s.value),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(r.value)},[t.createElementVNode("div",{class:t.normalizeClass(i.value),style:t.normalizeStyle({width:`${o.value}%`})},null,6)],2)]))}}),fK={key:0,class:"fixed top-0 left-0 right-0 z-[10000] h-[3px]"},Rz=Xt(t.defineComponent({name:"DCodeProgressBar",__name:"DCodeProgressBar",props:{isApiLoading:{type:Boolean,default:!1},apiProgress:{default:0}},setup(a){return(e,n)=>(t.openBlock(),t.createBlock(t.Transition,{name:"fade"},{default:t.withCtx(()=>[a.isApiLoading?(t.openBlock(),t.createElementBlock("div",fK,[t.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:t.normalizeStyle({width:`${a.apiProgress}%`})},null,4)])):t.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-85c68054"]]),kK={class:"grid gap-3"},mK={key:0,class:"ml-1 text-destructive"},gK={class:"flex flex-col"},bK={key:0,class:"flex items-center gap-2 text-sm text-gray-500 mb-2"},MK={class:"relative flex-shrink-0 mt-0.5"},xK=["id","name","value","checked","disabled","required","onChange"],wK=["onClick"],vK=["for"],CK={key:0,class:"ml-1 text-red-500"},LK={key:1,class:"flex items-center gap-1 text-sm text-red-500 mt-1"},Nz=t.defineComponent({name:"DCodeRadio",inheritAttrs:!1,__name:"DCodeRadio",props:{modelValue:{default:void 0},label:{default:""},itemTitle:{default:"name"},itemValue:{default:"id"},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:""}},emits:["update:modelValue","change"],setup(a,{emit:e}){t.useAttrs();const{apiUrl:n}=Ke(),o=e,r=a,i=t.ref([]),s=t.ref(!1),c=t.ref(null),d=async()=>{var M,C;const w=((M=r.endpoint)==null?void 0:M.apiUrl)||r.apiUrl;if(w){s.value=!0,c.value=null;try{const S={page:1,perPage:100},b=((C=r.endpoint)==null?void 0:C.apiMethod)||r.apiMethod,x=await n(w,b,S);let I=x;r.dataPath?I=r.dataPath.split(".").reduce((B,A)=>B&&B[A]!=="undefined"?B[A]:void 0,x):typeof x=="object"&&!Array.isArray(x)&&x.data&&(I=x.data),Array.isArray(I)?i.value=I:(console.warn("DCodeRadio: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),c.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(S){console.error("DCodeRadio fetch error:",S),c.value="Gagal memuat data dari endpoint."}finally{s.value=!1}}};t.onMounted(()=>{var w;((w=r.endpoint)!=null&&w.apiUrl||r.apiUrl)&&d()});const h=t.computed(()=>{if(r.options&&r.options.length>0)return r.options;if(i.value.length>0)return i.value;const w=r.itemValue||r.model||"id",M=r.itemTitle||(r.label===""?"name":r.label);return M&&r.label!==""?[{[w]:w,[M]:M}]:[]}),u=w=>{if(typeof w!="object")return w;const M=r.itemValue||r.model||"id";return w[M]},p=w=>{if(typeof w!="object")return String(w);const M=r.itemTitle||"name";return w[M]},y=t.computed(()=>r.model||`radio-group-${Math.random().toString(36).substr(2,9)}`),f=t.computed(()=>!!r.error||!!c.value),k=t.computed(()=>r.error||c.value),m=w=>w==null?r.modelValue===w:String(r.modelValue)===String(w),g=t.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"}})[r.size]),v=(w,M)=>{M.target.checked&&(o("update:modelValue",w),o("change",w))},L=w=>{!r.disabled&&!m(w)&&(o("update:modelValue",w),o("change",w))};return(w,M)=>(t.openBlock(),t.createElementBlock("div",kK,[a.label?(t.openBlock(),t.createBlock(La,{key:0,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",mK,"*")):t.createCommentVNode("",!0)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",gK,[s.value?(t.openBlock(),t.createElementBlock("div",bK,[t.createVNode(t.unref(kt),{class:"w-4 h-4 animate-spin"}),M[0]||(M[0]=t.createTextVNode(" Sedang memuat opsi... ",-1))])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["flex",a.layout?"flex-row flex-wrap gap-4":"flex-col gap-3"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(C,S)=>(t.openBlock(),t.createElementBlock("div",{key:S,class:t.normalizeClass(["flex items-start",g.value.container,a.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"])},[t.createElementVNode("div",MK,[t.createElementVNode("input",{id:a.id?`${a.id}-${S}`:`${y.value}-${S}`,name:y.value,type:"radio",value:u(C),checked:m(u(C)),disabled:a.disabled,required:a.required&&S===0,onChange:b=>v(u(C),b),class:"w-5 h-5 text-blue-600 focus:ring-blue-500 border-gray-300"},null,40,xK)]),t.createElementVNode("div",{class:"flex-1 min-w-0",onClick:b=>L(u(C))},[t.createElementVNode("label",{for:a.id?`${a.id}-${S}`:`${y.value}-${S}`,class:t.normalizeClass([g.value.label,"font-medium cursor-pointer select-none text-foreground dark:text-gray-300",a.disabled?"cursor-not-allowed opacity-50":""])},[t.createTextVNode(t.toDisplayString(p(C))+" ",1),a.required&&h.value.length===1&&a.label?(t.openBlock(),t.createElementBlock("span",CK,"*")):t.createCommentVNode("",!0)],10,vK)],8,wK)],2))),128))],2),f.value&&k.value?(t.openBlock(),t.createElementBlock("div",LK,[t.createVNode(t.unref(It),{class:"w-4 h-4 flex-shrink-0"}),t.createTextVNode(" "+t.toDisplayString(k.value),1)])):t.createCommentVNode("",!0)])]))}}),SK={class:"grid gap-3"},IK={key:0,class:"ml-1 text-destructive"},_K={class:"flex flex-col"},AK={key:0,class:"flex items-center gap-2 text-sm text-gray-500 dark:text-neutral-400 mb-2"},BK=["onClick"],VK=["id","name","value","checked","disabled","required","onChange"],zK={key:1,class:"w-6 h-6",fill:"currentColor",viewBox:"0 0 20 20"},qK=["for"],PK={key:0,class:"ml-1 text-red-500"},DK={key:1,class:"flex items-center gap-1 text-sm text-red-500 mt-2"},$z=t.defineComponent({name:"DCodeRadioCustom",inheritAttrs:!1,__name:"DCodeRadioCustom",props:{modelValue:{default:void 0},icon:{},itemTitle:{default:"name"},itemValue:{default:"id"},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:""}},emits:["update:modelValue","change"],setup(a,{emit:e}){t.useAttrs();const{apiUrl:n}=Ke(),o=e,r=a,i=t.ref(r.modelValue??void 0);t.watch(()=>r.modelValue,I=>{i.value=I},{immediate:!0});const s=t.ref([]),c=t.ref(!1),d=t.ref(null),h=async()=>{var V,B;const I=((V=r.endpoint)==null?void 0:V.apiUrl)||r.apiUrl;if(I){c.value=!0,d.value=null;try{const A={page:1,perPage:100},P=((B=r.endpoint)==null?void 0:B.apiMethod)||r.apiMethod,D=await n(I,P,A);let U=D;r.dataPath?U=r.dataPath.split(".").reduce((H,N)=>H&&H[N]!=="undefined"?H[N]:void 0,D):typeof D=="object"&&!Array.isArray(D)&&D.data&&(U=D.data),Array.isArray(U)?s.value=U:(console.warn("DCodeRadioCustom: Format response tidak terdeteksi sebagai Array. Gunakan prop 'dataPath'."),d.value="Format respons data tidak valid. Array tidak ditemukan.")}catch(A){console.error("DCodeRadioCustom fetch error:",A),d.value="Gagal memuat data dari endpoint."}finally{c.value=!1}}},u=t.ref(!1);let p=null;const y=()=>{typeof document<"u"&&(u.value=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"))};t.onMounted(()=>{var I;((I=r.endpoint)!=null&&I.apiUrl||r.apiUrl)&&h(),y(),typeof document<"u"&&(p=new MutationObserver(y),p.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),p.observe(document.body,{attributes:!0,attributeFilter:["class"]}))}),t.onBeforeUnmount(()=>{p&&p.disconnect()});const f=t.computed(()=>{if(r.options&&r.options.length>0)return r.options;if(s.value.length>0)return s.value;const I=r.itemValue||r.model||"id",V=r.itemTitle||(r.label===""?"name":r.label);return V&&r.label!==""?[{[I]:I,[V]:V}]:[]}),k=I=>{if(typeof I!="object")return I;const V=r.itemValue||r.model||"id";return I[V]},m=I=>{if(typeof I!="object")return String(I);const V=r.itemTitle||"name";return I[V]},g=Math.random().toString(36).slice(2,7),v=t.computed(()=>r.id?`radio-custom-${r.id}`:`radio-custom-${r.model}-${g}`),L=t.computed(()=>!!r.error||!!d.value),w=t.computed(()=>r.error||d.value),M=I=>{const V=i.value;return I==null?V===I:String(V)===String(I)},C=t.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"}})[r.size]),S=t.computed(()=>r.icon&&Gt[r.icon]||null),b=(I,V)=>{V.target.checked&&(i.value=I,o("update:modelValue",I),o("change",I))},x=I=>{r.disabled||M(I)||(i.value=I,o("update:modelValue",I),o("change",I))};return(I,V)=>(t.openBlock(),t.createElementBlock("div",SK,[a.label?(t.openBlock(),t.createBlock(La,{key:0,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",IK,"*")):t.createCommentVNode("",!0)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",_K,[c.value?(t.openBlock(),t.createElementBlock("div",AK,[t.createVNode(t.unref(kt),{class:"w-4 h-4 animate-spin"}),V[0]||(V[0]=t.createTextVNode(" Sedang memuat opsi... ",-1))])):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["grid",a.layout?"grid-cols-2 sm:grid-cols-3":"grid-cols-1","gap-3"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(B,A)=>(t.openBlock(),t.createElementBlock("div",{key:A,class:t.normalizeClass(["relative flex flex-col items-center justify-center gap-2 p-4 rounded-xl border-2 transition-all duration-200",M(k(B))?u.value?"border-primary-500 bg-primary-500/10 shadow-none":"border-primary-500 bg-primary-50 shadow-md shadow-primary-100":u.value?"border-neutral-700 bg-neutral-800 hover:border-neutral-600":"border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm",a.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:P=>!a.disabled&&x(k(B))},[t.createElementVNode("input",{id:a.id?`${a.id}-${A}`:`${v.value}-${A}`,name:v.value,type:"radio",value:k(B),checked:M(k(B)),disabled:a.disabled,required:a.required&&A===0,onChange:P=>b(k(B),P),class:"sr-only",tabindex:"-1"},null,40,VK),t.createElementVNode("div",{class:t.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center transition-all duration-200",M(k(B))?u.value?"bg-primary-500/25 text-primary-400":"bg-primary-100 text-primary-600":u.value?"bg-neutral-700 text-neutral-500":"bg-gray-100 text-gray-400"])},[S.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(S.value),{key:0,class:"w-6 h-6"})):(t.openBlock(),t.createElementBlock("svg",zK,[...V[1]||(V[1]=[t.createElementVNode("circle",{cx:"10",cy:"10",r:"6"},null,-1)])]))],2),t.createElementVNode("label",{for:a.id?`${a.id}-${A}`:`${v.value}-${A}`,class:t.normalizeClass([C.value.label,"font-medium text-center leading-tight select-none transition-colors duration-200",M(k(B))?u.value?"text-primary-400":"text-primary-700":u.value?"text-neutral-300":"text-gray-700",a.disabled?"cursor-not-allowed":"cursor-pointer"])},[t.createTextVNode(t.toDisplayString(m(B))+" ",1),a.required&&f.value.length===1&&a.label?(t.openBlock(),t.createElementBlock("span",PK,"*")):t.createCommentVNode("",!0)],10,qK)],10,BK))),128))],2),L.value&&w.value?(t.openBlock(),t.createElementBlock("div",DK,[t.createVNode(t.unref(It),{class:"w-4 h-4 flex-shrink-0"}),t.createTextVNode(" "+t.toDisplayString(w.value),1)])):t.createCommentVNode("",!0)])]))}}),EK={key:0,class:"ml-1 text-destructive"},TK={class:"relative w-full"},HK={key:0,class:"mb-2 flex items-center justify-between"},jK={class:"text-sm text-muted-foreground"},OK={class:"text-sm font-medium text-foreground"},FK={class:"text-sm text-muted-foreground"},RK={class:"relative"},NK=["id","value","min","max","step","disabled","placeholder"],$K={key:1,class:"relative mt-2"},UK={class:"text-xs text-muted-foreground mt-1"},WK={key:1,class:"flex items-center gap-1 text-sm text-destructive"},GK={name:"DCodeSlider"},i_=t.defineComponent({...GK,name:"DCodeSlider",inheritAttrs:!1,props:{modelValue:{default:0},min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1},label:{default:""},placeholder:{default:""},required:{type:Boolean,default:!1},error:{default:null},showValue:{type:Boolean,default:!0},valuePrefix:{default:""},valueSuffix:{default:""},marks:{default:()=>[]},color:{default:"blue"},size:{default:"md"}},emits:["update:modelValue","change","input"],setup(a,{emit:e}){const n=t.useAttrs(),o=e,r=a,i=t.ref(),s=t.ref(!1),c=t.computed(()=>!!r.error),d=t.computed(()=>`slider-${Math.random().toString(36).substr(2,9)}`),h=t.computed(()=>(r.label||n.label)??void 0),u=t.computed(()=>!0),p=t.computed(()=>{const C={sm:"h-2",md:"h-2.5",lg:"h-3"},S={blue:"accent-blue-500",green:"accent-green-500",red:"accent-red-500",yellow:"accent-yellow-500",purple:"accent-purple-500",gray:"accent-gray-500"};return["w-full appearance-none bg-transparent rounded-lg outline-none transition-all cursor-pointer relative z-10","disabled:opacity-50 disabled:cursor-not-allowed",C[r.size],S[r.color]||S.blue,c.value?"accent-red-500":"",n.class].filter(Boolean).join(" ")}),y=t.computed(()=>["appearance-none bg-white border-2 border-current rounded-full cursor-pointer transition-all","hover:scale-110 focus:scale-110","shadow-md hover:shadow-lg focus:shadow-lg","focus:outline-none focus:ring-2 focus:ring-offset-2",{sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"}[r.size],r.color==="blue"?"focus:ring-blue-500":r.color==="green"?"focus:ring-green-500":r.color==="red"?"focus:ring-red-500":r.color==="yellow"?"focus:ring-yellow-500":r.color==="purple"?"focus:ring-purple-500":"focus:ring-gray-500"].join(" ")),f=t.computed(()=>`${r.valuePrefix}${r.modelValue}${r.valueSuffix}`),k=t.computed(()=>{const C=r.max-r.min;return(r.modelValue-r.min)/C*100}),m=C=>{const S=C.target,b=parseFloat(S.value);o("update:modelValue",b),o("input",b)},g=C=>{const S=C.target,b=parseFloat(S.value);o("change",b)},v=()=>{s.value=!0},L=()=>{s.value=!1},w=C=>{const S=r.max-r.min;return(C-r.min)/S*100},M=t.computed(()=>{const C={sm:16,md:20,lg:24};return`
8565
8565
  input[type="range"]::-webkit-slider-thumb {
8566
8566
  ${y.value}
8567
8567
  width: ${C[r.size]}px;
@@ -8592,4 +8592,4 @@ For more information, see https://www.reka-ui.com/docs/components/${n}`,c=`Warni
8592
8592
  }
8593
8593
  `});return(C,S)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-2 w-full",t.unref(n).class]),"aria-busy":!1},[h.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:d.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(h.value)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",EK,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",TK,[a.showValue?(t.openBlock(),t.createElementBlock("div",HK,[t.createElementVNode("span",jK,t.toDisplayString(r.valuePrefix)+t.toDisplayString(a.min)+t.toDisplayString(r.valueSuffix),1),t.createElementVNode("span",OK,t.toDisplayString(f.value),1),t.createElementVNode("span",FK,t.toDisplayString(r.valuePrefix)+t.toDisplayString(a.max)+t.toDisplayString(r.valueSuffix),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",RK,[t.createElementVNode("div",{class:t.normalizeClass(["absolute top-1/2 -translate-y-1/2 w-full h-full bg-gray-200 rounded-lg pointer-events-none",[a.size==="sm"?"h-2":a.size==="md"?"h-2.5":"h-3"]])},[t.createElementVNode("div",{class:t.normalizeClass(["absolute top-0 left-0 h-full rounded-lg transition-all",[a.color==="blue"?"bg-blue-500":a.color==="green"?"bg-green-500":a.color==="red"?"bg-red-500":a.color==="yellow"?"bg-yellow-500":a.color==="purple"?"bg-purple-500":"bg-gray-500"]]),style:t.normalizeStyle({width:`${k.value}%`})},null,6)],2),t.createElementVNode("input",{id:d.value,ref_key:"sliderRef",ref:i,type:"range",value:a.modelValue,min:a.min,max:a.max,step:a.step,disabled:a.disabled,placeholder:a.placeholder,class:t.normalizeClass(p.value),onInput:m,onChange:g,onMousedown:v,onMouseup:L,onTouchstart:v,onTouchend:L},null,42,NK)]),a.marks.length>0?(t.openBlock(),t.createElementBlock("div",$K,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.marks,b=>(t.openBlock(),t.createElementBlock("div",{key:b.value,class:"absolute flex flex-col items-center",style:t.normalizeStyle({left:`${w(b.value)}%`,transform:"translateX(-50%)"})},[S[0]||(S[0]=t.createElementVNode("div",{class:"w-1 h-2 bg-gray-400 rounded-full"},null,-1)),t.createElementVNode("span",UK,t.toDisplayString(b.label),1)],4))),128))])):t.createCommentVNode("",!0)]),c.value?(t.openBlock(),t.createElementBlock("div",WK,[S[1]||(S[1]=t.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t.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)),t.createTextVNode(" "+t.toDisplayString(a.error),1)])):t.createCommentVNode("",!0),M.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent("style"),{key:2},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(M.value),1)]),_:1})):t.createCommentVNode("",!0)],2)),[[t.vShow,u.value]])}}),KK={class:"inline-flex items-center gap-3"},XK=["for"],ZK={key:0,class:"text-red-500 ml-1"},YK=["id","name","aria-checked","aria-label","disabled"],QK={key:0,class:"absolute inset-0 flex items-center justify-center"},JK={class:"relative z-10 flex items-center gap-2"},eX=["id","name","aria-checked","aria-label","disabled"],tX={key:0,class:"absolute inset-0 flex items-center justify-center"},aX=["for"],nX={key:0,class:"text-red-500 ml-1"},oX={name:"DCodeSwitch"},s_=t.defineComponent({...oX,props:{modelValue:{type:Boolean,default:!1},label:{default:""},disabled:{type:Boolean,default:!1},size:{default:"medium"},color:{default:"primary"},loading:{type:Boolean,default:!1},labelPosition:{default:"right"},id:{},name:{},required:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!1},tooltipActiveText:{default:"Aktif"},tooltipInactiveText:{default:"Tidak Aktif"}},emits:["update:modelValue","change"],setup(a,{emit:e}){const n=a,o=e,r=t.computed({get:()=>n.modelValue,set:p=>{!n.disabled&&!n.loading&&(o("update:modelValue",p),o("change",p))}}),i=t.computed(()=>{switch(n.size){case"small":return"w-9 h-5";case"large":return"w-14 h-7";default:return"w-11 h-6"}}),s=t.computed(()=>{switch(n.size){case"small":return"w-4 h-4";case"large":return"w-6 h-6";default:return"w-5 h-5"}}),c=t.computed(()=>{switch(n.size){case"small":return"translate-x-4";case"large":return"translate-x-7";default:return"translate-x-5"}}),d=t.computed(()=>{if(n.disabled)return"bg-gray-300";if(!r.value)return"bg-gray-200";switch(n.color){case"success":return"bg-green-500";case"warning":return"bg-yellow-500";case"danger":return"bg-red-500";default:return"bg-blue-500"}}),h=()=>{r.value=!r.value},u=t.computed(()=>r.value?n.tooltipActiveText:n.tooltipInactiveText);return(p,y)=>(t.openBlock(),t.createElementBlock("div",KK,[a.label&&a.labelPosition==="left"?(t.openBlock(),t.createElementBlock("label",{key:0,for:a.id,class:t.normalizeClass(["text-sm font-medium text-gray-700 cursor-pointer",{"opacity-50":a.disabled}])},[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",ZK,"*")):t.createCommentVNode("",!0)],10,XK)):t.createCommentVNode("",!0),t.createVNode(t.unref(lB),null,{default:t.withCtx(()=>[a.showTooltip?(t.openBlock(),t.createBlock(t.unref(iB),{key:0,"delay-duration":200},{default:t.withCtx(()=>[t.createVNode(t.unref(cB),{"as-child":""},{default:t.withCtx(()=>[t.createElementVNode("button",{type:"button",id:a.id,name:a.name,"aria-checked":r.value?"true":"false","aria-label":a.label||"Toggle switch",disabled:a.disabled||a.loading,class:t.normalizeClass([i.value,d.value,"relative inline-flex items-center rounded-full transition-all duration-300 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","hover:scale-105 active:scale-95",{"cursor-not-allowed opacity-50":a.disabled,"cursor-wait":a.loading,"cursor-pointer":!a.disabled&&!a.loading}]),onClick:h},[t.createElementVNode("span",{class:t.normalizeClass([s.value,r.value?c.value:"translate-x-0.5","inline-block transform rounded-full bg-white shadow-lg transition-all duration-300 ease-in-out","hover:shadow-xl flex items-center justify-center"])},[a.loading?(t.openBlock(),t.createElementBlock("span",QK,[...y[0]||(y[0]=[t.createElementVNode("svg",{class:"animate-spin h-3 w-3 text-gray-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[t.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),t.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)])])):t.createCommentVNode("",!0),t.createVNode(t.Transition,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"scale-0 rotate-90 opacity-0","enter-to-class":"scale-100 rotate-0 opacity-100","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"scale-100 rotate-0 opacity-100","leave-to-class":"scale-0 -rotate-90 opacity-0"},{default:t.withCtx(()=>[r.value&&!a.loading?(t.openBlock(),t.createBlock(t.unref(ca),{key:0,class:t.normalizeClass([a.size==="small"?"w-2.5 h-2.5":a.size==="large"?"w-4 h-4":"w-3 h-3","text-green-600 stroke-[3]"])},null,8,["class"])):!r.value&&!a.loading?(t.openBlock(),t.createBlock(t.unref(it),{key:1,class:t.normalizeClass([a.size==="small"?"w-2.5 h-2.5":a.size==="large"?"w-4 h-4":"w-3 h-3","text-gray-400 stroke-[3]"])},null,8,["class"])):t.createCommentVNode("",!0)]),_:1})],2)],10,YK)]),_:1}),t.createVNode(t.unref(sB),{side:"top","side-offset":8,class:t.normalizeClass(["animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 px-3 py-2 rounded-lg text-sm font-medium shadow-xl border-0",[r.value?"bg-green-600 dark:bg-green-500 text-white":"bg-gray-700 dark:bg-gray-600 text-white"]])},{default:t.withCtx(()=>[t.createElementVNode("span",JK,[t.createElementVNode("span",{class:t.normalizeClass(["inline-block w-2 h-2 rounded-full animate-pulse",r.value?"bg-green-200":"bg-gray-300"])},null,2),t.createTextVNode(" "+t.toDisplayString(u.value),1)])]),_:1},8,["class"])]),_:1})):(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",id:a.id,name:a.name,"aria-checked":r.value?"true":"false","aria-label":a.label||"Toggle switch",disabled:a.disabled||a.loading,class:t.normalizeClass([i.value,d.value,"relative inline-flex items-center rounded-full transition-all duration-300 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","hover:scale-105 active:scale-95",{"cursor-not-allowed opacity-50":a.disabled,"cursor-wait":a.loading,"cursor-pointer":!a.disabled&&!a.loading}]),onClick:h},[t.createElementVNode("span",{class:t.normalizeClass([s.value,r.value?c.value:"translate-x-0.5","inline-block transform rounded-full bg-white shadow-lg transition-all duration-300 ease-in-out","hover:shadow-xl flex items-center justify-center"])},[a.loading?(t.openBlock(),t.createElementBlock("span",tX,[...y[1]||(y[1]=[t.createElementVNode("svg",{class:"animate-spin h-3 w-3 text-gray-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[t.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),t.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})],-1)])])):t.createCommentVNode("",!0),t.createVNode(t.Transition,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"scale-0 rotate-90 opacity-0","enter-to-class":"scale-100 rotate-0 opacity-100","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"scale-100 rotate-0 opacity-100","leave-to-class":"scale-0 -rotate-90 opacity-0"},{default:t.withCtx(()=>[r.value&&!a.loading?(t.openBlock(),t.createBlock(t.unref(ca),{key:0,class:t.normalizeClass([a.size==="small"?"w-2.5 h-2.5":a.size==="large"?"w-4 h-4":"w-3 h-3","text-green-600 stroke-[3]"])},null,8,["class"])):!r.value&&!a.loading?(t.openBlock(),t.createBlock(t.unref(it),{key:1,class:t.normalizeClass([a.size==="small"?"w-2.5 h-2.5":a.size==="large"?"w-4 h-4":"w-3 h-3","text-gray-400 stroke-[3]"])},null,8,["class"])):t.createCommentVNode("",!0)]),_:1})],2)],10,eX))]),_:1}),a.label&&a.labelPosition==="right"?(t.openBlock(),t.createElementBlock("label",{key:1,for:a.id,class:t.normalizeClass(["text-sm font-medium text-gray-700 cursor-pointer",{"opacity-50":a.disabled}])},[t.createTextVNode(t.toDisplayString(a.label)+" ",1),a.required?(t.openBlock(),t.createElementBlock("span",nX,"*")):t.createCommentVNode("",!0)],10,aX)):t.createCommentVNode("",!0)]))}}),rX=["aria-busy"],iX={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},sX={key:1,class:"flex justify-end"},lX={key:0,class:"ml-1 text-destructive"},cX={class:"relative w-full group"},dX={key:0,class:"absolute inset-y-0 left-4 flex items-center text-muted-foreground"},hX={key:1},uX={key:1,class:"absolute inset-y-0 right-4 flex items-center"},pX={key:2,class:"absolute inset-y-0 right-4 flex items-center"},yX={key:3,class:"absolute top-full right-0 z-10 text-[11px] text-gray-500 dark:text-gray-400 opacity-0 transition-opacity pointer-events-none group-focus-within:opacity-100"},fX={key:1,class:"text-xs text-destructive"},l_=t.defineComponent({name:"DCodeTextField",inheritAttrs:!1,__name:"DCodeTextField",props:{modelValue:{},prependInner:{},clearable:{type:Boolean},hideClearWhenEmpty:{type:Boolean,default:!0},textCase:{default:"none"},applyTextCaseToValue:{type:Boolean,default:!0},valueType:{default:"free"},allowSpaces:{type:Boolean,default:!0},allowChars:{},pattern:{},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},showCharCount:{type:Boolean,default:!0},returnNumber:{type:Boolean,default:!1},error:{default:null},placeholder:{default:""},icon:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","clear"],setup(a,{emit:e}){const n=t.useAttrs(),o=t.computed(()=>{var z;return((z=c.valueType)==null?void 0:z.toLowerCase())==="password"||n.type==="password"}),r=t.ref(!1),i=()=>{r.value=!r.value},s=e,c=a,d=t.computed(()=>n.label);t.computed(()=>c.visible??!0);const h=Math.random().toString(36).slice(2,7),u=t.computed(()=>`app-text-field-${n.id||d.value||"field"}-${h}`),p=t.computed(()=>{const z=n.required,W=n["aria-required"];return z===""||z===!0||z==="true"||(W==="true"||W===!0)}),y=t.computed(()=>{const{label:z,class:W,id:ee,required:pe,"aria-required":qe,...ot}=n;return ot}),f=t.computed(()=>{var W,ee;const z={...y.value};return((W=c.valueType)==null?void 0:W.toLowerCase())==="number"&&(z.type="text",z.inputmode="numeric",z.pattern="[0-9]*"),((ee=c.valueType)==null?void 0:ee.toLowerCase())==="email"&&(z.type="email",z.inputmode="email"),o.value&&(z.type=r.value?"text":"password"),c.disabled&&(z.disabled=!0),z}),k=t.computed(()=>{const z=c.modelValue;return z==null||String(z).length===0}),m=t.computed(()=>c.clearable?c.hideClearWhenEmpty?!k.value:!0:!1),g=t.computed(()=>{switch(c.textCase){case"uppercase":return"uppercase";case"lowercase":return"lowercase";default:return"none"}}),v=t.ref(String(c.modelValue??""));t.watch(()=>c.modelValue,z=>{const W=String(z??"");W!==v.value&&(v.value=W)});const L=t.ref(!1),w=t.ref(!1),M=z=>z.split(/(\s+)/).map(W=>{if(W.trim()==="")return W;const ee=W.toLowerCase();return ee.charAt(0).toUpperCase()+ee.slice(1)}).join(""),C=z=>{const W=z.toLowerCase(),ee=W.search(new RegExp("\\p{L}","u"));return ee<0?W:W.slice(0,ee)+W.charAt(ee).toUpperCase()+W.slice(ee+1)},S=z=>{switch(c.textCase){case"uppercase":return z.toUpperCase();case"lowercase":return z.toLowerCase();case"titlecase":return M(z);case"sentencecase":return C(z);case"none":default:return z}},b=z=>{if(!z)return null;const W=Array.isArray(z)?z.join(""):z;return W?new Set(W):null},x=t.computed(()=>b(c.allowChars)),I=(z,W)=>(z.lastIndex=0,z.test(W)),V=z=>{var Mt;const W=(Mt=c.valueType)==null?void 0:Mt.toLowerCase();if(W==="free"||W==="email"||W==="password")return!0;const ee=z===" ",pe=/\d/.test(z),qe=new RegExp("\\p{L}","u").test(z),ot=new RegExp("\\p{N}","u").test(z);return W==="number"?pe:W==="letter"?qe||c.allowSpaces&&ee:W==="letternumber"?qe||ot||c.allowSpaces&&ee:!0},B=z=>{let W="";for(const ee of z){const pe=!!x.value&&x.value.has(ee);c.pattern&&!pe&&!I(c.pattern,ee)||!pe&&!V(ee)||(W+=ee)}return W},A=t.computed(()=>{const z=n.maxlength??n.maxLength;let W=Number.NaN;return typeof z=="number"?W=z:typeof z=="string"&&(W=Number.parseInt(z,10)),Number.isFinite(W)&&W>0?W:-1}),P=t.computed(()=>v.value.length),D=t.computed(()=>c.showCharCount?A.value>0:!1),U=z=>A.value>0?z.slice(0,A.value):z,T=z=>{const W=B(z),ee=c.applyTextCaseToValue?S(W):W;return U(ee)};let H=null;const N=z=>{var W;if(z==="")return null;if(((W=c.valueType)==null?void 0:W.toLowerCase())==="number"&&c.returnNumber){const ee=Number(z);return Number.isFinite(ee)?ee:null}return z},Q=z=>{v.value=z,s("update:modelValue",N(z))},j=(z,W)=>{const ee=U(W);w.value=!0,z.value=ee,Q(ee),queueMicrotask(()=>w.value=!1)},F=(z,W)=>{const ee=z.selectionStart??z.value.length,pe=z.selectionEnd??z.value.length;if(A.value>0){const qe=z.value.length-(pe-ee),ot=A.value-qe;if(ot<=0)return;W=W.slice(0,ot)}z.setRangeText(W,ee,pe,"end"),j(z,T(z.value))},R=z=>{var pe;if(!H||L.value||w.value||!((pe=z.inputType)!=null&&pe.startsWith("insert")))return;const W=z.data;if(W==null)return;const ee=T(W);ee!==W&&(z.preventDefault(),ee.length>0&&F(H,ee))},Z=z=>{var pe;if(!H||L.value||w.value)return;const W=((pe=z.clipboardData)==null?void 0:pe.getData("text"))??"",ee=T(W);ee!==W&&(z.preventDefault(),ee.length>0&&F(H,ee))},J=z=>{if(!H||L.value||w.value)return;const W=z.target,ee=W.value??"",pe=T(ee);pe===ee?Q(pe):j(W,pe)},re=()=>L.value=!0,de=()=>{if(L.value=!1,!H)return;const z=H.value??"",W=T(z);W===z?Q(W):j(H,W)};t.onMounted(()=>{if(H=document.getElementById(u.value),!H)return;H.addEventListener("beforeinput",R),H.addEventListener("paste",Z),H.addEventListener("input",J),H.addEventListener("compositionstart",re),H.addEventListener("compositionend",de);const z=H.value??"",W=T(z);W===z?Q(W):j(H,W)}),t.onBeforeUnmount(()=>{H&&(H.removeEventListener("beforeinput",R),H.removeEventListener("paste",Z),H.removeEventListener("input",J),H.removeEventListener("compositionstart",re),H.removeEventListener("compositionend",de),H=null)});const ue=()=>{v.value="",H&&(H.value=""),s("update:modelValue",null),s("clear")},ve=t.computed(()=>D.value&&P.value>0),le=t.computed(()=>`${P.value} / ${A.value}`),G=t.computed(()=>!!c.error);return(z,W)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class]),"aria-busy":c.skeleton},[c.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[d.value?(t.openBlock(),t.createElementBlock("div",iX)):t.createCommentVNode("",!0),W[1]||(W[1]=t.createElementVNode("div",{class:"relative w-full"},[t.createElementVNode("div",{class:"h-10 w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse"})],-1)),D.value?(t.openBlock(),t.createElementBlock("div",sX,[...W[0]||(W[0]=[t.createElementVNode("div",{class:"h-3 w-14 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},null,-1)])])):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[d.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:u.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.value)+" ",1),p.value?(t.openBlock(),t.createElementBlock("span",lX,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",cX,[c.icon||c.prependInner||z.$slots["prepend-inner"]?(t.openBlock(),t.createElementBlock("div",dX,[t.renderSlot(z.$slots,"prepend-inner",{},()=>[c.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c.icon),{key:0,class:"h-4 w-4"})):c.prependInner?(t.openBlock(),t.createElementBlock("span",hX,t.toDisplayString(c.prependInner),1)):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0),t.createVNode(t.unref(o_),t.mergeProps({id:u.value,modelValue:v.value},f.value,{placeholder:c.placeholder,style:`text-transform: ${g.value}; padding-left: ${c.icon||c.prependInner||z.$slots["prepend-inner"]?"2.5rem":"0.75rem"} !important; padding-right: ${m.value||o.value?"2.5rem":"0.75rem"} !important;`,class:["w-full h-10 flex items-center gap-2 rounded-lg border py-2 bg-white dark:bg-neutral-900 text-foreground dark:text-gray-300 border-gray-300 dark:border-gray-700 focus-within:ring-1 focus-within:ring-white",G.value?"border-destructive focus:ring-destructive focus-visible:ring-destructive focus-visible:ring-[0.5px]":""]}),null,16,["id","modelValue","placeholder","style","class"]),o.value?(t.openBlock(),t.createElementBlock("div",uX,[t.createElementVNode("button",{type:"button",class:"text-muted-foreground hover:text-foreground",tabindex:"-1",onClick:i},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value?t.unref(ds):t.unref(Us)),{class:"w-4 h-4"}))])])):t.createCommentVNode("",!0),m.value&&!o.value?(t.openBlock(),t.createElementBlock("div",pX,[t.createElementVNode("button",{type:"button",class:"text-muted-foreground hover:text-foreground text-lg leading-none","aria-label":"Clear input",onClick:ue}," ✕ ")])):t.createCommentVNode("",!0),ve.value&&!G.value?(t.openBlock(),t.createElementBlock("p",yX,t.toDisplayString(le.value),1)):t.createCommentVNode("",!0)]),G.value?(t.openBlock(),t.createElementBlock("p",fX,t.toDisplayString(c.error),1)):t.createCommentVNode("",!0)],64))],10,rX)),[[t.vShow,a.visible]])}}),kX=["aria-busy"],mX={key:0,class:"h-4 w-32 rounded bg-gray-200 dark:bg-gray-700 animate-pulse"},gX={key:0,class:"ml-1 text-destructive"},bX={class:"relative w-full group"},MX=["id","value"],xX={key:0,class:"absolute top-1 right-2"},wX={key:1,class:"absolute top-full right-0 z-10 text-[11px] text-gray-500 dark:text-gray-400 opacity-0 transition-opacity pointer-events-none group-focus-within:opacity-100"},vX={key:1,class:"text-xs text-destructive"},dS=t.defineComponent({name:"DCodeTextarea",inheritAttrs:!1,__name:"DCodeTextarea",props:{modelValue:{},clearable:{type:Boolean},hideClearWhenEmpty:{type:Boolean,default:!0},textCase:{default:"none"},applyTextCaseToValue:{type:Boolean,default:!0},valueType:{default:"free"},allowSpaces:{type:Boolean,default:!0},allowChars:{},pattern:{},visible:{type:Boolean,default:!0},skeleton:{type:Boolean,default:!1},showCharCount:{type:Boolean,default:!0},returnNumber:{type:Boolean,default:!1},error:{default:null}},emits:["update:modelValue","clear"],setup(a,{emit:e}){const n=t.useAttrs(),o=e,r=a,i=t.computed(()=>n.label),s=t.computed(()=>r.visible??!0),c=Math.random().toString(36).slice(2,7),d=t.computed(()=>`app-textarea-${n.id||i.value||"field"}-${c}`),h=t.computed(()=>{const G=n.required,z=n["aria-required"];return G===""||G===!0||G==="true"||(z==="true"||z===!0)}),u=t.computed(()=>{const{label:G,class:z,id:W,required:ee,"aria-required":pe,...qe}=n;return qe}),p=t.computed(()=>{const G=n.maxlength;let z=Number.NaN;return typeof G=="number"?z=G:typeof G=="string"&&(z=Number.parseInt(G,10)),Number.isFinite(z)&&z>0?z:-1}),y=G=>p.value>0?G.slice(0,p.value):G,f=t.computed(()=>{const G=r.modelValue;return G==null||String(G).length===0}),k=t.computed(()=>r.clearable?r.hideClearWhenEmpty?!f.value:!0:!1),m=t.ref(String(r.modelValue??""));t.watch(()=>r.modelValue,G=>{const z=String(G??"");z!==m.value&&(m.value=z)});const g=t.ref(!1),v=t.ref(!1),L=G=>G.split(/(\s+)/).map(z=>{if(z.trim()==="")return z;const W=z.toLowerCase();return W.charAt(0).toUpperCase()+W.slice(1)}).join(""),w=G=>{const z=G.toLowerCase(),W=z.search(new RegExp("\\p{L}","u"));return W<0?z:z.slice(0,W)+z.charAt(W).toUpperCase()+z.slice(W+1)},M=G=>{switch(r.textCase){case"uppercase":return G.toUpperCase();case"lowercase":return G.toLowerCase();case"titlecase":return L(G);case"sentencecase":return w(G);case"none":default:return G}},C=t.computed(()=>{switch(r.textCase){case"uppercase":return"uppercase";case"lowercase":return"lowercase";default:return"none"}}),S=G=>{if(!G)return null;const z=Array.isArray(G)?G.join(""):G;return z?new Set(z):null},b=t.computed(()=>S(r.allowChars)),x=(G,z)=>(G.lastIndex=0,G.test(z)),I=G=>{if(G===`
8594
8594
  `)return r.valueType!=="number";if(r.valueType==="free")return!0;const z=G===" ",W=/\d/.test(G),ee=new RegExp("\\p{L}","u").test(G),pe=new RegExp("\\p{N}","u").test(G);return r.valueType==="number"?W:r.valueType==="letter"?ee||r.allowSpaces&&z:r.valueType==="letternumber"?ee||pe||r.allowSpaces&&z:!0},V=G=>{let z="";for(const W of G){const ee=!!b.value&&b.value.has(W);r.pattern&&!ee&&!x(r.pattern,W)||!ee&&!I(W)||(z+=W)}return z},B=G=>{const z=V(G),W=r.applyTextCaseToValue?M(z):z;return y(W)};let A=null;const P=G=>{if(G==="")return null;if(r.valueType==="number"&&r.returnNumber){const z=G.replaceAll(`
8595
- `,""),W=Number(z);return Number.isFinite(W)?W:null}return G},D=G=>{m.value=G,o("update:modelValue",P(G))},U=(G,z)=>{const W=y(z);v.value=!0,G.value=W,D(W),queueMicrotask(()=>v.value=!1)},T=(G,z)=>{const W=G.selectionStart??G.value.length,ee=G.selectionEnd??G.value.length;if(p.value>0){const pe=G.value.length-(ee-W),qe=p.value-pe;if(qe<=0)return;z=z.slice(0,qe)}G.setRangeText(z,W,ee,"end"),U(G,B(G.value))},H=G=>{var ee;if(!A||g.value||v.value||!((ee=G.inputType)!=null&&ee.startsWith("insert")))return;const z=G.data;if(z==null)return;const W=B(z);W!==z&&(G.preventDefault(),W.length>0&&T(A,W))},N=G=>{var ee;if(!A||g.value||v.value)return;const z=((ee=G.clipboardData)==null?void 0:ee.getData("text"))??"",W=B(z);W!==z&&(G.preventDefault(),W.length>0&&T(A,W))},Q=async G=>{if(!A||g.value||v.value)return;const z=G.target,W=z.value??"",ee=B(W);if(ee===W){const pe=z.selectionStart??ee.length,qe=z.selectionEnd??ee.length;U(z,ee),await t.nextTick();try{z.setSelectionRange(pe,qe)}catch{}D(ee)}else{const pe=z.selectionStart??ee.length,qe=z.selectionEnd??ee.length;U(z,ee),await t.nextTick();try{z.setSelectionRange(pe,qe)}catch{}}},j=()=>g.value=!0,F=()=>{if(g.value=!1,!A)return;const G=A.value??"",z=B(G);z===G?D(z):U(A,z)};t.onMounted(()=>{if(A=document.getElementById(d.value),!A)return;A.addEventListener("beforeinput",H),A.addEventListener("paste",N),A.addEventListener("input",Q),A.addEventListener("compositionstart",j),A.addEventListener("compositionend",F);const G=A.value??"",z=B(G);z===G?D(z):U(A,z)}),t.onBeforeUnmount(()=>{A&&(A.removeEventListener("beforeinput",H),A.removeEventListener("paste",N),A.removeEventListener("input",Q),A.removeEventListener("compositionstart",j),A.removeEventListener("compositionend",F),A=null)});const R=()=>{m.value="",A&&(A.value=""),o("update:modelValue",null),o("clear")},Z=t.computed(()=>m.value.length),J=t.computed(()=>r.showCharCount?p.value>0:!1),re=t.computed(()=>J.value&&Z.value>0),de=t.computed(()=>`${Z.value} / ${p.value}`),ue=t.computed(()=>!!r.error),ve=t.computed(()=>{const G=n.rows,z=typeof G=="number"?G:Number.parseInt(String(G??""),10);return Number.isFinite(z)&&z>0?z:3}),le=t.computed(()=>({height:`${ve.value*24+16}px`}));return(G,z)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class]),"aria-busy":r.skeleton},[r.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[i.value?(t.openBlock(),t.createElementBlock("div",mX)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse",style:t.normalizeStyle(le.value)},null,4)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:d.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.value)+" ",1),h.value?(t.openBlock(),t.createElementBlock("span",gX,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",bX,[t.createElementVNode("textarea",t.mergeProps({id:d.value,value:m.value},u.value,{style:`text-transform: ${C.value}; padding-right: ${k.value?"2.5rem":"0.75rem"} !important; padding-left: 0.75rem !important;`,class:["flex min-h-[120px] w-full rounded-lg border py-2 bg-white dark:bg-neutral-900 text-foreground dark:text-gray-300 border-gray-300 dark:border-gray-700 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",ue.value?"border-destructive focus-visible:ring-destructive":""]}),null,16,MX),k.value?(t.openBlock(),t.createElementBlock("div",xX,[t.createElementVNode("button",{type:"button",class:"text-muted-foreground hover:text-foreground text-sm leading-none","aria-label":"Clear textarea",onClick:R}," ✕ ")])):t.createCommentVNode("",!0),re.value&&!ue.value?(t.openBlock(),t.createElementBlock("p",wX,t.toDisplayString(de.value),1)):t.createCommentVNode("",!0)]),ue.value?(t.openBlock(),t.createElementBlock("p",vX,t.toDisplayString(r.error),1)):t.createCommentVNode("",!0)],64))],10,kX)),[[t.vShow,s.value]])}}),Uz=t.defineComponent({__name:"Avatar",props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:"sm"},shape:{default:"circle"}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(OT),{class:t.normalizeClass(t.unref(be)(t.unref(CX)({size:a.size,shape:a.shape}),e.class))},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}}),Wz=t.defineComponent({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(RT),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),Gz=t.defineComponent({__name:"AvatarImage",props:{src:{},referrerPolicy:{},crossOrigin:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(UT),t.mergeProps(e,{class:"h-full w-full object-cover"}),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),CX=i1("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"}}}),hS=t.defineComponent({__name:"Separator",props:{orientation:{default:"horizontal"},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(fj),t.mergeProps(t.unref(n),{class:t.unref(be)("shrink-0 bg-border",e.orientation==="horizontal"?"h-px w-full":"w-px h-full",e.class)}),null,16,["class"]))}}),LX={class:"bg-card text-card-foreground"},SX={class:"pb-6 px-3"},IX={key:0,class:"flex justify-center p-8"},_X={key:1,class:"p-8 text-center text-red-500"},AX={key:2,class:"relative"},BX={class:"space-y-6"},VX={class:"rounded-xl border bg-card text-card-foreground shadow"},zX={class:"p-4"},qX={class:"flex items-center justify-between gap-3"},PX={class:"font-medium"},DX={class:"text-xs text-muted-foreground"},EX={class:"mt-1 text-sm text-muted-foreground"},TX={class:"text-foreground"},HX={class:"text-foreground"},jX={class:"mt-1 text-xs text-muted-foreground"},OX={key:0,class:"mt-3 flex items-center gap-2 text-sm"},FX={class:"flex items-center justify-between gap-3"},RX={class:"font-medium"},NX={class:"text-xs text-muted-foreground"},$X={class:"mt-2 text-sm text-muted-foreground"},UX={class:"flex flex-wrap items-center justify-between gap-3"},WX={class:"flex items-center gap-3"},GX={class:"leading-tight"},KX={class:"text-sm font-medium"},XX={class:"text-xs text-muted-foreground"},ZX={class:"flex items-center gap-2"},YX={key:2,class:"flex flex-col gap-3 sm:flex-row sm:items-start"},QX={class:"h-16 w-16 shrink-0 rounded-lg bg-muted flex items-center justify-center"},JX=["src"],eZ={class:"flex-1"},tZ={class:"flex items-center justify-between gap-3"},aZ={class:"font-medium"},nZ={class:"text-xs text-muted-foreground"},oZ={class:"mt-1 text-sm text-muted-foreground"},rZ={class:"text-left sm:text-center"},iZ={class:"text-xs text-muted-foreground"},sZ={class:"text-left sm:text-center"},lZ={class:"text-xs text-muted-foreground"},cZ={class:"text-left sm:text-center"},dZ={class:"text-xs text-muted-foreground"},hZ={class:"flex items-center justify-between gap-3"},uZ={class:"font-medium"},pZ={class:"text-xs text-muted-foreground"},yZ={class:"mt-2 text-sm text-muted-foreground"},fZ={class:"mt-3 flex items-center gap-3"},kZ={class:"text-sm font-medium"},mZ={class:"flex items-start justify-between gap-3"},gZ={class:"font-medium"},bZ={class:"mt-3 grid gap-2 text-sm"},MZ={class:"flex items-center justify-between gap-3"},xZ={class:"flex items-center gap-2 text-muted-foreground"},wZ={class:"font-medium"},vZ={class:"flex items-center justify-between gap-3"},CZ={class:"flex items-center gap-2 text-muted-foreground"},LZ={class:"font-medium"},SZ={class:"flex items-center justify-between gap-3"},IZ={class:"flex items-center gap-2 text-muted-foreground"},_Z={class:"font-medium"},AZ={class:"flex items-center justify-between"},BZ={class:"flex items-center gap-2"},VZ={class:"flex items-start justify-between gap-3"},zZ={class:"flex items-center gap-2"},qZ={class:"font-medium"},PZ={class:"mt-2 text-sm text-muted-foreground"},DZ={key:0,class:"mt-1 text-sm text-muted-foreground"},EZ={class:"flex flex-wrap items-center justify-between gap-3"},TZ={class:"flex items-center gap-2"},HZ={class:"text-xs text-muted-foreground"},Kz=t.defineComponent({__name:"DCodeTimelineWithIcons",props:{items:{},apiUrl:{},apiMethod:{}},setup(a){const n=AE(_E).smaller("md");t.ref(!1);const o=a,r=t.ref(!1),i=t.ref(null),s=t.ref([]),c=t.computed(()=>s.value.length>0?s.value:o.items&&o.items.length>0?o.items:[]),d=async()=>{if(o.apiUrl){r.value=!0,i.value=null;try{const p=await fetch(o.apiUrl,{method:o.apiMethod||"GET",headers:{"Content-Type":"application/json"}});if(!p.ok)throw new Error(`Error: ${p.status} ${p.statusText}`);const y=await p.json();Array.isArray(y)?s.value=y:y.data&&Array.isArray(y.data)?s.value=y.data:y.items&&Array.isArray(y.items)?s.value=y.items:s.value=[]}catch(p){console.error("Failed to fetch timeline items:",p),i.value=p.message||"Failed to fetch data"}finally{r.value=!1}}};t.onMounted(()=>{o.apiUrl&&d()}),t.watch(()=>o.apiUrl,()=>{o.apiUrl?d():s.value=[]});const h=p=>{switch(p){case"flight":return{Icon:Ys,Circle:"bg-primary/10 text-primary border-primary/30"};case"interview":return{Icon:Ns,Circle:"bg-emerald-500/10 text-emerald-600 border-emerald-500/30"};case"product":return{Icon:t1,Circle:"bg-amber-500/10 text-amber-600 border-amber-500/30"};case"design":return{Icon:sr,Circle:"bg-sky-500/10 text-sky-600 border-sky-500/30"};case"server":return{Icon:Js,Circle:"bg-rose-500/10 text-rose-600 border-rose-500/30"};case"location":return{Icon:Ks,Circle:"bg-emerald-500/10 text-emerald-600 border-emerald-500/30"};default:return{Icon:Rs,Circle:"bg-primary/10 text-primary border-primary/30"}}},u=p=>p.split(" ").filter(Boolean).slice(0,2).map(y=>{var f;return(f=y[0])==null?void 0:f.toUpperCase()}).join("");return(p,y)=>{const f=t.resolveComponent("ShoppingCart"),k=t.resolveComponent("RefreshCcw"),m=t.resolveComponent("MapPin");return t.openBlock(),t.createElementBlock("div",LX,[y[8]||(y[8]=t.createElementVNode("div",{class:"flex flex-col space-y-1.5 py-6 px-3"},[t.createElementVNode("h3",{class:"leading-none tracking-tight text-lg font-medium"},"Timeline With Icons")],-1)),t.createElementVNode("div",SX,[r.value?(t.openBlock(),t.createElementBlock("div",IX,[...y[0]||(y[0]=[t.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):i.value?(t.openBlock(),t.createElementBlock("div",_X,t.toDisplayString(i.value),1)):(t.openBlock(),t.createElementBlock("div",AX,[y[7]||(y[7]=t.createElementVNode("div",{class:"absolute left-4 top-0 h-full w-px bg-border"},null,-1)),t.createElementVNode("div",BX,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(g,v)=>(t.openBlock(),t.createElementBlock("div",{key:v,class:"relative pl-14"},[t.createElementVNode("div",{class:t.normalizeClass(["absolute left-0 top-2 flex h-8 w-8 items-center justify-center rounded-full border",h(g.type).Circle])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h(g.type).Icon),{class:"h-4 w-4"}))],2),t.createElementVNode("div",VX,[t.createElementVNode("div",zX,[g.type==="flight"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",qX,[t.createElementVNode("p",PX,t.toDisplayString(g.title),1),t.createElementVNode("p",DX,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",EX,[t.createElementVNode("span",TX,t.toDisplayString(g.from),1),t.createVNode(t.unref(Ts),{class:"mx-2 inline h-4 w-4"}),t.createElementVNode("span",HX,t.toDisplayString(g.to),1)]),t.createElementVNode("p",jX,t.toDisplayString(g.time),1),g.fileName?(t.openBlock(),t.createElementBlock("div",OX,[t.createVNode(t.unref(hs),{class:"h-4 w-4 text-muted-foreground"}),t.createElementVNode("span",null,t.toDisplayString(g.fileName),1)])):t.createCommentVNode("",!0)],64)):g.type==="interview"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("div",FX,[t.createElementVNode("p",RX,t.toDisplayString(g.title),1),t.createElementVNode("p",NX,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",$X,t.toDisplayString(g.desc),1),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",UX,[t.createElementVNode("div",WX,[t.createVNode(t.unref(Uz),{class:"h-10 w-10"},{default:t.withCtx(()=>[g.avatarUrl?(t.openBlock(),t.createBlock(t.unref(Gz),{key:0,src:g.avatarUrl},null,8,["src"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Wz),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u(g.personName??"")),1)]),_:2},1024)]),_:2},1024),t.createElementVNode("div",GX,[t.createElementVNode("p",KX,t.toDisplayString(g.personName),1),t.createElementVNode("p",XX,t.toDisplayString(g.personRole),1)])]),t.createElementVNode("div",ZX,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(us),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(Zs),{class:"h-4 w-4"})]),_:1})])])],64)):g.type==="product"?(t.openBlock(),t.createElementBlock("div",YX,[t.createElementVNode("div",QX,[g.imgUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:g.imgUrl,class:"h-full w-full rounded-lg object-cover",alt:"product"},null,8,JX)):(t.openBlock(),t.createBlock(f,{key:1,class:"h-5 w-5 text-muted-foreground"}))]),t.createElementVNode("div",eZ,[t.createElementVNode("div",tZ,[t.createElementVNode("p",aZ,t.toDisplayString(g.title),1),t.createElementVNode("p",nZ,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",oZ,t.toDisplayString(g.desc),1),t.createElementVNode("div",{class:t.normalizeClass(["mt-4 grid gap-3",t.unref(n)?"grid-cols-1":"grid-cols-3"])},[t.createElementVNode("div",rZ,[y[1]||(y[1]=t.createElementVNode("p",{class:"text-sm font-medium"},"Customer",-1)),t.createElementVNode("p",iZ,t.toDisplayString(g.customer),1)]),t.createElementVNode("div",sZ,[y[2]||(y[2]=t.createElementVNode("p",{class:"text-sm font-medium"},"Price",-1)),t.createElementVNode("p",lZ,t.toDisplayString(g.price),1)]),t.createElementVNode("div",cZ,[y[3]||(y[3]=t.createElementVNode("p",{class:"text-sm font-medium"},"Quantity",-1)),t.createElementVNode("p",dZ,t.toDisplayString(g.qty),1)])],2)])])):g.type==="design"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createElementVNode("div",hZ,[t.createElementVNode("p",uZ,t.toDisplayString(g.title),1),t.createElementVNode("p",pZ,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",yZ,t.toDisplayString(g.desc),1),t.createElementVNode("div",fZ,[t.createVNode(t.unref(Uz),{class:"h-10 w-10"},{default:t.withCtx(()=>[g.avatarUrl?(t.openBlock(),t.createBlock(t.unref(Gz),{key:0,src:g.avatarUrl},null,8,["src"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Wz),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u(g.personName??"")),1)]),_:2},1024)]),_:2},1024),t.createElementVNode("p",kZ,t.toDisplayString(g.personName),1)])],64)):g.type==="server"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createElementVNode("div",mZ,[t.createElementVNode("p",gZ,t.toDisplayString(g.title),1),t.createVNode(t.unref(_a),{variant:"destructive",class:"h-6"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.chipText??""),1)]),_:2},1024)]),t.createElementVNode("div",bZ,[t.createElementVNode("div",MZ,[t.createElementVNode("div",xZ,[t.createVNode(t.unref(Ws),{class:"h-4 w-4"}),y[4]||(y[4]=t.createElementVNode("span",null,"IP Address",-1))]),t.createElementVNode("span",wZ,t.toDisplayString(g.ip),1)]),t.createElementVNode("div",vZ,[t.createElementVNode("div",CZ,[t.createVNode(t.unref(cs),{class:"h-4 w-4"}),y[5]||(y[5]=t.createElementVNode("span",null,"CPU",-1))]),t.createElementVNode("span",LZ,t.toDisplayString(g.cpu),1)]),t.createElementVNode("div",SZ,[t.createElementVNode("div",IZ,[t.createVNode(t.unref(cs),{class:"h-4 w-4"}),y[6]||(y[6]=t.createElementVNode("span",null,"Memory",-1))]),t.createElementVNode("span",_Z,t.toDisplayString(g.memory),1)])]),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",AZ,[t.createElementVNode("div",BZ,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(e1),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(k,{class:"h-4 w-4"})]),_:1})])])],64)):g.type==="location"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:5},[t.createElementVNode("div",VZ,[t.createElementVNode("div",zZ,[t.createVNode(m,{class:"h-4 w-4 text-muted-foreground"}),t.createElementVNode("p",qZ,t.toDisplayString(g.title),1)]),t.createVNode(t.unref(_a),{variant:"destructive",class:"h-6"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.chipText),1)]),_:2},1024)]),t.createElementVNode("p",PZ,t.toDisplayString(g.desc1),1),g.desc2?(t.openBlock(),t.createElementBlock("p",DZ,t.toDisplayString(g.desc2),1)):t.createCommentVNode("",!0),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",EZ,[t.createElementVNode("div",TZ,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(Gs),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(us),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(o1),{class:"h-4 w-4"})]),_:1})]),t.createElementVNode("p",HZ,"Due date: "+t.toDisplayString(g.due),1)])],64)):t.createCommentVNode("",!0)])])]))),128))])]))])])}}}),jZ={class:"dcode-upload-file"},OZ={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"},FZ={key:0,class:"text-xs text-gray-500 mt-1"},RZ=["accept"],NZ={key:1,class:"text-xs text-red-600 mt-1"},Xz=t.defineComponent({__name:"DCodeUploadFile",props:{label:{},accept:{},errorMessage:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const n=e,o=r=>{var s;const i=(s=r.target.files)==null?void 0:s[0];i&&n("update:modelValue",i)};return(r,i)=>(t.openBlock(),t.createElementBlock("div",jZ,[a.label?(t.openBlock(),t.createBlock(n_,{key:0,label:a.label},null,8,["label"])):t.createCommentVNode("",!0),t.createElementVNode("div",OZ,[t.createVNode(t.unref(ha),{class:"w-8 h-8 text-gray-400 mb-2"}),i[0]||(i[0]=t.createElementVNode("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[t.createElementVNode("span",{class:"font-medium text-primary-600"},"Click to upload"),t.createTextVNode(" or drag and drop ")],-1)),a.accept?(t.openBlock(),t.createElementBlock("p",FZ,t.toDisplayString(a.accept),1)):t.createCommentVNode("",!0),t.createElementVNode("input",{type:"file",class:"hidden",onChange:o,accept:a.accept},null,40,RZ)]),a.errorMessage?(t.openBlock(),t.createElementBlock("p",NZ,t.toDisplayString(a.errorMessage),1)):t.createCommentVNode("",!0)]))}}),$Z=["onClick"],UZ={key:1,class:"mr-2 text-xs font-bold shrink-0 opacity-50"},WZ={class:"font-semibold text-sm whitespace-normal text-center leading-tight"},GZ={key:1},KZ={key:0,class:"text-white"},XZ={key:1},ZZ={key:2},YZ=["disabled","onClick"],QZ={key:1,class:"mr-2 text-sm font-bold opacity-70"},JZ={class:"whitespace-normal text-sm text-center leading-tight"},eY={class:"flex flex-col flex-1 min-w-0"},tY={class:"text-sm text-muted-foreground"},aY={class:"px-1"},nY=["disabled"],oY=["type"],rY=["disabled"],Zz=Xt(t.defineComponent({__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}},emits:["update:modelValue","change","loaded","error"],setup(a,{emit:e}){const n=a,o=e,r=Ke(),i=r==null?void 0:r.DCodeApi;typeof i!="function"&&console.error("[DCodeWizardTabs] useApi() must expose DCodeApi()");const s=t.ref(n.defaultTab),c=t.computed({get(){var b;if(typeof n.modelValue=="string"){const x=(b=n.tabs)==null?void 0:b.findIndex(I=>I.key===n.modelValue);if(x!==void 0&&x>=0)return x}return(typeof n.modelValue=="number"?n.modelValue:void 0)??s.value},set(b){var x;if(s.value=b,typeof n.modelValue=="string"){const I=(x=n.tabs)==null?void 0:x[b];I?o("update:modelValue",I.key):o("update:modelValue",b)}else o("update:modelValue",b)}}),d=t.computed(()=>{var b;return((b=n.tabs)==null?void 0:b.length)??0}),h=t.computed(()=>{var b;return(b=n.tabs)==null?void 0:b[c.value]});function u(b){return d.value<=0?0:Math.min(Math.max(b,0),d.value-1)}function p(b){return b?typeof b=="string"?Gt[b]||null:b:null}const y=t.reactive({});function f(b){return y[b.key]||(y[b.key]={loaded:!1,loading:!1,data:null,error:null}),y[b.key]}function k(){if(n.apiOptions)return typeof n.apiOptions=="function"?n.apiOptions():n.apiOptions}function m(b){const x=b.endpoint||{};return{apiModule:b.apiModule||x.apiModule,apiAction:b.apiAction||x.apiAction,apiUrl:x.apiUrl,apiMethod:x.apiMethod||"GET",apiParams:b.apiParams}}function g(b){if(n.isWizard||!n.allowTabClick||n.disabled)return!1;const x=n.tabs[b];return!(!x||x.disabled)}async function v(b){if(typeof b.tab.fetchData=="function"){const D=await b.tab.fetchData(),U=(D==null?void 0:D.data)??D;return(U==null?void 0:U.data)??U}const x=m(b.tab);if(!(x.apiModule&&x.apiAction||x.apiUrl))return null;if(typeof i!="function")throw new Error("DCodeApi is not available");const V=k();let B;if(x.apiUrl)B=await i("","",V,{_url:x.apiUrl,_method:x.apiMethod,_data:x.apiParams??void 0});else{const D={...V,...x.apiParams};B=await i(x.apiModule,x.apiAction,D)}const A=(B==null?void 0:B.data)??B;return(A==null?void 0:A.data)??A}async function L(b,{force:x=!1}={}){const I=u(b),V=n.tabs[I];if(!V)return;const B=f(V);if(!(n.cache&&B.loaded&&!x)&&!B.loading){B.loading=!0,B.error=null;try{const A=await v({tabIndex:I,tab:V});B.data=A,B.loaded=!0,o("loaded",{tabIndex:I,tab:V,data:A})}catch(A){const P=typeof(A==null?void 0:A.message)=="string"&&A.message||typeof A=="string"&&A||"Failed to load tab data.";B.error=P,o("error",{tabIndex:I,tab:V,message:P})}finally{B.loading=!1}}}function w(b){const x=u(b);g(x)&&x!==c.value&&(c.value=x)}function M(b=c.value){return L(b,{force:!0})}function C(){const b=u(c.value-1);b!==c.value&&(c.value=b)}function S(){const b=u(c.value+1);b!==c.value&&(c.value=b)}return t.watch(()=>n.tabs,b=>{for(const x of b??[])f(x)},{immediate:!0}),t.watch(()=>c.value,async b=>{var I;const x=(I=n.tabs)==null?void 0:I[b];x&&o("change",{tabIndex:b,tab:x}),await L(b)},{immediate:!0}),t.watch(()=>n.autoFetchOnMount,async b=>{b&&await L(c.value)},{immediate:!0}),(b,x)=>{var I,V,B;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["w-full rounded-lg border bg-card text-card-foreground shadow-sm",{"flex flex-row":a.isVertical}])},[t.createElementVNode("div",{class:t.normalizeClass(["flex flex-col space-y-1.5 p-6",{"w-64 border-r pr-0":a.isVertical,"pb-2":a.isWizard&&!a.isVertical}])},[t.createElementVNode("div",{class:t.normalizeClass({"mt-4":!a.isVertical||a.isWizard})},[a.isWizard?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["w-full relative flex overflow-visible rounded-lg",a.isVertical?"flex-col gap-2":""])},[a.isVertical?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("div",{key:A.key,class:"relative z-10 box-border flex items-center gap-3 w-full pb-6 last:pb-0"},[t.createElementVNode("div",{class:t.normalizeClass(["w-8 h-8 rounded-full flex shrink-0 items-center justify-center font-bold text-sm border-2 transition-all bg-card",[P<c.value?"wizard-num-done":"",P===c.value?"wizard-num-active":P>c.value?"wizard-num-pending":""]])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"w-4 h-4"})):a.typeWizard==="number"||!A.icon&&a.typeWizard!=="none"?(t.openBlock(),t.createElementBlock("span",GZ,[P<c.value?(t.openBlock(),t.createElementBlock("span",KZ,"✓")):(t.openBlock(),t.createElementBlock("span",XZ,t.toDisplayString(P+1),1))])):(t.openBlock(),t.createElementBlock("span",ZZ))],2),t.createElementVNode("span",{class:t.normalizeClass(["text-xs font-semibold whitespace-normal px-2 py-1 rounded transition-colors text-left",P===c.value?"wizard-text-active":"wizard-text-pending"])},t.toDisplayString(A.title),3)]))),128)):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("div",{key:A.key,onClick:D=>w(P),style:t.normalizeStyle({zIndex:a.tabs.length-P}),class:"relative flex-1 group"},[t.createElementVNode("div",{class:t.normalizeClass(["relative flex items-center justify-center min-h-[3rem] h-auto py-2 px-2 cursor-pointer transition-colors w-full",[P>0?"pl-8":"",P===c.value?"wizard-step-active":P<c.value?"wizard-step-done":"wizard-step-pending"]])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"w-4 h-4 mr-2 shrink-0"})):a.typeWizard==="number"?(t.openBlock(),t.createElementBlock("span",UZ,t.toDisplayString(P+1),1)):t.createCommentVNode("",!0),t.createElementVNode("span",WZ,t.toDisplayString(A.title),1)],2),P<a.tabs.length-1?(t.openBlock(),t.createElementBlock("svg",{key:0,class:t.normalizeClass(["absolute top-0 -right-[15.5px] w-[16px] h-full transition-colors block z-10",[P===c.value?"wizard-svg-active":P<c.value?"wizard-svg-done":"wizard-svg-pending"]]),preserveAspectRatio:"none",viewBox:"0 0 16 48"},[...x[0]||(x[0]=[t.createElementVNode("polygon",{points:"0,0 16,24 0,48"},null,-1)])],2)):t.createCommentVNode("",!0)],12,$Z))),128))],2)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex w-full",a.isVertical?"flex-col gap-1":"flex-wrap border-b border-separate"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("button",{key:A.key,type:"button",disabled:!g(P),onClick:D=>w(P),class:t.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 wizard-btn-common",t.unref(be)("border-b border-r",!a.isVertical&&P===a.tabs.length-1&&"border-r-0",P===c.value?"wizard-btn-active":"wizard-btn-pending",!g(P)&&"opacity-60 cursor-not-allowed",a.isVertical?"w-full justify-start border-r-0":"flex-1")])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"h-4 w-4 shrink-0"})):a.typeWizard==="number"?(t.openBlock(),t.createElementBlock("span",QZ,t.toDisplayString(P+1),1)):t.createCommentVNode("",!0),t.createElementVNode("span",JZ,t.toDisplayString(A.title),1)],10,YZ))),128))],2))],2)],2),a.isVertical?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(hS),{key:0})),t.createElementVNode("div",eY,[t.createElementVNode("div",{class:t.normalizeClass(["p-6 flex-1 min-w-0",{"pl-6":a.isVertical}])},[h.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[(I=y[h.value.key])!=null&&I.loading?t.renderSlot(b.$slots,"loading",{key:0,tab:h.value,tabIndex:c.value},()=>[x[1]||(x[1]=t.createElementVNode("div",{class:"rounded-lg border bg-muted/30 px-4 py-3 text-sm text-muted-foreground"},"Loading...",-1))],!0):t.renderSlot(b.$slots,`tab-${h.value.key}`,{key:1,tab:h.value,tabIndex:c.value,data:(V=y[h.value.key])==null?void 0:V.data,loaded:(B=y[h.value.key])==null?void 0:B.loaded,reload:M},()=>[t.createElementVNode("div",tY,[x[2]||(x[2]=t.createTextVNode(" Slot ",-1)),t.createElementVNode("code",aY,"tab-"+t.toDisplayString(h.value.key),1),x[3]||(x[3]=t.createTextVNode(" belum dibuat. ",-1))])],!0)],64)):t.createCommentVNode("",!0)],2),a.isWizard||a.showNavigation?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["flex items-center justify-between p-6 pt-0",{"pl-6":a.isVertical}])},[t.createElementVNode("button",{type:"button",onClick:C,disabled:c.value<=0,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-[#ffffff] border border-[#e2e8f0] text-[#334155] shadow-sm hover:bg-[#f8fafc] hover:text-[#0f172a] hover:-translate-y-0.5 hover:shadow disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#ffffff] disabled:hover:text-[#334155] disabled:hover:translate-y-0 disabled:active:scale-100 dark:bg-[#18181b] dark:border-[#27272a] dark:text-[#d4d4d8] dark:hover:bg-[#27272a] dark:hover:border-[#3f3f46] dark:disabled:hover:bg-[#18181b] dark:disabled:hover:text-[#d4d4d8] focus:outline-none focus:ring-2 focus:ring-[#e2e8f0] focus:ring-offset-2 active:scale-95"}," Sebelumnya ",8,nY),c.value<d.value-1?(t.openBlock(),t.createElementBlock("button",{key:0,type:a.isSubmit?"submit":"button",onClick:S,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-[#ffffff] transition-all duration-300 rounded-lg shadow-md bg-[#2563eb] hover:bg-[#1d4ed8] hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#2563eb] disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-[#2563eb] focus:ring-offset-2 active:scale-95"}," Selanjutnya ",8,oY)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"submit",disabled:a.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-[#ffffff] transition-all duration-300 rounded-lg shadow-md bg-[#2563eb] hover:bg-[#1d4ed8] hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#2563eb] disabled:hover:translate-y-0 disabled:active:scale-100 dark:bg-[#3b82f6] dark:hover:bg-[#2563eb] focus:outline-none focus:ring-2 focus:ring-[#2563eb] focus:ring-offset-2 active:scale-95"},[a.loading?(t.openBlock(),t.createBlock(t.unref(kt),{key:0,class:"w-4 h-4 mr-2 animate-spin"})):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(a.submitText),1)],8,rY))],2)):t.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-d10736f3"]]);function iY(){return{setPageTitle:n=>{typeof document<"u"&&(document.title=n||document.title),typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:page-title",{detail:{title:n},bubbles:!0,composed:!0}))},setBreadcrumb:n=>{typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:breadcrumb",{detail:{items:n},bubbles:!0,composed:!0}))}}}const sY={class:"w-full"},lY={class:"relative mx-auto min-h-[37.5rem]"},cY={key:"content",class:"w-full"},dY={class:"mb-6"},hY={class:"text-neutral-500 dark:text-neutral-400"},uY={key:"skeleton",class:"w-full"},pY={key:"error",class:"flex items-center justify-center p-20 text-red-500 w-full"},Yz=Xt(t.defineComponent({__name:"AutoLayoutForm",props:{layoutCode:{}},setup(a){var C,S;const e=a,n=(S=(C=t.getCurrentInstance())==null?void 0:C.appContext)==null?void 0:S.app;n&&!n._context.provides[Symbol.for("vue-router-route-location")]&&n.provide(Symbol.for("vue-router-route-location"),{query:{},params:{},path:""});let o={query:{},params:{},path:""};try{const b=H1.useRoute();b&&(o=b)}catch{console.warn("useRoute not available, using fallback")}let r={back:()=>console.warn("Router back() not available"),push:()=>console.warn("Router push() not available")};try{const b=H1.useRouter();b&&(r=b)}catch{console.warn("useRouter not available, using fallback")}const{apiUrl:i,DCodeApi:s}=Ke();let c;try{c=MS.useI18n().locale}catch{c=t.ref("en")}const{setPageTitle:d}=iY(),h=t.computed(()=>o.params&&"id"in o.params?!0:o.path?/\/edit\/[^\/]+$/.test(o.path):!1),u=t.computed(()=>{if(o.params&&"id"in o.params)return o.params.id;if(!o.path)return null;const b=o.path.match(/\/edit\/([^\/]+)$/);return b?b[1]:null}),p=t.ref({}),y=t.ref(null),f=t.ref(!0),k=t.ref(!1),m=t.ref(e.layoutCode),g=t.computed(()=>{var I;if(!y.value)return"";const b=((I=c==null?void 0:c.value)==null?void 0:I.toLowerCase())||"en";return(b==="en"||b.startsWith("en-")?y.value.titleEN:y.value.titleID)||y.value.title||e.layoutCode});t.watch(g,b=>{b&&d(b)},{immediate:!0});const v=async()=>{var b,x,I;f.value=!0;try{let V=e.layoutCode;o&&o.query&&typeof o.query=="object"&&"code"in o.query&&(V=o.query.code||e.layoutCode);let B=await i(`/api/auto-layout/form/form-dynamic?code=${V}`,"GET");if(!B.status||!B.data||Array.isArray(B.data)&&B.data.length===0)try{const A=await i(`/api/auto-layout/datatable/form-dynamic?code=${V}`,"GET");if(A.status){const P=Array.isArray(A.data)?A.data[0]:A.data;P&&P.code&&(V=P.code,m.value=V,B=await i(`/api/auto-layout/form/form-dynamic?code=${V}`,"GET"))}}catch(A){console.warn("Failed to resolve layout code via datatable",A)}if(B.status){y.value=Array.isArray(B.data)?B.data[0]:B.data;const A={};if((b=y.value)!=null&&b.sections&&y.value.sections.forEach(P=>{((P.propsForm||P.props||{}).fields||P.fields||[]).forEach(T=>{var N;const H=T.model||((N=T.props)==null?void 0:N.model)||T.key;H&&(A[H]=null)})}),p.value=A,f.value=!1,h.value&&u.value){k.value=!0;try{if((x=y.value.endpointGlobal)!=null&&x.apiUrl){const P=y.value.endpointGlobal.apiUrl,D=y.value.endpointGlobal.apiMethod||"GET",U={id:u.value},T=await s(P,D,U);if(T.status){const H=Array.isArray(T.data)?T.data[0]:T.data;p.value={...p.value,...H}}}else{const P=((I=y.value.endpoint)==null?void 0:I.detailUrl)||`/api/${m.value}/detail/${u.value}`,D=await i(P,"GET");if(D.status){let U=Array.isArray(D.data)?D.data[0]:D.data;if(D.payload){const H={...D.payload};if(Object.keys(H).forEach(N=>{U[N]!==void 0&&U[N]!==null&&(H[N]=U[N])}),!("id"in H)&&U.id){const N=Object.keys(H).find(Q=>Q.startsWith("id")&&Q.length>2&&!H[Q]);N&&(H[N]=U.id)}U=H}const T={...U};Object.keys(p.value).forEach(H=>{if(T[H]===void 0||T[H]===null){if(H.toLowerCase().startsWith("id")&&H.length>2){const Q=H.substring(2).toLowerCase(),j=Array.isArray(D.data)?D.data[0]:D.data,F=Object.keys(j).find(R=>R.toLowerCase()===Q);F&&j[F]&&typeof j[F]=="object"&&"id"in j[F]&&(T[H]=j[F].id)}if(H==="idSupervisor"){const Q=Array.isArray(D.data)?D.data[0]:D.data;Q.supervisorId&&(T[H]=Q.supervisorId)}}}),p.value={...p.value,...T}}}}catch(P){console.error("Failed to fetch record data:",P)}finally{k.value=!1}}}}catch(V){console.error("Failed to load form layout:",V),f.value=!1}},L=async b=>{var x,I,V;try{const B=(V=(I=(x=y.value.sections)==null?void 0:x[0])==null?void 0:I.propsForm)==null?void 0:V.endpointForm,A=y.value.endpointGlobal||y.value.endpoint,P=(B==null?void 0:B.submitUrl)||(A==null?void 0:A.submitUrl)||`/api/generic/${e.layoutCode}`,D=(B==null?void 0:B.submitMethod)||(A==null?void 0:A.submitMethod)||(h.value?"PUT":"POST"),U={...b};h.value&&u.value&&!U.id&&(U.id=u.value),await i(P,D,U),r.back()}catch(B){console.error("Submit failed:",B)}},w=async(b,x)=>{if(b==="cancel"){M();return}const I=x.endpointPropAction||x.propsActionGlobal&&x.propsActionGlobal.endpointPropAction;if(I)try{f.value=!0;const V={...p.value};h.value&&x.model&&u.value&&(V[x.model]=u.value);const B=I.apiUrl,A=I.apiMethod||"POST";(await s(B,A,V)).status&&r.back()}catch(V){console.error("Action failed:",V)}finally{f.value=!1}},M=()=>{r.back()};return t.onMounted(()=>{v()}),t.onUnmounted(()=>{d("")}),(b,x)=>{const I=t.resolveComponent("DynamicForm"),V=t.resolveComponent("AutoLayoutSkeleton");return t.openBlock(),t.createElementBlock("div",sY,[t.createElementVNode("div",lY,[t.createVNode(t.Transition,{name:"fade",mode:"out-in"},{default:t.withCtx(()=>[!f.value&&y.value?(t.openBlock(),t.createElementBlock("div",cY,[t.createElementVNode("div",dY,[t.createElementVNode("p",hY,t.toDisplayString(y.value.description),1)]),t.createVNode(I,{schema:y.value,model:p.value,"is-edit-mode":h.value,loading:k.value,onSubmit:L,onCancel:M,onAction:w,class:"w-full"},null,8,["schema","model","is-edit-mode","loading"])])):f.value?(t.openBlock(),t.createElementBlock("div",uY,[t.createVNode(V)])):(t.openBlock(),t.createElementBlock("div",pY," Failed to load form configuration for "+t.toDisplayString(e.layoutCode),1))]),_:1})])])}}}),[["__scopeId","data-v-fd9d71a6"]]),yY=(a,e="short",n="id-ID")=>{const o=typeof a=="string"?new Date(a):a,r=d=>String(d).padStart(2,"0"),i=d=>`${r(d.getHours())}:${r(d.getMinutes())}:${r(d.getSeconds())}`,c={id:"id-ID",en:"en-GB"}[n]||n;return e==="time"?i(o):e==="datetime"?new Intl.DateTimeFormat(c,{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(o):e==="long"?new Intl.DateTimeFormat(c,{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(o):new Intl.DateTimeFormat(c,{day:"2-digit",month:"short",year:"numeric"}).format(o)},fY=t.defineComponent({__name:"Sheet",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(VA),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),kY=t.defineComponent({inheritAttrs:!1,__name:"SheetContent",props:{class:{type:[Boolean,null,String,Object,Array]},side:{},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class","side"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref($A),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NA),{class:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),t.createVNode(t.unref(FA),t.mergeProps({class:t.unref(be)(t.unref(wY)({side:a.side}),n.class)},{...t.unref(i),...s.$attrs}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default"),t.createVNode(t.unref(zA),{class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"},{default:t.withCtx(()=>[t.createVNode(t.unref(it),{class:"w-4 h-4"})]),_:1})]),_:3},16,["class"])]),_:3}))}}),mY=t.defineComponent({__name:"SheetDescription",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(RA),t.mergeProps({class:t.unref(be)("text-sm text-muted-foreground",e.class)},t.unref(n)),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),gY=t.defineComponent({__name:"SheetFooter",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),bY=t.defineComponent({__name:"SheetHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col gap-y-2 text-center sm:text-left",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),MY=t.defineComponent({__name:"SheetTitle",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(UA),t.mergeProps({class:t.unref(be)("text-lg font-medium text-foreground",e.class)},t.unref(n)),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),xY=t.defineComponent({__name:"SheetTrigger",props:{asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(TT),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),wY=i1("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),vY={class:"flex-1 overflow-hidden"},CY=t.defineComponent({__name:"DataFilterSheet",props:{title:{default:"Filter Data"},description:{default:"Masukan parameter pencarian untuk memfilter data."}},setup(a){return(e,n)=>(t.openBlock(),t.createBlock(t.unref(fY),null,{default:t.withCtx(()=>[t.createVNode(t.unref(xY),{"as-child":""},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"trigger",{},()=>[t.createVNode(t.unref(Ee),{variant:"outline",class:"gap-2"},{default:t.withCtx(()=>[t.createVNode(t.unref(yr),{class:"w-4 h-4"}),n[0]||(n[0]=t.createElementVNode("span",null,"Pencarian",-1))]),_:1})])]),_:3}),t.createVNode(t.unref(kY),{class:"flex flex-col h-full"},{default:t.withCtx(()=>[t.createVNode(t.unref(bY),{class:"flex-shrink-0"},{default:t.withCtx(()=>[t.createVNode(t.unref(MY),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),t.createVNode(t.unref(mY),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.description),1)]),_:1})]),_:1}),t.createElementVNode("div",vY,[t.renderSlot(e.$slots,"default")]),t.createVNode(t.unref(gY),{class:"flex-shrink-0"},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"footer")]),_:3})]),_:3})]),_:3}))}}),LY={key:0},SY=["value","name"],Qz=t.defineComponent({__name:"DynamicFilterField",props:{field:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const{locale:n}=MS.useI18n(),o=a,r=e,i=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{i.value=u});const s={DCodeTextField:l_,DCodeAutoComplete:qS,DCodeDatePicker:GI,DCodeTextarea:dS,DCodeTextArea:dS,DCodeCheckbox:q1,DCodeSwitch:s_,DCodeOtpInput:r_,DCodeImageField:a_,DCodeSlider:i_},c=t.computed(()=>{const u=o.field.component;return s[u]||null}),d=t.computed(()=>{const u=o.field.props,p={};return(u.labelID||u.labelEN)&&(p.label=n.value==="id"?u.labelID:u.labelEN),(u.placeholderID||u.placeholderEN)&&(p.placeholder=n.value==="id"?u.placeholderID:u.placeholderEN),u.required!==void 0&&(p.required=u.required),u.disabled!==void 0&&(p.disabled=u.disabled),u.readonly!==void 0&&(p.readonly=u.readonly),u.valueType&&(p.type=u.valueType),u.minLength!==void 0&&(p.minlength=u.minLength),u.maxLength!==void 0&&(p.maxlength=u.maxLength),u.min!==void 0&&(p.min=u.min),u.max!==void 0&&(p.max=u.max),u.options&&(p.options=u.options),u.endpoint&&(p.endpoint=u.endpoint),u.itemTitle&&(p.itemTitle=u.itemTitle),u.itemValue&&(p.itemValue=u.itemValue),u.returnObject!==void 0&&(p.returnObject=u.returnObject),u.clearable!==void 0&&(p.clearable=u.clearable),Object.keys(u).forEach(y=>{!["labelID","labelEN","placeholderID","placeholderEN"].includes(y)&&!p.hasOwnProperty(y)&&(p[y]=u[y])}),p}),h=u=>{i.value=u,r("update:modelValue",u)};return(u,p)=>a.field.isHidden?(t.openBlock(),t.createElementBlock("div",LY,[t.createElementVNode("input",{type:"hidden",value:i.value,name:a.field.model},null,8,SY)])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c.value),t.mergeProps({key:1},d.value,{modelValue:i.value,"onUpdate:modelValue":[p[0]||(p[0]=y=>i.value=y),h]}),null,16,["modelValue"]))}}),IY=t.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(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(lH),t.mergeProps({"data-slot":"pagination"},t.unref(i),{class:n.class}),{default:t.withCtx(d=>[t.renderSlot(s.$slots,"default",t.normalizeProps(t.guardReactiveProps(d)))]),_:3},16,["class"]))}}),_Y=t.defineComponent({__name:"PaginationContent",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(kH),t.mergeProps({"data-slot":"pagination-content"},t.unref(n),{class:t.unref(be)("flex flex-row items-center gap-1",e.class)}),{default:t.withCtx(i=>[t.renderSlot(o.$slots,"default",t.normalizeProps(t.guardReactiveProps(i)))]),_:3},16,["class"]))}}),AY=t.defineComponent({__name:"PaginationEllipsis",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(rH),t.mergeProps({"data-slot":"pagination-ellipsis"},t.unref(n),{class:t.unref(be)("flex size-9 items-center justify-center",e.class)}),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default",{},()=>[t.createVNode(t.unref(ua),{class:"size-4"}),r[0]||(r[0]=t.createElementVNode("span",{class:"sr-only"},"More pages",-1))])]),_:3},16,["class"]))}}),BY=t.defineComponent({__name:"PaginationFirst",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(dH),t.mergeProps({"data-slot":"pagination-first",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(dn)),i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"First",-1))])]),_:3},16,["class"]))}}),VY=t.defineComponent({__name:"PaginationItem",props:{value:{},asChild:{type:Boolean},as:{},size:{default:"icon"},class:{type:[Boolean,null,String,Object,Array]},isActive:{type:Boolean}},setup(a){const e=a,n=De(e,"class","size","isActive");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(gH),t.mergeProps({"data-slot":"pagination-item"},t.unref(n),{class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),a.isActive?"bg-[#0056a1] dark:bg-[#003d75] text-white hover:bg-[#0056a1]/90 dark:hover:bg-[#003d75]/90 hover:text-white":"",e.class)}),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),zY=t.defineComponent({__name:"PaginationLast",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(uH),t.mergeProps({"data-slot":"pagination-last",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Last",-1)),t.createVNode(t.unref(hn))])]),_:3},16,["class"]))}}),qY=t.defineComponent({__name:"PaginationNext",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(MH),t.mergeProps({"data-slot":"pagination-next",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Next",-1)),t.createVNode(t.unref(hn))])]),_:3},16,["class"]))}}),PY=t.defineComponent({__name:"PaginationPrevious",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(wH),t.mergeProps({"data-slot":"pagination-previous",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(dn)),i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Previous",-1))])]),_:3},16,["class"]))}}),DY=t.defineComponent({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:["update:modelValue","update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(_H),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),EY=t.defineComponent({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},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:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(ej),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NH),t.mergeProps({...t.unref(i),...s.$attrs},{class:t.unref(be)("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",a.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:t.withCtx(()=>[t.createVNode(t.unref(OY)),t.createVNode(t.unref(hj),{class:t.normalizeClass(t.unref(be)("p-1",a.position==="popper"&&"h-[--reka-select-trigger-height] w-full min-w-[--reka-select-trigger-width]"))},{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},8,["class"]),t.createVNode(t.unref(jY))]),_:3},16,["class"])]),_:3}))}}),TY={class:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center"},HY=t.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(KH),t.mergeProps(t.unref(o),{class:t.unref(be)("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",e.class)}),{default:t.withCtx(()=>[t.createElementVNode("span",TY,[t.createVNode(t.unref(ZH),null,{default:t.withCtx(()=>[t.createVNode(t.unref(ca),{class:"h-4 w-4"})]),_:1})]),t.createVNode(t.unref(QH),null,{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),jY=t.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(nj),t.mergeProps(t.unref(o),{class:t.unref(be)("flex cursor-default items-center justify-center py-1",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(St))])]),_:3},16,["class"]))}}),OY=t.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(rj),t.mergeProps(t.unref(o),{class:t.unref(be)("flex cursor-default items-center justify-center py-1",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(js))])]),_:3},16,["class"]))}}),FY=t.defineComponent({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(sj),t.mergeProps(t.unref(o),{class:t.unref(be)("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",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default"),t.createVNode(t.unref(UH),{"as-child":""},{default:t.withCtx(()=>[t.createVNode(t.unref(St),{class:"w-4 h-4 opacity-50 shrink-0"})]),_:1})]),_:3},16,["class"]))}}),RY=t.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(cj),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),NY={class:"dcode-card animate-slide-up"},$Y={class:"px-4 py-2 bg-primary-700 dark:bg-primary-900 border-b border-primary-500/30 dark:border-primary-900/50 rounded-t-xl relative z-30"},UY={class:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4"},WY={key:0,class:"flex flex-col sm:flex-row items-start sm:items-center gap-2 flex-1 max-w-2xl"},GY={class:"relative w-full sm:w-64"},KY={key:0,class:"relative"},XY={class:"flex flex-col h-full"},ZY={key:0,class:"flex-1 overflow-y-auto py-4"},YY={class:"grid grid-cols-1 md:grid-cols-2 gap-4 px-1"},QY={key:0,class:"sticky bottom-0 left-0 right-0 bg-white dark:bg-zinc-900 border-t border-neutral-200 dark:border-neutral-700 p-4 flex gap-2"},JY={class:"flex justify-end gap-2 w-full"},eQ={key:0,class:"font-medium text-sm text-neutral-600 dark:text-neutral-400"},tQ={class:"overflow-auto custom-scrollbar relative max-h-[calc(100vh-17rem)]"},aQ={class:"dcode-table w-full"},nQ={class:"bg-primary-700 dark:bg-primary-900 sticky top-0 z-20 shadow-sm"},oQ=["onClick"],rQ={key:0,class:"flex items-center justify-center w-full"},iQ={key:0,class:"px-3 py-2 text-xs font-medium text-white dark:text-neutral-100 uppercase tracking-wider"},sQ={class:"bg-white dark:bg-zinc-900 divide-y divide-neutral-200 dark:divide-neutral-700"},lQ={key:0,class:"px-3 py-0.5"},cQ={key:1},dQ=["colspan"],hQ={class:"flex flex-col items-center gap-4"},uQ={class:"text-base font-medium text-neutral-700 dark:text-neutral-300"},pQ={class:"text-sm text-neutral-500 dark:text-neutral-400 mt-1"},yQ={class:"hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors duration-150"},fQ={key:0,class:"flex items-center justify-center"},kQ={key:0,class:"px-3 py-0.5 !text-center"},mQ={key:0,class:"flex items-center justify-center gap-1.5"},gQ={key:0,class:"bg-zinc-50/50 dark:bg-zinc-800/30"},bQ=["colspan"],MQ={key:0,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"},xQ={class:"flex items-center gap-4"},wQ={class:"text-xs text-neutral-500 dark:text-neutral-400 font-medium"},vQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},CQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},LQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},SQ={class:"flex-shrink-0"},IQ={class:"space-y-4"},_Q={class:"text-gray-600 dark:text-gray-400"},AQ={class:"grid grid-cols-1 md:grid-cols-2 gap-4 py-4 px-1"},uS=t.defineComponent({__name:"DataTable",props:{columns:{default:()=>[]},data:{default:()=>[]},perPage:{default:10},loading:{type:Boolean,default:!1},hasActions:{type:Boolean,default:!1},nested:{type:Boolean,default:!1},apiModule:{},apiAction:{default:"list"},apiMethod:{},apiUrl:{},permissionBase:{},apiParams:{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}},emits:["update:search","update:sort","update:page","create","export","action","update:selection","navigate"],setup(a,{expose:e,emit:n}){console.log("[DEBUG] DataTable.vue loaded - top level");const o=a,r=n,{apiUrl:i}=Ke(),{locale:s}=MS.useI18n(),c=t.ref(""),d=t.ref(1),h=t.ref(o.perPage),u=t.ref({key:"",direction:"asc"}),p=t.ref([]),y=t.ref(!1),f=t.ref(0),k=t.ref({}),m=t.ref([]),g=t.ref(null),v=t.ref(!0),L=t.ref([]),w=t.ref([]),M=t.ref([]),C=t.ref(!1),S=t.ref(!1),b=t.ref({}),x=t.ref(null),I=t.ref(null),V=t.ref(null),B=t.ref([]),A=t.computed(()=>{if(xt.value.length===0)return!1;const _=xt.value.map(E=>{const X=de.value.find($=>$.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id";return E[q]}).filter(E=>E!=null);return _.length===0?!1:_.every(E=>B.value.includes(E))}),P=t.computed(()=>{if(xt.value.length===0)return!1;const _=de.value.find($=>$.type==="CHECKBOX"),E=(_==null?void 0:_.keyCheckbox)||"id",X=xt.value.map($=>$[E]).filter($=>$!=null),q=X.filter($=>B.value.includes($)).length;return q>0&&q<X.length}),D=_=>{const E=de.value.find($=>$.type==="CHECKBOX"),X=(E==null?void 0:E.keyCheckbox)||"id",q=_[X];return q!==void 0&&B.value.includes(q)},U=_=>{const E=de.value.find($=>$.type==="CHECKBOX"),X=(E==null?void 0:E.keyCheckbox)||"id",q=xt.value.map($=>$[X]).filter($=>$!=null);if(_){const $=new Set([...B.value,...q]);B.value=Array.from($)}else B.value=B.value.filter($=>!q.includes($))},T=(_,E)=>{const X=de.value.find(Y=>Y.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id",$=_[q];$!=null&&(E?B.value.includes($)||B.value.push($):B.value=B.value.filter(Y=>Y!==$))};t.watch(B,_=>{var X;r("update:selection",_);const E=A.value||_.length>1;(X=w.value)!=null&&X.length&&w.value.forEach(q=>{var $;($=q.fieldActionGlobal)!=null&&$.length&&q.fieldActionGlobal.forEach(Y=>{var Ge,rt;const fe=q.endpoint||((Ge=q.propsActionGlobal)==null?void 0:Ge.endpointPropAction)||q.propsActionGlobal,xe=(rt=fe==null?void 0:fe.keyParam)==null?void 0:rt[0];(xe&&Y.model===xe||!xe&&/^(id|ids|idAuditTrail)/i.test(Y.model))&&E&&Y.model&&(b.value[Y.model]=_)})})},{deep:!0});const H=_=>_&&typeof _=="string"&&_.trim()?_:void 0,N=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiModule)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiModule)||o.apiModule}),Q=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiAction)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiAction)||o.apiAction}),j=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiMethod)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiMethod)||o.apiMethod||"POST"}),F=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiUrl)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiUrl)||o.apiUrl}),R=t.computed(()=>o.permissionBase||""),Z=t.computed(()=>!M.value||M.value.length===0?[]:[...M.value].sort((_,E)=>(_.seq||0)-(E.seq||0))),J=_=>{if(!_)return"col-span-1";const E=_.toLowerCase();return{full:"col-span-1 md:col-span-2",half:"col-span-1",third:"col-span-1","two-thirds":"col-span-1 md:col-span-2",two_thirds:"col-span-1 md:col-span-2"}[E]||"col-span-1"},re=()=>{let _=null;if(o.tableConfig&&(_=o.tableConfig),_){g.value=_,_.headers&&(m.value=_.headers.map(q=>{var fe,xe,Be,Ge,rt,mS,dq,hq,uq,pq;if(q.key==="action"||((fe=q.custom)==null?void 0:fe.type)==="ACTION"||((xe=q.custom)==null?void 0:xe.type)==="action"){const Ba=((Be=q.custom)==null?void 0:Be.actionCustom)||((Ge=q.custom)==null?void 0:Ge.action);return Ba&&(L.value=Ba.map(ia=>{const Fe=ia.propsActionCustom||ia.props||{},gS=ia.propCustomMessage||{};return{permission:ia.permission,label:s.value==="id"?Fe.labelID:Fe.labelEN,tooltip:s.value==="id"?Fe.tooltipID||Fe.labelID:Fe.tooltipEN||Fe.labelEN,icon:Fe.icon,variant:Fe.variant||"ghost",bgColor:Fe.bgColor,action:Fe.actionType||Fe.key,route:Fe.route,path:Fe.path,endpoint:Fe.endpointPropAction,requiredCondition:ia.requiredCondition||!1,propCustomCondition:ia.propCustomCondition||[],openDialog:ia.openDialog||!1,fieldActionCustom:(ia.fieldActionCustom||[]).map(bS=>{const p_=bS.propsFieldCustom||bS.propsFieldGlobal||bS.props||{};return{...bS,props:{...p_,endpoint:p_.endpointComponent||p_.endpoint}}}),requireConfirm:ia.requireConfirm||Fe.requireConfirm||!1,confirmTitle:s.value==="id"?gS.titleID||Fe.confirmTitleID||"Konfirmasi":gS.titleEN||Fe.confirmTitleEN||"Confirm",confirmMessage:s.value==="id"?gS.messageID||Fe.confirmMessageID||"Apakah Anda yakin?":gS.messageEN||Fe.confirmMessageEN||"Are you sure?"}})),null}let $;const Y=((rt=q.custom)==null?void 0:rt.conditionBadge)||((mS=q.custom)==null?void 0:mS.condition);return(((dq=q.custom)==null?void 0:dq.type)==="BADGE"||((hq=q.custom)==null?void 0:hq.type)==="badge")&&Y&&($=Y.map(Ba=>({value:Ba.value,label:s.value==="id"?Ba.labelID:Ba.labelEN,color:Ba.color,variant:Ba.variant}))),{key:q.key,label:s.value==="id"?q.labelID:q.labelEN,width:q.width,align:q.align,sortable:!0,type:(uq=q.custom)==null?void 0:uq.type,condition:$,keyCheckbox:(pq=q.custom)==null?void 0:pq.keyCheckbox}}).filter(q=>q!==null));const E=_.filters||_.filter;E&&Array.isArray(E)&&(M.value=E.map(q=>({...q,props:q.propsFilters||q.props||{}})),M.value.forEach(q=>{k.value[q.model]=""}));const X=_.actionGlobal||_.action;console.log("[DEBUG] loadConfig rawActions:",X),X&&Array.isArray(X)?(w.value=X.map(q=>{const $=q.propsActionGlobal||q.props||{};return{key:$.key,permission:q.permission,label:s.value==="id"?$.labelID||"Action":$.labelEN||"Action",tooltip:s.value==="id"?$.tooltipID||$.labelID:$.tooltipEN||$.labelEN,icon:$.icon,variant:$.variant||"default",bgColor:$.bgColor,textColor:$.textColor,route:$.route,path:$.path,endpoint:$.endpointPropAction||q.endpoint,openDialog:q.openDialog||!1,fieldActionGlobal:(q.fieldActionGlobal||q.field||[]).map(Y=>{const fe=Y.propsFieldGlobal||Y.props||{};return{...Y,props:{...fe,endpoint:fe.endpointComponent||fe.endpoint}}})}}),console.log("[DEBUG] loadConfig headerActions set:",w.value)):console.log("[DEBUG] loadConfig no rawActions found"),_.pagination!==void 0&&(v.value=_.pagination)}};t.watch(()=>o.tableConfig,()=>{re()},{deep:!0,immediate:!0});const de=t.computed(()=>o.dynamicColumns||o.configKey||o.tableConfig?m.value:o.columns||[]),ue=t.computed(()=>o.hasActions||L.value.length>0),ve=t.computed(()=>N.value||F.value?y.value:o.loading),le=t.computed(()=>!!N.value||!!F.value),G=t.computed(()=>[]),z=_=>{if(console.log("[DEBUG] hasAction called:",{actionCode:_,permissionChecker:!!o.permissionChecker,effectivePath:R.value}),o.permissionChecker){const E=o.permissionChecker(R.value,_);return console.log("[DEBUG] permissionChecker result:",E),E}return G.value.some(E=>E.code===_)},W=(_,E)=>{if(!_.visibilityCondition)return!0;const{field:X,operator:q,value:$}=_.visibilityCondition,Y=O(E,X);switch(q){case"equals":return Y===$;case"notEquals":return Y!==$;case"in":return Array.isArray($)&&$.includes(Y);case"notIn":return Array.isArray($)&&!$.includes(Y);case"greaterThan":return Y>$;case"lessThan":return Y<$;case"contains":return String(Y).includes(String($));default:return!0}},ee=t.computed(()=>{if(console.log("[DEBUG] visibleHeaderActions:",{headerActions:w.value,ignorePermissions:o.ignorePermissions}),w.value.length===0)return w.value;const _=w.value.filter(E=>{if(o.ignorePermissions)return!0;if(!E.permission)return console.log("[DEBUG] Action no permission, showing:",E.label),!0;const X=z(E.permission);return console.log("[DEBUG] Action permission check:",{label:E.label,permission:E.permission,hasPerm:X}),X});return console.log("[DEBUG] Filtered header actions:",_.length),_}),pe=t.computed(()=>L.value.length===0?L.value:L.value.filter(_=>o.ignorePermissions||!_.permission?!0:z(_.permission))),qe=_=>pe.value.filter(E=>W(E,_)),ot=(_,E)=>{var $,Y;if(_.requiredCondition&&(($=_.propCustomCondition)==null?void 0:$.length)>0){const fe=O(E,"status"),xe=_.propCustomCondition.find(Be=>Be.value===fe);if(xe)return xe.bgColor||_.bgColor||"primary"}if(!_.dynamicColor||!_.colorCondition)return _.bgColor||"primary";const X=O(E,_.colorCondition.field),q=(Y=_.colorCondition.conditions)==null?void 0:Y.find(fe=>fe.value===X);return(q==null?void 0:q.bgColor)||_.bgColor||"primary"},Mt=_=>{const E=(_||"left").toLowerCase();return E==="center"?"justify-center":E==="right"?"justify-end":"justify-start"},oa={ToggleLeft:n1,SquarePen:Xe,Trash2:_i,Eye:ds,CheckCircle:da,Plus:Qs,Download:$s,RefreshCw:ps,Search:yr,SlidersHorizontal:a1},Aa=_=>_?Gt[_]?Gt[_]:oa[_]||null:null,xt=t.computed(()=>le.value?p.value.map((_,E)=>({..._,no:(d.value-1)*h.value+E+1})):_e.value),$t=t.computed(()=>le.value?f.value:ae.value.length),D1=t.computed(()=>$t.value===0?0:(d.value-1)*h.value+1),E1=t.computed(()=>{const _=d.value*h.value;return _>$t.value?$t.value:_}),O=(_,E)=>{if(!(!_||!E))return E in _?_[E]:E.split(".").reduce((X,q)=>X&&X[q],_)},ae=t.computed(()=>{if(le.value)return[];if(!c.value)return o.data;const _=c.value.toLowerCase();return o.data.filter(E=>de.value.some(X=>{const q=O(E,X.key);return q==null?!1:String(q).toLowerCase().includes(_)}))}),he=t.computed(()=>le.value?[]:u.value.key?[...ae.value].sort((E,X)=>{const q=O(E,u.value.key),$=O(X,u.value.key);if(q===$)return 0;let Y=0;return typeof q=="number"&&typeof $=="number"?Y=q-$:Y=String(q).localeCompare(String($)),u.value.direction==="asc"?Y:-Y}):ae.value),_e=t.computed(()=>{if(le.value)return[];const _=(d.value-1)*h.value,E=_+h.value;return he.value.slice(_,E).map((X,q)=>({...X,no:_+q+1}))}),Pe=t.computed(()=>le.value?Object.values(k.value).some(_=>!!_):!!c.value),K=[10,25,50,100],te=()=>{le.value&&(k.value={...k.value,keyword:c.value},d.value=1,We())};let ne;const ye=()=>{o.enableQuickSearch&&(clearTimeout(ne),ne=setTimeout(()=>{te()},500))};let Ve;const ra=()=>{clearTimeout(Ve),Ve=setTimeout(()=>{le.value&&We()},1e3)};t.watch(c,()=>{o.enableQuickSearch&&le.value&&ye()});const We=async()=>{if(le.value&&!(!N.value&&!F.value))try{y.value=!0;const _={page:d.value,perPage:h.value,...k.value,...o.apiParams};c.value&&(_.keyword=c.value),Object.keys(_).forEach(X=>{(_[X]===""||_[X]===null||_[X]===void 0)&&delete _[X]});let E;N.value?E=await i(N.value,Q.value,_):F.value&&(E=await i(F.value,j.value,_)),aq(E)}catch(_){console.error("DataTable fetch error",_),y.value=!1}},aq=_=>{console.log("DataTable handleResponseData:",_),_&&(o.dynamicColumns&&_.columns&&Array.isArray(_.columns)&&(m.value=_.columns.map(E=>({key:E.key||E.field||E.name,label:E.label||E.header||E.name,width:E.width,align:E.align||"LEFT",sortable:E.sortable!==!1,type:E.type,condition:E.condition,format:E.format}))),_.data&&Array.isArray(_.data)?(p.value=_.data,_.totalData?f.value=_.totalData:_.maxPage?f.value=_.maxPage*h.value:f.value=_.data.length*(_.maxPage||1)):Array.isArray(_)?(p.value=_,f.value=_.length):_.users?(p.value=_.users,f.value=_.users.length):_.items&&Array.isArray(_.items)?(p.value=_.items,f.value=_.total||_.totalItems||_.items.length):_.list&&Array.isArray(_.list)?(p.value=_.list,f.value=_.total||_.list.length):_.rows&&Array.isArray(_.rows)?(p.value=_.rows,f.value=_.count||_.total||_.rows.length):_.result&&Array.isArray(_.result)?(p.value=_.result,f.value=_.total||_.count||_.result.length):(console.warn("DataTable: Unknown response format",_),p.value=[],f.value=0)),y.value=!1};t.onUnmounted(()=>{clearTimeout(ne),clearTimeout(Ve)});const yS=()=>{Object.keys(k.value).forEach(_=>{k.value[_]=""}),c.value="",d.value=1,We()},nq=()=>{d.value=1,We()},fS=(_,E)=>{const X=O(_,E.key);let q={variant:"secondary",class:"",label:X};if(E.condition){const $=E.condition.find(Y=>{const fe=(xe,Be)=>typeof xe=="string"&&typeof Be=="string"?xe.toLowerCase().trim()===Be.toLowerCase().trim():xe==Be;return typeof X=="object"&&X!==null?fe(Y.value,X.code)||fe(Y.value,X.id):fe(Y.value,X)});if($){if($.variant&&(q.variant=$.variant),q.label=$.label||(typeof X=="object"?X.name||X.code:X),$.color){const Y=$.color.toLowerCase(),fe=q.variant==="outline",xe={success:"bg-green-500 hover:bg-green-600 border-transparent text-white shadow",warning:"bg-yellow-500 hover:bg-yellow-600 border-transparent text-white shadow",info:"bg-blue-500 hover:bg-blue-600 border-transparent text-white shadow"},Be={success:"text-green-600 border-green-600 hover:bg-green-50",warning:"text-yellow-600 border-yellow-600 hover:bg-yellow-50",info:"text-blue-600 border-blue-600 hover:bg-blue-50",danger:"text-red-600 border-red-600 hover:bg-red-50",destructive:"text-red-600 border-red-600 hover:bg-red-50",primary:"text-primary-600 border-primary-600 hover:bg-primary-50",secondary:"text-neutral-600 border-neutral-600 hover:bg-zinc-50"},Ge={danger:"destructive",secondary:"secondary",primary:"default"};fe?Be[Y]&&(q.class=Be[Y]):Ge[Y]?q.variant=Ge[Y]:xe[Y]&&(q.class=xe[Y])}}else q.label=typeof X=="object"?(X==null?void 0:X.name)||(X==null?void 0:X.code)||"-":X}else q.label=typeof X=="object"?(X==null?void 0:X.name)||(X==null?void 0:X.code)||"-":X;return q},oq=_=>{u.value.key===_?u.value.direction=u.value.direction==="asc"?"desc":"asc":(u.value.key=_,u.value.direction="asc"),r("update:sort",u.value)},c_=_=>{_!==d.value&&(d.value=_,le.value&&We(),r("update:page",_))},rq=_=>{h.value=_,d.value=1,le.value&&We()},iq=_=>{const E=Math.random()*15+75;if(_.width){const X=parseInt(String(_.width));return X<100?`${Math.floor(X*(Math.random()*.2+.7))}px`:`${E}%`}return`${E}%`},d_=()=>{c.value="",k.value={},d.value=1,We()},sq=_=>{var E;if(console.log("[DEBUG] handleHeaderAction called:",_),_.route||_.path)console.log("[DEBUG] Emitting navigate:",{route:_.route,path:_.path}),r("navigate",{route:_.route,path:_.path,key:_.key});else if(_.openDialog){I.value=_,V.value=null,b.value={};const X=_.fieldActionGlobal||_.field||[];X.length&&X.forEach(q=>{var fe;const $=_.endpoint||((fe=_.propsActionGlobal)==null?void 0:fe.endpointPropAction)||_.propsActionGlobal,Y=$!=null&&$.keyParam&&$.keyParam.length>0?$.keyParam[0]:null;Y&&q.model===Y||!Y&&/^(id|ids|idAuditTrail)/i.test(q.model)?b.value[q.model]=B.value:b.value[q.model]||(b.value[q.model]="")}),S.value=!0}else r("action",{action:((E=_.propsActionCustom)==null?void 0:E.key)||_.key||"create",row:null,selection:B.value})},lq=(_,E)=>{if(_.requireConfirm){x.value={button:_,row:E},C.value=!0;return}if(_.openDialog){I.value=_,V.value=E,b.value={};const X=de.value.find($=>$.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id";_.fieldActionCustom&&_.fieldActionCustom.forEach($=>{/^(id|ids|idAuditTrail)/i.test($.model)?b.value[$.model]=[E[q]]:b.value[$.model]=""}),S.value=!0;return}h_(_,E)},h_=(_,E)=>{if(_.route){if(_.path){const q=_.route.startsWith("/")?_.route:"/"+_.route;sessionStorage.setItem(`layout_${q}`,_.path)}let X=_.route;X.includes(":")?X=X.replaceAll(/:([a-zA-Z0-9_]+)/g,(q,$)=>E[$]||E.id||$):E.id&&(X=`${X.replace(/\/$/,"")}/${E.id}`),_.path&&_.path,r("navigate",{route:X,path:_.path})}else if(_.endpoint&&_.endpoint.apiUrl){y.value=!0;const{apiUrl:X}=Ke(),q=_.endpoint.apiUrl,$=_.endpoint.apiMethod||"POST",Y={};_.endpoint.keyParam&&Array.isArray(_.endpoint.keyParam)&&_.endpoint.keyParam.forEach((fe,xe)=>{const Be=_.endpoint.model&&xe===0?_.endpoint.model:fe;E[fe]!==void 0&&(Y[Be]=E[fe])}),Object.keys(Y).length===0&&E.id&&(Y.id=E.id),X(q,$,Y).then(()=>{We(),r("action",{action:_.action||"success",row:E})}).catch(fe=>{console.error("Action Failed",fe)}).finally(()=>{y.value=!1})}else r("action",{action:_.action,row:E})},u_=()=>{x.value&&(h_(x.value.button,x.value.row),cq())},DQ=()=>{var _,E;if(I.value){const X=I.value,q=X.endpoint||((_=X.propsActionGlobal)==null?void 0:_.endpointPropAction)||X.propsActionGlobal;let $=(q==null?void 0:q.model)||(q!=null&&q.keyParam&&q.keyParam.length>0?q.keyParam[0]:null);if(!$){const Be=(X.fieldActionGlobal||X.fieldActionCustom||X.field||[]).find(Ge=>/^(id|ids|idAuditTrail)/i.test(Ge.model));$=Be?Be.model:"ids"}let Y=null,fe=!1;if(V.value){const xe=de.value.find(rt=>rt.type==="CHECKBOX"),Be=(xe==null?void 0:xe.keyCheckbox)||"id",Ge=V.value[Be];q!=null&&q.apiUrl&&(Y={...b.value},Y[$]||(Y[$]=[Ge]),fe=!0)}else q!=null&&q.apiUrl&&(Y={...b.value},Y[$]||(Y[$]=B.value||[]),fe=!0);if(fe&&Y&&(q!=null&&q.apiUrl)){const{apiUrl:xe}=Ke(),Be=q.apiUrl,Ge=q.apiMethod||"POST";xe(Be,Ge,Y).then(()=>{S.value=!1,V.value||(B.value=[]),We(),r("action",{action:"success",row:null})}).catch(rt=>{console.error("Action Failed",rt)})}else if(V.value){const xe=de.value.find(mS=>mS.type==="CHECKBOX"),Be=(xe==null?void 0:xe.keyCheckbox)||"id",Ge=V.value[Be],rt={...b.value};rt[$]||(rt[$]=[Ge]),r("action",{action:I.value.action,row:rt}),S.value=!1}else{const xe={...b.value};xe[$]||(xe[$]=B.value);const Be={action:((E=I.value.propsActionGlobal)==null?void 0:E.key)||I.value.key,row:xe,selection:B.value};r("action",Be),S.value=!1}}},cq=()=>{C.value=!1,x.value=null},EQ=t.computed(()=>x.value?x.value.button.confirmTitle||"Confirm":""),TQ=t.computed(()=>x.value?x.value.button.confirmMessage||"Confirm":"");e({fetchData:We,filters:k,resetFilters:yS,handleRefresh:d_});const kS=t.ref(""),HQ=_=>{if(!_)return"";const E=_.endpoint||_.endpointGlobal||{};return JSON.stringify({url:E.apiUrl||_.apiUrl,module:E.apiModule||_.apiModule,action:E.apiAction||_.apiAction,method:E.apiMethod||_.apiMethod,params:_.apiParams,socket:E.socket||_.socketEndpoint,socketParams:_.socketParams})};return t.watch(()=>o.tableConfig,()=>{if(o.tableConfig){re();const _=HQ(o.tableConfig);_!==kS.value&&(!kS.value&&le.value?(kS.value=_,We()):(kS.value=_,le.value&&ra()))}},{deep:!0,immediate:!0}),t.watch(()=>o.apiModule,()=>{le.value&&We()}),t.watch(()=>o.apiParams,()=>{le.value&&We()},{deep:!0}),t.watch(()=>w.value,_=>{console.log("[DEBUG] headerActions changed:",_.length,"items");const E=ee.value;console.log("[DEBUG] visibleHeaderActions evaluated:",E.length,"items")},{deep:!0}),t.onMounted(()=>{re(),le.value&&(o.tableConfig||(y.value=!0,We()))}),(_,E)=>{var X;return t.openBlock(),t.createElementBlock("div",NY,[t.createElementVNode("div",$Y,[t.createElementVNode("div",UY,[a.nested?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",WY,[t.createElementVNode("div",GY,[t.createVNode(t.unref(yr),{class:"absolute left-2.5 top-2.5 h-4 w-4 text-neutral-500 dark:text-neutral-400"}),t.createVNode(t.unref(o_),{modelValue:c.value,"onUpdate:modelValue":E[0]||(E[0]=q=>c.value=q),placeholder:"Search...",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:t.withKeys(te,["enter"])},null,8,["modelValue"])]),M.value.length>0?(t.openBlock(),t.createElementBlock("div",KY,[t.createVNode(CY,null,{trigger:t.withCtx(()=>[t.createVNode(ws,{variant:"secondary",icon:"SlidersHorizontal",tooltip:"Advance Search",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"})]),footer:t.withCtx(()=>[t.createElementVNode("div",JY,[t.renderSlot(_.$slots,"filter-footer",{fetch:We,reset:yS})])]),default:t.withCtx(()=>[t.createElementVNode("div",XY,[t.renderSlot(_.$slots,"filter-form",{filters:k.value},()=>[M.value.length>0?(t.openBlock(),t.createElementBlock("div",ZY,[t.createElementVNode("div",YY,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Z.value,(q,$)=>(t.openBlock(),t.createElementBlock("div",{key:$,class:t.normalizeClass(J(q.column))},[t.createVNode(Qz,{field:q,modelValue:k.value[q.model],"onUpdate:modelValue":Y=>k.value[q.model]=Y},null,8,["field","modelValue","onUpdate:modelValue"])],2))),128))])])):t.createCommentVNode("",!0)]),M.value.length>0?(t.openBlock(),t.createElementBlock("div",QY,[t.createVNode(t.unref(Ee),{variant:"outline",onClick:yS,disabled:ve.value,class:"flex-1 w-full"},{default:t.withCtx(()=>[...E[8]||(E[8]=[t.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled"]),t.createVNode(t.unref(Ee),{onClick:nq,disabled:ve.value,class:"flex-1 w-full"},{default:t.withCtx(()=>[...E[9]||(E[9]=[t.createTextVNode(" Search ",-1)])]),_:1},8,["disabled"])])):t.createCommentVNode("",!0)])]),_:3})])):t.createCommentVNode("",!0)])),t.createElementVNode("div",{class:t.normalizeClass(["flex items-center gap-2 flex-wrap",{"w-full justify-between":a.nested}])},[a.nested?(t.openBlock(),t.createElementBlock("span",eQ)):t.createCommentVNode("",!0),a.nested?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ws,{key:1,variant:"secondary",icon:"RefreshCw",text:"Refresh",tooltip:"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:d_,disabled:ve.value},{icon:t.withCtx(()=>[t.createVNode(t.unref(ps),{class:t.normalizeClass(["w-3.5 h-3.5",{"animate-spin":ve.value}])},null,8,["class"])]),_:1},8,["disabled"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ee.value,(q,$)=>(t.openBlock(),t.createBlock(ws,{key:$,icon:q.icon,text:q.label,tooltip:q.tooltip,variant:q.variant,"bg-color":q.bgColor,"text-color":q.textColor,class:"gap-2 h-9 shadow-lg shadow-primary-500/20 border-none text-xs font-medium",onClick:Y=>sq(q)},null,8,["icon","text","tooltip","variant","bg-color","text-color","onClick"]))),128)),t.renderSlot(_.$slots,"header-actions")],2)])]),t.createElementVNode("div",tQ,[t.createElementVNode("table",aQ,[t.createElementVNode("thead",nQ,[t.createElementVNode("tr",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,q=>(t.openBlock(),t.createElementBlock("th",{key:q.key,class:t.normalizeClass([q.align?`text-${q.align.toLowerCase()}`:"",q.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:t.normalizeStyle(q.width?{width:q.width}:{}),onClick:$=>q.sortable&&oq(q.key)},[q.type==="CHECKBOX"?(t.openBlock(),t.createElementBlock("div",rQ,[t.createVNode(q1,{"model-value":A.value,indeterminate:P.value,"onUpdate:modelValue":E[1]||(E[1]=$=>U(!!$)),onClick:E[2]||(E[2]=t.withModifiers(()=>{},["stop"]))},null,8,["model-value","indeterminate"])])):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex items-center gap-2 w-full",Mt(q.align)])},[t.createElementVNode("span",null,t.toDisplayString(q.label),1)],2))],14,oQ))),128)),ue.value?(t.openBlock(),t.createElementBlock("th",iQ,[...E[10]||(E[10]=[t.createElementVNode("div",{class:"flex items-center justify-center w-full"}," Actions ",-1)])])):t.createCommentVNode("",!0)])]),t.createElementVNode("tbody",sQ,[ve.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(h.value,q=>(t.openBlock(),t.createElementBlock("tr",{key:`skeleton-${q}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,$=>{var Y,fe;return t.openBlock(),t.createElementBlock("td",{key:$.key,class:t.normalizeClass([$.align?`text-${$.align.toLowerCase()}`:"text-left","px-3 py-0.5"])},[t.createElementVNode("div",{class:t.normalizeClass(["bg-gradient-to-r from-neutral-200 via-neutral-300 to-neutral-200 dark:from-neutral-700 dark:via-neutral-600 dark:to-neutral-700 animate-shimmer",[["badge","BADGE"].includes($.type??"")||$.condition?"h-5 rounded-full w-20":"h-4 rounded-md",((Y=$.align)==null?void 0:Y.toLowerCase())==="center"?"mx-auto":"",((fe=$.align)==null?void 0:fe.toLowerCase())==="right"?"ml-auto":""]]),style:t.normalizeStyle({width:["badge","BADGE"].includes($.type??"")||$.condition?void 0:iq($),backgroundSize:"200% 100%"})},null,6)],2)}),128)),a.hasActions?(t.openBlock(),t.createElementBlock("td",lQ,[...E[11]||(E[11]=[t.createElementVNode("div",{class:"flex items-center justify-center gap-1.5"},[t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse"}),t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse delay-75"}),t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse delay-150"})],-1)])])):t.createCommentVNode("",!0)]))),128)):xt.value.length===0?(t.openBlock(),t.createElementBlock("tr",cQ,[t.createElementVNode("td",{colspan:de.value.length+(ue.value?1:0),class:"text-center py-16"},[t.createElementVNode("div",hQ,[t.createElementVNode("div",null,[t.createElementVNode("p",uQ,t.toDisplayString(Pe.value?"No search results":"No data"),1),t.createElementVNode("p",pQ,t.toDisplayString(Pe.value?"Try changing keywords":"No data added"),1)])])],8,dQ)])):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:2},t.renderList(xt.value,(q,$)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:$},[t.createElementVNode("tr",yQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,Y=>(t.openBlock(),t.createElementBlock("td",{key:Y.key,class:t.normalizeClass([Y.align?`text-${Y.align}`:"text-left","px-3 py-0.5 text-sm text-neutral-900 dark:text-neutral-100"])},[t.renderSlot(_.$slots,`cell-${Y.key}`,{row:q,value:O(q,Y.key)},()=>[Y.type==="CHECKBOX"?(t.openBlock(),t.createElementBlock("div",fQ,[t.createVNode(q1,{"model-value":D(q),"onUpdate:modelValue":fe=>T(q,!!fe),onClick:E[3]||(E[3]=t.withModifiers(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])])):Y.type==="badge"||Y.type==="BADGE"||Y.condition?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[Y.align?`justify-${Y.align}`:"justify-start"]])},[t.createVNode(t.unref(_a),{variant:fS(q,Y).variant,class:t.normalizeClass([fS(q,Y).class,"whitespace-nowrap truncate max-w-[150px] inline-block"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(fS(q,Y).label),1)]),_:2},1032,["variant","class"])],2)):Y.key==="no"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createTextVNode(t.toDisplayString((d.value-1)*h.value+$+1),1)],64)):Y.type==="date"||Y.type==="DATE"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createTextVNode(t.toDisplayString(O(q,Y.key)?t.unref(yY)(O(q,Y.key),"long"):"-"),1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createTextVNode(t.toDisplayString(Y.format?Y.format(O(q,Y.key)):O(q,Y.key)),1)],64))])],2))),128)),ue.value?(t.openBlock(),t.createElementBlock("td",kQ,[t.renderSlot(_.$slots,"actions",{row:q,buttons:qe(q),getButtonColor:ot,getIconComponent:Aa},()=>[qe(q).length>0?(t.openBlock(),t.createElementBlock("div",mQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(qe(q),(Y,fe)=>(t.openBlock(),t.createElementBlock("div",{key:fe,class:"group relative"},[t.createVNode(ws,{tooltip:Y.tooltip||Y.label,icon:Aa(Y.icon),size:"icon",variant:Y.variant||"ghost","bg-color":ot(Y,q),onClick:xe=>lq(Y,q)},null,8,["tooltip","icon","variant","bg-color","onClick"])]))),128))])):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0)]),_.$slots["expanded-row"]?(t.openBlock(),t.createElementBlock("tr",gQ,[t.createElementVNode("td",{colspan:de.value.length+(ue.value?1:0),class:"px-0 py-0"},[t.renderSlot(_.$slots,"expanded-row",{row:q,index:$})],8,bQ)])):t.createCommentVNode("",!0)],64))),128))])])]),!ve.value&&xt.value.length>0&&a.showPagination&&v.value?(t.openBlock(),t.createElementBlock("div",MQ,[t.createElementVNode("div",xQ,[t.createVNode(t.unref(DY),{"model-value":String(h.value),"onUpdate:modelValue":E[4]||(E[4]=q=>rq(Number(q)))},{default:t.withCtx(()=>[t.createVNode(t.unref(FY),{class:"h-8 w-[70px] bg-white dark:bg-zinc-800 border-neutral-200 dark:border-neutral-700"},{default:t.withCtx(()=>[t.createVNode(t.unref(RY),{placeholder:String(h.value)},null,8,["placeholder"])]),_:1}),t.createVNode(t.unref(EY),null,{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(K,q=>t.createVNode(t.unref(HY),{key:q,value:String(q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(q),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value"]),E[16]||(E[16]=t.createElementVNode("div",{class:"h-5 w-px bg-zinc-300 dark:bg-zinc-600"},null,-1)),t.createElementVNode("span",wQ,[E[12]||(E[12]=t.createTextVNode(" Showing ",-1)),t.createElementVNode("span",vQ,t.toDisplayString(D1.value),1),E[13]||(E[13]=t.createTextVNode(" to ",-1)),t.createElementVNode("span",CQ,t.toDisplayString(E1.value),1),E[14]||(E[14]=t.createTextVNode(" of ",-1)),t.createElementVNode("span",LQ,t.toDisplayString($t.value),1),E[15]||(E[15]=t.createTextVNode(" items ",-1))])]),t.createElementVNode("div",SQ,[t.createVNode(t.unref(IY),{total:$t.value,"items-per-page":h.value,"sibling-count":1,"show-edges":"",page:d.value,"onUpdate:page":c_,class:"scale-90 origin-right"},{default:t.withCtx(()=>[t.createVNode(t.unref(_Y),{class:"flex items-center gap-1"},{default:t.withCtx(({items:q})=>[t.createVNode(t.unref(BY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(Os),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(PY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(dn),{class:"h-4 w-4"})]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q,($,Y)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[$.type==="page"?(t.openBlock(),t.createBlock(t.unref(VY),{key:Y,value:$.value,"as-child":""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ee),{class:"w-8 h-8 p-0 text-sm",variant:$.value===d.value?"default":"outline",disabled:$.value===d.value,onClick:fe=>c_($.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString($.value),1)]),_:2},1032,["variant","disabled","onClick"])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(t.unref(AY),{key:$.type,index:Y},null,8,["index"]))],64))),256)),t.createVNode(t.unref(qY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(hn),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(zY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(Fs),{class:"h-4 w-4"})]),_:1})]),_:1})]),_:1},8,["total","items-per-page","page"])])])):t.createCommentVNode("",!0),t.createVNode(lS,{modelValue:C.value,"onUpdate:modelValue":E[5]||(E[5]=q=>C.value=q),title:EQ.value,icon:"AlertCircle","max-width":450,persistent:!1},{actions:t.withCtx(()=>[t.createVNode(t.unref(Ee),{variant:"outline",onClick:cq},{default:t.withCtx(()=>[...E[17]||(E[17]=[t.createTextVNode(" Cancel ",-1)])]),_:1}),t.createVNode(t.unref(Ee),{onClick:u_},{default:t.withCtx(()=>[...E[18]||(E[18]=[t.createTextVNode(" Yes ",-1)])]),_:1})]),default:t.withCtx(()=>[t.createElementVNode("div",IQ,[t.createElementVNode("p",_Q,t.toDisplayString(TQ.value),1)])]),_:1},8,["modelValue","title"]),t.createVNode(lS,{modelValue:S.value,"onUpdate:modelValue":E[7]||(E[7]=q=>S.value=q),title:((X=I.value)==null?void 0:X.label)||"Action",icon:"AlertCircle","max-width":450},{actions:t.withCtx(()=>[t.createVNode(t.unref(Ee),{variant:"outline",onClick:E[6]||(E[6]=q=>S.value=!1)},{default:t.withCtx(()=>[...E[19]||(E[19]=[t.createTextVNode(" Cancel ",-1)])]),_:1}),t.createVNode(t.unref(Ee),{onClick:DQ},{default:t.withCtx(()=>[...E[20]||(E[20]=[t.createTextVNode(" Save ",-1)])]),_:1})]),default:t.withCtx(()=>{var q,$;return[t.createElementVNode("div",AQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(((q=I.value)==null?void 0:q.fieldActionCustom)||(($=I.value)==null?void 0:$.fieldActionGlobal)||[],(Y,fe)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:fe},[Y.isHidden?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(J(Y.column))},[t.createVNode(Qz,{field:Y,modelValue:b.value[Y.model],"onUpdate:modelValue":xe=>b.value[Y.model]=xe},null,8,["field","modelValue","onUpdate:modelValue"])],2))],64))),128))])]}),_:1},8,["modelValue","title"])])}}}),BQ={class:"h-full flex flex-col"},VQ={key:1,class:"flex-1 flex items-center justify-center"},zQ={key:2,class:"flex-1 flex items-center justify-center text-red-500"},Jz=t.defineComponent({__name:"AutoLayoutDatatable",props:{layoutCode:{},userPermissions:{},permissionBase:{}},emits:["action","navigate"],setup(a,{emit:e}){const n=a,o=e,r=H1.useRoute();H1.useRouter();const{apiUrl:i}=Ke(),s=t.inject("hasActionAccess",()=>!1),c=t.inject("userPermissions",null),d=t.ref(null),h=t.ref(!0),u=t.ref(null),p=async()=>{var k;h.value=!0;try{const m=await i(`/api/auto-layout/datatable/form-dynamic?code=${n.layoutCode}`,"GET");m.status&&(d.value=Array.isArray(m.data)?m.data[0]:m.data,console.log("[DEBUG] AutoLayoutDatatable config loaded:",d.value),console.log("[DEBUG] actionGlobal in config:",(k=d.value)==null?void 0:k.actionGlobal))}catch(m){console.error("Gagal Menampilkan Datatable:",m)}finally{h.value=!1}},y=k=>{k.action==="add"&&console.log("[AutoLayoutDatatable] Add action triggered"),console.log("Aksi:",k.action,k)},f=k=>{console.log("[DEBUG] AutoLayoutDatatable handleNavigate:",k);let m=k.route;if(m||(m=`/${((r==null?void 0:r.path)||"").split("/")[1]||"product"}/create`),m){const g=k.path?{code:k.path}:{};console.log("[DEBUG] Emitting navigate to parent:",{path:m,query:g}),o("navigate",{route:m,query:g})}else console.warn("[DEBUG] No route or path provided for navigation")};return t.onMounted(()=>{p()}),(k,m)=>(t.openBlock(),t.createElementBlock("div",BQ,[!h.value&&d.value?(t.openBlock(),t.createBlock(uS,{key:0,ref_key:"dtRef",ref:u,"api-url":`/api/auto-layout/datatable/form-dynamic?code=${n.layoutCode}`,"api-method":"GET","table-config":d.value,"permission-base":n.permissionBase||"","user-permissions":n.userPermissions||t.unref(c),"permission-checker":t.unref(s),onAction:y,onNavigate:f},{"header-actions":t.withCtx(()=>[...m[0]||(m[0]=[])]),_:1},8,["api-url","table-config","permission-base","user-permissions","permission-checker"])):h.value?(t.openBlock(),t.createElementBlock("div",VQ,[...m[1]||(m[1]=[t.createElementVNode("i",{class:"mdi mdi-loading mdi-spin text-4xl text-primary-600"},null,-1)])])):(t.openBlock(),t.createElementBlock("div",zQ," Failed to load configuration for "+t.toDisplayString(n.layoutCode),1))]))}}),eq=t.defineCustomElement(Yz),tq=t.defineCustomElement(Jz);typeof customElements<"u"&&(customElements.get("micro-dynamic-form")||customElements.define("micro-dynamic-form",eq),customElements.get("micro-dynamic-datatable")||customElements.define("micro-dynamic-datatable",tq));const qQ=[qS,O_,ws,rI,bz,q1,Mz,GI,lS,Tz,cS,Hz,QI,jz,e_,a_,t_,n_,Oz,r_,Fz,Rz,Nz,$z,i_,s_,l_,dS,Kz,Xz,Zz,uS],PQ={install(a,e={}){e&&Object.keys(e).length>0&&f_(e),qQ.forEach(n=>{n.name&&a.component(n.name,n)})}};oe.AutoLayoutDatatable=Jz,oe.AutoLayoutForm=Yz,oe.DCodeAutoComplete=qS,oe.DCodeButton=ws,oe.DCodeCard=rI,oe.DCodeChart=bz,oe.DCodeCheckbox=q1,oe.DCodeCurrencyField=Mz,oe.DCodeDatePicker=GI,oe.DCodeDialog=lS,oe.DCodeDialogCloseBtn=Tz,oe.DCodeDropzone=cS,oe.DCodeFileField=Hz,oe.DCodeFileResult=QI,oe.DCodeIconDropdown=jz,oe.DCodeImageCropperDialog=e_,oe.DCodeImageField=a_,oe.DCodeImageResult=t_,oe.DCodeInfiniteAutoComplete=O_,oe.DCodeLabel=n_,oe.DCodeMultiSelect=Oz,oe.DCodeOtpInput=r_,oe.DCodeProgress=Fz,oe.DCodeProgressBar=Rz,oe.DCodeRadio=Nz,oe.DCodeRadioCustom=$z,oe.DCodeSlider=i_,oe.DCodeSwitch=s_,oe.DCodeTextField=l_,oe.DCodeTextarea=dS,oe.DCodeTimelineWithIcons=Kz,oe.DCodeUploadFile=Xz,oe.DCodeWizard=Zz,oe.DataTable=uS,oe.DataTableComponent=uS,oe.MicroDynamicDatatable=tq,oe.MicroDynamicForm=eq,oe.cn=be,oe.default=PQ,oe.setApiConfig=f_,Object.defineProperties(oe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
8595
+ `,""),W=Number(z);return Number.isFinite(W)?W:null}return G},D=G=>{m.value=G,o("update:modelValue",P(G))},U=(G,z)=>{const W=y(z);v.value=!0,G.value=W,D(W),queueMicrotask(()=>v.value=!1)},T=(G,z)=>{const W=G.selectionStart??G.value.length,ee=G.selectionEnd??G.value.length;if(p.value>0){const pe=G.value.length-(ee-W),qe=p.value-pe;if(qe<=0)return;z=z.slice(0,qe)}G.setRangeText(z,W,ee,"end"),U(G,B(G.value))},H=G=>{var ee;if(!A||g.value||v.value||!((ee=G.inputType)!=null&&ee.startsWith("insert")))return;const z=G.data;if(z==null)return;const W=B(z);W!==z&&(G.preventDefault(),W.length>0&&T(A,W))},N=G=>{var ee;if(!A||g.value||v.value)return;const z=((ee=G.clipboardData)==null?void 0:ee.getData("text"))??"",W=B(z);W!==z&&(G.preventDefault(),W.length>0&&T(A,W))},Q=async G=>{if(!A||g.value||v.value)return;const z=G.target,W=z.value??"",ee=B(W);if(ee===W){const pe=z.selectionStart??ee.length,qe=z.selectionEnd??ee.length;U(z,ee),await t.nextTick();try{z.setSelectionRange(pe,qe)}catch{}D(ee)}else{const pe=z.selectionStart??ee.length,qe=z.selectionEnd??ee.length;U(z,ee),await t.nextTick();try{z.setSelectionRange(pe,qe)}catch{}}},j=()=>g.value=!0,F=()=>{if(g.value=!1,!A)return;const G=A.value??"",z=B(G);z===G?D(z):U(A,z)};t.onMounted(()=>{if(A=document.getElementById(d.value),!A)return;A.addEventListener("beforeinput",H),A.addEventListener("paste",N),A.addEventListener("input",Q),A.addEventListener("compositionstart",j),A.addEventListener("compositionend",F);const G=A.value??"",z=B(G);z===G?D(z):U(A,z)}),t.onBeforeUnmount(()=>{A&&(A.removeEventListener("beforeinput",H),A.removeEventListener("paste",N),A.removeEventListener("input",Q),A.removeEventListener("compositionstart",j),A.removeEventListener("compositionend",F),A=null)});const R=()=>{m.value="",A&&(A.value=""),o("update:modelValue",null),o("clear")},Z=t.computed(()=>m.value.length),J=t.computed(()=>r.showCharCount?p.value>0:!1),re=t.computed(()=>J.value&&Z.value>0),de=t.computed(()=>`${Z.value} / ${p.value}`),ue=t.computed(()=>!!r.error),ve=t.computed(()=>{const G=n.rows,z=typeof G=="number"?G:Number.parseInt(String(G??""),10);return Number.isFinite(z)&&z>0?z:3}),le=t.computed(()=>({height:`${ve.value*24+16}px`}));return(G,z)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flex flex-col gap-1 w-full",t.unref(n).class]),"aria-busy":r.skeleton},[r.skeleton?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[i.value?(t.openBlock(),t.createElementBlock("div",mX)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"w-full rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse",style:t.normalizeStyle(le.value)},null,4)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.value?(t.openBlock(),t.createBlock(t.unref(La),{key:0,for:d.value,class:"text-sm font-medium"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.value)+" ",1),h.value?(t.openBlock(),t.createElementBlock("span",gX,"*")):t.createCommentVNode("",!0)]),_:1},8,["for"])):t.createCommentVNode("",!0),t.createElementVNode("div",bX,[t.createElementVNode("textarea",t.mergeProps({id:d.value,value:m.value},u.value,{style:`text-transform: ${C.value}; padding-right: ${k.value?"2.5rem":"0.75rem"} !important; padding-left: 0.75rem !important;`,class:["flex min-h-[120px] w-full rounded-lg border py-2 bg-white dark:bg-neutral-900 text-foreground dark:text-gray-300 border-gray-300 dark:border-gray-700 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",ue.value?"border-destructive focus-visible:ring-destructive":""]}),null,16,MX),k.value?(t.openBlock(),t.createElementBlock("div",xX,[t.createElementVNode("button",{type:"button",class:"text-muted-foreground hover:text-foreground text-sm leading-none","aria-label":"Clear textarea",onClick:R}," ✕ ")])):t.createCommentVNode("",!0),re.value&&!ue.value?(t.openBlock(),t.createElementBlock("p",wX,t.toDisplayString(de.value),1)):t.createCommentVNode("",!0)]),ue.value?(t.openBlock(),t.createElementBlock("p",vX,t.toDisplayString(r.error),1)):t.createCommentVNode("",!0)],64))],10,kX)),[[t.vShow,s.value]])}}),Uz=t.defineComponent({__name:"Avatar",props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:"sm"},shape:{default:"circle"}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(OT),{class:t.normalizeClass(t.unref(be)(t.unref(CX)({size:a.size,shape:a.shape}),e.class))},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}}),Wz=t.defineComponent({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(RT),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),Gz=t.defineComponent({__name:"AvatarImage",props:{src:{},referrerPolicy:{},crossOrigin:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(UT),t.mergeProps(e,{class:"h-full w-full object-cover"}),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),CX=i1("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"}}}),hS=t.defineComponent({__name:"Separator",props:{orientation:{default:"horizontal"},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(fj),t.mergeProps(t.unref(n),{class:t.unref(be)("shrink-0 bg-border",e.orientation==="horizontal"?"h-px w-full":"w-px h-full",e.class)}),null,16,["class"]))}}),LX={class:"bg-card text-card-foreground"},SX={class:"pb-6 px-3"},IX={key:0,class:"flex justify-center p-8"},_X={key:1,class:"p-8 text-center text-red-500"},AX={key:2,class:"relative"},BX={class:"space-y-6"},VX={class:"rounded-xl border bg-card text-card-foreground shadow"},zX={class:"p-4"},qX={class:"flex items-center justify-between gap-3"},PX={class:"font-medium"},DX={class:"text-xs text-muted-foreground"},EX={class:"mt-1 text-sm text-muted-foreground"},TX={class:"text-foreground"},HX={class:"text-foreground"},jX={class:"mt-1 text-xs text-muted-foreground"},OX={key:0,class:"mt-3 flex items-center gap-2 text-sm"},FX={class:"flex items-center justify-between gap-3"},RX={class:"font-medium"},NX={class:"text-xs text-muted-foreground"},$X={class:"mt-2 text-sm text-muted-foreground"},UX={class:"flex flex-wrap items-center justify-between gap-3"},WX={class:"flex items-center gap-3"},GX={class:"leading-tight"},KX={class:"text-sm font-medium"},XX={class:"text-xs text-muted-foreground"},ZX={class:"flex items-center gap-2"},YX={key:2,class:"flex flex-col gap-3 sm:flex-row sm:items-start"},QX={class:"h-16 w-16 shrink-0 rounded-lg bg-muted flex items-center justify-center"},JX=["src"],eZ={class:"flex-1"},tZ={class:"flex items-center justify-between gap-3"},aZ={class:"font-medium"},nZ={class:"text-xs text-muted-foreground"},oZ={class:"mt-1 text-sm text-muted-foreground"},rZ={class:"text-left sm:text-center"},iZ={class:"text-xs text-muted-foreground"},sZ={class:"text-left sm:text-center"},lZ={class:"text-xs text-muted-foreground"},cZ={class:"text-left sm:text-center"},dZ={class:"text-xs text-muted-foreground"},hZ={class:"flex items-center justify-between gap-3"},uZ={class:"font-medium"},pZ={class:"text-xs text-muted-foreground"},yZ={class:"mt-2 text-sm text-muted-foreground"},fZ={class:"mt-3 flex items-center gap-3"},kZ={class:"text-sm font-medium"},mZ={class:"flex items-start justify-between gap-3"},gZ={class:"font-medium"},bZ={class:"mt-3 grid gap-2 text-sm"},MZ={class:"flex items-center justify-between gap-3"},xZ={class:"flex items-center gap-2 text-muted-foreground"},wZ={class:"font-medium"},vZ={class:"flex items-center justify-between gap-3"},CZ={class:"flex items-center gap-2 text-muted-foreground"},LZ={class:"font-medium"},SZ={class:"flex items-center justify-between gap-3"},IZ={class:"flex items-center gap-2 text-muted-foreground"},_Z={class:"font-medium"},AZ={class:"flex items-center justify-between"},BZ={class:"flex items-center gap-2"},VZ={class:"flex items-start justify-between gap-3"},zZ={class:"flex items-center gap-2"},qZ={class:"font-medium"},PZ={class:"mt-2 text-sm text-muted-foreground"},DZ={key:0,class:"mt-1 text-sm text-muted-foreground"},EZ={class:"flex flex-wrap items-center justify-between gap-3"},TZ={class:"flex items-center gap-2"},HZ={class:"text-xs text-muted-foreground"},Kz=t.defineComponent({name:"DCodeTimelineWithIcons",__name:"DCodeTimelineWithIcons",props:{items:{},apiUrl:{},apiMethod:{}},setup(a){const n=AE(_E).smaller("md");t.ref(!1);const o=a,r=t.ref(!1),i=t.ref(null),s=t.ref([]),c=t.computed(()=>s.value.length>0?s.value:o.items&&o.items.length>0?o.items:[]),d=async()=>{if(o.apiUrl){r.value=!0,i.value=null;try{const p=await fetch(o.apiUrl,{method:o.apiMethod||"GET",headers:{"Content-Type":"application/json"}});if(!p.ok)throw new Error(`Error: ${p.status} ${p.statusText}`);const y=await p.json();Array.isArray(y)?s.value=y:y.data&&Array.isArray(y.data)?s.value=y.data:y.items&&Array.isArray(y.items)?s.value=y.items:s.value=[]}catch(p){console.error("Failed to fetch timeline items:",p),i.value=p.message||"Failed to fetch data"}finally{r.value=!1}}};t.onMounted(()=>{o.apiUrl&&d()}),t.watch(()=>o.apiUrl,()=>{o.apiUrl?d():s.value=[]});const h=p=>{switch(p){case"flight":return{Icon:Ys,Circle:"bg-primary/10 text-primary border-primary/30"};case"interview":return{Icon:Ns,Circle:"bg-emerald-500/10 text-emerald-600 border-emerald-500/30"};case"product":return{Icon:t1,Circle:"bg-amber-500/10 text-amber-600 border-amber-500/30"};case"design":return{Icon:sr,Circle:"bg-sky-500/10 text-sky-600 border-sky-500/30"};case"server":return{Icon:Js,Circle:"bg-rose-500/10 text-rose-600 border-rose-500/30"};case"location":return{Icon:Ks,Circle:"bg-emerald-500/10 text-emerald-600 border-emerald-500/30"};default:return{Icon:Rs,Circle:"bg-primary/10 text-primary border-primary/30"}}},u=p=>p.split(" ").filter(Boolean).slice(0,2).map(y=>{var f;return(f=y[0])==null?void 0:f.toUpperCase()}).join("");return(p,y)=>{const f=t.resolveComponent("ShoppingCart"),k=t.resolveComponent("RefreshCcw"),m=t.resolveComponent("MapPin");return t.openBlock(),t.createElementBlock("div",LX,[y[8]||(y[8]=t.createElementVNode("div",{class:"flex flex-col space-y-1.5 py-6 px-3"},[t.createElementVNode("h3",{class:"leading-none tracking-tight text-lg font-medium"},"Timeline With Icons")],-1)),t.createElementVNode("div",SX,[r.value?(t.openBlock(),t.createElementBlock("div",IX,[...y[0]||(y[0]=[t.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):i.value?(t.openBlock(),t.createElementBlock("div",_X,t.toDisplayString(i.value),1)):(t.openBlock(),t.createElementBlock("div",AX,[y[7]||(y[7]=t.createElementVNode("div",{class:"absolute left-4 top-0 h-full w-px bg-border"},null,-1)),t.createElementVNode("div",BX,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(g,v)=>(t.openBlock(),t.createElementBlock("div",{key:v,class:"relative pl-14"},[t.createElementVNode("div",{class:t.normalizeClass(["absolute left-0 top-2 flex h-8 w-8 items-center justify-center rounded-full border",h(g.type).Circle])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h(g.type).Icon),{class:"h-4 w-4"}))],2),t.createElementVNode("div",VX,[t.createElementVNode("div",zX,[g.type==="flight"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",qX,[t.createElementVNode("p",PX,t.toDisplayString(g.title),1),t.createElementVNode("p",DX,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",EX,[t.createElementVNode("span",TX,t.toDisplayString(g.from),1),t.createVNode(t.unref(Ts),{class:"mx-2 inline h-4 w-4"}),t.createElementVNode("span",HX,t.toDisplayString(g.to),1)]),t.createElementVNode("p",jX,t.toDisplayString(g.time),1),g.fileName?(t.openBlock(),t.createElementBlock("div",OX,[t.createVNode(t.unref(hs),{class:"h-4 w-4 text-muted-foreground"}),t.createElementVNode("span",null,t.toDisplayString(g.fileName),1)])):t.createCommentVNode("",!0)],64)):g.type==="interview"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("div",FX,[t.createElementVNode("p",RX,t.toDisplayString(g.title),1),t.createElementVNode("p",NX,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",$X,t.toDisplayString(g.desc),1),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",UX,[t.createElementVNode("div",WX,[t.createVNode(t.unref(Uz),{class:"h-10 w-10"},{default:t.withCtx(()=>[g.avatarUrl?(t.openBlock(),t.createBlock(t.unref(Gz),{key:0,src:g.avatarUrl},null,8,["src"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Wz),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u(g.personName??"")),1)]),_:2},1024)]),_:2},1024),t.createElementVNode("div",GX,[t.createElementVNode("p",KX,t.toDisplayString(g.personName),1),t.createElementVNode("p",XX,t.toDisplayString(g.personRole),1)])]),t.createElementVNode("div",ZX,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(us),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(Zs),{class:"h-4 w-4"})]),_:1})])])],64)):g.type==="product"?(t.openBlock(),t.createElementBlock("div",YX,[t.createElementVNode("div",QX,[g.imgUrl?(t.openBlock(),t.createElementBlock("img",{key:0,src:g.imgUrl,class:"h-full w-full rounded-lg object-cover",alt:"product"},null,8,JX)):(t.openBlock(),t.createBlock(f,{key:1,class:"h-5 w-5 text-muted-foreground"}))]),t.createElementVNode("div",eZ,[t.createElementVNode("div",tZ,[t.createElementVNode("p",aZ,t.toDisplayString(g.title),1),t.createElementVNode("p",nZ,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",oZ,t.toDisplayString(g.desc),1),t.createElementVNode("div",{class:t.normalizeClass(["mt-4 grid gap-3",t.unref(n)?"grid-cols-1":"grid-cols-3"])},[t.createElementVNode("div",rZ,[y[1]||(y[1]=t.createElementVNode("p",{class:"text-sm font-medium"},"Customer",-1)),t.createElementVNode("p",iZ,t.toDisplayString(g.customer),1)]),t.createElementVNode("div",sZ,[y[2]||(y[2]=t.createElementVNode("p",{class:"text-sm font-medium"},"Price",-1)),t.createElementVNode("p",lZ,t.toDisplayString(g.price),1)]),t.createElementVNode("div",cZ,[y[3]||(y[3]=t.createElementVNode("p",{class:"text-sm font-medium"},"Quantity",-1)),t.createElementVNode("p",dZ,t.toDisplayString(g.qty),1)])],2)])])):g.type==="design"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createElementVNode("div",hZ,[t.createElementVNode("p",uZ,t.toDisplayString(g.title),1),t.createElementVNode("p",pZ,t.toDisplayString(g.meta),1)]),t.createElementVNode("p",yZ,t.toDisplayString(g.desc),1),t.createElementVNode("div",fZ,[t.createVNode(t.unref(Uz),{class:"h-10 w-10"},{default:t.withCtx(()=>[g.avatarUrl?(t.openBlock(),t.createBlock(t.unref(Gz),{key:0,src:g.avatarUrl},null,8,["src"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Wz),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u(g.personName??"")),1)]),_:2},1024)]),_:2},1024),t.createElementVNode("p",kZ,t.toDisplayString(g.personName),1)])],64)):g.type==="server"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createElementVNode("div",mZ,[t.createElementVNode("p",gZ,t.toDisplayString(g.title),1),t.createVNode(t.unref(_a),{variant:"destructive",class:"h-6"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.chipText??""),1)]),_:2},1024)]),t.createElementVNode("div",bZ,[t.createElementVNode("div",MZ,[t.createElementVNode("div",xZ,[t.createVNode(t.unref(Ws),{class:"h-4 w-4"}),y[4]||(y[4]=t.createElementVNode("span",null,"IP Address",-1))]),t.createElementVNode("span",wZ,t.toDisplayString(g.ip),1)]),t.createElementVNode("div",vZ,[t.createElementVNode("div",CZ,[t.createVNode(t.unref(cs),{class:"h-4 w-4"}),y[5]||(y[5]=t.createElementVNode("span",null,"CPU",-1))]),t.createElementVNode("span",LZ,t.toDisplayString(g.cpu),1)]),t.createElementVNode("div",SZ,[t.createElementVNode("div",IZ,[t.createVNode(t.unref(cs),{class:"h-4 w-4"}),y[6]||(y[6]=t.createElementVNode("span",null,"Memory",-1))]),t.createElementVNode("span",_Z,t.toDisplayString(g.memory),1)])]),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",AZ,[t.createElementVNode("div",BZ,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(e1),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(k,{class:"h-4 w-4"})]),_:1})])])],64)):g.type==="location"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:5},[t.createElementVNode("div",VZ,[t.createElementVNode("div",zZ,[t.createVNode(m,{class:"h-4 w-4 text-muted-foreground"}),t.createElementVNode("p",qZ,t.toDisplayString(g.title),1)]),t.createVNode(t.unref(_a),{variant:"destructive",class:"h-6"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.chipText),1)]),_:2},1024)]),t.createElementVNode("p",PZ,t.toDisplayString(g.desc1),1),g.desc2?(t.openBlock(),t.createElementBlock("p",DZ,t.toDisplayString(g.desc2),1)):t.createCommentVNode("",!0),t.createVNode(t.unref(hS),{class:"my-4"}),t.createElementVNode("div",EZ,[t.createElementVNode("div",TZ,[t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(Gs),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(us),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(Ee),{size:"icon",variant:"ghost"},{default:t.withCtx(()=>[t.createVNode(t.unref(o1),{class:"h-4 w-4"})]),_:1})]),t.createElementVNode("p",HZ,"Due date: "+t.toDisplayString(g.due),1)])],64)):t.createCommentVNode("",!0)])])]))),128))])]))])])}}}),jZ={class:"dcode-upload-file"},OZ={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"},FZ={key:0,class:"text-xs text-gray-500 mt-1"},RZ=["accept"],NZ={key:1,class:"text-xs text-red-600 mt-1"},Xz=t.defineComponent({name:"DCodeUploadFile",__name:"DCodeUploadFile",props:{label:{},accept:{},errorMessage:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const n=e,o=r=>{var s;const i=(s=r.target.files)==null?void 0:s[0];i&&n("update:modelValue",i)};return(r,i)=>(t.openBlock(),t.createElementBlock("div",jZ,[a.label?(t.openBlock(),t.createBlock(n_,{key:0,label:a.label},null,8,["label"])):t.createCommentVNode("",!0),t.createElementVNode("div",OZ,[t.createVNode(t.unref(ha),{class:"w-8 h-8 text-gray-400 mb-2"}),i[0]||(i[0]=t.createElementVNode("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[t.createElementVNode("span",{class:"font-medium text-primary-600"},"Click to upload"),t.createTextVNode(" or drag and drop ")],-1)),a.accept?(t.openBlock(),t.createElementBlock("p",FZ,t.toDisplayString(a.accept),1)):t.createCommentVNode("",!0),t.createElementVNode("input",{type:"file",class:"hidden",onChange:o,accept:a.accept},null,40,RZ)]),a.errorMessage?(t.openBlock(),t.createElementBlock("p",NZ,t.toDisplayString(a.errorMessage),1)):t.createCommentVNode("",!0)]))}}),$Z=["onClick"],UZ={key:1,class:"mr-2 text-xs font-bold shrink-0 opacity-50"},WZ={class:"font-semibold text-sm whitespace-normal text-center leading-tight"},GZ={key:1},KZ={key:0,class:"text-white"},XZ={key:1},ZZ={key:2},YZ=["disabled","onClick"],QZ={key:1,class:"mr-2 text-sm font-bold opacity-70"},JZ={class:"whitespace-normal text-sm text-center leading-tight"},eY={class:"flex flex-col flex-1 min-w-0"},tY={class:"text-sm text-muted-foreground"},aY={class:"px-1"},nY=["disabled"],oY=["type"],rY=["disabled"],Zz=Xt(t.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}},emits:["update:modelValue","change","loaded","error"],setup(a,{emit:e}){const n=a,o=e,r=Ke(),i=r==null?void 0:r.DCodeApi;typeof i!="function"&&console.error("[DCodeWizardTabs] useApi() must expose DCodeApi()");const s=t.ref(n.defaultTab),c=t.computed({get(){var b;if(typeof n.modelValue=="string"){const x=(b=n.tabs)==null?void 0:b.findIndex(I=>I.key===n.modelValue);if(x!==void 0&&x>=0)return x}return(typeof n.modelValue=="number"?n.modelValue:void 0)??s.value},set(b){var x;if(s.value=b,typeof n.modelValue=="string"){const I=(x=n.tabs)==null?void 0:x[b];I?o("update:modelValue",I.key):o("update:modelValue",b)}else o("update:modelValue",b)}}),d=t.computed(()=>{var b;return((b=n.tabs)==null?void 0:b.length)??0}),h=t.computed(()=>{var b;return(b=n.tabs)==null?void 0:b[c.value]});function u(b){return d.value<=0?0:Math.min(Math.max(b,0),d.value-1)}function p(b){return b?typeof b=="string"?Gt[b]||null:b:null}const y=t.reactive({});function f(b){return y[b.key]||(y[b.key]={loaded:!1,loading:!1,data:null,error:null}),y[b.key]}function k(){if(n.apiOptions)return typeof n.apiOptions=="function"?n.apiOptions():n.apiOptions}function m(b){const x=b.endpoint||{};return{apiModule:b.apiModule||x.apiModule,apiAction:b.apiAction||x.apiAction,apiUrl:x.apiUrl,apiMethod:x.apiMethod||"GET",apiParams:b.apiParams}}function g(b){if(n.isWizard||!n.allowTabClick||n.disabled)return!1;const x=n.tabs[b];return!(!x||x.disabled)}async function v(b){if(typeof b.tab.fetchData=="function"){const D=await b.tab.fetchData(),U=(D==null?void 0:D.data)??D;return(U==null?void 0:U.data)??U}const x=m(b.tab);if(!(x.apiModule&&x.apiAction||x.apiUrl))return null;if(typeof i!="function")throw new Error("DCodeApi is not available");const V=k();let B;if(x.apiUrl)B=await i("","",V,{_url:x.apiUrl,_method:x.apiMethod,_data:x.apiParams??void 0});else{const D={...V,...x.apiParams};B=await i(x.apiModule,x.apiAction,D)}const A=(B==null?void 0:B.data)??B;return(A==null?void 0:A.data)??A}async function L(b,{force:x=!1}={}){const I=u(b),V=n.tabs[I];if(!V)return;const B=f(V);if(!(n.cache&&B.loaded&&!x)&&!B.loading){B.loading=!0,B.error=null;try{const A=await v({tabIndex:I,tab:V});B.data=A,B.loaded=!0,o("loaded",{tabIndex:I,tab:V,data:A})}catch(A){const P=typeof(A==null?void 0:A.message)=="string"&&A.message||typeof A=="string"&&A||"Failed to load tab data.";B.error=P,o("error",{tabIndex:I,tab:V,message:P})}finally{B.loading=!1}}}function w(b){const x=u(b);g(x)&&x!==c.value&&(c.value=x)}function M(b=c.value){return L(b,{force:!0})}function C(){const b=u(c.value-1);b!==c.value&&(c.value=b)}function S(){const b=u(c.value+1);b!==c.value&&(c.value=b)}return t.watch(()=>n.tabs,b=>{for(const x of b??[])f(x)},{immediate:!0}),t.watch(()=>c.value,async b=>{var I;const x=(I=n.tabs)==null?void 0:I[b];x&&o("change",{tabIndex:b,tab:x}),await L(b)},{immediate:!0}),t.watch(()=>n.autoFetchOnMount,async b=>{b&&await L(c.value)},{immediate:!0}),(b,x)=>{var I,V,B;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["w-full rounded-lg border bg-card text-card-foreground shadow-sm",{"flex flex-row":a.isVertical}])},[t.createElementVNode("div",{class:t.normalizeClass(["flex flex-col space-y-1.5 p-6",{"w-64 border-r pr-0":a.isVertical,"pb-2":a.isWizard&&!a.isVertical}])},[t.createElementVNode("div",{class:t.normalizeClass({"mt-4":!a.isVertical||a.isWizard})},[a.isWizard?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["w-full relative flex overflow-visible rounded-lg",a.isVertical?"flex-col gap-2":""])},[a.isVertical?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("div",{key:A.key,class:"relative z-10 box-border flex items-center gap-3 w-full pb-6 last:pb-0"},[t.createElementVNode("div",{class:t.normalizeClass(["w-8 h-8 rounded-full flex shrink-0 items-center justify-center font-bold text-sm border-2 transition-all bg-card",[P<c.value?"wizard-num-done":"",P===c.value?"wizard-num-active":P>c.value?"wizard-num-pending":""]])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"w-4 h-4"})):a.typeWizard==="number"||!A.icon&&a.typeWizard!=="none"?(t.openBlock(),t.createElementBlock("span",GZ,[P<c.value?(t.openBlock(),t.createElementBlock("span",KZ,"✓")):(t.openBlock(),t.createElementBlock("span",XZ,t.toDisplayString(P+1),1))])):(t.openBlock(),t.createElementBlock("span",ZZ))],2),t.createElementVNode("span",{class:t.normalizeClass(["text-xs font-semibold whitespace-normal px-2 py-1 rounded transition-colors text-left",P===c.value?"wizard-text-active":"wizard-text-pending"])},t.toDisplayString(A.title),3)]))),128)):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("div",{key:A.key,onClick:D=>w(P),style:t.normalizeStyle({zIndex:a.tabs.length-P}),class:"relative flex-1 group"},[t.createElementVNode("div",{class:t.normalizeClass(["relative flex items-center justify-center min-h-[3rem] h-auto py-2 px-2 cursor-pointer transition-colors w-full",[P>0?"pl-8":"",P===c.value?"wizard-step-active":P<c.value?"wizard-step-done":"wizard-step-pending"]])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"w-4 h-4 mr-2 shrink-0"})):a.typeWizard==="number"?(t.openBlock(),t.createElementBlock("span",UZ,t.toDisplayString(P+1),1)):t.createCommentVNode("",!0),t.createElementVNode("span",WZ,t.toDisplayString(A.title),1)],2),P<a.tabs.length-1?(t.openBlock(),t.createElementBlock("svg",{key:0,class:t.normalizeClass(["absolute top-0 -right-[15.5px] w-[16px] h-full transition-colors block z-10",[P===c.value?"wizard-svg-active":P<c.value?"wizard-svg-done":"wizard-svg-pending"]]),preserveAspectRatio:"none",viewBox:"0 0 16 48"},[...x[0]||(x[0]=[t.createElementVNode("polygon",{points:"0,0 16,24 0,48"},null,-1)])],2)):t.createCommentVNode("",!0)],12,$Z))),128))],2)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex w-full",a.isVertical?"flex-col gap-1":"flex-wrap border-b border-separate"])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.tabs,(A,P)=>(t.openBlock(),t.createElementBlock("button",{key:A.key,type:"button",disabled:!g(P),onClick:D=>w(P),class:t.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 wizard-btn-common",t.unref(be)("border-b border-r",!a.isVertical&&P===a.tabs.length-1&&"border-r-0",P===c.value?"wizard-btn-active":"wizard-btn-pending",!g(P)&&"opacity-60 cursor-not-allowed",a.isVertical?"w-full justify-start border-r-0":"flex-1")])},[a.typeWizard==="icon"&&A.icon?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p(A.icon)),{key:0,class:"h-4 w-4 shrink-0"})):a.typeWizard==="number"?(t.openBlock(),t.createElementBlock("span",QZ,t.toDisplayString(P+1),1)):t.createCommentVNode("",!0),t.createElementVNode("span",JZ,t.toDisplayString(A.title),1)],10,YZ))),128))],2))],2)],2),a.isVertical?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(hS),{key:0})),t.createElementVNode("div",eY,[t.createElementVNode("div",{class:t.normalizeClass(["p-6 flex-1 min-w-0",{"pl-6":a.isVertical}])},[h.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[(I=y[h.value.key])!=null&&I.loading?t.renderSlot(b.$slots,"loading",{key:0,tab:h.value,tabIndex:c.value},()=>[x[1]||(x[1]=t.createElementVNode("div",{class:"rounded-lg border bg-muted/30 px-4 py-3 text-sm text-muted-foreground"},"Loading...",-1))],!0):t.renderSlot(b.$slots,`tab-${h.value.key}`,{key:1,tab:h.value,tabIndex:c.value,data:(V=y[h.value.key])==null?void 0:V.data,loaded:(B=y[h.value.key])==null?void 0:B.loaded,reload:M},()=>[t.createElementVNode("div",tY,[x[2]||(x[2]=t.createTextVNode(" Slot ",-1)),t.createElementVNode("code",aY,"tab-"+t.toDisplayString(h.value.key),1),x[3]||(x[3]=t.createTextVNode(" belum dibuat. ",-1))])],!0)],64)):t.createCommentVNode("",!0)],2),a.isWizard||a.showNavigation?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["flex items-center justify-between p-6 pt-0",{"pl-6":a.isVertical}])},[t.createElementVNode("button",{type:"button",onClick:C,disabled:c.value<=0,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-[#ffffff] border border-[#e2e8f0] text-[#334155] shadow-sm hover:bg-[#f8fafc] hover:text-[#0f172a] hover:-translate-y-0.5 hover:shadow disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#ffffff] disabled:hover:text-[#334155] disabled:hover:translate-y-0 disabled:active:scale-100 dark:bg-[#18181b] dark:border-[#27272a] dark:text-[#d4d4d8] dark:hover:bg-[#27272a] dark:hover:border-[#3f3f46] dark:disabled:hover:bg-[#18181b] dark:disabled:hover:text-[#d4d4d8] focus:outline-none focus:ring-2 focus:ring-[#e2e8f0] focus:ring-offset-2 active:scale-95"}," Sebelumnya ",8,nY),c.value<d.value-1?(t.openBlock(),t.createElementBlock("button",{key:0,type:a.isSubmit?"submit":"button",onClick:S,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-[#ffffff] transition-all duration-300 rounded-lg shadow-md bg-[#2563eb] hover:bg-[#1d4ed8] hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#2563eb] disabled:hover:translate-y-0 disabled:active:scale-100 focus:outline-none focus:ring-2 focus:ring-[#2563eb] focus:ring-offset-2 active:scale-95"}," Selanjutnya ",8,oY)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"submit",disabled:a.loading,class:"relative inline-flex items-center justify-center gap-2 px-6 py-2.5 text-sm font-medium text-[#ffffff] transition-all duration-300 rounded-lg shadow-md bg-[#2563eb] hover:bg-[#1d4ed8] hover:shadow-lg hover:-translate-y-0.5 disabled:opacity-50 disabled:cursor-not-allowed disabled:shadow-none disabled:hover:bg-[#2563eb] disabled:hover:translate-y-0 disabled:active:scale-100 dark:bg-[#3b82f6] dark:hover:bg-[#2563eb] focus:outline-none focus:ring-2 focus:ring-[#2563eb] focus:ring-offset-2 active:scale-95"},[a.loading?(t.openBlock(),t.createBlock(t.unref(kt),{key:0,class:"w-4 h-4 mr-2 animate-spin"})):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(a.submitText),1)],8,rY))],2)):t.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-9379f062"]]);function iY(){return{setPageTitle:n=>{typeof document<"u"&&(document.title=n||document.title),typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:page-title",{detail:{title:n},bubbles:!0,composed:!0}))},setBreadcrumb:n=>{typeof window<"u"&&window.dispatchEvent(new CustomEvent("micro:breadcrumb",{detail:{items:n},bubbles:!0,composed:!0}))}}}const sY={class:"w-full"},lY={class:"relative mx-auto min-h-[37.5rem]"},cY={key:"content",class:"w-full"},dY={class:"mb-6"},hY={class:"text-neutral-500 dark:text-neutral-400"},uY={key:"skeleton",class:"w-full"},pY={key:"error",class:"flex items-center justify-center p-20 text-red-500 w-full"},Yz=Xt(t.defineComponent({__name:"AutoLayoutForm",props:{layoutCode:{}},setup(a){var C,S;const e=a,n=(S=(C=t.getCurrentInstance())==null?void 0:C.appContext)==null?void 0:S.app;n&&!n._context.provides[Symbol.for("vue-router-route-location")]&&n.provide(Symbol.for("vue-router-route-location"),{query:{},params:{},path:""});let o={query:{},params:{},path:""};try{const b=H1.useRoute();b&&(o=b)}catch{console.warn("useRoute not available, using fallback")}let r={back:()=>console.warn("Router back() not available"),push:()=>console.warn("Router push() not available")};try{const b=H1.useRouter();b&&(r=b)}catch{console.warn("useRouter not available, using fallback")}const{apiUrl:i,DCodeApi:s}=Ke();let c;try{c=MS.useI18n().locale}catch{c=t.ref("en")}const{setPageTitle:d}=iY(),h=t.computed(()=>o.params&&"id"in o.params?!0:o.path?/\/edit\/[^\/]+$/.test(o.path):!1),u=t.computed(()=>{if(o.params&&"id"in o.params)return o.params.id;if(!o.path)return null;const b=o.path.match(/\/edit\/([^\/]+)$/);return b?b[1]:null}),p=t.ref({}),y=t.ref(null),f=t.ref(!0),k=t.ref(!1),m=t.ref(e.layoutCode),g=t.computed(()=>{var I;if(!y.value)return"";const b=((I=c==null?void 0:c.value)==null?void 0:I.toLowerCase())||"en";return(b==="en"||b.startsWith("en-")?y.value.titleEN:y.value.titleID)||y.value.title||e.layoutCode});t.watch(g,b=>{b&&d(b)},{immediate:!0});const v=async()=>{var b,x,I;f.value=!0;try{let V=e.layoutCode;o&&o.query&&typeof o.query=="object"&&"code"in o.query&&(V=o.query.code||e.layoutCode);let B=await i(`/api/auto-layout/form/form-dynamic?code=${V}`,"GET");if(!B.status||!B.data||Array.isArray(B.data)&&B.data.length===0)try{const A=await i(`/api/auto-layout/datatable/form-dynamic?code=${V}`,"GET");if(A.status){const P=Array.isArray(A.data)?A.data[0]:A.data;P&&P.code&&(V=P.code,m.value=V,B=await i(`/api/auto-layout/form/form-dynamic?code=${V}`,"GET"))}}catch(A){console.warn("Failed to resolve layout code via datatable",A)}if(B.status){y.value=Array.isArray(B.data)?B.data[0]:B.data;const A={};if((b=y.value)!=null&&b.sections&&y.value.sections.forEach(P=>{((P.propsForm||P.props||{}).fields||P.fields||[]).forEach(T=>{var N;const H=T.model||((N=T.props)==null?void 0:N.model)||T.key;H&&(A[H]=null)})}),p.value=A,f.value=!1,h.value&&u.value){k.value=!0;try{if((x=y.value.endpointGlobal)!=null&&x.apiUrl){const P=y.value.endpointGlobal.apiUrl,D=y.value.endpointGlobal.apiMethod||"GET",U={id:u.value},T=await s(P,D,U);if(T.status){const H=Array.isArray(T.data)?T.data[0]:T.data;p.value={...p.value,...H}}}else{const P=((I=y.value.endpoint)==null?void 0:I.detailUrl)||`/api/${m.value}/detail/${u.value}`,D=await i(P,"GET");if(D.status){let U=Array.isArray(D.data)?D.data[0]:D.data;if(D.payload){const H={...D.payload};if(Object.keys(H).forEach(N=>{U[N]!==void 0&&U[N]!==null&&(H[N]=U[N])}),!("id"in H)&&U.id){const N=Object.keys(H).find(Q=>Q.startsWith("id")&&Q.length>2&&!H[Q]);N&&(H[N]=U.id)}U=H}const T={...U};Object.keys(p.value).forEach(H=>{if(T[H]===void 0||T[H]===null){if(H.toLowerCase().startsWith("id")&&H.length>2){const Q=H.substring(2).toLowerCase(),j=Array.isArray(D.data)?D.data[0]:D.data,F=Object.keys(j).find(R=>R.toLowerCase()===Q);F&&j[F]&&typeof j[F]=="object"&&"id"in j[F]&&(T[H]=j[F].id)}if(H==="idSupervisor"){const Q=Array.isArray(D.data)?D.data[0]:D.data;Q.supervisorId&&(T[H]=Q.supervisorId)}}}),p.value={...p.value,...T}}}}catch(P){console.error("Failed to fetch record data:",P)}finally{k.value=!1}}}}catch(V){console.error("Failed to load form layout:",V),f.value=!1}},L=async b=>{var x,I,V;try{const B=(V=(I=(x=y.value.sections)==null?void 0:x[0])==null?void 0:I.propsForm)==null?void 0:V.endpointForm,A=y.value.endpointGlobal||y.value.endpoint,P=(B==null?void 0:B.submitUrl)||(A==null?void 0:A.submitUrl)||`/api/generic/${e.layoutCode}`,D=(B==null?void 0:B.submitMethod)||(A==null?void 0:A.submitMethod)||(h.value?"PUT":"POST"),U={...b};h.value&&u.value&&!U.id&&(U.id=u.value),await i(P,D,U),r.back()}catch(B){console.error("Submit failed:",B)}},w=async(b,x)=>{if(b==="cancel"){M();return}const I=x.endpointPropAction||x.propsActionGlobal&&x.propsActionGlobal.endpointPropAction;if(I)try{f.value=!0;const V={...p.value};h.value&&x.model&&u.value&&(V[x.model]=u.value);const B=I.apiUrl,A=I.apiMethod||"POST";(await s(B,A,V)).status&&r.back()}catch(V){console.error("Action failed:",V)}finally{f.value=!1}},M=()=>{r.back()};return t.onMounted(()=>{v()}),t.onUnmounted(()=>{d("")}),(b,x)=>{const I=t.resolveComponent("DynamicForm"),V=t.resolveComponent("AutoLayoutSkeleton");return t.openBlock(),t.createElementBlock("div",sY,[t.createElementVNode("div",lY,[t.createVNode(t.Transition,{name:"fade",mode:"out-in"},{default:t.withCtx(()=>[!f.value&&y.value?(t.openBlock(),t.createElementBlock("div",cY,[t.createElementVNode("div",dY,[t.createElementVNode("p",hY,t.toDisplayString(y.value.description),1)]),t.createVNode(I,{schema:y.value,model:p.value,"is-edit-mode":h.value,loading:k.value,onSubmit:L,onCancel:M,onAction:w,class:"w-full"},null,8,["schema","model","is-edit-mode","loading"])])):f.value?(t.openBlock(),t.createElementBlock("div",uY,[t.createVNode(V)])):(t.openBlock(),t.createElementBlock("div",pY," Failed to load form configuration for "+t.toDisplayString(e.layoutCode),1))]),_:1})])])}}}),[["__scopeId","data-v-fd9d71a6"]]),yY=(a,e="short",n="id-ID")=>{const o=typeof a=="string"?new Date(a):a,r=d=>String(d).padStart(2,"0"),i=d=>`${r(d.getHours())}:${r(d.getMinutes())}:${r(d.getSeconds())}`,c={id:"id-ID",en:"en-GB"}[n]||n;return e==="time"?i(o):e==="datetime"?new Intl.DateTimeFormat(c,{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(o):e==="long"?new Intl.DateTimeFormat(c,{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(o):new Intl.DateTimeFormat(c,{day:"2-digit",month:"short",year:"numeric"}).format(o)},fY=t.defineComponent({__name:"Sheet",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(VA),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),kY=t.defineComponent({inheritAttrs:!1,__name:"SheetContent",props:{class:{type:[Boolean,null,String,Object,Array]},side:{},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class","side"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref($A),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NA),{class:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),t.createVNode(t.unref(FA),t.mergeProps({class:t.unref(be)(t.unref(wY)({side:a.side}),n.class)},{...t.unref(i),...s.$attrs}),{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default"),t.createVNode(t.unref(zA),{class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"},{default:t.withCtx(()=>[t.createVNode(t.unref(it),{class:"w-4 h-4"})]),_:1})]),_:3},16,["class"])]),_:3}))}}),mY=t.defineComponent({__name:"SheetDescription",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(RA),t.mergeProps({class:t.unref(be)("text-sm text-muted-foreground",e.class)},t.unref(n)),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),gY=t.defineComponent({__name:"SheetFooter",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),bY=t.defineComponent({__name:"SheetHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(be)("flex flex-col gap-y-2 text-center sm:text-left",e.class))},[t.renderSlot(n.$slots,"default")],2))}}),MY=t.defineComponent({__name:"SheetTitle",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(UA),t.mergeProps({class:t.unref(be)("text-lg font-medium text-foreground",e.class)},t.unref(n)),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),xY=t.defineComponent({__name:"SheetTrigger",props:{asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(TT),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),wY=i1("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),vY={class:"flex-1 overflow-hidden"},CY=t.defineComponent({__name:"DataFilterSheet",props:{title:{default:"Filter Data"},description:{default:"Masukan parameter pencarian untuk memfilter data."}},setup(a){return(e,n)=>(t.openBlock(),t.createBlock(t.unref(fY),null,{default:t.withCtx(()=>[t.createVNode(t.unref(xY),{"as-child":""},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"trigger",{},()=>[t.createVNode(t.unref(Ee),{variant:"outline",class:"gap-2"},{default:t.withCtx(()=>[t.createVNode(t.unref(yr),{class:"w-4 h-4"}),n[0]||(n[0]=t.createElementVNode("span",null,"Pencarian",-1))]),_:1})])]),_:3}),t.createVNode(t.unref(kY),{class:"flex flex-col h-full"},{default:t.withCtx(()=>[t.createVNode(t.unref(bY),{class:"flex-shrink-0"},{default:t.withCtx(()=>[t.createVNode(t.unref(MY),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.title),1)]),_:1}),t.createVNode(t.unref(mY),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(a.description),1)]),_:1})]),_:1}),t.createElementVNode("div",vY,[t.renderSlot(e.$slots,"default")]),t.createVNode(t.unref(gY),{class:"flex-shrink-0"},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"footer")]),_:3})]),_:3})]),_:3}))}}),LY={key:0},SY=["value","name"],Qz=t.defineComponent({__name:"DynamicFilterField",props:{field:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const{locale:n}=MS.useI18n(),o=a,r=e,i=t.ref(o.modelValue);t.watch(()=>o.modelValue,u=>{i.value=u});const s={DCodeTextField:l_,DCodeAutoComplete:qS,DCodeDatePicker:GI,DCodeTextarea:dS,DCodeTextArea:dS,DCodeCheckbox:q1,DCodeSwitch:s_,DCodeOtpInput:r_,DCodeImageField:a_,DCodeSlider:i_},c=t.computed(()=>{const u=o.field.component;return s[u]||null}),d=t.computed(()=>{const u=o.field.props,p={};return(u.labelID||u.labelEN)&&(p.label=n.value==="id"?u.labelID:u.labelEN),(u.placeholderID||u.placeholderEN)&&(p.placeholder=n.value==="id"?u.placeholderID:u.placeholderEN),u.required!==void 0&&(p.required=u.required),u.disabled!==void 0&&(p.disabled=u.disabled),u.readonly!==void 0&&(p.readonly=u.readonly),u.valueType&&(p.type=u.valueType),u.minLength!==void 0&&(p.minlength=u.minLength),u.maxLength!==void 0&&(p.maxlength=u.maxLength),u.min!==void 0&&(p.min=u.min),u.max!==void 0&&(p.max=u.max),u.options&&(p.options=u.options),u.endpoint&&(p.endpoint=u.endpoint),u.itemTitle&&(p.itemTitle=u.itemTitle),u.itemValue&&(p.itemValue=u.itemValue),u.returnObject!==void 0&&(p.returnObject=u.returnObject),u.clearable!==void 0&&(p.clearable=u.clearable),Object.keys(u).forEach(y=>{!["labelID","labelEN","placeholderID","placeholderEN"].includes(y)&&!p.hasOwnProperty(y)&&(p[y]=u[y])}),p}),h=u=>{i.value=u,r("update:modelValue",u)};return(u,p)=>a.field.isHidden?(t.openBlock(),t.createElementBlock("div",LY,[t.createElementVNode("input",{type:"hidden",value:i.value,name:a.field.model},null,8,SY)])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c.value),t.mergeProps({key:1},d.value,{modelValue:i.value,"onUpdate:modelValue":[p[0]||(p[0]=y=>i.value=y),h]}),null,16,["modelValue"]))}}),IY=t.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(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(lH),t.mergeProps({"data-slot":"pagination"},t.unref(i),{class:n.class}),{default:t.withCtx(d=>[t.renderSlot(s.$slots,"default",t.normalizeProps(t.guardReactiveProps(d)))]),_:3},16,["class"]))}}),_Y=t.defineComponent({__name:"PaginationContent",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(kH),t.mergeProps({"data-slot":"pagination-content"},t.unref(n),{class:t.unref(be)("flex flex-row items-center gap-1",e.class)}),{default:t.withCtx(i=>[t.renderSlot(o.$slots,"default",t.normalizeProps(t.guardReactiveProps(i)))]),_:3},16,["class"]))}}),AY=t.defineComponent({__name:"PaginationEllipsis",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(rH),t.mergeProps({"data-slot":"pagination-ellipsis"},t.unref(n),{class:t.unref(be)("flex size-9 items-center justify-center",e.class)}),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default",{},()=>[t.createVNode(t.unref(ua),{class:"size-4"}),r[0]||(r[0]=t.createElementVNode("span",{class:"sr-only"},"More pages",-1))])]),_:3},16,["class"]))}}),BY=t.defineComponent({__name:"PaginationFirst",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(dH),t.mergeProps({"data-slot":"pagination-first",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(dn)),i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"First",-1))])]),_:3},16,["class"]))}}),VY=t.defineComponent({__name:"PaginationItem",props:{value:{},asChild:{type:Boolean},as:{},size:{default:"icon"},class:{type:[Boolean,null,String,Object,Array]},isActive:{type:Boolean}},setup(a){const e=a,n=De(e,"class","size","isActive");return(o,r)=>(t.openBlock(),t.createBlock(t.unref(gH),t.mergeProps({"data-slot":"pagination-item"},t.unref(n),{class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),a.isActive?"bg-[#0056a1] dark:bg-[#003d75] text-white hover:bg-[#0056a1]/90 dark:hover:bg-[#003d75]/90 hover:text-white":"",e.class)}),{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default")]),_:3},16,["class"]))}}),zY=t.defineComponent({__name:"PaginationLast",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(uH),t.mergeProps({"data-slot":"pagination-last",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Last",-1)),t.createVNode(t.unref(hn))])]),_:3},16,["class"]))}}),qY=t.defineComponent({__name:"PaginationNext",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(MH),t.mergeProps({"data-slot":"pagination-next",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Next",-1)),t.createVNode(t.unref(hn))])]),_:3},16,["class"]))}}),PY=t.defineComponent({__name:"PaginationPrevious",props:{asChild:{type:Boolean},as:{},size:{default:"default"},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class","size"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(wH),t.mergeProps({"data-slot":"pagination-previous",class:t.unref(be)(t.unref(xs)({variant:"ghost",size:a.size}),"gap-1 px-2.5 sm:pr-2.5",e.class)},t.unref(o)),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(dn)),i[0]||(i[0]=t.createElementVNode("span",{class:"hidden sm:block"},"Previous",-1))])]),_:3},16,["class"]))}}),DY=t.defineComponent({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:["update:modelValue","update:open"],setup(a,{emit:e}){const r=mt(a,e);return(i,s)=>(t.openBlock(),t.createBlock(t.unref(_H),t.normalizeProps(t.guardReactiveProps(t.unref(r))),{default:t.withCtx(()=>[t.renderSlot(i.$slots,"default")]),_:3},16))}}),EY=t.defineComponent({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},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:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(a,{emit:e}){const n=a,o=e,r=De(n,"class"),i=mt(r,o);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(ej),null,{default:t.withCtx(()=>[t.createVNode(t.unref(NH),t.mergeProps({...t.unref(i),...s.$attrs},{class:t.unref(be)("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",a.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:t.withCtx(()=>[t.createVNode(t.unref(OY)),t.createVNode(t.unref(hj),{class:t.normalizeClass(t.unref(be)("p-1",a.position==="popper"&&"h-[--reka-select-trigger-height] w-full min-w-[--reka-select-trigger-width]"))},{default:t.withCtx(()=>[t.renderSlot(s.$slots,"default")]),_:3},8,["class"]),t.createVNode(t.unref(jY))]),_:3},16,["class"])]),_:3}))}}),TY={class:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center"},HY=t.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(KH),t.mergeProps(t.unref(o),{class:t.unref(be)("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",e.class)}),{default:t.withCtx(()=>[t.createElementVNode("span",TY,[t.createVNode(t.unref(ZH),null,{default:t.withCtx(()=>[t.createVNode(t.unref(ca),{class:"h-4 w-4"})]),_:1})]),t.createVNode(t.unref(QH),null,{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),jY=t.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(nj),t.mergeProps(t.unref(o),{class:t.unref(be)("flex cursor-default items-center justify-center py-1",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(St))])]),_:3},16,["class"]))}}),OY=t.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(rj),t.mergeProps(t.unref(o),{class:t.unref(be)("flex cursor-default items-center justify-center py-1",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createVNode(t.unref(js))])]),_:3},16,["class"]))}}),FY=t.defineComponent({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(a){const e=a,n=De(e,"class"),o=Ze(n);return(r,i)=>(t.openBlock(),t.createBlock(t.unref(sj),t.mergeProps(t.unref(o),{class:t.unref(be)("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",e.class)}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default"),t.createVNode(t.unref(UH),{"as-child":""},{default:t.withCtx(()=>[t.createVNode(t.unref(St),{class:"w-4 h-4 opacity-50 shrink-0"})]),_:1})]),_:3},16,["class"]))}}),RY=t.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(a){const e=a;return(n,o)=>(t.openBlock(),t.createBlock(t.unref(cj),t.normalizeProps(t.guardReactiveProps(e)),{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default")]),_:3},16))}}),NY={class:"dcode-card animate-slide-up"},$Y={class:"px-4 py-2 bg-primary-700 dark:bg-primary-900 border-b border-primary-500/30 dark:border-primary-900/50 rounded-t-xl relative z-30"},UY={class:"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4"},WY={key:0,class:"flex flex-col sm:flex-row items-start sm:items-center gap-2 flex-1 max-w-2xl"},GY={class:"relative w-full sm:w-64"},KY={key:0,class:"relative"},XY={class:"flex flex-col h-full"},ZY={key:0,class:"flex-1 overflow-y-auto py-4"},YY={class:"grid grid-cols-1 md:grid-cols-2 gap-4 px-1"},QY={key:0,class:"sticky bottom-0 left-0 right-0 bg-white dark:bg-zinc-900 border-t border-neutral-200 dark:border-neutral-700 p-4 flex gap-2"},JY={class:"flex justify-end gap-2 w-full"},eQ={key:0,class:"font-medium text-sm text-neutral-600 dark:text-neutral-400"},tQ={class:"overflow-auto custom-scrollbar relative max-h-[calc(100vh-17rem)]"},aQ={class:"dcode-table w-full"},nQ={class:"bg-primary-700 dark:bg-primary-900 sticky top-0 z-20 shadow-sm"},oQ=["onClick"],rQ={key:0,class:"flex items-center justify-center w-full"},iQ={key:0,class:"px-3 py-2 text-xs font-medium text-white dark:text-neutral-100 uppercase tracking-wider"},sQ={class:"bg-white dark:bg-zinc-900 divide-y divide-neutral-200 dark:divide-neutral-700"},lQ={key:0,class:"px-3 py-0.5"},cQ={key:1},dQ=["colspan"],hQ={class:"flex flex-col items-center gap-4"},uQ={class:"text-base font-medium text-neutral-700 dark:text-neutral-300"},pQ={class:"text-sm text-neutral-500 dark:text-neutral-400 mt-1"},yQ={class:"hover:bg-zinc-50 dark:hover:bg-zinc-800/50 transition-colors duration-150"},fQ={key:0,class:"flex items-center justify-center"},kQ={key:0,class:"px-3 py-0.5 !text-center"},mQ={key:0,class:"flex items-center justify-center gap-1.5"},gQ={key:0,class:"bg-zinc-50/50 dark:bg-zinc-800/30"},bQ=["colspan"],MQ={key:0,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"},xQ={class:"flex items-center gap-4"},wQ={class:"text-xs text-neutral-500 dark:text-neutral-400 font-medium"},vQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},CQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},LQ={class:"text-neutral-900 dark:text-neutral-100 font-medium"},SQ={class:"flex-shrink-0"},IQ={class:"space-y-4"},_Q={class:"text-gray-600 dark:text-gray-400"},AQ={class:"grid grid-cols-1 md:grid-cols-2 gap-4 py-4 px-1"},uS=t.defineComponent({name:"DataTable",__name:"DataTable",props:{columns:{default:()=>[]},data:{default:()=>[]},perPage:{default:10},loading:{type:Boolean,default:!1},hasActions:{type:Boolean,default:!1},nested:{type:Boolean,default:!1},apiModule:{},apiAction:{default:"list"},apiMethod:{},apiUrl:{},permissionBase:{},apiParams:{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}},emits:["update:search","update:sort","update:page","create","export","action","update:selection","navigate"],setup(a,{expose:e,emit:n}){console.log("[DEBUG] DataTable.vue loaded - top level");const o=a,r=n,{apiUrl:i}=Ke(),{locale:s}=MS.useI18n(),c=t.ref(""),d=t.ref(1),h=t.ref(o.perPage),u=t.ref({key:"",direction:"asc"}),p=t.ref([]),y=t.ref(!1),f=t.ref(0),k=t.ref({}),m=t.ref([]),g=t.ref(null),v=t.ref(!0),L=t.ref([]),w=t.ref([]),M=t.ref([]),C=t.ref(!1),S=t.ref(!1),b=t.ref({}),x=t.ref(null),I=t.ref(null),V=t.ref(null),B=t.ref([]),A=t.computed(()=>{if(xt.value.length===0)return!1;const _=xt.value.map(E=>{const X=de.value.find($=>$.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id";return E[q]}).filter(E=>E!=null);return _.length===0?!1:_.every(E=>B.value.includes(E))}),P=t.computed(()=>{if(xt.value.length===0)return!1;const _=de.value.find($=>$.type==="CHECKBOX"),E=(_==null?void 0:_.keyCheckbox)||"id",X=xt.value.map($=>$[E]).filter($=>$!=null),q=X.filter($=>B.value.includes($)).length;return q>0&&q<X.length}),D=_=>{const E=de.value.find($=>$.type==="CHECKBOX"),X=(E==null?void 0:E.keyCheckbox)||"id",q=_[X];return q!==void 0&&B.value.includes(q)},U=_=>{const E=de.value.find($=>$.type==="CHECKBOX"),X=(E==null?void 0:E.keyCheckbox)||"id",q=xt.value.map($=>$[X]).filter($=>$!=null);if(_){const $=new Set([...B.value,...q]);B.value=Array.from($)}else B.value=B.value.filter($=>!q.includes($))},T=(_,E)=>{const X=de.value.find(Y=>Y.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id",$=_[q];$!=null&&(E?B.value.includes($)||B.value.push($):B.value=B.value.filter(Y=>Y!==$))};t.watch(B,_=>{var X;r("update:selection",_);const E=A.value||_.length>1;(X=w.value)!=null&&X.length&&w.value.forEach(q=>{var $;($=q.fieldActionGlobal)!=null&&$.length&&q.fieldActionGlobal.forEach(Y=>{var Ge,rt;const fe=q.endpoint||((Ge=q.propsActionGlobal)==null?void 0:Ge.endpointPropAction)||q.propsActionGlobal,xe=(rt=fe==null?void 0:fe.keyParam)==null?void 0:rt[0];(xe&&Y.model===xe||!xe&&/^(id|ids|idAuditTrail)/i.test(Y.model))&&E&&Y.model&&(b.value[Y.model]=_)})})},{deep:!0});const H=_=>_&&typeof _=="string"&&_.trim()?_:void 0,N=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiModule)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiModule)||o.apiModule}),Q=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiAction)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiAction)||o.apiAction}),j=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiMethod)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiMethod)||o.apiMethod||"POST"}),F=t.computed(()=>{var _,E,X,q;return H((E=(_=g.value)==null?void 0:_.endpoint)==null?void 0:E.apiUrl)||H((q=(X=g.value)==null?void 0:X.endpointGlobal)==null?void 0:q.apiUrl)||o.apiUrl}),R=t.computed(()=>o.permissionBase||""),Z=t.computed(()=>!M.value||M.value.length===0?[]:[...M.value].sort((_,E)=>(_.seq||0)-(E.seq||0))),J=_=>{if(!_)return"col-span-1";const E=_.toLowerCase();return{full:"col-span-1 md:col-span-2",half:"col-span-1",third:"col-span-1","two-thirds":"col-span-1 md:col-span-2",two_thirds:"col-span-1 md:col-span-2"}[E]||"col-span-1"},re=()=>{let _=null;if(o.tableConfig&&(_=o.tableConfig),_){g.value=_,_.headers&&(m.value=_.headers.map(q=>{var fe,xe,Be,Ge,rt,mS,dq,hq,uq,pq;if(q.key==="action"||((fe=q.custom)==null?void 0:fe.type)==="ACTION"||((xe=q.custom)==null?void 0:xe.type)==="action"){const Ba=((Be=q.custom)==null?void 0:Be.actionCustom)||((Ge=q.custom)==null?void 0:Ge.action);return Ba&&(L.value=Ba.map(ia=>{const Fe=ia.propsActionCustom||ia.props||{},gS=ia.propCustomMessage||{};return{permission:ia.permission,label:s.value==="id"?Fe.labelID:Fe.labelEN,tooltip:s.value==="id"?Fe.tooltipID||Fe.labelID:Fe.tooltipEN||Fe.labelEN,icon:Fe.icon,variant:Fe.variant||"ghost",bgColor:Fe.bgColor,action:Fe.actionType||Fe.key,route:Fe.route,path:Fe.path,endpoint:Fe.endpointPropAction,requiredCondition:ia.requiredCondition||!1,propCustomCondition:ia.propCustomCondition||[],openDialog:ia.openDialog||!1,fieldActionCustom:(ia.fieldActionCustom||[]).map(bS=>{const p_=bS.propsFieldCustom||bS.propsFieldGlobal||bS.props||{};return{...bS,props:{...p_,endpoint:p_.endpointComponent||p_.endpoint}}}),requireConfirm:ia.requireConfirm||Fe.requireConfirm||!1,confirmTitle:s.value==="id"?gS.titleID||Fe.confirmTitleID||"Konfirmasi":gS.titleEN||Fe.confirmTitleEN||"Confirm",confirmMessage:s.value==="id"?gS.messageID||Fe.confirmMessageID||"Apakah Anda yakin?":gS.messageEN||Fe.confirmMessageEN||"Are you sure?"}})),null}let $;const Y=((rt=q.custom)==null?void 0:rt.conditionBadge)||((mS=q.custom)==null?void 0:mS.condition);return(((dq=q.custom)==null?void 0:dq.type)==="BADGE"||((hq=q.custom)==null?void 0:hq.type)==="badge")&&Y&&($=Y.map(Ba=>({value:Ba.value,label:s.value==="id"?Ba.labelID:Ba.labelEN,color:Ba.color,variant:Ba.variant}))),{key:q.key,label:s.value==="id"?q.labelID:q.labelEN,width:q.width,align:q.align,sortable:!0,type:(uq=q.custom)==null?void 0:uq.type,condition:$,keyCheckbox:(pq=q.custom)==null?void 0:pq.keyCheckbox}}).filter(q=>q!==null));const E=_.filters||_.filter;E&&Array.isArray(E)&&(M.value=E.map(q=>({...q,props:q.propsFilters||q.props||{}})),M.value.forEach(q=>{k.value[q.model]=""}));const X=_.actionGlobal||_.action;console.log("[DEBUG] loadConfig rawActions:",X),X&&Array.isArray(X)?(w.value=X.map(q=>{const $=q.propsActionGlobal||q.props||{};return{key:$.key,permission:q.permission,label:s.value==="id"?$.labelID||"Action":$.labelEN||"Action",tooltip:s.value==="id"?$.tooltipID||$.labelID:$.tooltipEN||$.labelEN,icon:$.icon,variant:$.variant||"default",bgColor:$.bgColor,textColor:$.textColor,route:$.route,path:$.path,endpoint:$.endpointPropAction||q.endpoint,openDialog:q.openDialog||!1,fieldActionGlobal:(q.fieldActionGlobal||q.field||[]).map(Y=>{const fe=Y.propsFieldGlobal||Y.props||{};return{...Y,props:{...fe,endpoint:fe.endpointComponent||fe.endpoint}}})}}),console.log("[DEBUG] loadConfig headerActions set:",w.value)):console.log("[DEBUG] loadConfig no rawActions found"),_.pagination!==void 0&&(v.value=_.pagination)}};t.watch(()=>o.tableConfig,()=>{re()},{deep:!0,immediate:!0});const de=t.computed(()=>o.dynamicColumns||o.configKey||o.tableConfig?m.value:o.columns||[]),ue=t.computed(()=>o.hasActions||L.value.length>0),ve=t.computed(()=>N.value||F.value?y.value:o.loading),le=t.computed(()=>!!N.value||!!F.value),G=t.computed(()=>[]),z=_=>{if(console.log("[DEBUG] hasAction called:",{actionCode:_,permissionChecker:!!o.permissionChecker,effectivePath:R.value}),o.permissionChecker){const E=o.permissionChecker(R.value,_);return console.log("[DEBUG] permissionChecker result:",E),E}return G.value.some(E=>E.code===_)},W=(_,E)=>{if(!_.visibilityCondition)return!0;const{field:X,operator:q,value:$}=_.visibilityCondition,Y=O(E,X);switch(q){case"equals":return Y===$;case"notEquals":return Y!==$;case"in":return Array.isArray($)&&$.includes(Y);case"notIn":return Array.isArray($)&&!$.includes(Y);case"greaterThan":return Y>$;case"lessThan":return Y<$;case"contains":return String(Y).includes(String($));default:return!0}},ee=t.computed(()=>{if(console.log("[DEBUG] visibleHeaderActions:",{headerActions:w.value,ignorePermissions:o.ignorePermissions}),w.value.length===0)return w.value;const _=w.value.filter(E=>{if(o.ignorePermissions)return!0;if(!E.permission)return console.log("[DEBUG] Action no permission, showing:",E.label),!0;const X=z(E.permission);return console.log("[DEBUG] Action permission check:",{label:E.label,permission:E.permission,hasPerm:X}),X});return console.log("[DEBUG] Filtered header actions:",_.length),_}),pe=t.computed(()=>L.value.length===0?L.value:L.value.filter(_=>o.ignorePermissions||!_.permission?!0:z(_.permission))),qe=_=>pe.value.filter(E=>W(E,_)),ot=(_,E)=>{var $,Y;if(_.requiredCondition&&(($=_.propCustomCondition)==null?void 0:$.length)>0){const fe=O(E,"status"),xe=_.propCustomCondition.find(Be=>Be.value===fe);if(xe)return xe.bgColor||_.bgColor||"primary"}if(!_.dynamicColor||!_.colorCondition)return _.bgColor||"primary";const X=O(E,_.colorCondition.field),q=(Y=_.colorCondition.conditions)==null?void 0:Y.find(fe=>fe.value===X);return(q==null?void 0:q.bgColor)||_.bgColor||"primary"},Mt=_=>{const E=(_||"left").toLowerCase();return E==="center"?"justify-center":E==="right"?"justify-end":"justify-start"},oa={ToggleLeft:n1,SquarePen:Xe,Trash2:_i,Eye:ds,CheckCircle:da,Plus:Qs,Download:$s,RefreshCw:ps,Search:yr,SlidersHorizontal:a1},Aa=_=>_?Gt[_]?Gt[_]:oa[_]||null:null,xt=t.computed(()=>le.value?p.value.map((_,E)=>({..._,no:(d.value-1)*h.value+E+1})):_e.value),$t=t.computed(()=>le.value?f.value:ae.value.length),D1=t.computed(()=>$t.value===0?0:(d.value-1)*h.value+1),E1=t.computed(()=>{const _=d.value*h.value;return _>$t.value?$t.value:_}),O=(_,E)=>{if(!(!_||!E))return E in _?_[E]:E.split(".").reduce((X,q)=>X&&X[q],_)},ae=t.computed(()=>{if(le.value)return[];if(!c.value)return o.data;const _=c.value.toLowerCase();return o.data.filter(E=>de.value.some(X=>{const q=O(E,X.key);return q==null?!1:String(q).toLowerCase().includes(_)}))}),he=t.computed(()=>le.value?[]:u.value.key?[...ae.value].sort((E,X)=>{const q=O(E,u.value.key),$=O(X,u.value.key);if(q===$)return 0;let Y=0;return typeof q=="number"&&typeof $=="number"?Y=q-$:Y=String(q).localeCompare(String($)),u.value.direction==="asc"?Y:-Y}):ae.value),_e=t.computed(()=>{if(le.value)return[];const _=(d.value-1)*h.value,E=_+h.value;return he.value.slice(_,E).map((X,q)=>({...X,no:_+q+1}))}),Pe=t.computed(()=>le.value?Object.values(k.value).some(_=>!!_):!!c.value),K=[10,25,50,100],te=()=>{le.value&&(k.value={...k.value,keyword:c.value},d.value=1,We())};let ne;const ye=()=>{o.enableQuickSearch&&(clearTimeout(ne),ne=setTimeout(()=>{te()},500))};let Ve;const ra=()=>{clearTimeout(Ve),Ve=setTimeout(()=>{le.value&&We()},1e3)};t.watch(c,()=>{o.enableQuickSearch&&le.value&&ye()});const We=async()=>{if(le.value&&!(!N.value&&!F.value))try{y.value=!0;const _={page:d.value,perPage:h.value,...k.value,...o.apiParams};c.value&&(_.keyword=c.value),Object.keys(_).forEach(X=>{(_[X]===""||_[X]===null||_[X]===void 0)&&delete _[X]});let E;N.value?E=await i(N.value,Q.value,_):F.value&&(E=await i(F.value,j.value,_)),aq(E)}catch(_){console.error("DataTable fetch error",_),y.value=!1}},aq=_=>{console.log("DataTable handleResponseData:",_),_&&(o.dynamicColumns&&_.columns&&Array.isArray(_.columns)&&(m.value=_.columns.map(E=>({key:E.key||E.field||E.name,label:E.label||E.header||E.name,width:E.width,align:E.align||"LEFT",sortable:E.sortable!==!1,type:E.type,condition:E.condition,format:E.format}))),_.data&&Array.isArray(_.data)?(p.value=_.data,_.totalData?f.value=_.totalData:_.maxPage?f.value=_.maxPage*h.value:f.value=_.data.length*(_.maxPage||1)):Array.isArray(_)?(p.value=_,f.value=_.length):_.users?(p.value=_.users,f.value=_.users.length):_.items&&Array.isArray(_.items)?(p.value=_.items,f.value=_.total||_.totalItems||_.items.length):_.list&&Array.isArray(_.list)?(p.value=_.list,f.value=_.total||_.list.length):_.rows&&Array.isArray(_.rows)?(p.value=_.rows,f.value=_.count||_.total||_.rows.length):_.result&&Array.isArray(_.result)?(p.value=_.result,f.value=_.total||_.count||_.result.length):(console.warn("DataTable: Unknown response format",_),p.value=[],f.value=0)),y.value=!1};t.onUnmounted(()=>{clearTimeout(ne),clearTimeout(Ve)});const yS=()=>{Object.keys(k.value).forEach(_=>{k.value[_]=""}),c.value="",d.value=1,We()},nq=()=>{d.value=1,We()},fS=(_,E)=>{const X=O(_,E.key);let q={variant:"secondary",class:"",label:X};if(E.condition){const $=E.condition.find(Y=>{const fe=(xe,Be)=>typeof xe=="string"&&typeof Be=="string"?xe.toLowerCase().trim()===Be.toLowerCase().trim():xe==Be;return typeof X=="object"&&X!==null?fe(Y.value,X.code)||fe(Y.value,X.id):fe(Y.value,X)});if($){if($.variant&&(q.variant=$.variant),q.label=$.label||(typeof X=="object"?X.name||X.code:X),$.color){const Y=$.color.toLowerCase(),fe=q.variant==="outline",xe={success:"bg-green-500 hover:bg-green-600 border-transparent text-white shadow",warning:"bg-yellow-500 hover:bg-yellow-600 border-transparent text-white shadow",info:"bg-blue-500 hover:bg-blue-600 border-transparent text-white shadow"},Be={success:"text-green-600 border-green-600 hover:bg-green-50",warning:"text-yellow-600 border-yellow-600 hover:bg-yellow-50",info:"text-blue-600 border-blue-600 hover:bg-blue-50",danger:"text-red-600 border-red-600 hover:bg-red-50",destructive:"text-red-600 border-red-600 hover:bg-red-50",primary:"text-primary-600 border-primary-600 hover:bg-primary-50",secondary:"text-neutral-600 border-neutral-600 hover:bg-zinc-50"},Ge={danger:"destructive",secondary:"secondary",primary:"default"};fe?Be[Y]&&(q.class=Be[Y]):Ge[Y]?q.variant=Ge[Y]:xe[Y]&&(q.class=xe[Y])}}else q.label=typeof X=="object"?(X==null?void 0:X.name)||(X==null?void 0:X.code)||"-":X}else q.label=typeof X=="object"?(X==null?void 0:X.name)||(X==null?void 0:X.code)||"-":X;return q},oq=_=>{u.value.key===_?u.value.direction=u.value.direction==="asc"?"desc":"asc":(u.value.key=_,u.value.direction="asc"),r("update:sort",u.value)},c_=_=>{_!==d.value&&(d.value=_,le.value&&We(),r("update:page",_))},rq=_=>{h.value=_,d.value=1,le.value&&We()},iq=_=>{const E=Math.random()*15+75;if(_.width){const X=parseInt(String(_.width));return X<100?`${Math.floor(X*(Math.random()*.2+.7))}px`:`${E}%`}return`${E}%`},d_=()=>{c.value="",k.value={},d.value=1,We()},sq=_=>{var E;if(console.log("[DEBUG] handleHeaderAction called:",_),_.route||_.path)console.log("[DEBUG] Emitting navigate:",{route:_.route,path:_.path}),r("navigate",{route:_.route,path:_.path,key:_.key});else if(_.openDialog){I.value=_,V.value=null,b.value={};const X=_.fieldActionGlobal||_.field||[];X.length&&X.forEach(q=>{var fe;const $=_.endpoint||((fe=_.propsActionGlobal)==null?void 0:fe.endpointPropAction)||_.propsActionGlobal,Y=$!=null&&$.keyParam&&$.keyParam.length>0?$.keyParam[0]:null;Y&&q.model===Y||!Y&&/^(id|ids|idAuditTrail)/i.test(q.model)?b.value[q.model]=B.value:b.value[q.model]||(b.value[q.model]="")}),S.value=!0}else r("action",{action:((E=_.propsActionCustom)==null?void 0:E.key)||_.key||"create",row:null,selection:B.value})},lq=(_,E)=>{if(_.requireConfirm){x.value={button:_,row:E},C.value=!0;return}if(_.openDialog){I.value=_,V.value=E,b.value={};const X=de.value.find($=>$.type==="CHECKBOX"),q=(X==null?void 0:X.keyCheckbox)||"id";_.fieldActionCustom&&_.fieldActionCustom.forEach($=>{/^(id|ids|idAuditTrail)/i.test($.model)?b.value[$.model]=[E[q]]:b.value[$.model]=""}),S.value=!0;return}h_(_,E)},h_=(_,E)=>{if(_.route){if(_.path){const q=_.route.startsWith("/")?_.route:"/"+_.route;sessionStorage.setItem(`layout_${q}`,_.path)}let X=_.route;X.includes(":")?X=X.replaceAll(/:([a-zA-Z0-9_]+)/g,(q,$)=>E[$]||E.id||$):E.id&&(X=`${X.replace(/\/$/,"")}/${E.id}`),_.path&&_.path,r("navigate",{route:X,path:_.path})}else if(_.endpoint&&_.endpoint.apiUrl){y.value=!0;const{apiUrl:X}=Ke(),q=_.endpoint.apiUrl,$=_.endpoint.apiMethod||"POST",Y={};_.endpoint.keyParam&&Array.isArray(_.endpoint.keyParam)&&_.endpoint.keyParam.forEach((fe,xe)=>{const Be=_.endpoint.model&&xe===0?_.endpoint.model:fe;E[fe]!==void 0&&(Y[Be]=E[fe])}),Object.keys(Y).length===0&&E.id&&(Y.id=E.id),X(q,$,Y).then(()=>{We(),r("action",{action:_.action||"success",row:E})}).catch(fe=>{console.error("Action Failed",fe)}).finally(()=>{y.value=!1})}else r("action",{action:_.action,row:E})},u_=()=>{x.value&&(h_(x.value.button,x.value.row),cq())},DQ=()=>{var _,E;if(I.value){const X=I.value,q=X.endpoint||((_=X.propsActionGlobal)==null?void 0:_.endpointPropAction)||X.propsActionGlobal;let $=(q==null?void 0:q.model)||(q!=null&&q.keyParam&&q.keyParam.length>0?q.keyParam[0]:null);if(!$){const Be=(X.fieldActionGlobal||X.fieldActionCustom||X.field||[]).find(Ge=>/^(id|ids|idAuditTrail)/i.test(Ge.model));$=Be?Be.model:"ids"}let Y=null,fe=!1;if(V.value){const xe=de.value.find(rt=>rt.type==="CHECKBOX"),Be=(xe==null?void 0:xe.keyCheckbox)||"id",Ge=V.value[Be];q!=null&&q.apiUrl&&(Y={...b.value},Y[$]||(Y[$]=[Ge]),fe=!0)}else q!=null&&q.apiUrl&&(Y={...b.value},Y[$]||(Y[$]=B.value||[]),fe=!0);if(fe&&Y&&(q!=null&&q.apiUrl)){const{apiUrl:xe}=Ke(),Be=q.apiUrl,Ge=q.apiMethod||"POST";xe(Be,Ge,Y).then(()=>{S.value=!1,V.value||(B.value=[]),We(),r("action",{action:"success",row:null})}).catch(rt=>{console.error("Action Failed",rt)})}else if(V.value){const xe=de.value.find(mS=>mS.type==="CHECKBOX"),Be=(xe==null?void 0:xe.keyCheckbox)||"id",Ge=V.value[Be],rt={...b.value};rt[$]||(rt[$]=[Ge]),r("action",{action:I.value.action,row:rt}),S.value=!1}else{const xe={...b.value};xe[$]||(xe[$]=B.value);const Be={action:((E=I.value.propsActionGlobal)==null?void 0:E.key)||I.value.key,row:xe,selection:B.value};r("action",Be),S.value=!1}}},cq=()=>{C.value=!1,x.value=null},EQ=t.computed(()=>x.value?x.value.button.confirmTitle||"Confirm":""),TQ=t.computed(()=>x.value?x.value.button.confirmMessage||"Confirm":"");e({fetchData:We,filters:k,resetFilters:yS,handleRefresh:d_});const kS=t.ref(""),HQ=_=>{if(!_)return"";const E=_.endpoint||_.endpointGlobal||{};return JSON.stringify({url:E.apiUrl||_.apiUrl,module:E.apiModule||_.apiModule,action:E.apiAction||_.apiAction,method:E.apiMethod||_.apiMethod,params:_.apiParams,socket:E.socket||_.socketEndpoint,socketParams:_.socketParams})};return t.watch(()=>o.tableConfig,()=>{if(o.tableConfig){re();const _=HQ(o.tableConfig);_!==kS.value&&(!kS.value&&le.value?(kS.value=_,We()):(kS.value=_,le.value&&ra()))}},{deep:!0,immediate:!0}),t.watch(()=>o.apiModule,()=>{le.value&&We()}),t.watch(()=>o.apiParams,()=>{le.value&&We()},{deep:!0}),t.watch(()=>w.value,_=>{console.log("[DEBUG] headerActions changed:",_.length,"items");const E=ee.value;console.log("[DEBUG] visibleHeaderActions evaluated:",E.length,"items")},{deep:!0}),t.onMounted(()=>{re(),le.value&&(o.tableConfig||(y.value=!0,We()))}),(_,E)=>{var X;return t.openBlock(),t.createElementBlock("div",NY,[t.createElementVNode("div",$Y,[t.createElementVNode("div",UY,[a.nested?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",WY,[t.createElementVNode("div",GY,[t.createVNode(t.unref(yr),{class:"absolute left-2.5 top-2.5 h-4 w-4 text-neutral-500 dark:text-neutral-400"}),t.createVNode(t.unref(o_),{modelValue:c.value,"onUpdate:modelValue":E[0]||(E[0]=q=>c.value=q),placeholder:"Search...",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:t.withKeys(te,["enter"])},null,8,["modelValue"])]),M.value.length>0?(t.openBlock(),t.createElementBlock("div",KY,[t.createVNode(CY,null,{trigger:t.withCtx(()=>[t.createVNode(ws,{variant:"secondary",icon:"SlidersHorizontal",tooltip:"Advance Search",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"})]),footer:t.withCtx(()=>[t.createElementVNode("div",JY,[t.renderSlot(_.$slots,"filter-footer",{fetch:We,reset:yS})])]),default:t.withCtx(()=>[t.createElementVNode("div",XY,[t.renderSlot(_.$slots,"filter-form",{filters:k.value},()=>[M.value.length>0?(t.openBlock(),t.createElementBlock("div",ZY,[t.createElementVNode("div",YY,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Z.value,(q,$)=>(t.openBlock(),t.createElementBlock("div",{key:$,class:t.normalizeClass(J(q.column))},[t.createVNode(Qz,{field:q,modelValue:k.value[q.model],"onUpdate:modelValue":Y=>k.value[q.model]=Y},null,8,["field","modelValue","onUpdate:modelValue"])],2))),128))])])):t.createCommentVNode("",!0)]),M.value.length>0?(t.openBlock(),t.createElementBlock("div",QY,[t.createVNode(t.unref(Ee),{variant:"outline",onClick:yS,disabled:ve.value,class:"flex-1 w-full"},{default:t.withCtx(()=>[...E[8]||(E[8]=[t.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled"]),t.createVNode(t.unref(Ee),{onClick:nq,disabled:ve.value,class:"flex-1 w-full"},{default:t.withCtx(()=>[...E[9]||(E[9]=[t.createTextVNode(" Search ",-1)])]),_:1},8,["disabled"])])):t.createCommentVNode("",!0)])]),_:3})])):t.createCommentVNode("",!0)])),t.createElementVNode("div",{class:t.normalizeClass(["flex items-center gap-2 flex-wrap",{"w-full justify-between":a.nested}])},[a.nested?(t.openBlock(),t.createElementBlock("span",eQ)):t.createCommentVNode("",!0),a.nested?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ws,{key:1,variant:"secondary",icon:"RefreshCw",text:"Refresh",tooltip:"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:d_,disabled:ve.value},{icon:t.withCtx(()=>[t.createVNode(t.unref(ps),{class:t.normalizeClass(["w-3.5 h-3.5",{"animate-spin":ve.value}])},null,8,["class"])]),_:1},8,["disabled"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ee.value,(q,$)=>(t.openBlock(),t.createBlock(ws,{key:$,icon:q.icon,text:q.label,tooltip:q.tooltip,variant:q.variant,"bg-color":q.bgColor,"text-color":q.textColor,class:"gap-2 h-9 shadow-lg shadow-primary-500/20 border-none text-xs font-medium",onClick:Y=>sq(q)},null,8,["icon","text","tooltip","variant","bg-color","text-color","onClick"]))),128)),t.renderSlot(_.$slots,"header-actions")],2)])]),t.createElementVNode("div",tQ,[t.createElementVNode("table",aQ,[t.createElementVNode("thead",nQ,[t.createElementVNode("tr",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,q=>(t.openBlock(),t.createElementBlock("th",{key:q.key,class:t.normalizeClass([q.align?`text-${q.align.toLowerCase()}`:"",q.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:t.normalizeStyle(q.width?{width:q.width}:{}),onClick:$=>q.sortable&&oq(q.key)},[q.type==="CHECKBOX"?(t.openBlock(),t.createElementBlock("div",rQ,[t.createVNode(q1,{"model-value":A.value,indeterminate:P.value,"onUpdate:modelValue":E[1]||(E[1]=$=>U(!!$)),onClick:E[2]||(E[2]=t.withModifiers(()=>{},["stop"]))},null,8,["model-value","indeterminate"])])):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex items-center gap-2 w-full",Mt(q.align)])},[t.createElementVNode("span",null,t.toDisplayString(q.label),1)],2))],14,oQ))),128)),ue.value?(t.openBlock(),t.createElementBlock("th",iQ,[...E[10]||(E[10]=[t.createElementVNode("div",{class:"flex items-center justify-center w-full"}," Actions ",-1)])])):t.createCommentVNode("",!0)])]),t.createElementVNode("tbody",sQ,[ve.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(h.value,q=>(t.openBlock(),t.createElementBlock("tr",{key:`skeleton-${q}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,$=>{var Y,fe;return t.openBlock(),t.createElementBlock("td",{key:$.key,class:t.normalizeClass([$.align?`text-${$.align.toLowerCase()}`:"text-left","px-3 py-0.5"])},[t.createElementVNode("div",{class:t.normalizeClass(["bg-gradient-to-r from-neutral-200 via-neutral-300 to-neutral-200 dark:from-neutral-700 dark:via-neutral-600 dark:to-neutral-700 animate-shimmer",[["badge","BADGE"].includes($.type??"")||$.condition?"h-5 rounded-full w-20":"h-4 rounded-md",((Y=$.align)==null?void 0:Y.toLowerCase())==="center"?"mx-auto":"",((fe=$.align)==null?void 0:fe.toLowerCase())==="right"?"ml-auto":""]]),style:t.normalizeStyle({width:["badge","BADGE"].includes($.type??"")||$.condition?void 0:iq($),backgroundSize:"200% 100%"})},null,6)],2)}),128)),a.hasActions?(t.openBlock(),t.createElementBlock("td",lQ,[...E[11]||(E[11]=[t.createElementVNode("div",{class:"flex items-center justify-center gap-1.5"},[t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse"}),t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse delay-75"}),t.createElementVNode("div",{class:"w-9 h-9 bg-zinc-200 dark:bg-zinc-700 rounded-xl animate-pulse delay-150"})],-1)])])):t.createCommentVNode("",!0)]))),128)):xt.value.length===0?(t.openBlock(),t.createElementBlock("tr",cQ,[t.createElementVNode("td",{colspan:de.value.length+(ue.value?1:0),class:"text-center py-16"},[t.createElementVNode("div",hQ,[t.createElementVNode("div",null,[t.createElementVNode("p",uQ,t.toDisplayString(Pe.value?"No search results":"No data"),1),t.createElementVNode("p",pQ,t.toDisplayString(Pe.value?"Try changing keywords":"No data added"),1)])])],8,dQ)])):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:2},t.renderList(xt.value,(q,$)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:$},[t.createElementVNode("tr",yQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(de.value,Y=>(t.openBlock(),t.createElementBlock("td",{key:Y.key,class:t.normalizeClass([Y.align?`text-${Y.align}`:"text-left","px-3 py-0.5 text-sm text-neutral-900 dark:text-neutral-100"])},[t.renderSlot(_.$slots,`cell-${Y.key}`,{row:q,value:O(q,Y.key)},()=>[Y.type==="CHECKBOX"?(t.openBlock(),t.createElementBlock("div",fQ,[t.createVNode(q1,{"model-value":D(q),"onUpdate:modelValue":fe=>T(q,!!fe),onClick:E[3]||(E[3]=t.withModifiers(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])])):Y.type==="badge"||Y.type==="BADGE"||Y.condition?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["flex items-center gap-1.5 flex-wrap md:flex-nowrap",[Y.align?`justify-${Y.align}`:"justify-start"]])},[t.createVNode(t.unref(_a),{variant:fS(q,Y).variant,class:t.normalizeClass([fS(q,Y).class,"whitespace-nowrap truncate max-w-[150px] inline-block"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(fS(q,Y).label),1)]),_:2},1032,["variant","class"])],2)):Y.key==="no"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createTextVNode(t.toDisplayString((d.value-1)*h.value+$+1),1)],64)):Y.type==="date"||Y.type==="DATE"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createTextVNode(t.toDisplayString(O(q,Y.key)?t.unref(yY)(O(q,Y.key),"long"):"-"),1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.createTextVNode(t.toDisplayString(Y.format?Y.format(O(q,Y.key)):O(q,Y.key)),1)],64))])],2))),128)),ue.value?(t.openBlock(),t.createElementBlock("td",kQ,[t.renderSlot(_.$slots,"actions",{row:q,buttons:qe(q),getButtonColor:ot,getIconComponent:Aa},()=>[qe(q).length>0?(t.openBlock(),t.createElementBlock("div",mQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(qe(q),(Y,fe)=>(t.openBlock(),t.createElementBlock("div",{key:fe,class:"group relative"},[t.createVNode(ws,{tooltip:Y.tooltip||Y.label,icon:Aa(Y.icon),size:"icon",variant:Y.variant||"ghost","bg-color":ot(Y,q),onClick:xe=>lq(Y,q)},null,8,["tooltip","icon","variant","bg-color","onClick"])]))),128))])):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0)]),_.$slots["expanded-row"]?(t.openBlock(),t.createElementBlock("tr",gQ,[t.createElementVNode("td",{colspan:de.value.length+(ue.value?1:0),class:"px-0 py-0"},[t.renderSlot(_.$slots,"expanded-row",{row:q,index:$})],8,bQ)])):t.createCommentVNode("",!0)],64))),128))])])]),!ve.value&&xt.value.length>0&&a.showPagination&&v.value?(t.openBlock(),t.createElementBlock("div",MQ,[t.createElementVNode("div",xQ,[t.createVNode(t.unref(DY),{"model-value":String(h.value),"onUpdate:modelValue":E[4]||(E[4]=q=>rq(Number(q)))},{default:t.withCtx(()=>[t.createVNode(t.unref(FY),{class:"h-8 w-[70px] bg-white dark:bg-zinc-800 border-neutral-200 dark:border-neutral-700"},{default:t.withCtx(()=>[t.createVNode(t.unref(RY),{placeholder:String(h.value)},null,8,["placeholder"])]),_:1}),t.createVNode(t.unref(EY),null,{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(K,q=>t.createVNode(t.unref(HY),{key:q,value:String(q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(q),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value"]),E[16]||(E[16]=t.createElementVNode("div",{class:"h-5 w-px bg-zinc-300 dark:bg-zinc-600"},null,-1)),t.createElementVNode("span",wQ,[E[12]||(E[12]=t.createTextVNode(" Showing ",-1)),t.createElementVNode("span",vQ,t.toDisplayString(D1.value),1),E[13]||(E[13]=t.createTextVNode(" to ",-1)),t.createElementVNode("span",CQ,t.toDisplayString(E1.value),1),E[14]||(E[14]=t.createTextVNode(" of ",-1)),t.createElementVNode("span",LQ,t.toDisplayString($t.value),1),E[15]||(E[15]=t.createTextVNode(" items ",-1))])]),t.createElementVNode("div",SQ,[t.createVNode(t.unref(IY),{total:$t.value,"items-per-page":h.value,"sibling-count":1,"show-edges":"",page:d.value,"onUpdate:page":c_,class:"scale-90 origin-right"},{default:t.withCtx(()=>[t.createVNode(t.unref(_Y),{class:"flex items-center gap-1"},{default:t.withCtx(({items:q})=>[t.createVNode(t.unref(BY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(Os),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(PY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(dn),{class:"h-4 w-4"})]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q,($,Y)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[$.type==="page"?(t.openBlock(),t.createBlock(t.unref(VY),{key:Y,value:$.value,"as-child":""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ee),{class:"w-8 h-8 p-0 text-sm",variant:$.value===d.value?"default":"outline",disabled:$.value===d.value,onClick:fe=>c_($.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString($.value),1)]),_:2},1032,["variant","disabled","onClick"])]),_:2},1032,["value"])):(t.openBlock(),t.createBlock(t.unref(AY),{key:$.type,index:Y},null,8,["index"]))],64))),256)),t.createVNode(t.unref(qY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(hn),{class:"h-4 w-4"})]),_:1}),t.createVNode(t.unref(zY),{class:"w-8 h-8 p-0 flex items-center justify-center border border-neutral-200 dark:border-neutral-700 rounded-md bg-white dark:bg-zinc-800 text-neutral-900 dark:text-neutral-100 hover:bg-zinc-100 dark:hover:bg-zinc-700 disabled:cursor-not-allowed"},{default:t.withCtx(()=>[t.createVNode(t.unref(Fs),{class:"h-4 w-4"})]),_:1})]),_:1})]),_:1},8,["total","items-per-page","page"])])])):t.createCommentVNode("",!0),t.createVNode(lS,{modelValue:C.value,"onUpdate:modelValue":E[5]||(E[5]=q=>C.value=q),title:EQ.value,icon:"AlertCircle","max-width":450,persistent:!1},{actions:t.withCtx(()=>[t.createVNode(t.unref(Ee),{variant:"outline",onClick:cq},{default:t.withCtx(()=>[...E[17]||(E[17]=[t.createTextVNode(" Cancel ",-1)])]),_:1}),t.createVNode(t.unref(Ee),{onClick:u_},{default:t.withCtx(()=>[...E[18]||(E[18]=[t.createTextVNode(" Yes ",-1)])]),_:1})]),default:t.withCtx(()=>[t.createElementVNode("div",IQ,[t.createElementVNode("p",_Q,t.toDisplayString(TQ.value),1)])]),_:1},8,["modelValue","title"]),t.createVNode(lS,{modelValue:S.value,"onUpdate:modelValue":E[7]||(E[7]=q=>S.value=q),title:((X=I.value)==null?void 0:X.label)||"Action",icon:"AlertCircle","max-width":450},{actions:t.withCtx(()=>[t.createVNode(t.unref(Ee),{variant:"outline",onClick:E[6]||(E[6]=q=>S.value=!1)},{default:t.withCtx(()=>[...E[19]||(E[19]=[t.createTextVNode(" Cancel ",-1)])]),_:1}),t.createVNode(t.unref(Ee),{onClick:DQ},{default:t.withCtx(()=>[...E[20]||(E[20]=[t.createTextVNode(" Save ",-1)])]),_:1})]),default:t.withCtx(()=>{var q,$;return[t.createElementVNode("div",AQ,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(((q=I.value)==null?void 0:q.fieldActionCustom)||(($=I.value)==null?void 0:$.fieldActionGlobal)||[],(Y,fe)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:fe},[Y.isHidden?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(J(Y.column))},[t.createVNode(Qz,{field:Y,modelValue:b.value[Y.model],"onUpdate:modelValue":xe=>b.value[Y.model]=xe},null,8,["field","modelValue","onUpdate:modelValue"])],2))],64))),128))])]}),_:1},8,["modelValue","title"])])}}}),BQ={class:"h-full flex flex-col"},VQ={key:1,class:"flex-1 flex items-center justify-center"},zQ={key:2,class:"flex-1 flex items-center justify-center text-red-500"},Jz=t.defineComponent({__name:"AutoLayoutDatatable",props:{layoutCode:{},userPermissions:{},permissionBase:{}},emits:["action","navigate"],setup(a,{emit:e}){const n=a,o=e,r=H1.useRoute();H1.useRouter();const{apiUrl:i}=Ke(),s=t.inject("hasActionAccess",()=>!1),c=t.inject("userPermissions",null),d=t.ref(null),h=t.ref(!0),u=t.ref(null),p=async()=>{var k;h.value=!0;try{const m=await i(`/api/auto-layout/datatable/form-dynamic?code=${n.layoutCode}`,"GET");m.status&&(d.value=Array.isArray(m.data)?m.data[0]:m.data,console.log("[DEBUG] AutoLayoutDatatable config loaded:",d.value),console.log("[DEBUG] actionGlobal in config:",(k=d.value)==null?void 0:k.actionGlobal))}catch(m){console.error("Gagal Menampilkan Datatable:",m)}finally{h.value=!1}},y=k=>{k.action==="add"&&console.log("[AutoLayoutDatatable] Add action triggered"),console.log("Aksi:",k.action,k)},f=k=>{console.log("[DEBUG] AutoLayoutDatatable handleNavigate:",k);let m=k.route;if(m||(m=`/${((r==null?void 0:r.path)||"").split("/")[1]||"product"}/create`),m){const g=k.path?{code:k.path}:{};console.log("[DEBUG] Emitting navigate to parent:",{path:m,query:g}),o("navigate",{route:m,query:g})}else console.warn("[DEBUG] No route or path provided for navigation")};return t.onMounted(()=>{p()}),(k,m)=>(t.openBlock(),t.createElementBlock("div",BQ,[!h.value&&d.value?(t.openBlock(),t.createBlock(uS,{key:0,ref_key:"dtRef",ref:u,"api-url":`/api/auto-layout/datatable/form-dynamic?code=${n.layoutCode}`,"api-method":"GET","table-config":d.value,"permission-base":n.permissionBase||"","user-permissions":n.userPermissions||t.unref(c),"permission-checker":t.unref(s),onAction:y,onNavigate:f},{"header-actions":t.withCtx(()=>[...m[0]||(m[0]=[])]),_:1},8,["api-url","table-config","permission-base","user-permissions","permission-checker"])):h.value?(t.openBlock(),t.createElementBlock("div",VQ,[...m[1]||(m[1]=[t.createElementVNode("i",{class:"mdi mdi-loading mdi-spin text-4xl text-primary-600"},null,-1)])])):(t.openBlock(),t.createElementBlock("div",zQ," Failed to load configuration for "+t.toDisplayString(n.layoutCode),1))]))}}),eq=t.defineCustomElement(Yz),tq=t.defineCustomElement(Jz);typeof customElements<"u"&&(customElements.get("micro-dynamic-form")||customElements.define("micro-dynamic-form",eq),customElements.get("micro-dynamic-datatable")||customElements.define("micro-dynamic-datatable",tq));const qQ=[qS,O_,ws,rI,bz,q1,Mz,GI,lS,Tz,cS,Hz,QI,jz,e_,a_,t_,n_,Oz,r_,Fz,Rz,Nz,$z,i_,s_,l_,dS,Kz,Xz,Zz,uS],PQ={install(a,e={}){e&&Object.keys(e).length>0&&f_(e),qQ.forEach(n=>{n.name&&a.component(n.name,n)})}};oe.AutoLayoutDatatable=Jz,oe.AutoLayoutForm=Yz,oe.DCodeAutoComplete=qS,oe.DCodeButton=ws,oe.DCodeCard=rI,oe.DCodeChart=bz,oe.DCodeCheckbox=q1,oe.DCodeCurrencyField=Mz,oe.DCodeDatePicker=GI,oe.DCodeDialog=lS,oe.DCodeDialogCloseBtn=Tz,oe.DCodeDropzone=cS,oe.DCodeFileField=Hz,oe.DCodeFileResult=QI,oe.DCodeIconDropdown=jz,oe.DCodeImageCropperDialog=e_,oe.DCodeImageField=a_,oe.DCodeImageResult=t_,oe.DCodeInfiniteAutoComplete=O_,oe.DCodeLabel=n_,oe.DCodeMultiSelect=Oz,oe.DCodeOtpInput=r_,oe.DCodeProgress=Fz,oe.DCodeProgressBar=Rz,oe.DCodeRadio=Nz,oe.DCodeRadioCustom=$z,oe.DCodeSlider=i_,oe.DCodeSwitch=s_,oe.DCodeTextField=l_,oe.DCodeTextarea=dS,oe.DCodeTimelineWithIcons=Kz,oe.DCodeUploadFile=Xz,oe.DCodeWizard=Zz,oe.DataTable=uS,oe.DataTableComponent=uS,oe.MicroDynamicDatatable=tq,oe.MicroDynamicForm=eq,oe.cn=be,oe.default=PQ,oe.setApiConfig=f_,Object.defineProperties(oe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));