@jsg-developer/vue-pack 0.0.1

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.
Files changed (111) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +154 -0
  3. package/dist/DEPENDENCY-LICENSES.txt +1170 -0
  4. package/dist/TabelData-C_eyn6Uq.cjs +1 -0
  5. package/dist/TabelData-fKFaSnkC.js +2142 -0
  6. package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-Dtm1AO8H.js +13685 -0
  7. package/dist/TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-jjKlGR9H.cjs +64 -0
  8. package/dist/config.cjs.js +1 -0
  9. package/dist/config.es.js +6 -0
  10. package/dist/init.cjs.js +1 -0
  11. package/dist/init.es.js +24 -0
  12. package/dist/jsgd-vue-pack.cjs.js +1 -0
  13. package/dist/jsgd-vue-pack.css +7 -0
  14. package/dist/jsgd-vue-pack.es.js +388 -0
  15. package/dist/plugin/vue.cjs.js +1 -0
  16. package/dist/plugin/vue.es.js +51 -0
  17. package/dist/types/components/Form/FormFieldRenderer.vue.d.ts +23 -0
  18. package/dist/types/components/Form/FormModal.vue.d.ts +11 -0
  19. package/dist/types/components/Form/composables/index.d.ts +2 -0
  20. package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts +22 -0
  21. package/dist/types/components/Form/composables/useFormModal.d.ts +19 -0
  22. package/dist/types/components/Form/index.d.ts +2 -0
  23. package/dist/types/components/Tabel/TabelData.vue.d.ts +62 -0
  24. package/dist/types/components/Tabel/composables/index.d.ts +4 -0
  25. package/dist/types/components/Tabel/composables/useDataNormalization.d.ts +7 -0
  26. package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +8 -0
  27. package/dist/types/components/Tabel/composables/useFormHandling.d.ts +23 -0
  28. package/dist/types/components/Tabel/composables/useTableLogic.d.ts +35 -0
  29. package/dist/types/components/Tabel/index.d.ts +1 -0
  30. package/dist/types/components/UI/Display/BaseImage.vue.d.ts +6 -0
  31. package/dist/types/components/UI/Display/BaseLabel.vue.d.ts +20 -0
  32. package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts +16 -0
  33. package/dist/types/components/UI/Display/ImagePreview.vue.d.ts +12 -0
  34. package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts +17 -0
  35. package/dist/types/components/UI/Display/SafeHtml.vue.d.ts +5 -0
  36. package/dist/types/components/UI/Display/Tooltip.vue.d.ts +62 -0
  37. package/dist/types/components/UI/Display/index.d.ts +7 -0
  38. package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts +14 -0
  39. package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts +12 -0
  40. package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +17 -0
  41. package/dist/types/components/UI/Feedback/index.d.ts +3 -0
  42. package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts +9 -0
  43. package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts +13 -0
  44. package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts +33 -0
  45. package/dist/types/components/UI/Inputs/DateInput.vue.d.ts +13 -0
  46. package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts +67 -0
  47. package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts +13 -0
  48. package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts +14 -0
  49. package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +13 -0
  50. package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts +17 -0
  51. package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts +14 -0
  52. package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +13 -0
  53. package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts +13 -0
  54. package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts +17 -0
  55. package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts +13 -0
  56. package/dist/types/components/UI/Inputs/TagInput.vue.d.ts +16 -0
  57. package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts +13 -0
  58. package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +13 -0
  59. package/dist/types/components/UI/Inputs/TextInput.vue.d.ts +13 -0
  60. package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts +13 -0
  61. package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts +9 -0
  62. package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts +13 -0
  63. package/dist/types/components/UI/Inputs/composables/index.d.ts +3 -0
  64. package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts +17 -0
  65. package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts +14 -0
  66. package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts +11 -0
  67. package/dist/types/components/UI/Inputs/index.d.ts +21 -0
  68. package/dist/types/components/UI/index.d.ts +3 -0
  69. package/dist/types/components/index.d.ts +3 -0
  70. package/dist/types/config.d.ts +2 -0
  71. package/dist/types/configs/defaults/index.d.ts +1 -0
  72. package/dist/types/configs/defaults/table.d.ts +8 -0
  73. package/dist/types/configs/i18n/errors.d.ts +2 -0
  74. package/dist/types/configs/i18n/index.d.ts +4 -0
  75. package/dist/types/configs/i18n/inputs.d.ts +2 -0
  76. package/dist/types/configs/i18n/labels.d.ts +2 -0
  77. package/dist/types/configs/i18n/register.d.ts +4 -0
  78. package/dist/types/configs/index.d.ts +3 -0
  79. package/dist/types/configs/types/base.types.d.ts +8 -0
  80. package/dist/types/configs/types/date.types.d.ts +10 -0
  81. package/dist/types/configs/types/field.types.d.ts +255 -0
  82. package/dist/types/configs/types/globalText.types.d.ts +94 -0
  83. package/dist/types/configs/types/index.d.ts +10 -0
  84. package/dist/types/configs/types/modal-text.types.d.ts +42 -0
  85. package/dist/types/configs/types/plugin-config.types.d.ts +28 -0
  86. package/dist/types/configs/types/props.types.d.ts +355 -0
  87. package/dist/types/configs/types/schema.types.d.ts +20 -0
  88. package/dist/types/configs/types/submit-options.types.d.ts +31 -0
  89. package/dist/types/configs/types/table-data.types.d.ts +130 -0
  90. package/dist/types/fetch/index.d.ts +1 -0
  91. package/dist/types/fetch/submitData.d.ts +2 -0
  92. package/dist/types/helpers/clientInfo.d.ts +5 -0
  93. package/dist/types/helpers/index.d.ts +3 -0
  94. package/dist/types/helpers/locale.d.ts +3 -0
  95. package/dist/types/helpers/message.d.ts +2 -0
  96. package/dist/types/index.d.ts +8 -0
  97. package/dist/types/init.d.ts +2 -0
  98. package/dist/types/lib/index.d.ts +2 -0
  99. package/dist/types/lib/indexedDB.d.ts +29 -0
  100. package/dist/types/lib/secureFetch.d.ts +8 -0
  101. package/dist/types/plugin/vue.plugin.d.ts +3 -0
  102. package/dist/types/schemas/TestSchema.d.ts +2 -0
  103. package/dist/types/schemas/index.d.ts +1 -0
  104. package/dist/types/untils/index.d.ts +4 -0
  105. package/dist/types/untils/math.d.ts +28 -0
  106. package/dist/types/untils/misc.d.ts +3 -0
  107. package/dist/types/untils/objectPath.d.ts +5 -0
  108. package/dist/types/untils/regex.d.ts +8 -0
  109. package/dist/types/validate/index.d.ts +1 -0
  110. package/dist/types/validate/validate.d.ts +27 -0
  111. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),$=require("./TabelData.vue_vue_type_style_index_0_scoped_76b9b7a6_lang-jjKlGR9H.cjs"),De=["src","alt"],Ce=e.defineComponent({__name:"BaseImage",props:{src:{},alt:{}},setup(t){return(r,l)=>(e.openBlock(),e.createElementBlock("img",e.mergeProps({src:t.src,alt:t.alt,loading:"lazy",decoding:"async",class:"image-cover"},r.$attrs),null,16,De))}}),Me=$._export_sfc(Ce,[["__scopeId","data-v-42adc665"]]),$e={class:"base-label"},xe=e.defineComponent({__name:"BaseLabel",props:{label:{}},setup(t){return(r,l)=>(e.openBlock(),e.createElementBlock("label",$e,[e.renderSlot(r.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)]))}}),S=$._export_sfc(xe,[["__scopeId","data-v-1f7d7c4b"]]);function de(t="id-ID",r="Asia/Jakarta"){let l=t,o=r;try{typeof navigator<"u"&&(l=navigator.language||t),o=Intl.DateTimeFormat().resolvedOptions().timeZone||r}catch{}return{locale:l,timeZone:o}}function me(t,r="id-ID"){const l=Intl.DateTimeFormat.supportedLocalesOf([t]);return l.length>0?l[0]:r}function fe(t){return t instanceof Date&&!isNaN(t.getTime())}const ve=t=>{try{if(!t)return"-";const r=new Date(t);if(!fe(r))return t;const{locale:l,timeZone:o}=de();return r.toLocaleDateString(me(l),{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:o})}catch{return t}},ke=t=>{try{if(!t)return"-";const r=new Date(`1970-01-01T${t}`);if(!fe(r))return t;const{locale:l,timeZone:o}=de();return r.toLocaleTimeString(me(l),{hour:"2-digit",minute:"2-digit",timeZone:o})}catch{return t}},he=t=>{try{if(!t)return"-";const r=new Date(t);if(!fe(r))return t;const{locale:l,timeZone:o}=de();return r.toLocaleString(me(l),{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",timeZone:o})}catch{return t}},Ae=["id"],Te={key:0},Se={class:"field-value"},Oe={key:1},je=["innerHTML"],Ie={key:1,class:"field-value"},Le={key:2},Fe=["innerHTML"],Ke={key:1,class:"field-value"},He={key:3},Pe={class:"password-wrapper"},ze={class:"password-text"},Re={key:4},Ue={class:"field-value"},We={key:5},Ze={class:"field-value"},qe={key:6},Ge={class:"field-value"},Qe={key:7},Je={key:8},Xe={key:0},Ye=["href"],et={key:1,class:"file-info"},tt={class:"file-size"},nt=["href"],at={key:1,class:"no-value"},ot={key:9},lt={key:0,class:"file-array-container"},it=["href"],st={key:1,class:"file-info"},rt={class:"file-size"},ct=["href"],dt={key:1,class:"no-value"},ut={key:10},mt={class:"field-value"},ft={key:11},yt={class:"field-value"},vt={key:12},kt=["href"],ht={key:13},gt={class:"field-value"},pt={key:14},bt={key:0,class:"object-container"},Bt={key:1,class:"no-value"},wt={key:15},Et={key:0},Vt=["src"],Nt={key:1,class:"no-value"},_t={key:16},Dt={key:0,class:"image-array-container"},Ct=["src","alt","onClick"],Mt={key:1,class:"no-value"},$t={key:17},xt={class:"color-container"},At=["title","onClick"],Tt={key:1,class:"no-value"},St={key:18},Ot={class:"field-value"},jt={key:19},It={key:0,class:"array-object-container"},Lt={key:1,class:"no-value"},Ft={key:1,class:"field-wrapper"},Kt={class:"option-group-grid"},Ht=e.defineComponent({__name:"FieldDetailRenderer",props:{field:{},fieldKey:{},formData:{},requiredText:{},valueNullView:{type:Boolean},optionalText:{},lang:{}},emits:["image-click"],setup(t,{emit:r}){const l=e.ref(!1),o=t,i=r,n=e.computed(()=>o.formData?.[o.fieldKey]),u=e.computed(()=>{const y=n.value;return o.valueNullView&&o.field.type!=="optionGroupSchema"?!0:y!=null&&y!==""}),m=e.inject("TableComponents",{labels:e.ref($.defaultTextLabelsMap[o.lang??"en"])}).labels,a=e.computed(()=>{let y=o.field.label||o.fieldKey||"";return o.field.type==="optionGroupSchema"?o.field.label??"":y}),p=y=>y instanceof File,_=y=>URL.createObjectURL(y),O=y=>{navigator.clipboard.writeText(y).then(()=>console.log("Copied:",y)).catch(console.error)};return(y,A)=>u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"field-wrapper",id:t.fieldKey},[t.field.type==="text"?(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",Se,e.toDisplayString(n.value||"-"),1)])):t.field.type==="richText"?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"prose-content",innerHTML:n.value},null,8,je)):(e.openBlock(),e.createElementBlock("p",Ie,"-"))])):t.field.type==="textArea"?(e.openBlock(),e.createElementBlock("div",Le,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"prose-content",innerHTML:n.value},null,8,Fe)):(e.openBlock(),e.createElementBlock("p",Ke,"-"))])):t.field.type==="password"?(e.openBlock(),e.createElementBlock("div",He,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("div",Pe,[e.createElementVNode("p",ze,e.toDisplayString(l.value?n.value??"-":n.value?"•".repeat(String(n.value).length):"-"),1),n.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"toggle-visibility-button",onClick:A[0]||(A[0]=w=>l.value=!l.value)},e.toDisplayString(l.value?"Hide":"Show"),1)):e.createCommentVNode("",!0)])])):t.field.type==="date"?(e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",Ue,e.toDisplayString(n.value?e.unref(ve)(n.value):"-"),1)])):t.field.type==="time"?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",Ze,e.toDisplayString(n.value?e.unref(ke)(n.value):"-"),1)])):t.field.type==="dateTime"?(e.openBlock(),e.createElementBlock("div",qe,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",Ge,e.toDisplayString(n.value?e.unref(he)(n.value):"-"),1)])):t.field.type==="toggle"?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",{class:e.normalizeClass(["toggle-badge",n.value?"active":"inactive"])},e.toDisplayString(n.value?e.unref(m).btn.toogle.active:e.unref(m).btn.toogle.inactive)+" ⦿ ",3)])):t.field.type==="file"?(e.openBlock(),e.createElementBlock("div",Je,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),n.value?(e.openBlock(),e.createElementBlock("div",Xe,[typeof n.value=="string"?(e.openBlock(),e.createElementBlock("a",{key:0,href:n.value,target:"_blank",rel:"noopener noreferrer",class:"file-link"},e.toDisplayString(n.value.split("/").pop()||n.value),9,Ye)):p(n.value)?(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("span",null,e.toDisplayString(n.value.name),1),e.createElementVNode("span",tt,"("+e.toDisplayString((n.value.size/1024).toFixed(1))+" KB)",1),e.createElementVNode("a",{href:_(n.value),target:"_blank",rel:"noopener noreferrer",class:"file-preview-link"}," Preview ",8,nt)])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",at,"-"))])):t.field.type==="fileArray"?(e.openBlock(),e.createElementBlock("div",ot,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),Array.isArray(n.value)&&n.value.length?(e.openBlock(),e.createElementBlock("div",lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:C},[typeof w=="string"?(e.openBlock(),e.createElementBlock("a",{key:0,href:w,target:"_blank",rel:"noopener noreferrer",class:"file-link"},e.toDisplayString(w.split("/").pop()||w),9,it)):p(w)?(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("span",null,e.toDisplayString(w.name),1),e.createElementVNode("span",rt,"("+e.toDisplayString((w.size/1024).toFixed(1))+" KB)",1),e.createElementVNode("a",{href:_(w),target:"_blank",rel:"noopener noreferrer",class:"file-preview-link"}," Preview ",8,ct)])):e.createCommentVNode("",!0)]))),128))])):(e.openBlock(),e.createElementBlock("div",dt,"-"))])):t.field.type==="number"?(e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",mt,e.toDisplayString(n.value??"-"),1)])):t.field.type==="email"?(e.openBlock(),e.createElementBlock("div",ft,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",yt,e.toDisplayString(n.value??"-"),1)])):t.field.type==="url"?(e.openBlock(),e.createElementBlock("div",vt,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("a",{href:n.value,target:"_blank",rel:"noopener noreferrer",class:"url-link"},e.toDisplayString(n.value??"-"),9,kt)])):t.field.type==="tag"?(e.openBlock(),e.createElementBlock("div",ht,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",gt,e.toDisplayString(n.value??"-"),1)])):t.field.type==="object"?(e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),n.value&&typeof n.value=="object"&&Object.keys(n.value).length?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.schema,(w,C)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:C,field:w,"field-key":C,"form-data":n.value,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:A[1]||(A[1]=j=>i("image-click",j))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))])):(e.openBlock(),e.createElementBlock("div",Bt,"-"))])):t.field.type==="image"?(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),n.value?(e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("img",{src:n.value,alt:"Image",class:"image-preview-single",onClick:A[2]||(A[2]=w=>i("image-click",n.value))},null,8,Vt)])):(e.openBlock(),e.createElementBlock("div",Nt,"-"))])):t.field.type==="imageArray"?(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),Array.isArray(n.value)&&n.value.length?(e.openBlock(),e.createElementBlock("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:C},[e.createElementVNode("img",{src:w,alt:`Image ${C+1}`,class:"image-preview-multi",onClick:j=>i("image-click",w)},null,8,Ct)]))),128))])):(e.openBlock(),e.createElementBlock("div",Mt,"-"))])):t.field.type==="color"?(e.openBlock(),e.createElementBlock("div",$t,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("div",xt,[Array.isArray(n.value)&&n.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(n.value,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"color-swatch",style:e.normalizeStyle({backgroundColor:w}),title:w,onClick:j=>O(w)},null,12,At))),128)):(e.openBlock(),e.createElementBlock("div",Tt,"-"))])])):t.field.type==="select"?(e.openBlock(),e.createElementBlock("div",St,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),e.createElementVNode("p",Ot,e.toDisplayString(n.value||"-"),1)])):t.field.type==="arrayObject"?(e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(e.unref(S),{label:a.value},null,8,["label"]),Array.isArray(n.value)&&n.value.length?(e.openBlock(),e.createElementBlock("div",It,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"array-object-item"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.schema,(j,x)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:x,field:j,"field-key":x,"form-data":w,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:A[3]||(A[3]=h=>i("image-click",h))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))]))),128))])):(e.openBlock(),e.createElementBlock("div",Lt,"-"))])):e.createCommentVNode("",!0)],8,Ae)):t.field.type==="optionGroupSchema"?(e.openBlock(),e.createElementBlock("div",Ft,[t.formData[t.fieldKey]||a.value?(e.openBlock(),e.createBlock(e.unref(S),{key:0,label:t.formData[t.fieldKey]?a.value+":"+(t.formData[t.fieldKey]??""):a.value,class:"option-group-main-label"},null,8,["label"])):e.createCommentVNode("",!0),e.createElementVNode("div",Kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.options,(w,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"option-group-item"},[e.createVNode(e.unref(S),{label:C,class:"option-group-item-label"},null,8,["label"]),A[5]||(A[5]=e.createElementVNode("hr",{class:"option-group-divider"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w,(j,x)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:x,field:j,"field-key":x,"form-data":t.formData,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:A[4]||(A[4]=h=>i("image-click",h))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))]))),128))])])):e.createCommentVNode("",!0)}}),ae=$._export_sfc(Ht,[["__scopeId","data-v-77044b61"]]),Pt=["src","alt"],zt=e.defineComponent({__name:"ImagePreview",props:{imageUrl:{},watermarkUrl:{default:"https://res.cloudinary.com/doyufai9q/image/upload/v1754227461/Logo_transparent_b6qrek.png"},watermarkSize:{default:4},alt:{default:""}},setup(t){const r=t,l=e.ref(null),o=e.ref(!0),i=u=>new Promise((c,m)=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>c(a),a.onerror=p=>m(p),a.src=u}),n=(u,c)=>{const m=document.createElement("canvas"),a=m.getContext("2d");if(!a)return console.error("Gagal mendapatkan konteks canvas 2D."),u.src;m.width=u.width,m.height=u.height,a.drawImage(u,0,0);const p=u.width/r.watermarkSize,_=c.height/c.width*p,O=u.width-p-10,y=u.height-_-10;return a.globalAlpha=.8,a.drawImage(c,O,y,p,_),a.globalAlpha=1,m.toDataURL("image/png")};return e.onMounted(async()=>{try{const u=await i(r.imageUrl),c=await i(r.watermarkUrl);l.value=n(u,c)}catch(u){console.error("Gagal menerapkan watermark, menampilkan gambar asli:",u),l.value=r.imageUrl}finally{o.value=!1}}),(u,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.value?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:"skeleton-loader"},u.$attrs),null,16)):e.createCommentVNode("",!0),!o.value&&l.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,loading:"lazy",src:l.value,alt:r.alt},u.$attrs),null,16,Pt)):e.createCommentVNode("",!0)],64))}}),Rt=$._export_sfc(zt,[["__scopeId","data-v-bc2fb469"]]),Ut={class:"modal-header"},Wt={class:"header-content"},Zt={class:"title-section"},qt={class:"modal-title"},Gt={class:"modal-body"},Qt={class:"form-fields-container"},Jt={class:"modal-footer"},Xt={class:"footer-buttons"},Yt={class:"btn-content"},en=["src"],tn=e.defineComponent({__name:"ModalDetailData",props:{schema:{},formData:{},valueNullView:{type:Boolean},title:{},closeText:{},requiredText:{},optionalText:{},lang:{}},emits:["close"],setup(t,{emit:r}){const l=r,o=e.ref(!1),i=e.ref(""),n=()=>l("close"),u=a=>{i.value=a,o.value=!0},c=e.ref(!1),m=()=>{c.value=window.innerWidth<768};return e.onMounted(()=>{m(),window.addEventListener("resize",m)}),e.onUnmounted(()=>{window.removeEventListener("resize",m)}),(a,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.Transition,{name:"modal-overlay",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"modal-overlay",onClick:e.withModifiers(n,["self"])},[e.createVNode(e.Transition,{name:"modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["modal-container",{"mobile-view":c.value}])},[e.createElementVNode("div",Ut,[e.createElementVNode("div",Wt,[e.createElementVNode("div",Zt,[p[1]||(p[1]=e.createElementVNode("div",{class:"icon-container"},[e.createElementVNode("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M10 3H6C4.89543 3 4 3.89543 4 5V19C4 20.1046 4.89543 21 6 21H18C19.1046 21 20 20.1046 20 19V5C20 3.89543 19.1046 3 18 3H14M10 3V6C10 6.55228 10.4477 7 11 7H13C13.5523 7 14 6.55228 14 6V3M10 3V1M14 3V1M9 11H15M9 15H15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createElementVNode("h2",qt,e.toDisplayString(t.title??"Detail Data"),1)]),e.createElementVNode("button",{class:"close-btn",onClick:n,"aria-label":"Close"},[...p[2]||(p[2]=[e.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M18 6L6 18M6 6L18 18",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])])]),e.createElementVNode("div",Gt,[e.createElementVNode("div",Qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.schema,(_,O)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:O,field:_,"field-key":O,"form-data":t.formData,"required-text":t.requiredText,"optional-text":t.optionalText,"value-null-view":t.valueNullView,onImageClick:u,lang:t.lang},null,8,["field","field-key","form-data","required-text","optional-text","value-null-view","lang"]))),128))])]),e.createElementVNode("div",Jt,[e.createElementVNode("div",Xt,[e.createElementVNode("button",{type:"button",onClick:n,class:"btn btn-primary"},[e.createElementVNode("span",Yt,[p[3]||(p[3]=e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M6 18L18 6M6 6L18 18",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createTextVNode(" "+e.toDisplayString(t.closeText??"Close"),1)])])])])],2)]),_:1})])]),_:1}),e.createVNode(e.Transition,{name:"modal-overlay",appear:""},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay image-preview-overlay",onClick:p[0]||(p[0]=_=>o.value=!1)},[e.createVNode(e.Transition,{name:"modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("img",{src:i.value,alt:"Preview",class:"image-preview-content"},null,8,en)]),_:1})])):e.createCommentVNode("",!0)]),_:1})],64))}}),ge=$._export_sfc(tn,[["__scopeId","data-v-a78353a9"]]),nn=["innerHTML"],an=e.defineComponent({__name:"SafeHtml",props:{html:{}},setup(t){const r=t,l=e.computed(()=>$.purify.sanitize(r.html));return(o,i)=>t.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:l.value},null,8,nn)):e.createCommentVNode("",!0)}}),on={class:"alert-icon","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 20 20"},ln={key:0,d:"M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"},sn={key:1,d:"M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5Zm3.707 8.207-4 4a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L9 10.586l3.293-3.293a1 1 0 0 1 1.414 1.414Z"},rn={class:"sr-only"},cn={class:"alert-title"},dn={class:"alert-messages"},un=e.defineComponent({__name:"AlertApp",setup(t,{expose:r}){const l=e.ref([]),o=e.ref([]),i=e.ref([]);let n=0;function u(){let m=0;i.value=o.value.map(a=>{const p=a?.offsetHeight||0,_=m;return m+=p+10,_})}function c(m){m.id=n++,m.show=!1,l.value.push(m),e.nextTick(()=>{m.show=!0,u()}),setTimeout(()=>{m.show=!1,e.nextTick(()=>{u(),setTimeout(()=>{l.value=l.value.filter(a=>a.id!==m.id),e.nextTick(u)},200)})},5e3)}return e.watch(l,()=>{e.nextTick(u)}),r({addAlert:c}),(m,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(p,_)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,ref_for:!0,ref_key:"alertRefs",ref:o,class:e.normalizeClass(["alert-container",p.type==="error"?"alert-error":"alert-success"]),style:e.normalizeStyle({top:`${i.value[_]??0}px`,transform:`translateX(${p.show?"0":"200%"})`}),role:"alert"},[(e.openBlock(),e.createElementBlock("svg",on,[p.type==="error"?(e.openBlock(),e.createElementBlock("path",ln)):(e.openBlock(),e.createElementBlock("path",sn))])),e.createElementVNode("span",rn,e.toDisplayString(p.type==="error"?"Error":"Success"),1),e.createElementVNode("div",null,[e.createElementVNode("span",cn,e.toDisplayString(p.title),1),e.createElementVNode("ul",dn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.messages,(O,y)=>(e.openBlock(),e.createElementBlock("li",{key:y},e.toDisplayString(O),1))),128))])])],6))),128))}}),pe=$._export_sfc(un,[["__scopeId","data-v-005a57aa"]]),mn=["aria-labelledby"],fn={id:"dialog-title",class:"dialog-title"},yn={id:"dialog-desc",class:"dialog-message"},vn={class:"button-container"},kn=e.defineComponent({__name:"WarningForm",props:{title:{default:"Warning Title"},message:{default:"Warning Message"},isGreen:{type:Boolean,default:!1}},emits:["confirm","close"],setup(t,{emit:r}){const l=t,o=r;return(i,n)=>(e.openBlock(),e.createElementBlock("div",{class:"warning-overlay",onKeydown:n[2]||(n[2]=e.withKeys(u=>o("close"),["esc"]))},[e.createElementVNode("div",{class:"warning-dialog",role:"dialog","aria-modal":"true","aria-labelledby":l.title},[e.createElementVNode("h2",fn,e.toDisplayString(l.title),1),e.createElementVNode("p",yn,e.toDisplayString(l.message),1),e.createElementVNode("div",vn,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-confirm",l.isGreen?"btn-green":"btn-red"]),onClick:n[0]||(n[0]=u=>o("confirm"))}," Ya ",2),e.createElementVNode("button",{class:"btn btn-cancel",onClick:n[1]||(n[1]=u=>o("close"))},"Tidak")])],8,mn)],32))}}),ue=$._export_sfc(kn,[["__scopeId","data-v-a8d3c182"]]);async function ce(t,r,l,o){const i={};for(const[n,u]of Object.entries(r)){const c=u?.type;if(c==="select"&&u.DB_NAME&&!u.optionsIsNumber){const a=t[u.baseKey?.base??n];if(a!==null){const p=await $.getItemById(u.DB_NAME,a);i[n]=p[u.baseKey.name??"name"]??""}else i[n]="";continue}if(c==="object"){const a=t[n]||{};i[n]=await ce(t[n]||{},u.schema||{},a,u.baseKey?.base??"id");continue}if(c==="optionGroupSchema"&&u.options){if(u.withValue){const a=t[n];i[n]=await oe(a)}for(const[a,p]of Object.entries(u.options))for(const[_,O]of Object.entries(p)){const y=O,A=t[_];if(y.type==="optionGroupSchema"&&y.options){const w=await ce(t,{[_]:y},l,o);Object.assign(i,w);continue}if(y.type==="object"){i[_]=await ce(t[_]||{},y.schema||{},t[_]||{},y.baseKey?.base??"id");continue}if(y.type==="select"&&y.DB_NAME&&!y.optionsIsNumber){const w=t[y.baseKey?.base??_];if(w!=null){const C=y.DB_NAME,j=await $.getItemById(C,w);i[_]=j[y.baseKey?.name??"name"]??void 0}else i[_]=void 0}else i[_]=oe(A)}continue}const m=t[n];i[n]=oe(m)}return l&&t?.[o??"id"]&&(i[o??"id"]=t?.[o??"id"]),i}async function le(t,r){const l={};console.log(t);for(const[o,i]of Object.entries(r)){const n=i?.type,u=t[i.baseKey?.base??o];if(n==="select"&&i.optionsView&&i.options&&u){const c=i.options.findIndex(m=>m===u);if(!i.optionsView[c]&&i.DB_NAME&&i.baseKey.name){const a=(await $.getItemById(i.DB_NAME,u))[i.baseKey.name];l[o]=a}else l[o]=i.optionsView[c]??u;continue}if(n==="object"){l[o]=await le(u||{},i.schema||{});continue}if(n==="optionGroupSchema"){const c=[];for(const[a,p]of Object.entries(i.options))c.push(p);const m=await be(t,c);Object.assign(l,m);continue}if(n==="arrayObject"){const c=[];for(const m of u){const a=await le(m,i.schema||{});c.push(a)}l[o]=c;continue}l[o]=oe(u)}return l}async function be(t,r){const l={};for(const o of r)for(const[i,n]of Object.entries(o)){const u=n?.type,c=t[n.baseKey?.base??i];if(u==="select"&&n.optionsView&&n.options&&c){const m=n.options.findIndex(a=>a===c);if(!n.optionsView[m]&&n.DB_NAME&&n.baseKey.name){const p=(await $.getItemById(n.DB_NAME,c))[n.baseKey.name];l[i]=p}else l[i]=n.optionsView[m]??c}else if(u==="optionGroupSchema"){const m=[];for(const[p,_]of Object.entries(n.options))m.push(_);const a=await be(t,m);Object.assign(l,a)}else if(u==="object")l[i]=await le(c||{},n.schema||{});else if(u==="arrayObject"){const m=[];for(const a of c){const p=await le(a,n.schema||{});m.push(p)}l[i]=m;continue}else l[i]=oe(c)}return l}function oe(t,r){return t??null}function Y(t){const r=e.toRaw(t),l=Array.isArray(r)?[]:{};if(Array.isArray(r))return r.map(o=>o!==null&&typeof o=="object"&&!(o instanceof File||o instanceof Blob||o instanceof Date)&&!Array.isArray(o)?Y(o):o);for(const o in r){const i=r[o];i===void 0?l[o]=null:i instanceof File||i instanceof Blob||i instanceof Date?l[o]=i:typeof i=="string"&&(i.trim()===""||i==="<p><br></p>")||typeof i=="number"&&i===0?l[o]=null:Array.isArray(i)?l[o]=i.map(n=>n!==null&&typeof n=="object"&&!(n instanceof File||n instanceof Blob||n instanceof Date)&&!Array.isArray(n)?Y(n):n):typeof i=="object"&&i!==null?l[o]=Y(i):l[o]=i}return l}function Be(t){return t?typeof t=="string"?/\.(jpg|jpeg|png|webp|avif|gif|svg)$/.test(t.toLowerCase())||t.startsWith("data:image/")||t.startsWith("blob:"):t instanceof File||typeof t=="object"&&t.type?.startsWith("image/"):!1}function ye(t){return typeof t=="string"?t:t instanceof File||typeof t=="object"&&t.url?t.url||URL.createObjectURL(t):""}function hn(t){return Array.isArray(t)&&t.every(r=>Be(r))}function gn(t){return Array.isArray(t)?t.every(r=>we(r)):!1}function we(t){return typeof t!="string"?!1:/^#([0-9A-F]{3}){1,2}$/i.test(t)||/^rgb(a?)\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*(,\s*[\d\.]+\s*)?\)$/i.test(t)||/^hsl(a?)\(\s*\d+\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%\s*(,\s*[\d\.]+\s*)?\)$/i.test(t)?!0:["red","blue","green","yellow","orange","purple","pink","brown","black","white","gray","cyan","magenta","lime","maroon","navy","olive","teal","silver","aqua"].includes(t.toLowerCase())}function pn(t){return/<\/?[a-z][\s\S]*>/i.test(t)}function bn(t){return Object.keys(t).reduce((r,l)=>(l!=="id"&&(r[l]=t[l]),r),{})}function Bn(t,r,l,o,i,n,u,c){const m=e.ref({});async function a(x){o.value?.show("loading",n.message.process.loading);try{const h=await u(t.data,x);if(c.isUpdate.value=Number(x),!h){o.value?.show("error",n.message.notFound);return}const I=t.base.schema.update??t.base.schema.global??{};if(m.value=await ce(h,I,c.isUpdate.value,t.keys?.idKey??"id"),t.base?.justTabel||t.manual?.update||!t.endPoints?.update){r("edit",m.value,x),o.value?.hide();return}c.FormModalOpen.value=!0,o.value?.hide()}catch(h){const I=typeof h=="string"?h:h instanceof Error?h.message:JSON.stringify(h,Object.getOwnPropertyNames(h));o.value?.show("error",I||"An unknown error occurred")}}function p(){if(t.base?.justTabel||t.manual?.create||!t.endPoints?.create){r("create");return}c.isUpdate.value=null,c.FormModalOpen.value=!0}async function _(x){o.value?.show("loading",n.message.process.loading);try{const h=await u(t.data,x);if(c.isUpdate.value=Number(x),!h){o.value?.show("error",n.message.notFound);return}if(m.value=await le(h,t.base?.schema.display??t.base?.schema.global??{}),t.base.justTabel||t.manual?.display){r("show",m.value,x),o.value?.hide();return}c.detailItemModal.value=!0,o.value?.hide()}catch(h){o.value?.show("error",JSON.stringify(h))}}function O(x){c.idData.value=x,c.showWarningModel.value=!0}function y(){c.showWarningModelSelected.value=!0}function A(){c.showWarningModel.value=!1,c.showWarningModelSelected.value=!1,c.FormModalOpen.value=!1,c.detailItemModal.value=!1,m.value={},c.isUpdate.value=null}const w=async x=>{const h=c.isUpdate.value!==null,I=h?t.endPoints?.update:t.endPoints?.create,F=h?t.validation?.update||null:t.validation?.create||null,W=h?"update":"create",K=h?n.message.success.update:n.message.success.create,H=h?n.message.error.update:n.message.error.create;if(!I){o.value?.show("error",h?n.message.error.update:n.message.error.create);return}if(Array.isArray(c.dataChildDelete.value)&&c.dataChildDelete.value.length>0&&h){const L=t.base.schema.update??t.base.schema.global??{};let T="",R,q=await u(t.data,c.isUpdate.value),X,ee,te=!0;for(const U in L){const P=L[U];if(P.type==="arrayObject"){T=U,R=P.endPoint?.deleteMany??t.endPoints?.deleteMany,X=P.DB_NAME??t.base.source.DB_NAME,ee=P.deleteValidation??t.validation?.delete??void 0,te=!0;break}}if(Array.isArray(m.value[T]))for(let U=0;U<c.dataChildDelete.value.length;U++){const P=c.dataChildDelete.value[U];t.keys?.idKey,m.value[T]=m.value[T].filter(z=>z?.[t.keys?.idKey??"id"]!==P),q&&Array.isArray(q[T])&&(q[T]=q[T].filter(z=>z?.[t.keys?.idKey??"id"]!==P))}const Z=$.isEqual(Y(x),Y(e.toRaw(m.value))),G=await j(c.dataChildDelete.value,R,ee,X,te);if(G?.response&&Z){o.value?.show("success",n.message.success.delete),await $.updateItemInStore(X,Y(e.toRaw(q))),await l(),A();return}else if(!G?.response){o.value?.show("error",G.message);return}}try{o.value?.show("loading",h?n.message.process.update:n.message.process.create);const L=h?t.submitOption?.update?.authType??t.submitOption?.global?.authType??"cookie":t.submitOption?.create?.authType??t.submitOption?.global?.authType??"cookie",T=h?t.submitOption?.update?.token??t.submitOption?.global?.token??void 0:t.submitOption?.create?.token??t.submitOption?.global?.token??void 0,R=h?t.submitOption?.update?.customHeaders??t.submitOption?.global?.customHeaders??void 0:t.submitOption?.create?.customHeaders??t.submitOption?.global?.customHeaders??void 0;await $.submitData({data:Y(x),oldData:h?Y(e.toRaw(m.value)):void 0,validation:F??void 0,endpoint:I,mode:W,token:T,authType:L,customHeaders:R,db:t.base.source.DB_NAME,...h?t.submitOption?.update??t.submitOption?.global:t.submitOption?.create??t.submitOption?.global}),t.base.dataTabelCustomDisplay?r("refreshData"):l(),o.value?.show("success",K),A()}catch(L){i("error",H,Object.entries(L).map(([T,R])=>`${T} : ${R}`)),o.value?.show("error",H)}};async function C(x,h,I,F,W=!0){if(t.base.justTabel||t.manual?.delete||!t.endPoints?.delete){r("delete",x);return}if(h=h??t.endPoints?.delete,I=I??t.validation?.delete,F=F??t.base?.source.DB_NAME??void 0,!h){o.value?.show("error",n.message.error.delete);return}const K={[t.keys?.idKey??"id"]:x};try{o.value?.show("loading",n.message.process.delete);const H=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",L=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,T=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0;await $.submitData({data:K,validation:I??void 0,endpoint:h,mode:"delete",token:L,authType:H,customHeaders:T,db:F,deleteDataDB:W,...t.submitOption?.delete??t.submitOption?.global}),t.base?.dataTabelCustomDisplay?r("refreshData"):l(),o.value?.show("success",n.message.success.delete)}catch(H){i("error",n.message.error.delete,Object.entries(H).map(([L,T])=>`${L} : ${T}`)),o.value?.show("error",n.message.error.delete)}finally{A()}}async function j(x,h,I,F,W=!0){if(t.base?.justTabel||t.manual?.delete||!t.endPoints?.delete){r("deleteMany",x);return}if(h=h??t.endPoints?.deleteMany,I=I??t.validation?.deleteMany,F=F??t.base?.source.DB_NAME??void 0,!h){o.value?.show("error",n.message.error.deleteMany);return}try{o.value?.show("loading",n.message.process.deleteMany);const K=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",H=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,L=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0,T=await $.submitData({data:{[t.keys?.idsKey??"ids"]:x},validation:I??void 0,endpoint:h,mode:"delete",db:F,authType:K,token:H,customHeaders:L,deleteDataDB:W});return c.selectedItems.value=[],t.base?.dataTabelCustomDisplay?(r("refreshData"),o.value?.show("success",n.message.success.deleteMany),A(),T):(await l(),o.value?.show("success",n.message.success.deleteMany),A(),T)}catch(K){i("error",n.message.error.deleteMany,Object.entries(K).map(([H,L])=>`${H} : ${L}`)),o.value?.show("error",n.message.error.deleteMany)}}return{initialData:m,openEditModal:a,openCreateModal:p,openShowModal:_,openWarningDeleteData:O,openWarningDeleteSelectedData:y,closeModal:A,submitFormData:w,DeleteData:C,DeleteSeletedData:j}}function wn(t,r,l,o){const i=e.ref(""),n=e.ref(1),u=e.ref([]),c=e.ref(!1),m=e.ref(!1),a=e.ref(!1),p=e.ref(null),_=e.ref(null),O=e.ref("asc"),y=e.ref(!1),A=e.ref(!1),w=e.ref(null),C=e.ref(null),j=e.computed(()=>t.pagination?.itemsPerPage??10),x=e.computed(()=>t.pagination?.maxVisiblePages??5);e.ref(null),e.ref("none");const h=e.computed(()=>{const d=t.keys?.idKey;return t.data.find(E=>E?.[d??"id"]===p.value)||{}}),I=e.computed(()=>{const d=t.keys?.idKey??"id",E=t.keys?.nameKey??"name";return t.data.filter(D=>u.value.includes(D[d])).map(D=>D[E]).join(", ")}),F=e.computed(()=>{let d=(t.base.data??[]).filter(E=>Object.values(E).some(D=>String(D).toLowerCase().includes(i.value.toLowerCase())));return _.value&&d.sort((E,D)=>{let g=E[_.value],B=D[_.value];return typeof g=="string"&&(g=g.toLowerCase()),typeof B=="string"&&(B=B.toLowerCase()),g<B?O.value==="asc"?-1:1:g>B?O.value==="asc"?1:-1:0}),d}),W=e.computed(()=>{const d=(n.value-1)*j.value;return F.value.slice(d,d+j.value)}),K=e.computed(()=>Math.ceil(F.value.length/j.value)),H=e.computed(()=>{const d=[],E=K.value,D=n.value,g=x.value;if(E<=g+2){for(let k=1;k<=E;k++)d.push(k);return d}d.push(1);let B=Math.max(2,D-2),f=Math.min(E-1,D+2);B>2&&d.push("...");for(let k=B;k<=f;k++)d.push(k);return f<E-1&&d.push("..."),d.push(E),d});function L(){u.value=c.value?W.value.map(d=>d?.[t.keys?.idKey??"id"]):[]}function T(d){_.value===d?O.value=O.value==="desc"?"asc":"desc":(_.value=d,O.value="desc")}function R(){n.value>1&&n.value--}function q(){n.value<K.value&&n.value++}async function X(){if(t.base.source.DB_NAME){const d=await $.getFromIndexedDB(t.base.source.DB_NAME);if(t.base.source.connect?.length){const E={};return await Promise.all(t.base.source.connect.map(async D=>{E[D.DB_NAME]=await $.getFromIndexedDB(D.DB_NAME)})),d.map(D=>{let g={...D};for(const B of t.base.source.connect){const f=B.key,k=B.connectKey,V=(E[B.DB_NAME]||[]).filter(M=>z(M,k)===z(D,f));g[B.DB_NAME]=V.length>0?V:null}return g})}return d}else if(t.base.source.fetchApi?.getAll){const d=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",E=t.submitOption?.delete?.token??t.submitOption?.global?.token,D=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders,g=await $.submitData({mode:"get",endpoint:t.base.source.fetchApi?.getAll,db:t.base.source.DB_NAME,authType:d,token:E,customHeaders:D});if(t.base.source.fetchApi.connect?.length){const B={};return await Promise.all(t.base.source.fetchApi.connect.map(async f=>{const k=await $.submitData({mode:"get",endpoint:f.url,db:t.base.source.DB_NAME,authType:d,token:E,customHeaders:D}),V=f.valueKey??f.url??f.key;B[V]=k.data??[]})),!g.data||!Array.isArray(g.data)?g.data:g.data.map(f=>{let k={...f};for(const V of t.base.source.fetchApi.connect){const M=V.key,N=V.connectKey,s=V.valueKey??V.url??V.key,v=(B[s]||[]).filter(b=>z(b,N)===z(f,M));k[s]=v.length>0?v:null}return k})}return g.data??[]}else return}async function ee(d,E){if(d.connect?.withDB)return await $.getItemById(d.connect.withDB.DB_NAME,E);if(d.connect?.withFetch){const D=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",g=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,B=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0,f=await $.submitData({mode:"get",endpoint:d.connect?.withFetch.url+"/"+E,db:t.base.source.DB_NAME,authType:D,token:g,customHeaders:B});if(f.data)return f.data}else return}async function te(d,E){return d.find(D=>D[t.keys?.idKey??"id"]==E)}let Z=!0,G=null;async function U(){if(Z&&l.value?.show("loading",o.message.process.loading),t.base?.dataTabelCustomDisplay&&t.base?.dataTabelCustomDisplay.length!==0){t.base.data=t.base.dataTabelCustomDisplay,t.data=await X(),await P(),Z&&(l.value?.hide(),Z=!1);return}const d=await X();if(t.data=d,await P(),Array.isArray(d)){const g=t.keys?.idKey??"id";d.sort((B,f)=>B.updatedAt&&f.updatedAt?new Date(f.updatedAt).getTime()-new Date(B.updatedAt).getTime():(f[g]??0)-(B[g]??0)),t.data=d}else{Z&&(l.value?.hide(),Z=!1);return}const E=t.keys?.idKey,D=t.base.headersTabelDisplay?.length===0||t.base.headersTabelDisplay===void 0;t.base.data=await Promise.all(d.map(async g=>{const B={};if(E&&g[E]!=null&&(B[E]=g[E],D&&(!t.base.headersTabelDisplay?.includes(E)||t.base.headersTabelDisplay===void 0)&&(t.base.headersTabelDisplay=[])),t.base.dataTabelDisplay)for(const[f,k]of Object.entries(t.base.dataTabelDisplay))if(typeof k=="string"){const V=z(g,k);B[f]=Array.isArray(V)?V.map(M=>Q(M)):Q(V??"-"),D&&!t.base.headersTabelDisplay?.includes(f)&&t.base.headersTabelDisplay?.push(f)}else{let V=z(g,k.valueKey);if((k.connect?.withDB||k.connect?.withFetch)&&V)if(Array.isArray(V)){const M=await Promise.all(V.map(async N=>{const s=await ee(k,N);return s?s[k.connect?.withDB?.valueKey??k.connect?.withFetch?.valueKey]:N}));B[f]=M.map(N=>Q(N))}else{const M=await ee(k,V);M&&(V=M[k.connect.withDB?.valueKey??k.connect.withFetch?.valueKey]),B[f]=Q(V)}else B[f]=Q(V);D&&!t.base.headersTabelDisplay?.includes(f)&&t.base.headersTabelDisplay?.push(f)}else{let f=0;for(const[k,V]of Object.entries(g)){if(k===E)continue;if(f>=8)break;const M=ne(k);B[M]=Q(V),D&&!t.base.headersTabelDisplay?.includes(M)&&t.base.headersTabelDisplay?.push(M),f++}}return B})),Z&&(l.value?.hide(),Z=!1),t.base?.source?.fetchApi?.autoRefresh?.time&&(G&&clearTimeout(G),G=setTimeout(()=>{U()},t.base.source.fetchApi.autoRefresh.time))}async function P(){const d={global:t.base.schema.global??{},create:t.base.schema.create??{},update:t.base.schema.update??{},display:t.base.schema.display??{}},E=f=>({authType:t.submitOption?.[f]?.authType??t.submitOption?.global?.authType??"cookie",token:t.submitOption?.[f]?.token??t.submitOption?.global?.token,customHeaders:t.submitOption?.[f]?.customHeaders??t.submitOption?.global?.customHeaders}),D=async f=>{const k=f.options?.valueKey??"id",V=f.options?.viewKey??"name";let M;if(f.options?.url&&(M=await $.submitData({mode:"get",endpoint:f.options.url,...E("get")}),Array.isArray(M?.data)&&(f.options=M.data.map(N=>N[k])??[],f.options?.viewKey?f.optionsView=M.map(N=>N[V])??[]:f.optionsView=M.map(N=>N[k])??[])),f.options?.DB_NAME){const N=f.options?.DB_NAME??f.optionsView?.DB_NAME;if(M=await $.getFromIndexedDB(N),Array.isArray(M)){const s=f.options;s?.DB_NAME&&(f.options=M.map(v=>v[k])??[]),s?.viewKey?f.optionsView=M.map(v=>v[V])??[]:f.optionsView=M.map(v=>v[k])??[]}}},g=(f,k)=>{t.data&&f.validate?.duplicate===!0&&(f.validate.duplicate=t.data.map(V=>V[k])??[])};async function B(f){for(const[k,V]of Object.entries(f)){const M=V?.type;if(M==="select"&&await D(V),M==="text"&&g(V,k),M==="optionGroupSchema"){const N=V?.options??{};for(const[s,v]of Object.entries(N))await B(v)}M==="arrayObject"&&V.schema&&await B(V.schema),M==="object"&&V.schema&&await B(V.schema)}}for(const[f,k]of Object.entries(d))k&&await B(k)}function z(d,E){if(!(!d||typeof E!="string"))try{const D=E.replace(/\[(\d+)\]/g,".$1").split(".");let g=d;for(const B of D){if(g==null)return;if(Array.isArray(g)){const f=Number(B);isNaN(f)?(g=g.map(k=>k?.[B]).filter(k=>k!==void 0),g.some(k=>Array.isArray(k))&&(g=g.flat()),g.length===1&&(g=g[0])):g=g[f]}else g=g?.[B]}return g}catch{return"-"}}function ne(d){return d.replace(/([A-Z])/g," $1").replace(/[_\-]/g," ").replace(/\s+/g," ").trim().replace(/\w\S*/g,E=>E.charAt(0).toUpperCase()+E.slice(1).toLowerCase())}function Q(d){if(Array.isArray(d)){if(d.length===0)return"Empty";if(typeof d[0]=="string")return d.join(", ");if(typeof d[0]=="object")return`${d.length} item`}return typeof d=="object"&&d!==null?Object.keys(d).length>0?"Objek":"Empty":d!=null?String(d):"—"}return{searchQuery:i,currentPage:n,selectedItems:u,selectAll:c,showWarningModel:m,showWarningModelSelected:a,idData:p,sortField:_,sortDirection:O,FormModalOpen:y,detailItemModal:A,isUpdate:w,dataChildDelete:C,selectedItem:h,selectedItemNames:I,filteredData:F,paginatedData:W,totalPages:K,visiblePages:H,toggleAll:L,sortBy:T,prevPage:R,nextPage:q,summarizeValue:Q,setUpData:U,getValueByPath:z,toTitleCase:ne,GetDataById:te}}const Ee={idKey:"id",idsKey:"ids"},Ve={btnInfoActive:!0,searchQueryActive:!0,sortable:!0,createActive:!0,updateActive:!0,deleteActive:!0,deleteManyActive:!0,displayActive:!0},En={create:!1,update:!1,delete:!1,deleteMany:!1,display:!1},Ne={itemsPerPage:5,maxVisiblePages:5},_e={create:void 0,update:void 0,delete:void 0,deleteMany:void 0},Vn={create:void 0,update:void 0,delete:void 0,deleteMany:void 0},Nn={global:{authType:"cookie"}},_n={class:"table-container"},Dn={class:"table-wrapper"},Cn={class:"table-header"},Mn={class:"header-top"},$n={class:"header-actions"},xn={class:"action-buttons"},An=["disabled"],Tn={class:"header-search"},Sn={key:0,class:"search-container"},On=["placeholder"],jn={key:0,class:"selection-indicator"},In={class:"selection-count"},Ln={key:0,class:"empty-state"},Fn={class:"empty-title"},Kn={class:"empty-description"},Hn={key:1,class:"table-content"},Pn={class:"table-scroll-container"},zn={class:"data-table"},Rn={class:"table-header-row"},Un={class:"checkbox-column"},Wn={class:"header-content"},Zn=["onClick"],qn={class:"actions-column"},Gn={class:"table-body"},Qn={class:"checkbox-cell"},Jn=["value"],Xn=["innerHTML"],Yn={key:1,class:"status-badge"},ea={key:2,class:"text-cell datetime-cell"},ta={key:3,class:"text-cell date-cell"},na={key:4,class:"text-cell time-cell"},aa={key:5,class:"image-cell"},oa={class:"image-container"},la=["src","alt"],ia={key:6,class:"color-array-cell"},sa=["title"],ra={key:0,class:"color-count"},ca={key:7,class:"color-cell"},da=["title"],ua={key:8,class:"image-array-cell"},ma=["src","alt"],fa={key:0,class:"image-count"},ya={key:9,class:"array-cell"},va={key:10,class:"text-cell"},ka={class:"actions-cell"},ha={class:"action-buttons-group"},ga=["onClick"],pa={class:"action-text"},ba=["onClick"],Ba={class:"action-text"},wa=["onClick"],Ea={class:"action-text"},Va={class:"pagination-container"},Na={class:"pagination-info"},_a={class:"pagination-controls"},Da=["disabled"],Ca={class:"pagination-pages"},Ma=["onClick","disabled"],$a=["disabled"],xa=e.defineComponent({__name:"TabelData",props:{base:{},keys:{default:()=>Ee},formDesign:{},submitOption:{},feature:{default:()=>Ve},pagination:{default:()=>Ne},validation:{default:()=>_e},manual:{},endPoints:{}},emits:["refreshData","edit","create","show","delete","deleteMany"],setup(t,{emit:r}){const l=N=>typeof N=="string"&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(N),o=N=>typeof N=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(N),i=N=>typeof N=="string"&&/^\d{2}:\d{2}$/.test(N);function n(N,s="en"){try{const v=new Date(N),b=s==="id"?"id-ID":s;return new Intl.DateTimeFormat(b,{dateStyle:"medium",timeStyle:"short"}).format(v)}catch{return N}}function u(N,s="en"){try{const v=new Date(`${N}T00:00:00`),b=s==="id"?"id-ID":s;return new Intl.DateTimeFormat(b,{dateStyle:"medium"}).format(v)}catch{return N}}function c(N,s="en"){try{const[v,b]=N.split(":"),J=new Date;J.setHours(parseInt(v,10),parseInt(b,10),0,0);const ie=s==="id"?"id-ID":s;return new Intl.DateTimeFormat(ie,{timeStyle:"short"}).format(J)}catch{return N}}const m=t,a=e.ref({...m}),p=r,_=e.ref(null),O=e.ref(),y=e.computed(()=>$.defaultTextLabelsMap[m.base?.lang??"en"]),{searchQuery:A,currentPage:w,selectedItems:C,selectAll:j,showWarningModel:x,showWarningModelSelected:h,idData:I,FormModalOpen:F,detailItemModal:W,isUpdate:K,dataChildDelete:H,selectedItem:L,filteredData:T,paginatedData:R,totalPages:q,visiblePages:X,selectedItemNames:ee,toggleAll:te,sortBy:Z,prevPage:G,nextPage:U,setUpData:P,GetDataById:z}=wn(a.value,p,_,y.value),{initialData:ne,openEditModal:Q,openCreateModal:d,openShowModal:E,openWarningDeleteData:D,openWarningDeleteSelectedData:g,closeModal:B,submitFormData:f,DeleteData:k,DeleteSeletedData:V}=Bn(a.value,p,P,_,M,y.value,z,{selectedItems:C,idData:I,isUpdate:K,FormModalOpen:F,detailItemModal:W,dataChildDelete:H,showWarningModel:x,showWarningModelSelected:h});e.watch(C,N=>{j.value=N.length===R.value.length&&R.value.length>0}),e.watch(A,()=>{w.value=1}),e.watch(()=>m.base.dataTabelCustomDisplay||m.base.schema,async()=>{Object.assign(a.value,{...m}),C.value=[],await P()}),e.onMounted(async()=>{Object.assign(a.value,{...m}),await P()}),e.provide("TableComponents",{ShowAlert:M,loader:_,labels:y});function M(N,s,v){const b={type:N,title:s,messages:v};O.value?.addAlert(b)}return(N,s)=>(e.openBlock(),e.createElementBlock("div",_n,[e.createVNode(e.unref($.Loader),{ref_key:"loader",ref:_},null,512),e.unref(x)?(e.openBlock(),e.createBlock(e.unref(ue),{key:0,title:y.value.warning.delete,message:`${e.unref(L).name??e.unref(L)[a.value?.keys?.nameKey??a.value?.keys?.idKey??"id"]}`,onConfirm:s[0]||(s[0]=()=>{e.unref(I)!==null&&e.unref(k)(e.unref(I))}),onClose:e.unref(B)},null,8,["title","message","onClose"])):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createBlock(e.unref(ue),{key:1,title:y.value.warning.deleteMany,message:e.unref(ee),onConfirm:s[1]||(s[1]=()=>e.unref(V)(e.unref(C))),onClose:e.unref(B)},null,8,["title","message","onClose"])):e.createCommentVNode("",!0),e.unref(W)?(e.openBlock(),e.createBlock(e.unref(ge),{key:2,title:y.value?.title?.display,"close-text":y.value?.btn?.close,schema:a.value?.base?.schema.display??a.value?.base?.schema.global??{},"form-data":e.unref(ne)??{},"value-null-view":!0,onClose:e.unref(B)},null,8,["title","close-text","schema","form-data","onClose"])):e.createCommentVNode("",!0),e.createVNode(e.unref(pe),{ref_key:"alert",ref:O},null,512),e.unref(F)?(e.openBlock(),e.createBlock($.FormModal,{key:3,id:e.unref(K)??null,"is-update":!!e.unref(K),schema:e.unref(K)?a.value.base.schema.update??a.value.base.schema.global:a.value.base.schema.create??a.value.base.schema.global,"initial-data":e.unref(K)?e.unref(ne):void 0,lang:a.value.base.lang??"en",onCancel:s[2]||(s[2]=v=>F.value=!1),onDataChildRemove:s[3]||(s[3]=v=>H.value=v),onSubmit:e.unref(f)},null,8,["id","is-update","schema","initial-data","lang","onSubmit"])):e.createCommentVNode("",!0),e.createElementVNode("div",Dn,[e.createElementVNode("div",Cn,[e.createElementVNode("div",Mn,[e.createElementVNode("div",$n,[e.createElementVNode("div",xn,[a.value?.feature?.createActive?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s[4]||(s[4]=v=>e.unref(d)()),class:"btn btn-primary"},[s[14]||(s[14]=e.createElementVNode("span",{class:"btn-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M12 5V19M5 12H19",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createTextVNode(" "+e.toDisplayString(y.value?.btn?.add),1)])):e.createCommentVNode("",!0),e.unref(C).length>0&&a.value?.feature?.deleteManyActive?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:s[5]||(s[5]=v=>e.unref(g)()),class:e.normalizeClass(["btn btn-danger",{disabled:e.unref(C).length===0}]),disabled:e.unref(C).length===0},[s[15]||(s[15]=e.createElementVNode("span",{class:"btn-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M19 7L18.1327 19.1425C18.0579 20.1891 17.187 21 16.1378 21H7.86224C6.81296 21 5.94208 20.1891 5.86732 19.1425L5 7M10 11V17M14 11V17M15 7V4C15 3.44772 14.5523 3 14 3H10C9.44772 3 9 3.44772 9 4V7M4 7H20",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createTextVNode(" "+e.toDisplayString(y.value?.btn?.deleteMany),1)],10,An)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Tn,[a.value?.feature?.searchQueryActive?(e.openBlock(),e.createElementBlock("div",Sn,[s[16]||(s[16]=e.createElementVNode("div",{class:"search-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M21 21L16.514 16.506M19 10.5C19 15.194 15.194 19 10.5 19C5.806 19 2 15.194 2 10.5C2 5.806 5.806 2 10.5 2C15.194 2 19 5.806 19 10.5Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[6]||(s[6]=v=>e.isRef(A)?A.value=v:null),type:"text",placeholder:y.value?.search||"Search...",class:"search-input",onKeyup:s[7]||(s[7]=e.withKeys(v=>w.value=1,["enter"]))},null,40,On),[[e.vModelText,e.unref(A)]])])):e.createCommentVNode("",!0)])]),e.unref(C).length>0?(e.openBlock(),e.createElementBlock("div",jn,[e.createElementVNode("span",In,e.toDisplayString(e.unref(C).length),1),e.createTextVNode(" "+e.toDisplayString(e.unref(C).length===1?y.value.selection.selectedOne??"item is selected":y.value.selection.selected??"items are selected"),1)])):e.createCommentVNode("",!0)]),e.unref(T).length===0?(e.openBlock(),e.createElementBlock("div",Ln,[s[18]||(s[18]=e.createElementVNode("div",{class:"empty-icon"},[e.createElementVNode("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M3 7V17C3 18.1046 3.89543 19 5 19H19C20.1046 19 21 18.1046 21 17V9C21 7.89543 20.1046 7 19 7H3ZM3 7V5C3 3.89543 3.89543 3 5 3H9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M15 13C15 14.6569 13.6569 16 12 16C10.3431 16 9 14.6569 9 13C9 11.3431 10.3431 10 12 10C13.6569 10 15 11.3431 15 13Z",stroke:"currentColor","stroke-width":"2"})])],-1)),e.createElementVNode("h3",Fn,e.toDisplayString(y.value?.message?.notFound),1),e.createElementVNode("p",Kn,e.toDisplayString(y.value?.message?.notFoundDesc||"No data available"),1),a.value?.feature?.createActive?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s[8]||(s[8]=v=>e.unref(d)()),class:"btn btn-primary empty-action"},[s[17]||(s[17]=e.createElementVNode("span",{class:"btn-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M12 5V19M5 12H19",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createTextVNode(" "+e.toDisplayString(y.value?.btn?.add),1)])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Hn,[e.createElementVNode("div",Pn,[e.createElementVNode("table",zn,[e.createElementVNode("thead",Rn,[e.createElementVNode("tr",null,[e.createElementVNode("th",Un,[a.value?.feature?.deleteManyActive?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",onChange:s[9]||(s[9]=(...v)=>e.unref(te)&&e.unref(te)(...v)),"onUpdate:modelValue":s[10]||(s[10]=v=>e.isRef(j)?j.value=v:null),class:"checkbox-input"},null,544)),[[e.vModelCheckbox,e.unref(j)]]):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value?.base.headersTabelDisplay,(v,b)=>(e.openBlock(),e.createElementBlock("th",{key:v,class:e.normalizeClass(["table-header-cell",{"hidden-mobile":b>0}])},[e.createElementVNode("div",Wn,[e.createTextVNode(e.toDisplayString(v)+" ",1),a.value?.feature?.sortable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:J=>e.unref(Z)(v),class:"sort-button"},[...s[19]||(s[19]=[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M8 9L12 5L16 9M16 15L12 19L8 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,Zn)):e.createCommentVNode("",!0)])],2))),128)),e.createElementVNode("th",qn,e.toDisplayString(y.value?.action||"Actions"),1)])]),e.createElementVNode("tbody",Gn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(R),v=>(e.openBlock(),e.createElementBlock("tr",{key:v?.[a.value?.keys?.idKey??"id"],class:"table-row"},[e.createElementVNode("td",Qn,[a.value?.feature?.deleteManyActive?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox","onUpdate:modelValue":s[11]||(s[11]=b=>e.isRef(C)?C.value=b:null),value:v?.[a.value?.keys?.idKey??"id"],class:"checkbox-input"},null,8,Jn)),[[e.vModelCheckbox,e.unref(C)]]):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(bn)(v),(b,J,ie)=>(e.openBlock(),e.createElementBlock("td",{key:J,class:e.normalizeClass(["table-cell",{"hidden-mobile":ie>0,"primary-cell":ie===0}])},[e.unref(pn)(b)?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:b,class:"html-content"},null,8,Xn)):J==="status"||J==="active"?(e.openBlock(),e.createElementBlock("div",Yn,[e.createElementVNode("span",{class:e.normalizeClass({"status-active":b,"status-inactive":!b})},e.toDisplayString(b?y.value?.btn.toogle?.active||"Active":y.value?.btn.toogle?.inactive||"Inactive"),3)])):l(b)?(e.openBlock(),e.createElementBlock("div",ea,[s[20]||(s[20]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"cell-icon"},[e.createElementVNode("path",{d:"M8 7V3M16 7V3M4 11H20M5 21H19C20.1046 21 21 20.1046 21 19V7C21 5.89543 20.1046 5 19 5H5C3.89543 5 3 5.89543 3 7V19C3 20.1046 3.89543 21 5 21Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M12 15H12.01M12 18H12.01M16 15H16.01M16 18H16.01M8 15H8.01M8 18H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createElementVNode("span",null,e.toDisplayString(n(b,a.value.base.lang??"en")),1)])):o(b)?(e.openBlock(),e.createElementBlock("div",ta,[s[21]||(s[21]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"cell-icon"},[e.createElementVNode("path",{d:"M8 7V3M16 7V3M4 11H20M5 21H19C20.1046 21 21 20.1046 21 19V7C21 5.89543 20.1046 5 19 5H5C3.89543 5 3 5.89543 3 7V19C3 20.1046 3.89543 21 5 21Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createElementVNode("span",null,e.toDisplayString(u(b,a.value.base.lang??"en")),1)])):i(b)?(e.openBlock(),e.createElementBlock("div",na,[s[22]||(s[22]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"cell-icon"},[e.createElementVNode("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M12 6V12L16 14",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createElementVNode("span",null,e.toDisplayString(c(b,a.value.base.lang??"en")),1)])):e.unref(Be)(b)?(e.openBlock(),e.createElementBlock("div",aa,[e.createElementVNode("div",oa,[e.createElementVNode("img",{src:e.unref(ye)(b),class:"image-preview",alt:`Preview ${J}`},null,8,la)])])):e.unref(gn)(b)?(e.openBlock(),e.createElementBlock("div",ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.slice(0,3),(se,re)=>(e.openBlock(),e.createElementBlock("div",{key:re,style:e.normalizeStyle({backgroundColor:se}),class:"color-chip",title:se},null,12,sa))),128)),b.length>3?(e.openBlock(),e.createElementBlock("span",ra,"+"+e.toDisplayString(b.length-3),1)):e.createCommentVNode("",!0)])):e.unref(we)(b)?(e.openBlock(),e.createElementBlock("div",ca,[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:b}),class:"color-chip single",title:b},null,12,da)])):e.unref(hn)(b)?(e.openBlock(),e.createElementBlock("div",ua,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.slice(0,3),(se,re)=>(e.openBlock(),e.createElementBlock("div",{key:re,class:"image-container small"},[e.createElementVNode("img",{src:e.unref(ye)(se),class:"image-preview",alt:`Preview ${J}-${re}`},null,8,ma)]))),128)),b.length>3?(e.openBlock(),e.createElementBlock("span",fa,"+"+e.toDisplayString(b.length-3),1)):e.createCommentVNode("",!0)])):Array.isArray(b)?(e.openBlock(),e.createElementBlock("div",ya,e.toDisplayString(b.join(", ")),1)):(e.openBlock(),e.createElementBlock("div",va,e.toDisplayString(b),1))],2))),128)),e.createElementVNode("td",ka,[e.createElementVNode("div",ha,[a.value?.feature?.updateActive?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:b=>e.unref(Q)(v?.[a.value?.keys?.idKey??"id"]),class:"action-btn btn-edit"},[s[23]||(s[23]=e.createElementVNode("span",{class:"action-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M11 5H6C4.89543 5 4 5.89543 4 7V18C4 19.1046 4.89543 20 6 20H17C18.1046 20 19 19.1046 19 18V13M17.5858 3.58579C18.3668 2.80474 19.6332 2.80474 20.4142 3.58579C21.1953 4.36683 21.1953 5.63316 20.4142 6.41421L11.8284 15H9L9 12.1716L17.5858 3.58579Z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createElementVNode("span",pa,e.toDisplayString(y.value?.btn?.update),1)],8,ga)):e.createCommentVNode("",!0),a.value?.feature?.deleteActive?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:b=>e.unref(D)(v?.[a.value?.keys?.idKey??"id"]),class:"action-btn btn-delete"},[s[24]||(s[24]=e.createElementVNode("span",{class:"action-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M19 7L18.1327 19.1425C18.0579 20.1891 17.187 21 16.1378 21H7.86224C6.81296 21 5.94208 20.1891 5.86732 19.1425L5 7M10 11V17M14 11V17M15 7V4C15 3.44772 14.5523 3 14 3H10C9.44772 3 9 3.44772 9 4V7M4 7H20",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createElementVNode("span",Ba,e.toDisplayString(y.value?.btn?.remove),1)],8,ba)):e.createCommentVNode("",!0),a.value?.feature?.displayActive?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:b=>e.unref(E)(v?.[a.value?.keys?.idKey??"id"]),class:"action-btn btn-view"},[s[25]||(s[25]=e.createElementVNode("span",{class:"action-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M1 12C1 12 5 4 12 4C19 4 23 12 23 12C23 12 19 20 12 20C5 20 1 12 1 12Z",stroke:"currentColor","stroke-width":"2"}),e.createElementVNode("path",{d:"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z",stroke:"currentColor","stroke-width":"2"})])],-1)),e.createElementVNode("span",Ea,e.toDisplayString(y.value?.btn?.display),1)],8,wa)):e.createCommentVNode("",!0)])])]))),128))])])]),e.createElementVNode("div",Va,[e.createElementVNode("div",Na,e.toDisplayString(a.value?.pagination?.indicator?.displayingText||"Showing")+" "+e.toDisplayString((e.unref(w)-1)*(a.value?.pagination?.itemsPerPage??5)+1)+" - "+e.toDisplayString(Math.min(e.unref(w)*(a.value?.pagination?.itemsPerPage??5),e.unref(T).length))+" of "+e.toDisplayString(e.unref(T).length)+" "+e.toDisplayString(a.value?.pagination?.indicator?.dataText||"")+" data ",1),e.createElementVNode("div",_a,[e.createElementVNode("button",{onClick:s[12]||(s[12]=(...v)=>e.unref(G)&&e.unref(G)(...v)),disabled:e.unref(w)===1,class:"pagination-btn pagination-prev"},[s[26]||(s[26]=e.createElementVNode("span",{class:"btn-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M15 18L9 12L15 6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e.createTextVNode(" "+e.toDisplayString(y.value?.btn?.prev||"Previous"),1)],8,Da),e.createElementVNode("div",Ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(X),v=>(e.openBlock(),e.createElementBlock("button",{key:v+"",onClick:b=>typeof v=="number"&&(w.value=v),disabled:v==="...",class:e.normalizeClass([{"page-active":e.unref(w)===v,"page-ellipsis":v==="..."},"page-btn"])},e.toDisplayString(v),11,Ma))),128))]),e.createElementVNode("button",{onClick:s[13]||(s[13]=(...v)=>e.unref(U)&&e.unref(U)(...v)),disabled:e.unref(w)===e.unref(q)||e.unref(q)===0,class:"pagination-btn pagination-next"},[e.createTextVNode(e.toDisplayString(y.value?.btn?.next||"Next")+" ",1),s[27]||(s[27]=e.createElementVNode("span",{class:"btn-icon"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M9 18L15 12L9 6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1))],8,$a)])])]))])]))}}),Aa=$._export_sfc(xa,[["__scopeId","data-v-76b9b7a6"]]);exports.AlertApp=pe;exports.BaseImage=Me;exports.BaseLabel=S;exports.FieldDetailRenderer=ae;exports.ImagePreview=Rt;exports.ModalDetailData=ge;exports.TabelData=Aa;exports.WarningForm=ue;exports._sfc_main=an;exports.defaultEndpoints=Vn;exports.defaultFeatureToggles=Ve;exports.defaultKeys=Ee;exports.defaultManualControl=En;exports.defaultPagination=Ne;exports.defaultSubmitAuth=Nn;exports.defaultValidation=_e;exports.formatDate=ve;exports.formatDateTime=he;exports.formatTime=ke;exports.getClientLocaleAndTimeZone=de;