@jsg-developer/vue-pack 0.0.9-beta-7 → 0.0.9-beta-8

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 (246) hide show
  1. package/README.md +85 -49
  2. package/THIRD_PARTY_LICENSES.json +1 -1
  3. package/dist/TabelData-C7cnVdQE.cjs +15 -0
  4. package/dist/{TabelData-BxQVnwZT.js → TabelData-Cnb0Kzmj.js} +1927 -1958
  5. package/dist/components.cjs.js +1 -0
  6. package/dist/components.es.js +42 -0
  7. package/dist/index-C9BwKSuZ.js +46 -0
  8. package/dist/index-VfrLcGOd.cjs +1 -0
  9. package/dist/indexedDB.cjs.js +1 -0
  10. package/dist/indexedDB.es.js +141 -0
  11. package/dist/init.cjs.js +1 -1
  12. package/dist/init.es.js +6 -5
  13. package/dist/jsgd-vue-pack.cjs.js +1 -1
  14. package/dist/jsgd-vue-pack.es.js +101 -2442
  15. package/dist/{resize-dgEcQ7xe.js → labels-B588RfM1.js} +6 -161
  16. package/dist/{resize-Cp7HnMN4.cjs → labels-BSx9XJ02.cjs} +1 -1
  17. package/dist/register-BG47SL5y.js +15 -0
  18. package/dist/register-D85E754B.cjs +1 -0
  19. package/dist/secureFetch.cjs.js +1 -0
  20. package/dist/secureFetch.es.js +30 -0
  21. package/dist/style.css +1 -1
  22. package/dist/types/components/Form/FormFieldRenderer.vue.d.ts +1 -0
  23. package/dist/types/components/Form/FormFieldRenderer.vue.d.ts.map +1 -0
  24. package/dist/types/components/Form/FormModal.vue.d.ts +1 -0
  25. package/dist/types/components/Form/FormModal.vue.d.ts.map +1 -0
  26. package/dist/types/components/Form/composables/index.d.ts +1 -0
  27. package/dist/types/components/Form/composables/index.d.ts.map +1 -0
  28. package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts +1 -0
  29. package/dist/types/components/Form/composables/useFormFieldRenderer.d.ts.map +1 -0
  30. package/dist/types/components/Form/composables/useFormModal.d.ts +1 -0
  31. package/dist/types/components/Form/composables/useFormModal.d.ts.map +1 -0
  32. package/dist/types/components/Form/index.d.ts +1 -0
  33. package/dist/types/components/Form/index.d.ts.map +1 -0
  34. package/dist/types/components/Tabel/TabelData.vue.d.ts +1 -0
  35. package/dist/types/components/Tabel/TabelData.vue.d.ts.map +1 -0
  36. package/dist/types/components/Tabel/composables/index.d.ts +1 -0
  37. package/dist/types/components/Tabel/composables/index.d.ts.map +1 -0
  38. package/dist/types/components/Tabel/composables/useDataNormalization.d.ts +1 -0
  39. package/dist/types/components/Tabel/composables/useDataNormalization.d.ts.map +1 -0
  40. package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts +1 -0
  41. package/dist/types/components/Tabel/composables/useDisplayHelpers.d.ts.map +1 -0
  42. package/dist/types/components/Tabel/composables/useFormHandling.d.ts +1 -0
  43. package/dist/types/components/Tabel/composables/useFormHandling.d.ts.map +1 -0
  44. package/dist/types/components/Tabel/composables/useTableLogic.d.ts +1 -0
  45. package/dist/types/components/Tabel/composables/useTableLogic.d.ts.map +1 -0
  46. package/dist/types/components/Tabel/index.d.ts +1 -0
  47. package/dist/types/components/Tabel/index.d.ts.map +1 -0
  48. package/dist/types/components/UI/Display/BaseImage.vue.d.ts +1 -0
  49. package/dist/types/components/UI/Display/BaseImage.vue.d.ts.map +1 -0
  50. package/dist/types/components/UI/Display/BaseLabel.vue.d.ts +1 -0
  51. package/dist/types/components/UI/Display/BaseLabel.vue.d.ts.map +1 -0
  52. package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts +1 -0
  53. package/dist/types/components/UI/Display/FieldDetailRenderer.vue.d.ts.map +1 -0
  54. package/dist/types/components/UI/Display/ImagePreview.vue.d.ts +1 -0
  55. package/dist/types/components/UI/Display/ImagePreview.vue.d.ts.map +1 -0
  56. package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts +1 -0
  57. package/dist/types/components/UI/Display/ModalDetailData.vue.d.ts.map +1 -0
  58. package/dist/types/components/UI/Display/SafeHtml.vue.d.ts +1 -0
  59. package/dist/types/components/UI/Display/SafeHtml.vue.d.ts.map +1 -0
  60. package/dist/types/components/UI/Display/Tooltip.vue.d.ts +1 -0
  61. package/dist/types/components/UI/Display/Tooltip.vue.d.ts.map +1 -0
  62. package/dist/types/components/UI/Display/index.d.ts +1 -0
  63. package/dist/types/components/UI/Display/index.d.ts.map +1 -0
  64. package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts +1 -0
  65. package/dist/types/components/UI/Feedback/AlertApp.vue.d.ts.map +1 -0
  66. package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts +1 -0
  67. package/dist/types/components/UI/Feedback/LoaderSuccessError.vue.d.ts.map +1 -0
  68. package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts +1 -0
  69. package/dist/types/components/UI/Feedback/WarningForm.vue.d.ts.map +1 -0
  70. package/dist/types/components/UI/Feedback/index.d.ts +1 -0
  71. package/dist/types/components/UI/Feedback/index.d.ts.map +1 -0
  72. package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts +1 -0
  73. package/dist/types/components/UI/Inputs/ArrayObject.vue.d.ts.map +1 -0
  74. package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts +1 -0
  75. package/dist/types/components/UI/Inputs/ColorPicker.vue.d.ts.map +1 -0
  76. package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts +1 -0
  77. package/dist/types/components/UI/Inputs/ComboboxComponent.vue.d.ts.map +1 -0
  78. package/dist/types/components/UI/Inputs/CurrencyInput.vue.d.ts +1 -0
  79. package/dist/types/components/UI/Inputs/CurrencyInput.vue.d.ts.map +1 -0
  80. package/dist/types/components/UI/Inputs/DateInput.vue.d.ts +1 -0
  81. package/dist/types/components/UI/Inputs/DateInput.vue.d.ts.map +1 -0
  82. package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts +1 -0
  83. package/dist/types/components/UI/Inputs/DateTimeInput.vue.d.ts.map +1 -0
  84. package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts +1 -0
  85. package/dist/types/components/UI/Inputs/EmailInput.vue.d.ts.map +1 -0
  86. package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts +1 -0
  87. package/dist/types/components/UI/Inputs/FileArrayInput.vue.d.ts.map +1 -0
  88. package/dist/types/components/UI/Inputs/FileInput.vue.d.ts +1 -0
  89. package/dist/types/components/UI/Inputs/FileInput.vue.d.ts.map +1 -0
  90. package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts +1 -0
  91. package/dist/types/components/UI/Inputs/GroupRenderer.vue.d.ts.map +1 -0
  92. package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts +1 -0
  93. package/dist/types/components/UI/Inputs/ImageArrayInput.vue.d.ts.map +1 -0
  94. package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts +1 -0
  95. package/dist/types/components/UI/Inputs/ImageInput.vue.d.ts.map +1 -0
  96. package/dist/types/components/UI/Inputs/LocationPicker.vue.d.ts +1 -0
  97. package/dist/types/components/UI/Inputs/LocationPicker.vue.d.ts.map +1 -0
  98. package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts +1 -0
  99. package/dist/types/components/UI/Inputs/NumberInput.vue.d.ts.map +1 -0
  100. package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts +1 -0
  101. package/dist/types/components/UI/Inputs/ObjectInput.vue.d.ts.map +1 -0
  102. package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts +1 -0
  103. package/dist/types/components/UI/Inputs/PasswordInput.vue.d.ts.map +1 -0
  104. package/dist/types/components/UI/Inputs/RateInput.vue.d.ts +1 -0
  105. package/dist/types/components/UI/Inputs/RateInput.vue.d.ts.map +1 -0
  106. package/dist/types/components/UI/Inputs/TagInput.vue.d.ts +1 -0
  107. package/dist/types/components/UI/Inputs/TagInput.vue.d.ts.map +1 -0
  108. package/dist/types/components/UI/Inputs/TelInput.vue.d.ts +1 -0
  109. package/dist/types/components/UI/Inputs/TelInput.vue.d.ts.map +1 -0
  110. package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts +1 -0
  111. package/dist/types/components/UI/Inputs/TextAreaInput.vue.d.ts.map +1 -0
  112. package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts +1 -0
  113. package/dist/types/components/UI/Inputs/TextAreaQuill.vue.d.ts.map +1 -0
  114. package/dist/types/components/UI/Inputs/TextInput.vue.d.ts +1 -0
  115. package/dist/types/components/UI/Inputs/TextInput.vue.d.ts.map +1 -0
  116. package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts +1 -0
  117. package/dist/types/components/UI/Inputs/TimeInput.vue.d.ts.map +1 -0
  118. package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts +1 -0
  119. package/dist/types/components/UI/Inputs/ToggleInput.vue.d.ts.map +1 -0
  120. package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts +1 -0
  121. package/dist/types/components/UI/Inputs/UrlInput.vue.d.ts.map +1 -0
  122. package/dist/types/components/UI/Inputs/components/QuillAltModal.vue.d.ts +1 -0
  123. package/dist/types/components/UI/Inputs/components/QuillAltModal.vue.d.ts.map +1 -0
  124. package/dist/types/components/UI/Inputs/components/QuillEmbedModal.vue.d.ts +1 -0
  125. package/dist/types/components/UI/Inputs/components/QuillEmbedModal.vue.d.ts.map +1 -0
  126. package/dist/types/components/UI/Inputs/composables/index.d.ts +1 -0
  127. package/dist/types/components/UI/Inputs/composables/index.d.ts.map +1 -0
  128. package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts +1 -0
  129. package/dist/types/components/UI/Inputs/composables/useArrayObject.d.ts.map +1 -0
  130. package/dist/types/components/UI/Inputs/composables/useCurrencyInput.d.ts +1 -0
  131. package/dist/types/components/UI/Inputs/composables/useCurrencyInput.d.ts.map +1 -0
  132. package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts +1 -0
  133. package/dist/types/components/UI/Inputs/composables/useSchemaGroupRenderer.d.ts.map +1 -0
  134. package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts +1 -0
  135. package/dist/types/components/UI/Inputs/composables/useSingleObject.d.ts.map +1 -0
  136. package/dist/types/components/UI/Inputs/index.d.ts +1 -0
  137. package/dist/types/components/UI/Inputs/index.d.ts.map +1 -0
  138. package/dist/types/components/UI/index.d.ts +1 -0
  139. package/dist/types/components/UI/index.d.ts.map +1 -0
  140. package/dist/types/components/index.d.ts +1 -0
  141. package/dist/types/components/index.d.ts.map +1 -0
  142. package/dist/types/config.d.ts +1 -0
  143. package/dist/types/config.d.ts.map +1 -0
  144. package/dist/types/configs/defaults/index.d.ts +1 -0
  145. package/dist/types/configs/defaults/index.d.ts.map +1 -0
  146. package/dist/types/configs/defaults/table.d.ts +1 -0
  147. package/dist/types/configs/defaults/table.d.ts.map +1 -0
  148. package/dist/types/configs/i18n/errors.d.ts +1 -0
  149. package/dist/types/configs/i18n/errors.d.ts.map +1 -0
  150. package/dist/types/configs/i18n/index.d.ts +1 -0
  151. package/dist/types/configs/i18n/index.d.ts.map +1 -0
  152. package/dist/types/configs/i18n/inputs.d.ts +1 -0
  153. package/dist/types/configs/i18n/inputs.d.ts.map +1 -0
  154. package/dist/types/configs/i18n/labels.d.ts +1 -0
  155. package/dist/types/configs/i18n/labels.d.ts.map +1 -0
  156. package/dist/types/configs/i18n/register.d.ts +1 -0
  157. package/dist/types/configs/i18n/register.d.ts.map +1 -0
  158. package/dist/types/configs/index.d.ts +1 -0
  159. package/dist/types/configs/index.d.ts.map +1 -0
  160. package/dist/types/configs/types/base.types.d.ts +1 -0
  161. package/dist/types/configs/types/base.types.d.ts.map +1 -0
  162. package/dist/types/configs/types/date.types.d.ts +1 -0
  163. package/dist/types/configs/types/date.types.d.ts.map +1 -0
  164. package/dist/types/configs/types/field.types.d.ts +1 -0
  165. package/dist/types/configs/types/field.types.d.ts.map +1 -0
  166. package/dist/types/configs/types/globalText.types.d.ts +1 -0
  167. package/dist/types/configs/types/globalText.types.d.ts.map +1 -0
  168. package/dist/types/configs/types/index.d.ts +1 -0
  169. package/dist/types/configs/types/index.d.ts.map +1 -0
  170. package/dist/types/configs/types/modal-text.types.d.ts +1 -0
  171. package/dist/types/configs/types/modal-text.types.d.ts.map +1 -0
  172. package/dist/types/configs/types/plugin-config.types.d.ts +1 -0
  173. package/dist/types/configs/types/plugin-config.types.d.ts.map +1 -0
  174. package/dist/types/configs/types/props.types.d.ts +1 -0
  175. package/dist/types/configs/types/props.types.d.ts.map +1 -0
  176. package/dist/types/configs/types/schema.types.d.ts +1 -0
  177. package/dist/types/configs/types/schema.types.d.ts.map +1 -0
  178. package/dist/types/configs/types/seo.types.d.ts +1 -0
  179. package/dist/types/configs/types/seo.types.d.ts.map +1 -0
  180. package/dist/types/configs/types/submit-options.types.d.ts +1 -0
  181. package/dist/types/configs/types/submit-options.types.d.ts.map +1 -0
  182. package/dist/types/configs/types/table-data.types.d.ts +1 -0
  183. package/dist/types/configs/types/table-data.types.d.ts.map +1 -0
  184. package/dist/types/fetch/index.d.ts +1 -0
  185. package/dist/types/fetch/index.d.ts.map +1 -0
  186. package/dist/types/fetch/submitData.d.ts +1 -0
  187. package/dist/types/fetch/submitData.d.ts.map +1 -0
  188. package/dist/types/helpers/clientInfo.d.ts +1 -0
  189. package/dist/types/helpers/clientInfo.d.ts.map +1 -0
  190. package/dist/types/helpers/index.d.ts +1 -0
  191. package/dist/types/helpers/index.d.ts.map +1 -0
  192. package/dist/types/helpers/locale.d.ts +1 -0
  193. package/dist/types/helpers/locale.d.ts.map +1 -0
  194. package/dist/types/helpers/message.d.ts +1 -0
  195. package/dist/types/helpers/message.d.ts.map +1 -0
  196. package/dist/types/index.d.ts +1 -1
  197. package/dist/types/index.d.ts.map +1 -0
  198. package/dist/types/init.d.ts +1 -0
  199. package/dist/types/init.d.ts.map +1 -0
  200. package/dist/types/lib/index.d.ts +1 -1
  201. package/dist/types/lib/index.d.ts.map +1 -0
  202. package/dist/types/lib/indexedDB.d.ts +1 -0
  203. package/dist/types/lib/indexedDB.d.ts.map +1 -0
  204. package/dist/types/lib/secureFetch.d.ts +1 -0
  205. package/dist/types/lib/secureFetch.d.ts.map +1 -0
  206. package/dist/types/plugin/vue.plugin.d.ts +1 -0
  207. package/dist/types/plugin/vue.plugin.d.ts.map +1 -0
  208. package/dist/types/untils/index.d.ts +1 -0
  209. package/dist/types/untils/index.d.ts.map +1 -0
  210. package/dist/types/untils/math.d.ts +1 -0
  211. package/dist/types/untils/math.d.ts.map +1 -0
  212. package/dist/types/untils/misc.d.ts +1 -0
  213. package/dist/types/untils/misc.d.ts.map +1 -0
  214. package/dist/types/untils/objectPath.d.ts +1 -0
  215. package/dist/types/untils/objectPath.d.ts.map +1 -0
  216. package/dist/types/untils/regex.d.ts +1 -0
  217. package/dist/types/untils/regex.d.ts.map +1 -0
  218. package/dist/types/untils/seo.d.ts +1 -0
  219. package/dist/types/untils/seo.d.ts.map +1 -0
  220. package/dist/types/validate/index.d.ts +1 -0
  221. package/dist/types/validate/index.d.ts.map +1 -0
  222. package/dist/types/validate/validate.d.ts +1 -0
  223. package/dist/types/validate/validate.d.ts.map +1 -0
  224. package/dist/vue.cjs.js +1 -1
  225. package/dist/vue.es.js +9 -49
  226. package/package.json +38 -1
  227. package/dist/TabelData-BNaePRCW.cjs +0 -15
  228. package/dist/types/lib/demoData.d.ts +0 -313
  229. package/dist/types/schemas/CQ.d.ts +0 -2
  230. package/dist/types/schemas/TestSchema.d.ts +0 -3
  231. package/dist/types/schemas/categories.d.ts +0 -2
  232. package/dist/types/schemas/colors.d.ts +0 -2
  233. package/dist/types/schemas/expenditure.d.ts +0 -2
  234. package/dist/types/schemas/income.d.ts +0 -9
  235. package/dist/types/schemas/index.d.ts +0 -17
  236. package/dist/types/schemas/model.d.ts +0 -2
  237. package/dist/types/schemas/news.d.ts +0 -2
  238. package/dist/types/schemas/order.d.ts +0 -2
  239. package/dist/types/schemas/page.d.ts +0 -2
  240. package/dist/types/schemas/promo.d.ts +0 -2
  241. package/dist/types/schemas/qna.d.ts +0 -2
  242. package/dist/types/schemas/rate.d.ts +0 -2
  243. package/dist/types/schemas/service.d.ts +0 -2
  244. package/dist/types/schemas/shipping.d.ts +0 -2
  245. package/dist/types/schemas/subTools.d.ts +0 -2
  246. package/dist/types/schemas/tools.d.ts +0 -2
@@ -0,0 +1,15 @@
1
+ "use strict";var Jt=Object.create;var Ye=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var Yt=Object.getPrototypeOf,Xt=Object.prototype.hasOwnProperty;var es=(t,f,s,o)=>{if(f&&typeof f=="object"||typeof f=="function")for(let d of Qt(f))!Xt.call(t,d)&&d!==s&&Ye(t,d,{get:()=>f[d],enumerable:!(o=Zt(f,d))||o.enumerable});return t};var Ae=(t,f,s)=>(s=t!=null?Jt(Yt(t)):{},es(f||!t||!t.__esModule?Ye(s,"default",{value:t,enumerable:!0}):s,t));const e=require("vue"),Se=require("dompurify"),te=require("./labels-BSx9XJ02.cjs"),ts=require("zod"),Ee=require("lodash.isequal"),ne=require("./indexedDB.cjs.js"),Fe=require("./secureFetch.cjs.js"),ss=["src","alt"],Oe=e.defineComponent({__name:"BaseImage",props:{src:{},alt:{}},setup(t){return(f,s)=>(e.openBlock(),e.createElementBlock("img",e.mergeProps({src:t.src,alt:t.alt,loading:"lazy",decoding:"async",class:"jsgd-object-cover"},f.$attrs),null,16,ss))}}),ds={class:"jsgd-block jsgd-mb-2 jsgd-cursor-default jsgd-transition-colors jsgd-duration-200 jsgd-text-slate-700 dark:jsgd-text-slate-300 jsgd-text-sm md:jsgd-text-base jsgd-font-medium hover:jsgd-animate-subtle-glow"},ls={class:"jsgd-font-bold"},le=e.defineComponent({__name:"BaseLabel",props:{label:{}},setup(t){return(f,s)=>(e.openBlock(),e.createElementBlock("label",ds,[e.createElementVNode("h4",ls,"⬜ "+e.toDisplayString(t.label),1)]))}});function Me(t="id-ID",f="Asia/Jakarta"){let s=t,o=f;try{typeof navigator<"u"&&(s=navigator.language||t),o=Intl.DateTimeFormat().resolvedOptions().timeZone||f}catch{}return{locale:s,timeZone:o}}function We(t,f="id-ID"){const s=Intl.DateTimeFormat.supportedLocalesOf([t]);return s.length>0?s[0]:f}function Ge(t){return t instanceof Date&&!isNaN(t.getTime())}const st=t=>{try{if(!t)return"-";const f=new Date(t);if(!Ge(f))return t;const{locale:s,timeZone:o}=Me();return f.toLocaleDateString(We(s),{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:o})}catch{return t}},dt=t=>{try{if(!t)return"-";const f=new Date(`1970-01-01T${t}`);if(!Ge(f))return t;const{locale:s,timeZone:o}=Me();return f.toLocaleTimeString(We(s),{hour:"2-digit",minute:"2-digit",timeZone:o})}catch{return t}},lt=t=>{try{if(!t)return"-";const f=new Date(t);if(!Ge(f))return t;const{locale:s,timeZone:o}=Me();return f.toLocaleString(We(s),{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",timeZone:o})}catch{return t}};function I(t,f,s){let o=te.inputMessages[t][s??"en"]||te.inputMessages[t].en;if(f)for(const[d,l]of Object.entries(f))o=o.replace(`{${d}}`,String(l));return o}function at(t,f){for(t=Math.abs(t),f=Math.abs(f);f!==0;){const s=t%f;t=f,f=s}return t||1}function xe(t,f){if(t===0||f===0)return{w:t,h:f};const s=at(t,f);return{w:Math.round(t/s),h:Math.round(f/s)}}function Ke(t,f){if(f===0)return`${t}:0`;const s=t/f,o={"16:9":16/9,"4:3":4/3,"3:2":3/2,"1:1":1,"21:9":21/9},d=.01;for(const[c,n]of Object.entries(o))if(Math.abs(s-n)<d)return c;const l=xe(t,f);return`${l.w}:${l.h}`}function ae(){return Math.random().toString(36).substring(2,9)}function rt(t,f){if(Array.isArray(t)&&Array.isArray(f)){if(t.length!==f.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!==f[s])return!1;return!0}return t===f}function Re(t){return Array.isArray(t)?t.some(Re):t&&typeof t=="object"?Object.values(t).some(Re):typeof t=="string"?t.trim().length>0:!1}function Y(t,f){return f.split(".").reduce((s,o)=>s?.[o],t)}function se(t,f,s){const o=f.split("."),d=o.pop(),l=o.reduce((c,n)=>(c[n]||(c[n]={}),c[n]),t);l[d]=s}function ot(t,f){const s=f.split(".");let o=t;for(let l=0;l<s.length-1;l++){if(!(s[l]in o))return;o=o[s[l]]}const d=s[s.length-1];o&&d in o&&delete o[d];for(let l=s.length-2;l>=0;l--){const c=s.slice(0,l+1).join("."),n=Y(t,c);if(n&&typeof n=="object"&&Object.keys(n).length===0)ot(t,c);else break}}function Xe(t){return t==null?!0:Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:!1}function nt(t,f){const s=f.split("."),o=(d,l)=>{if(!l.length||!d)return Xe(d);const c=l[0],n=l.slice(1),j=/^\d+$/.test(c),g=j?parseInt(c,10):-1;if(n.length===0)Array.isArray(d)&&j?g<d.length&&d.splice(g,1):typeof d=="object"&&!Array.isArray(d)&&delete d[c];else{const h=Array.isArray(d)&&j?d[g]:d[c];o(h,n)&&(Array.isArray(d)&&j?g<d.length&&d.splice(g,1):typeof d=="object"&&!Array.isArray(d)&&delete d[c])}return Xe(d)};o(t,s)}function Pe(t,f="optionGroupSchema"){const s=new RegExp(`(\\.?${f})+`,"g");return t.replace(s,"").replace(/\.+/g,".").replace(/^\.|\.$/g,"")}const it=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,gt=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,ct=/^([01]\d|2[0-3]):([0-5]\d)$/,ut=/^[+]?[\d\s-]{7,15}$/,jt=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?$/;function he(t){if(!gt.test(t))throw new Error(`Invalid DateOnly format: ${t}. Use YYYY-MM-DD`);return t}function He(t){if(!ct.test(t))throw new Error(`Invalid TimeOnly format: ${t}. Use HH:mm`);return t}function as(t){if(!jt.test(t))throw new Error(`Invalid DateTimeString format: ${t}. Use ISO YYYY-MM-DDTHH:mm[:ss]`);return t}function mt(t,f){const s={score:0,details:[]};if(typeof document>"u"||!f.seo)return s;const o=f.seo,d=t,l=D=>{if(!D)return"";const V=Y(d,D);return V?String(V).trim():""},c=D=>{if(!D)return[];const V=Y(d,D);return Array.isArray(V)?V.map(String):typeof V=="string"&&V.includes(",")?V.split(",").map(B=>B.trim()):V?[String(V)]:[]},n=l(o.meta.title),j=l(o.meta.description),g=l(o.meta.slug),h=l(o.meta.focusKeyword),u=l(o.content?.body),a=l(o.content?.image),r=c(o.content?.tags),i=o.social?.ogImage,m=i?l(i):a;let N="",w=0;const b=document.createElement("div");u&&(b.innerHTML=u,N=b.textContent||b.innerText||"",w=N.trim().split(/\s+/).filter(D=>D.length>0).length);let E=0,S=0;const U=[],F=(D,V,B,_,q=1)=>{E+=q,D&&(S+=q),U.push({passed:D,score:q,message:V,label:B,group:_})};if(o.meta.title&&F(n.length>=30&&n.length<=60,`Panjang Judul: ${n.length} (Ideal: 30-60)`,"Meta Title","meta",3),o.meta.description&&F(j.length>=120&&j.length<=160,`Panjang Deskripsi: ${j.length} (Ideal: 120-160)`,"Meta Description","meta",3),o.meta.slug){const D=/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(g);F(D&&g.length>0,D?"URL Valid (Lowercase & Dash)":"URL mengandung spasi/huruf besar/kosong","URL Slug","meta",2)}if(o.meta.focusKeyword)if(h&&h.length>2){const D=h.toLowerCase();if(o.meta.title&&F(n.toLowerCase().includes(D),"Keyword ada di Judul","Title Keyword","keyword",5),o.meta.slug&&F(g.toLowerCase().includes(D.replace(/\s+/g,"-")),"Keyword ada di URL","Slug Keyword","keyword",3),o.content?.body&&w>0){const V=new RegExp(D.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),B=(N.match(V)||[]).length,_=B/w*100;B===0?F(!1,"Keyword tidak ditemukan di konten","Content Keyword","keyword",3):_>3.5?F(!1,`Keyword stuffing (${_.toFixed(1)}%)`,"Keyword Density","keyword",2):F(!0,`Density bagus (${_.toFixed(1)}%)`,"Keyword Density","keyword",2)}}else F(!1,"Isi Focus Keyword untuk analisis mendalam","Focus Keyword","keyword",5);if(o.content?.body)if(o.contentType==="article"){F(w>=300,w>=300?`Panjang OK (${w} kata)`:`Tulisan pendek (${w}/300)`,"Word Count","content",3);const D=b.querySelectorAll("h2, h3");F(D.length>0,D.length>0?"Subheading OK":"Tambahkan H2/H3","Structure","content",2)}else o.contentType==="product"&&F(w>=100,w>=100?"Deskripsi OK":"Deskripsi terlalu singkat","Product Desc","content",3);return(o.content?.image||o.social?.ogImage)&&F(!!m,m?"Gambar Thumbnail/Social tersedia":"Upload gambar utama/thumbnail","Social Image","social",4),o.content?.tags&&o.contentType!=="promo"&&F(r.length>0,r.length>0?`${r.length} Tags`:"Tambahkan Tags/Kategori","Taxonomy","social",1),{score:E>0?Math.round(S/E*100):0,details:U}}function rs(t,f){const s=e.ref([]),o=e.inject("TableComponents")?.labels,d=e.computed(()=>`${t.field.label??t.fieldKey} ${t.field.required?o.value.required??"*":o.value.optional??"(Optional)"}`),l=(n,j)=>[...new Set([...n,...j])];return{label:d,labels:o,removedItems:s,handlers:{pushError:(n,j)=>f("push:errors",n,j),removeError:n=>f("remove:errors",n),removeChildData:n=>{s.value=l(s.value,n),f("remove-items",s.value)}},mergeNumberArrays:l}}function ze(t,f){return te.defaultMessagesErrorRequired[t].replace(/\{(\w+)\}/g,(o,d)=>f[d]||"")}function os(t,f,s,o,d){const l=e.ref({}),c=e.ref([]),n=e.ref({}),j=e.ref({}),g=e.ref({}),h=e.ref({}),u=e.ref({}),a=e.ref(!1),r=e.ref(null),i=e.computed(()=>t.isUpdate?Object.keys(l.value).some($=>{const L=l.value[$],O=g.value[$];return Array.isArray(L)&&Array.isArray(O)?JSON.stringify(L)!==JSON.stringify(O):L instanceof File?!0:L!==O}):!0);t.seo&&e.watch(l,$=>{r.value=mt($,{seo:t.seo})},{deep:!0,immediate:!0}),e.watch([()=>t.schema,()=>t.initialData],([$,L],[O,C])=>{($!==O||L!==C)&&m($)},{immediate:!0,deep:!0});function m($=t.schema){const L={},O={},C=t.initialData??{};N($,L,O,C),l.value=L,g.value=O}function N($,L,O,C={},A){for(const[k,v]of Object.entries($)){if(v.type==="optionGroupSchema"){if(v.withValue){const x=k in C?C[k]:b(v);se(L,k,x),se(O,k,structuredClone(e.toRaw(x)))}w(v,L,O,C);continue}if(v.type==="mapPicker"){if(v.withFieldKey){const x=C[k]||{[v.key.lat]:v.initialLat??null,[v.key.lng]:v.initialLng??null};x[v.key.lat]&&x[v.key.lng]&&(v.initialLat=x[v.key.lat],v.initialLng=x[v.key.lng]),se(L,k,x),se(O,k,structuredClone(e.toRaw(x)))}else{const x=C[v.key.lat]??v.initialLat??null,z=C[v.key.lng]??v.initialLng??null;x&&z&&(v.initialLat=x,v.initialLng=z),se(L,v.key.lat,x),se(L,v.key.lng,z),se(O,v.key.lat,x),se(O,v.key.lng,z)}continue}if(v.type==="object"){const x=C[k]||{};L[k]={},O[k]={},N(v.schema||{},L[k],O[k],x);continue}const T=k in C?C[k]:b(v);se(L,k,T),se(O,k,structuredClone(e.toRaw(T)))}}function w($,L,O,C){for(const[A,k]of Object.entries($.options))for(const[v,T]of Object.entries(k)){const x=T;if(x.type==="object"){const K=C[v]||{};L[v]={},O[v]={},N(x.schema||{},L[v],O[v],K);continue}if(x.type==="optionGroupSchema"){w(x,L,O,C);continue}if(x.type==="mapPicker"){if(x.withFieldKey){const K=C[v]??b(x);K[x.key.lat]&&K[x.key.lng]&&(x.initialLat=K[x.key.lat],x.initialLng=K[x.key.lng]),se(L,v,K),se(O,v,structuredClone(e.toRaw(K)))}else{const K=C[x.key.lat]??x.initialLat??null,R=C[x.key.lng]??x.initialLng??null;K&&R&&(x.initialLat=K,x.initialLng=R),se(L,x.key.lat,K),se(L,x.key.lng,R),se(O,x.key.lat,structuredClone(e.toRaw(K))),se(O,x.key.lng,structuredClone(e.toRaw(R)))}continue}const z=v in C?C[v]:b(x);L[v]=z,O[v]=structuredClone(e.toRaw(z))}}function b($){switch($.type){case"image":return null;case"color":return $.single?"":[];case"optionGroupSchema":if($.withValue)return $.typeDesign==="cekbox"?[]:"";case"date":return;case"time":return;case"dateTime":return;case"arrayObject":return[];case"tag":return[];case"mapPicker":return $.withFieldKey?{[$.key.lat]:$.initialLat??null,[$.key.lng]:$.initialLng??null}:null;case"imageArray":return[];case"fileArray":return[];case"toggle":return!1;case"number":return;case"select":return null;default:return""}}function E($,L){const O=Y(j.value,L);rt(O,$)||se(j.value,L,$)}function S($){nt(j.value,$)}function U(){let $=!0;return n.value={},Object.keys(j.value).length!==0&&($=!1),$}function F(){let $=U();function L(C,A=""){let k=!0;for(const[v,T]of Object.entries(C)){const x=A?`${A}.${v}`:v;if(T.type==="object"){const K=l.value[v]||{};k=D(x,T.schema||{},K)&&k;continue}if(T.type==="optionGroupSchema"){k=B(v,T,v)&&k;continue}if(T.type==="mapPicker"){const K=Y(j.value,x);K&&(se(n.value,x,K),o("error",T.label??x,Array.isArray(K)?K:[K]),k=!1);continue}k=V(v,T)&&k}return n.value.length===0&&($=!0),k}return L(t.schema)&&$&&Object.keys(n.value).length===0}function Z($,L){let O=!0,C=[];const A=$.includes(".")?$.substring(0,$.lastIndexOf(".")):"",k=A?`${A}.${L.key.lat}`:L.key.lat,v=A?`${A}.${L.key.lng}`:L.key.lng,T=Y(l.value,k),x=Y(l.value,v);if(L.required&&(q(T)||q(x))&&(O=!1),L.validate){const z=parseFloat(String(T)),K=parseFloat(String(x));L.validate.minLat!==void 0&&z<L.validate.minLat&&(O=!1,C.push(`Latitude tidak boleh kurang dari ${L.validate.minLat}`)),L.validate.maxLat!==void 0&&z>L.validate.maxLat&&(O=!1,C.push(`Latitude tidak boleh lebih dari ${L.validate.maxLat}`)),L.validate.minLng!==void 0&&K<L.validate.minLng&&(O=!1,C.push(`Longitude tidak boleh kurang dari ${L.validate.minLng}`)),L.validate.maxLng!==void 0&&K>L.validate.maxLng&&(O=!1,C.push(`Longitude tidak boleh lebih dari ${L.validate.maxLng}`))}if(!O){C.length===0&&(C=ze(t.lang??"en",{label:L.label??$})),se(n.value,$,C);const z=Y(n.value,$);return o("error",L.label??$,Array.isArray(z)?z:[z]),!1}return S($),!0}function D($,L,O){let C=!0;for(const[A,k]of Object.entries(L)){const v=$?`${$}.${A}`:A;if(k.type==="object"){C=D(v,k.schema||{},O?.[A]||{})&&C;continue}if(k.type==="optionGroupSchema"){C=B(v,k,A)&&C;continue}if(k.type==="mapPicker"){C=Z(v,k)&&C;continue}V(v,k)?S(v):C=!1}return C}function V($,L){const O=Y(l.value,$);if(L.required&&q(O)){se(n.value,$,ze(t.lang??"en",{label:L.label??$}));const C=Y(n.value,$);return o("error",L.label??$,Array.isArray(C)?C:[C]),!1}else if(Y(j.value,$)){se(n.value,$,Y(j.value,$));const C=Y(n.value,$);return o("error",L.label??$,Array.isArray(C)?C:[C]),!1}return!0}function B($,L,O){const C=L.typeDesign==="cekbox"&&(!Array.isArray(Y(u.value,$))||Y(u.value,$).length===0)||L.typeDesign!=="cekbox"&&Y(h.value,$)==null;if(L.required&&C){se(n.value,$,ze(t.lang??"en",{label:L.label??$}));const A=Y(n.value,$);return A&&o("error",L.label??$,Array.isArray(A)?A:[A]),!1}if(L.typeDesign==="select"){const A=Y(h.value,$);return A==null||!L.options[A]?!0:_(L.options[A],Pe($,O))}if(L.typeDesign==="cekbox"){const A=Array.isArray(Y(u.value,$))?Y(u.value,$):[];let k=!0;for(const v of A)L.options[v]&&(k=_(L.options[v],Pe($,O))&&k);return k}return!0}function _($,L){let O=!0;for(const[C,A]of Object.entries($)){const k=L?L+"."+C:C;if(A.type==="object"){const T=Y(l.value,k)||{};O=D(k,A.schema||{},T)&&O;continue}else if(A.type==="optionGroupSchema"){O=B(k,A,C)&&O;continue}if(A.type==="mapPicker"){O=Z(k,A)&&O;continue}if(!V(k,A)){O=!1;continue}}return O}function q($){return $==null||$===""||Array.isArray($)&&$.length===0}function J(){if(a.value=!0,!F()){a.value=!1;return}if(t.isUpdate&&!i.value){s?.value?.show("error",d?.message.noChange??"No data has changed"),setTimeout(()=>{a.value=!1},2e3);return}const $=G();t.seo&&r.value&&(t.seo.scorePath&&se($,t.seo.scorePath,r.value.score),t.seo.analysisPath&&se($,t.seo.analysisPath,r.value.details)),f("submit",$),setTimeout(()=>{a.value=!1},2e3)}function G(){const $=t.schema,L=l.value,O=t.initialData??{},C=t.id&&t.isUpdate?{id:t.id}:{};return y($,L,O,C)}function y($,L,O,C={}){if(Array.isArray($)){for(const A of $)for(const[k,v]of Object.entries(A)){if(v.type==="optionGroupSchema"){Object.assign(C,M(v,L,O,k,L?.[k]));continue}if(v.type==="object"){C[k]=y(v.schema,L?.[k]??{},O?.[k]??{});continue}if(v.type==="mapPicker"){if(v.withFieldKey){const T=L[k];C[k]=T?{[v.key.lat]:p(T[v.key.lat],{type:"number"},null),[v.key.lng]:p(T[v.key.lng],{type:"number"},null)}:null}else C[v.key.lat]=p(L[v.key.lat],{type:"number"},null),C[v.key.lng]=p(L[v.key.lng],{type:"number"},null);continue}C[k]=p(L?.[k],v,O?.[k])}return C}for(const[A,k]of Object.entries($)){if(k.type==="optionGroupSchema"){Object.assign(C,M(k,L,O,A,L?.[A]));continue}if(k.type==="object"){C[A]=y(k.schema,L?.[A]??{},O?.[A]??{});continue}if(k.type==="mapPicker"){if(k.withFieldKey){const v=L[A];C[A]=v?{[k.key.lat]:p(v[k.key.lat],{type:"number"},null),[k.key.lng]:p(v[k.key.lng],{type:"number"},null)}:null}else C[k.key.lat]=p(L[k.key.lat],{type:"number"},null),C[k.key.lng]=p(L[k.key.lng],{type:"number"},null);continue}C[A]=p(L?.[A],k,O?.[A])}return C}function p($,L,O){if($ instanceof File||$ instanceof Blob)return $;if(Array.isArray($))return[...e.toRaw($)];if(typeof $=="object"&&$!==null){const C=e.toRaw($);return Object.keys(C).length===0?null:C}if(typeof O=="number"||L.type==="number"){const C=Number($);return Number.isFinite(C)?C:null}return $===""||$===void 0||$===null?null:$}function M($,L,O,C,A){const k={};$.withValue&&C&&(k[C]=p(A,$,O?.[C]));for(const[v,T]of Object.entries($.options))for(const[x,z]of Object.entries(T)){const K=z;if(K.type==="object"){k[x]={...k[x]||{},...y(K.schema||{},L?.[x]??{},O?.[x]??{})};continue}if(K.type==="optionGroupSchema"){Object.assign(k,M(K,L,O,x,L?.[x]));continue}if(K.type==="mapPicker"){if(K.withFieldKey){const R=L[x];k[x]=R?{[K.key.lat]:R[K.key.lat],[K.key.lng]:R[K.key.lng]}:null}else k[K.key.lat]=L[K.key.lat],k[K.key.lng]=L[K.key.lng];continue}k[x]=p(L?.[x],K,O?.[x])}return k}function W(){f("cancel")}return{formData:l,errors:n,hasChanges:i,seletedOption:h,multiSelected:u,DataChildRemove:c,isSubmitting:a,seoResult:r,initializeFormData:m,validate:F,handleSubmit:J,handleCancel:W,pushInputValidateErrorMessage:E,deleteInputValidateErrorMessage:S}}const ns={class:"jsgd-fixed jsgd-inset-0 jsgd-z-20 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/70 jsgd-backdrop-blur-md"},is={class:"jsgd-p-6 jsgd-bg-gradient-to-br jsgd-from-indigo-600 jsgd-to-violet-600 jsgd-text-white jsgd-relative jsgd-shadow-md md:jsgd-px-8 md:jsgd-py-6 jsgd-flex-shrink-0"},gs={class:"jsgd-flex jsgd-justify-between jsgd-items-center"},cs={class:"jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-text-center md:jsgd-text-left md:jsgd-flex-row jsgd-flex-col md:jsgd-gap-3"},us={class:"jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-flex-wrap"},js={key:0,class:"jsgd-bg-white/20 jsgd-rounded-xl jsgd-w-10 jsgd-h-10 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-backdrop-blur-md jsgd-animate-[slideInFromBottom_0.5s_ease-out]"},ms={key:1,class:"jsgd-bg-white/20 jsgd-rounded-xl jsgd-w-10 jsgd-h-10 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-backdrop-blur-md jsgd-animate-[slideInFromBottom_0.5s_ease-out]"},fs={class:"jsgd-text-xl md:jsgd-text-2xl jsgd-font-bold jsgd-m-0 jsgd-animate-[slideInFromBottom_0.5s_ease-out_0.1s_both]"},bs={class:"jsgd-flex jsgd-items-center jsgd-gap-1"},ps={class:"jsgd-font-bold jsgd-text-white"},hs={class:"jsgd-flex-1 jsgd-relative jsgd-flex jsgd-flex-col jsgd-overflow-y-auto jsgd-modal-scrollbar"},vs={class:"md:jsgd-p-8 jsgd-bg-white jsgd-relative dark:jsgd-bg-slate-800 jsgd-flex-1"},ks={class:"jsgd-flex jsgd-p-6 md:jsgd-p-8 jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-shadow-lg md:jsgd-rounded-xl jsgd-flex-col jsgd-gap-6 dark:jsgd-border-blue-600 dark:jsgd-shadow-blue-900/50"},ys={class:"jsgd-p-5 md:jsgd-p-6 jsgd-bg-slate-50 jsgd-border-t jsgd-border-slate-200 jsgd-relative dark:jsgd-bg-slate-900 dark:jsgd-border-slate-700 jsgd-flex-shrink-0"},xs={class:"jsgd-flex jsgd-justify-center md:jsgd-justify-end jsgd-gap-4 jsgd-flex-row"},ws={class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-transition-opacity jsgd-duration-300"},Vs=["disabled"],Es={key:0,class:"jsgd-flex jsgd-items-center jsgd-animate-[rotate_1s_linear_infinite]"},Bs={class:"jsgd-bg-white jsgd-w-full jsgd-max-w-[380px] jsgd-max-h-[70vh] jsgd-flex jsgd-flex-col jsgd-rounded-2xl jsgd-shadow-2xl jsgd-border jsgd-border-slate-100 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-600 jsgd-animate-[popupScale_0.3s_cubic-bezier(0.34,1.56,0.64,1)]"},Ns={class:"jsgd-p-4 jsgd-border-b jsgd-border-slate-100 dark:jsgd-border-slate-700 jsgd-flex jsgd-justify-between jsgd-items-center jsgd-flex-shrink-0"},Cs={class:"jsgd-p-4 jsgd-overflow-y-auto jsgd-modal-scrollbar jsgd-flex-1"},$s={class:"jsgd-flex jsgd-flex-col jsgd-gap-3"},Ss={class:"jsgd-flex-shrink-0 jsgd-mt-0.5"},Ds={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"jsgd-text-emerald-500"},Ts={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"jsgd-text-red-500"},Ms={class:"jsgd-flex-1"},Ls={class:"jsgd-text-xs jsgd-text-slate-600 dark:jsgd-text-slate-300 jsgd-leading-relaxed"},Is={class:"jsgd-p-4 jsgd-border-t jsgd-border-slate-100 dark:jsgd-border-slate-700 jsgd-flex-shrink-0"},As={class:"jsgd-bg-slate-50 jsgd-rounded-xl jsgd-p-3 jsgd-border jsgd-border-slate-100 dark:jsgd-bg-slate-900/50 dark:jsgd-border-slate-700"},Fs={class:"jsgd-flex jsgd-justify-between jsgd-mb-2"},zs={class:"jsgd-w-full jsgd-h-2 jsgd-bg-slate-200 jsgd-rounded-full jsgd-overflow-hidden dark:jsgd-bg-slate-700"},Us=e.defineComponent({__name:"FormModal",props:{id:{},initialData:{},schema:{},isUpdate:{type:Boolean},lang:{},seo:{},demo:{type:Boolean,default:!1}},emits:["submit","cancel","DataChildRemove"],setup(t,{emit:f}){const s=e.inject("TableComponents")?.loader,o=e.inject("TableComponents")?.ShowAlert,d=t,c=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[d.lang??"en"])}).labels,n=f,j=e.ref(!1),g=e.ref(!1),h=()=>{g.value=window.innerWidth<1024};e.onMounted(()=>{h(),window.addEventListener("resize",h)}),e.onUnmounted(()=>{window.removeEventListener("resize",h)});const{formData:u,errors:a,seletedOption:r,multiSelected:i,handleSubmit:m,handleCancel:N,pushInputValidateErrorMessage:w,deleteInputValidateErrorMessage:b,isSubmitting:E,seoResult:S}=os({id:d.id,initialData:d.initialData,schema:d.schema,isUpdate:d.isUpdate,lang:d.lang,demo:d.demo,seo:d.seo},n,s,o,c.value);return(U,F)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",ns,[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-w-full jsgd-h-full jsgd-flex jsgd-flex-col jsgd-max-h-screen jsgd-bg-gradient-to-br jsgd-from-white jsgd-to-slate-50 jsgd-shadow-2xl jsgd-overflow-hidden jsgd-relative before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-0 before:jsgd-right-0 before:jsgd-h-px before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/80 before:jsgd-to-transparent before:jsgd-z-10 md:jsgd-h-auto md:jsgd-w-[90%] md:jsgd-max-w-[700px] md:jsgd-max-h-[90vh] md:jsgd-rounded-2xl lg:jsgd-w-[80%] dark:jsgd-from-slate-800 dark:jsgd-to-slate-900 dark:jsgd-text-slate-100",[g.value?"jsgd-rounded-xl":"","xl:jsgd-max-w-[900px] lg:jsgd-max-w-[800px]"]])},[e.createElementVNode("div",is,[e.createElementVNode("div",gs,[e.createElementVNode("div",cs,[e.createElementVNode("div",us,[t.isUpdate?(e.openBlock(),e.createElementBlock("div",js,[...F[5]||(F[5]=[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:"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.openBlock(),e.createElementBlock("div",ms,[...F[6]||(F[6]=[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:"M12 5V19M5 12H19",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])),e.createElementVNode("h2",fs,e.toDisplayString(t.isUpdate?typeof e.unref(c)?.title=="object"?e.unref(c)?.title?.update:e.unref(c)?.title:typeof e.unref(c)?.title=="object"?e.unref(c)?.title?.create:e.unref(c)?.title),1),e.unref(S)?(e.openBlock(),e.createElementBlock("div",{key:2,onClick:F[0]||(F[0]=Z=>j.value=!0),class:"jsgd-group jsgd-cursor-pointer jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-bg-white/20 jsgd-backdrop-blur-sm jsgd-rounded-full jsgd-px-3 jsgd-py-1 jsgd-transition-all hover:jsgd-bg-white/30 hover:jsgd-scale-105 active:jsgd-scale-95 jsgd-animate-[slideInFromBottom_0.5s_ease-out_0.2s_both]",title:"Click to view SEO Details"},[F[8]||(F[8]=e.createElementVNode("span",{class:"jsgd-text-xs jsgd-font-semibold jsgd-uppercase jsgd-tracking-wide jsgd-opacity-80"},"SEO Score",-1)),e.createElementVNode("div",bs,[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-w-2 jsgd-h-2 jsgd-rounded-full",{"jsgd-bg-red-400":(e.unref(S)?.score||0)<50,"jsgd-bg-yellow-400":(e.unref(S)?.score||0)>=50&&(e.unref(S)?.score||0)<80,"jsgd-bg-emerald-400":(e.unref(S)?.score||0)>=80}])},null,2),e.createElementVNode("span",ps,e.toDisplayString(e.unref(S)?.score||0),1),F[7]||(F[7]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"jsgd-ml-1 jsgd-opacity-70 group-hover:jsgd-opacity-100"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),e.createElementVNode("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),e.createElementVNode("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})],-1))])])):e.createCommentVNode("",!0)])])])]),e.createElementVNode("div",hs,[e.createElementVNode("div",vs,[e.createElementVNode("div",ks,[e.createVNode(e.TransitionGroup,{name:"jsgd-form-field",tag:"div",class:"jsgd-flex jsgd-flex-col jsgd-gap-6"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.schema,(Z,D)=>(e.openBlock(),e.createBlock(e.unref(Be),{key:D,field:Z,"field-key":D,"form-data":e.unref(u),"is-update":t.isUpdate,errors:e.unref(a),lang:t.lang??"en","onUpdate:modelValue":(V,B)=>{e.unref(Y)(e.unref(u),B)!==V&&e.unref(se)(e.unref(u),B,V)},"onPush:errors":e.unref(w),"onRemove:errors":e.unref(b),onMultiSelectedChange:(V,B)=>{e.unref(se)(e.unref(i),B,V)},onSelectedOptionChange:(V,B)=>{e.unref(se)(e.unref(r),B,V)},demo:t.demo},null,8,["field","field-key","form-data","is-update","errors","lang","onUpdate:modelValue","onPush:errors","onRemove:errors","onMultiSelectedChange","onSelectedOptionChange","demo"]))),128))]),_:1})])])]),e.createElementVNode("div",ys,[e.createElementVNode("div",xs,[e.createElementVNode("button",{type:"button",onClick:F[1]||(F[1]=(...Z)=>e.unref(N)&&e.unref(N)(...Z)),class:"jsgd-px-7 jsgd-py-3.5 jsgd-rounded-xl jsgd-border-none jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-min-w-[100px] jsgd-justify-center disabled:jsgd-opacity-70 disabled:jsgd-cursor-not-allowed before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/30 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-text-white jsgd-bg-gradient-to-br jsgd-from-red-500 jsgd-to-red-600 jsgd-shadow-md hover:jsgd-from-red-600 hover:jsgd-to-red-700 hover:-jsgd-translate-y-0.5 active:jsgd-translate-y-0"},[e.createElementVNode("span",ws,[F[9]||(F[9]=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(e.unref(c)?.btn?.cancel??"Cancel"),1)])]),e.createElementVNode("button",{type:"submit",onClick:F[2]||(F[2]=(...Z)=>e.unref(m)&&e.unref(m)(...Z)),class:"jsgd-px-7 jsgd-py-3.5 jsgd-rounded-xl jsgd-border-none jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-min-w-[100px] jsgd-justify-center disabled:jsgd-opacity-70 disabled:jsgd-cursor-not-allowed before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/30 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-text-white jsgd-bg-gradient-to-br jsgd-from-emerald-500 jsgd-to-emerald-600 jsgd-shadow-md hover:jsgd-from-emerald-600 hover:jsgd-to-emerald-700 hover:-jsgd-translate-y-0.5 active:jsgd-translate-y-0",disabled:e.unref(E)},[e.createElementVNode("span",{class:e.normalizeClass(["jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-transition-opacity jsgd-duration-300",{"jsgd-opacity-70":e.unref(E)}])},[F[10]||(F[10]=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:"M20 6L9 17L4 12",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createTextVNode(" "+e.toDisplayString(t.isUpdate?typeof e.unref(c)?.btn?.submit=="object"?e.unref(c)?.btn?.submit?.update:e.unref(c)?.btn?.submit:typeof e.unref(c)?.btn?.submit=="object"?e.unref(c)?.btn?.submit?.create:e.unref(c)?.btn?.submit),1)],2),e.unref(E)?(e.openBlock(),e.createElementBlock("span",Es,[...F[11]||(F[11]=[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:"M12 2V6M12 18V22M6 12H2M22 12H18M19.0784 19.0784L16.25 16.25M19.0784 4.99994L16.25 7.82837M4.92157 19.0784L7.75 16.25M4.92157 4.99994L7.75 7.82837",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])):e.createCommentVNode("",!0)],8,Vs)])]),e.createVNode(e.Transition,{name:"jsgd-seo-popup"},{default:e.withCtx(()=>[j.value&&e.unref(S)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-absolute jsgd-inset-0 jsgd-z-50 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-bg-black/40 jsgd-backdrop-blur-[2px] jsgd-p-4",onClick:F[4]||(F[4]=e.withModifiers(Z=>j.value=!1,["self"]))},[e.createElementVNode("div",Bs,[e.createElementVNode("div",Ns,[F[13]||(F[13]=e.createElementVNode("h3",{class:"jsgd-text-base jsgd-font-bold jsgd-text-slate-700 dark:jsgd-text-white jsgd-m-0"}," SEO Analysis ",-1)),e.createElementVNode("button",{onClick:F[3]||(F[3]=Z=>j.value=!1),class:"jsgd-text-slate-400 hover:jsgd-text-slate-600 dark:hover:jsgd-text-slate-200"},[...F[12]||(F[12]=[e.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),e.createElementVNode("div",Cs,[e.createElementVNode("div",$s,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S)?.details,(Z,D)=>(e.openBlock(),e.createElementBlock("div",{key:D,class:e.normalizeClass(["jsgd-flex jsgd-gap-3 jsgd-p-3 jsgd-rounded-lg jsgd-border jsgd-transition-colors",Z.passed?"jsgd-bg-emerald-50/50 jsgd-border-emerald-100 dark:jsgd-bg-emerald-900/10 dark:jsgd-border-emerald-800":"jsgd-bg-red-50/50 jsgd-border-red-100 dark:jsgd-bg-red-900/10 dark:jsgd-border-red-800"])},[e.createElementVNode("div",Ss,[Z.passed?(e.openBlock(),e.createElementBlock("svg",Ds,[...F[14]||(F[14]=[e.createElementVNode("path",{d:"M20 6L9 17l-5-5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Ts,[...F[15]||(F[15]=[e.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))]),e.createElementVNode("div",Ms,[e.createElementVNode("p",{class:e.normalizeClass(["jsgd-text-xs jsgd-font-bold jsgd-uppercase jsgd-mb-0.5",Z.passed?"jsgd-text-emerald-700 dark:jsgd-text-emerald-400":"jsgd-text-red-700 dark:jsgd-text-red-400"])},e.toDisplayString(Z.label),3),e.createElementVNode("p",Ls,e.toDisplayString(Z.message),1)])],2))),128))])]),e.createElementVNode("div",Is,[e.createElementVNode("div",As,[e.createElementVNode("div",Fs,[F[16]||(F[16]=e.createElementVNode("span",{class:"jsgd-text-xs jsgd-font-bold jsgd-uppercase jsgd-text-slate-500"},"Total Score",-1)),e.createElementVNode("span",{class:e.normalizeClass(["jsgd-text-sm jsgd-font-bold",{"jsgd-text-red-500":(e.unref(S)?.score||0)<50,"jsgd-text-yellow-500":(e.unref(S)?.score||0)>=50&&(e.unref(S)?.score||0)<80,"jsgd-text-emerald-500":(e.unref(S)?.score||0)>=80}])},e.toDisplayString(e.unref(S)?.score||0)+"%",3)]),e.createElementVNode("div",zs,[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-h-full jsgd-transition-all jsgd-duration-500",{"jsgd-bg-red-500":(e.unref(S)?.score||0)<50,"jsgd-bg-yellow-500":(e.unref(S)?.score||0)>=50&&(e.unref(S)?.score||0)<80,"jsgd-bg-emerald-500":(e.unref(S)?.score||0)>=80}]),style:e.normalizeStyle({width:`${e.unref(S)?.score||0}%`})},null,6)])])])])])):e.createCommentVNode("",!0)]),_:1})],2)]),_:1})])]),_:1}))}}),pe=(t,f)=>{const s=t.__vccOpts||t;for(const[o,d]of f)s[o]=d;return s},Le=pe(Us,[["__scopeId","data-v-6f1221b8"]]),Be=e.defineComponent({__name:"FormFieldRenderer",props:{field:{},fieldKey:{},formData:{},errors:{},isUpdate:{type:Boolean},lang:{},demo:{type:Boolean}},emits:["update:model-value","push:errors","remove:errors","selected-option-change","multi-selected-change"],setup(t,{emit:f}){const s=t,o=e.ref({...s.formData}),d=e.ref({...s.errors}),l=f;e.watch(()=>s,()=>{o.value={...s.formData},d.value={...s.errors}},{immediate:!0,deep:!0});const{label:c,handlers:n}=rs(s,l),j=e.ref(s.isUpdate?void 0:s.field.value);function g(){const a=Y(o.value,s.fieldKey);return!a&&typeof a!="boolean"&&!s.isUpdate?(l("update:model-value",j.value,s.fieldKey),j.value):(s.field.type==="dateTime",a)}function h(){const a=s.field;let r=null;if(a.withFieldKey)r=Y(o.value,s.fieldKey);else{const i=Y(o.value,`${s.fieldKey}.${a.key.lat}`),m=Y(o.value,`${s.fieldKey}.${a.key.lng}`);if(i&&m)r={[a.key.lat]:i,[a.key.lng]:m};else{const N=Y(o.value,a.key.lat),w=Y(o.value,a.key.lng);N&&w&&(r={[a.key.lat]:N,[a.key.lng]:w})}}return{id:s.fieldKey,label:c.value,lang:s.lang,required:a.required,disabled:a.disabled,initialLat:a.initialLat,initialLng:a.initialLng,modelValue:r,searchCity:a.searchCity,searchCountry:a.searchCountry,latKey:a.key.lat,lngKey:a.key.lng,geocodeApi:a.geocodeApi,validate:a.validate}}function u(a){const r=s.field,i={[r.key.lat]:typeof a.lat=="number"?a[r.key.lat].toFixed(6):a[r.key.lat],[r.key.lng]:typeof a.lng=="number"?a[r.key.lng].toFixed(6):a[r.key.lng]};r.withFieldKey?l("update:model-value",i,s.fieldKey):(l("update:model-value",i[r.key.lat],r.key.lat),l("update:model-value",i[r.key.lng],r.key.lng))}return(a,r)=>(e.openBlock(),e.createElementBlock("div",null,[t.field.type==="text"?(e.openBlock(),e.createBlock(e.unref(It),{key:0,id:t.fieldKey,type:t.field.type,label:e.unref(c),"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,lang:t.lang,placeholder:t.field.placeholder,"onUpdate:modelValue":r[0]||(r[0]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","type","label","model-value","error","disabled","validate","lang","placeholder","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="tel"?(e.openBlock(),e.createBlock(e.unref(Mt),{key:1,id:t.fieldKey,label:e.unref(c),"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,lang:t.lang,placeholder:t.field.placeholder,"onUpdate:modelValue":r[1]||(r[1]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","model-value","error","disabled","validate","lang","placeholder","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="currency"?(e.openBlock(),e.createBlock(e.unref(ht),{key:2,id:t.fieldKey,label:e.unref(c),"model-value":g()??null,error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,lang:t.lang,placeholder:t.field.placeholder,"onUpdate:modelValue":r[2]||(r[2]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","model-value","error","disabled","validate","lang","placeholder","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="rate"?(e.openBlock(),e.createBlock(e.unref(vt),{key:3,id:t.fieldKey,label:e.unref(c),"model-value":g()??null,error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,lang:t.lang,"onUpdate:modelValue":r[3]||(r[3]=i=>a.$emit("update:model-value",i,t.fieldKey))},null,8,["id","label","model-value","error","disabled","validate","lang"])):e.createCommentVNode("",!0),t.field.type==="number"?(e.openBlock(),e.createBlock(e.unref(Ct),{key:4,id:t.fieldKey,label:e.unref(c),placeholder:t.field.placeholder,"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,lang:t.lang,validate:t.field.validate,"onUpdate:modelValue":r[4]||(r[4]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","placeholder","model-value","error","disabled","lang","validate","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="email"?(e.openBlock(),e.createBlock(e.unref(xt),{key:5,id:t.fieldKey,type:t.field.type,label:e.unref(c),placeholder:t.field.placeholder,"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,lang:t.lang,"onUpdate:modelValue":r[5]||(r[5]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","type","label","placeholder","model-value","error","disabled","validate","lang","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="tag"?(e.openBlock(),e.createBlock(e.unref(Dt),{key:6,id:t.fieldKey,label:e.unref(c),placeholder:t.field.placeholder,"model-value":g()??[],error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,lang:t.lang,validate:t.field.validate,"onUpdate:modelValue":r[6]||(r[6]=i=>a.$emit("update:model-value",i,t.fieldKey))},null,8,["id","label","placeholder","model-value","error","disabled","lang","validate"])):e.createCommentVNode("",!0),t.field.type==="toggle"?(e.openBlock(),e.createBlock(e.unref(Ft),{key:7,id:t.fieldKey,label:e.unref(c),"model-value":!!(g()??!1),error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,lang:t.lang,"onUpdate:modelValue":r[7]||(r[7]=i=>a.$emit("update:model-value",i,t.fieldKey))},null,8,["id","label","model-value","error","disabled","lang"])):e.createCommentVNode("",!0),t.field.type==="url"?(e.openBlock(),e.createBlock(e.unref(zt),{key:8,id:t.fieldKey,label:e.unref(c),placeholder:t.field.placeholder,"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate??!0,lang:t.lang,"onUpdate:modelValue":r[8]||(r[8]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":r[9]||(r[9]=i=>e.unref(n).removeError(t.fieldKey)),"onPush:error":r[10]||(r[10]=i=>e.unref(n).pushError(i,t.fieldKey))},null,8,["id","label","placeholder","model-value","error","disabled","validate","lang"])):e.createCommentVNode("",!0),t.field.type==="password"?(e.openBlock(),e.createBlock(e.unref(St),{key:9,id:t.fieldKey,label:e.unref(c),lang:t.lang,placeholder:t.field.placeholder,"model-value":g()??"",error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,"onUpdate:modelValue":r[11]||(r[11]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","lang","placeholder","model-value","error","disabled","validate","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="quillEditor"?(e.openBlock(),e.createBlock(e.unref(Lt),{key:10,id:t.fieldKey,label:e.unref(c),error:e.unref(Y)(d.value,t.fieldKey),"model-value":g()??"",disabled:t.field.disabled,lang:t.lang,validate:t.field.validate,apiUploadImage:t.field.apiUploadImage,apiUploadVideo:t.field.apiUploadVideo,apiListImages:t.field.apiListImages,apiDeleteImage:t.field.apiDeleteImage,"onUpdate:modelValue":r[12]||(r[12]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","error","model-value","disabled","lang","validate","apiUploadImage","apiUploadVideo","apiListImages","apiDeleteImage","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="textArea"?(e.openBlock(),e.createBlock(e.unref(Tt),{key:11,id:t.fieldKey,label:e.unref(c),error:e.unref(Y)(d.value,t.fieldKey),"model-value":g()??"",disabled:t.field.disabled,lang:t.lang,validate:t.field.validate,"onUpdate:modelValue":r[13]||(r[13]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","error","model-value","disabled","lang","validate","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="image"?(e.openBlock(),e.createBlock(e.unref(Nt),{key:12,id:t.fieldKey,label:e.unref(c),"model-value":g()??null,disabled:t.field.disabled,"preview-alt":t.fieldKey,"onUpdate:modelValue":r[14]||(r[14]=i=>a.$emit("update:model-value",i,t.fieldKey)),validate:t.field.validate,watermark:t.field.watermark,error:e.unref(Y)(d.value,t.fieldKey),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError,lang:t.lang},null,8,["id","label","model-value","disabled","preview-alt","validate","watermark","error","onRemove:error","onPush:error","lang"])):e.createCommentVNode("",!0),t.field.type==="imageArray"?(e.openBlock(),e.createBlock(e.unref(Bt),{key:13,id:t.fieldKey,label:e.unref(c),"model-value":g()??[],disabled:t.field.disabled,"preview-alt":t.fieldKey,"onUpdate:modelValue":r[15]||(r[15]=i=>a.$emit("update:model-value",i,t.fieldKey)),validate:t.field.validate,watermark:t.field.watermark,error:e.unref(Y)(d.value,t.fieldKey),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError,lang:t.lang},null,8,["id","label","model-value","disabled","preview-alt","validate","watermark","error","onRemove:error","onPush:error","lang"])):e.createCommentVNode("",!0),t.field.type==="file"?(e.openBlock(),e.createBlock(e.unref(Vt),{key:14,id:t.fieldKey,label:e.unref(c),"model-value":g()??null,disabled:t.field.disabled,"preview-alt":t.fieldKey,"onUpdate:modelValue":r[16]||(r[16]=i=>a.$emit("update:model-value",i,t.fieldKey)),validate:t.field.validate,error:e.unref(Y)(d.value,t.fieldKey),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError,lang:t.lang},null,8,["id","label","model-value","disabled","preview-alt","validate","error","onRemove:error","onPush:error","lang"])):e.createCommentVNode("",!0),t.field.type==="fileArray"?(e.openBlock(),e.createBlock(e.unref(wt),{key:15,id:t.fieldKey,label:e.unref(c),"model-value":g()??null,disabled:t.field.disabled,"preview-alt":t.fieldKey,"onUpdate:modelValue":r[17]||(r[17]=i=>a.$emit("update:model-value",i,t.fieldKey)),validate:t.field.validate,error:e.unref(Y)(d.value,t.fieldKey),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError,lang:t.lang},null,8,["id","label","model-value","disabled","preview-alt","validate","error","onRemove:error","onPush:error","lang"])):e.createCommentVNode("",!0),t.field.type==="color"?(e.openBlock(),e.createBlock(e.unref(bt),{key:16,id:t.fieldKey,label:e.unref(c),"model-value":t.field.single?g()??"":g()??[],"onUpdate:modelValue":r[18]||(r[18]=i=>a.$emit("update:model-value",i,t.fieldKey)),error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,validate:t.field.validate,single:t.field.single,lang:t.lang},null,8,["id","label","model-value","error","disabled","validate","single","lang"])):e.createCommentVNode("",!0),t.field.type==="select"?(e.openBlock(),e.createBlock(e.unref(pt),{key:17,id:t.fieldKey,label:e.unref(c),options:t.field.options,"options-view":t.field.optionsView||t.field.options,type:t.field.type,error:e.unref(Y)(d.value,t.fieldKey),required:t.field.required,disabled:t.field.disabled,"model-value":g(),"with-create":t.field.withCreate,demo:t.demo??!1,"onUpdate:modelValue":r[19]||(r[19]=i=>a.$emit("update:model-value",i,t.fieldKey)),lang:t.lang},null,8,["id","label","options","options-view","type","error","required","disabled","model-value","with-create","demo","lang"])):e.createCommentVNode("",!0),t.field.type==="object"?(e.openBlock(),e.createBlock(e.unref($t),{key:18,id:t.fieldKey,label:e.unref(c),schema:t.field.schema,"form-data":e.unref(Y)(o.value,t.fieldKey)??{},errors:e.unref(Y)(d.value,t.fieldKey)??{},disabled:t.field.disabled,lang:t.lang,"onUpdate:modelValue":r[20]||(r[20]=(i,m)=>a.$emit("update:model-value",i,m)),"onRemove:errors":r[21]||(r[21]=i=>e.unref(n).removeError(i)),"onPush:errors":r[22]||(r[22]=(i,m)=>e.unref(n).pushError(i,m)),onMultiSelectedChange:r[23]||(r[23]=(i,m)=>a.$emit("multi-selected-change",i,m)),onSelectedOptionChange:r[24]||(r[24]=(i,m)=>a.$emit("selected-option-change",i,m))},null,8,["id","label","schema","form-data","errors","disabled","lang"])):e.createCommentVNode("",!0),t.field.type==="arrayObject"?(e.openBlock(),e.createBlock(e.unref(ft),{key:19,id:t.fieldKey,label:e.unref(c),"model-value":g()??[],schema:t.field.schema,disabled:t.field.disabled,error:e.unref(Y)(d.value,t.fieldKey),lang:t.lang,"onUpdate:modelValue":r[25]||(r[25]=i=>a.$emit("update:model-value",i,t.fieldKey))},null,8,["id","label","model-value","schema","disabled","error","lang"])):e.createCommentVNode("",!0),t.field.type==="date"?(e.openBlock(),e.createBlock(e.unref(kt),{key:20,id:t.fieldKey,label:e.unref(c),"model-value":g(),error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,placeholder:t.field.placeholder,validate:t.field.validate,lang:t.lang,"onUpdate:modelValue":r[26]||(r[26]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","model-value","error","disabled","placeholder","validate","lang","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="time"?(e.openBlock(),e.createBlock(e.unref(At),{key:21,id:t.fieldKey,label:e.unref(c),"model-value":g(),error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,placeholder:t.field.placeholder,validate:t.field.validate,lang:t.lang,"onUpdate:modelValue":r[27]||(r[27]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","model-value","error","disabled","placeholder","validate","lang","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="dateTime"?(e.openBlock(),e.createBlock(e.unref(yt),{key:22,id:t.fieldKey,label:e.unref(c),"model-value":g(),error:e.unref(Y)(d.value,t.fieldKey),disabled:t.field.disabled,placeholder:t.field.placeholder,validate:t.field.validate,"output-format":t.field.outputFormat,lang:t.lang,"onUpdate:modelValue":r[28]||(r[28]=i=>a.$emit("update:model-value",i,t.fieldKey)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","model-value","error","disabled","placeholder","validate","output-format","lang","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="optionGroupSchema"?(e.openBlock(),e.createBlock(e.unref(Et),{key:23,id:t.fieldKey,label:e.unref(c),"type-design":t.field.typeDesign,options:t.field.options,"options-labels":t.field.optionsLabels,required:t.field.required,disabled:t.field.disabled,defaultValue:g(),"form-data":o.value,errors:d.value,error:e.unref(Y)(d.value,t.fieldKey),"with-value":t.field.withValue,onMultiSelectedChange:r[29]||(r[29]=(i,m)=>a.$emit("multi-selected-change",i,m)),onSelectedOptionChange:r[30]||(r[30]=(i,m)=>a.$emit("selected-option-change",i,m)),"onUpdate:modelValue":r[31]||(r[31]=(i,m)=>a.$emit("update:model-value",i,m)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError},null,8,["id","label","type-design","options","options-labels","required","disabled","defaultValue","form-data","errors","error","with-value","onRemove:error","onPush:error"])):e.createCommentVNode("",!0),t.field.type==="mapPicker"?(e.openBlock(),e.createBlock(e.unref(Ze),e.mergeProps({key:24},h(),{errors:d.value,error:e.unref(Y)(d.value,t.fieldKey),"onUpdate:modelValue":r[32]||(r[32]=i=>u(i)),"onRemove:error":e.unref(n).removeError,"onPush:error":e.unref(n).pushError}),null,16,["errors","error","onRemove:error","onPush:error"])):e.createCommentVNode("",!0)]))}});function Os(t,f,s){const o=e.ref(!1),d=e.ref({}),l=e.ref(null),c=e.ref([]),n=e.ref([...t.modelValue??[]]);e.watch(()=>t.modelValue,i=>{n.value=[...i??[]]});const j=e.computed(()=>f.value.btn.add||"Add Item");return{showModal:o,currentEditItem:d,currentEditIndex:l,removeDatas:c,addButtonText:j,localItems:n,handleAddClick:()=>{d.value={},l.value=null,o.value=!0},handleEditClick:i=>{d.value={...n.value[i]},l.value=i,o.value=!0},handleSubmit:i=>{const m=[...n.value];l.value===null?m.push(i):(d.value.id&&(i.id=d.value.id),m[l.value]=i),n.value=m,s("update:modelValue",m,t.id),o.value=!1},remove:i=>{const m=[...n.value];m.splice(i,1),n.value=m,s("update:modelValue",m,t.id)},getImageSrc:i=>typeof i=="string"?i:i instanceof File?URL.createObjectURL(i):""}}function Ks(t,f){const s=e.ref(null),o=e.ref([]),d=e.ref([]);let l=null,c=!1;const n=b=>!(b==null||typeof b=="string"&&b.trim()===""||Array.isArray(b)&&b.length===0||typeof b=="object"&&!Array.isArray(b)&&Object.keys(b).length===0),j=(b,E)=>Object.keys(b).some(S=>{const U=b[S],F=E[S];return U.type==="optionGroupSchema"&&U.options?Object.values(U.options).some(Z=>j(Z,E)):U.type==="object"&&U.schema?j(U.schema,E):n(F)}),g=b=>{Object.keys(b).forEach(E=>{const S=b[E];t.formData[E]=null,f("update:model-value",null,E),S.type==="optionGroupSchema"&&S.options&&Object.values(S.options).forEach(U=>g(U)),S.type==="object"&&S.schema&&g(S.schema)})},h=b=>{Object.keys(b).forEach(E=>{const S=b[E];E in t.formData||(t.formData[E]=null),S.type==="optionGroupSchema"&&S.options&&Object.values(S.options).forEach(U=>h(U)),S.type==="object"&&S.schema&&h(S.schema)})},u=()=>{if(!(t.typeDesign!=="select"&&t.typeDesign!=="dropdown")){for(const[b,E]of Object.entries(t.options))if(j(E,t.formData)){s.value=b,h(E);return}if(t.defaultValue){s.value=t.defaultValue;return}s.value=t.required?Object.keys(t.options)[0]??null:null}},a=()=>{if(t.typeDesign!=="cekbox")return;const b=[];for(const[E,S]of Object.entries(t.options))j(S,t.formData)&&(b.push(E),h(S));t.defaultValue&&b.push(...t.defaultValue),o.value=b},r=()=>{u(),a(),c=!0},i=()=>{l&&t.options[l]&&g(t.options[l]),s.value&&t.options[s.value]&&h(t.options[s.value]),l=s.value},m=()=>{const E=Object.keys(t.options).filter(S=>!o.value.includes(S));for(const S of E){const U=t.options[S];U&&g(U)}for(const S of o.value){const U=t.options[S];U&&h(U)}},N=(b,E)=>{f("push:errors",b,E)},w=b=>{f("remove:errors",b)};return e.watch(s,()=>{f("selected-option-change",s.value,t.id),t.withValue&&f("update:model-value",s.value,t.id),c&&i()},{deep:!0}),e.watch(o,()=>{f("multi-selected-change",o.value,t.id),t.withValue&&f("update:model-value",o.value,t.id),c&&m()},{deep:!0}),e.onMounted(()=>{r()}),{selectedOption:s,multiSelected:o,fieldIsColor:d,initializeFormData:r,handleSelectChange:i,handleCheckboxChange:m,errorPush:N,errorRemove:w}}const et={id:{currency:"IDR",symbol:"Rp",locale:"id-ID"},en:{currency:"USD",symbol:"$",locale:"en-US"},us:{currency:"USD",symbol:"$",locale:"en-US"}};function Rs(t,f){const s=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[t.lang??"en"])}),o=e.computed(()=>s.labels.value.lang??"en"),d=e.computed(()=>et[o.value]||et.en),l=e.ref(""),c=e.ref(!1),n=e.computed(()=>d.value.symbol),j=a=>a==null?"":new Intl.NumberFormat(d.value.locale,{minimumFractionDigits:0,maximumFractionDigits:0}).format(a),g=e.computed(()=>c.value?l.value:j(t.modelValue));function h(a){c.value=!0;const i=a.target.value.replace(/[^\d]/g,"");l.value=i;const m=i===""?null:parseInt(i,10);f("update:modelValue",m,t.id)}function u(){c.value=!1,l.value=""}return e.watch(()=>t.modelValue,(a,r)=>{a!==r&&!c.value&&(l.value=a?.toString()??"")}),{formattedValue:g,currencySymbol:n,onInput:h,onBlur:u}}const Ps={class:"jsgd-flex jsgd-flex-col jsgd-gap-3 jsgd-box-border"},Hs={class:"jsgd-flex jsgd-justify-between jsgd-items-center jsgd-p-3 jsgd-gap-4 max-[640px]:jsgd-flex-col max-[640px]:jsgd-items-start"},_s={class:"jsgd-flex jsgd-items-center jsgd-gap-4 jsgd-min-w-0"},qs=["src"],Ws={class:"jsgd-font-medium jsgd-text-slate-900 jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis dark:jsgd-text-slate-100"},Gs={class:"jsgd-flex jsgd-items-center jsgd-gap-4 jsgd-shrink-0 max-[640px]:jsgd-w-full max-[640px]:jsgd-justify-end max-[640px]:jsgd-pt-2 max-[640px]:jsgd-border-t-1 max-[640px]:jsgd-border-solid max-[640px]:jsgd-border-slate-200 dark:max-[640px]:jsgd-border-slate-600"},Js=["onClick"],Zs=["onClick"],Qs=["disabled"],Ys={key:1,class:"jsgd-mt-2 jsgd-text-sm jsgd-text-red-500 jsgd-animate-[slideIn_300ms_ease-out] dark:jsgd-text-red-400"},ft=e.defineComponent({__name:"ArrayObject",props:{id:{default:ae()},label:{},modelValue:{},disabled:{type:Boolean},schema:{},error:{},lang:{}},emits:["update:modelValue"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=f,{showModal:c,currentEditItem:n,currentEditIndex:j,addButtonText:g,handleAddClick:h,handleEditClick:u,handleSubmit:a,remove:r,getImageSrc:i,localItems:m}=Os(s,d,l);return(N,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("label",{class:e.normalizeClass(["jsgd-block jsgd-text-sm jsgd-font-semibold jsgd-mb-3 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":s.error}])},e.toDisplayString(t.label),3),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-lg jsgd-p-6 jsgd-shadow-sm jsgd-transition-colors jsgd-duration-200 jsgd-mb-4 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700",{"jsgd-border-red-300 jsgd-bg-red-50 dark:jsgd-border-red-800 dark:jsgd-bg-red-900/10":s.error}])},[e.createElementVNode("div",Ps,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(b,E)=>(e.openBlock(),e.createElementBlock("div",{key:E,class:"jsgd-bg-slate-50 jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-animate-[slideIn_500ms_ease-out_backwards] hover:jsgd-bg-white hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600",style:e.normalizeStyle({animationDelay:`${E*50}ms`})},[e.createElementVNode("div",Hs,[e.createElementVNode("div",_s,[b?.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(i)(b.image),class:"jsgd-w-14 jsgd-h-14 jsgd-object-cover jsgd-rounded-full jsgd-border-2 jsgd-border-white jsgd-shadow-sm jsgd-shrink-0 dark:jsgd-border-slate-500",alt:"Preview Gambar"},null,8,qs)):e.createCommentVNode("",!0),e.createElementVNode("span",Ws,e.toDisplayString(b?.name||`Item ${E+1}`),1)]),e.createElementVNode("div",Gs,[e.createElementVNode("span",{role:"button",tabindex:"0",class:e.normalizeClass(["jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 jsgd-text-blue-600 hover:jsgd-scale-110 hover:jsgd-underline disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-pointer-events-none disabled:jsgd-transform-none dark:jsgd-text-blue-400",{"jsgd-opacity-50 jsgd-cursor-not-allowed jsgd-pointer-events-none":t.disabled}]),onClick:S=>!t.disabled&&e.unref(u)(E)},e.toDisplayString(e.unref(d)?.btn?.edit||"Edit"),11,Js),e.createElementVNode("span",{role:"button",tabindex:"0",class:e.normalizeClass(["jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 jsgd-text-red-600 hover:jsgd-scale-110 hover:jsgd-underline disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-pointer-events-none disabled:jsgd-transform-none dark:jsgd-text-red-400",{"jsgd-opacity-50 jsgd-cursor-not-allowed jsgd-pointer-events-none":t.disabled}]),onClick:S=>!t.disabled&&e.unref(r)(E)},e.toDisplayString(e.unref(d)?.btn?.remove||"Remove"),11,Zs)])])],4))),128))]),e.createElementVNode("button",{type:"button",onClick:w[0]||(w[0]=(...b)=>e.unref(h)&&e.unref(h)(...b)),class:"jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-mt-5 jsgd-px-5 jsgd-py-2.5 jsgd-font-semibold jsgd-text-sm jsgd-border-none jsgd-rounded-md jsgd-text-white jsgd-bg-blue-600 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-blue-700 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-lg disabled:jsgd-bg-slate-400 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-400 dark:disabled:jsgd-bg-slate-600 before:jsgd-content-['+'] before:jsgd-text-xl before:jsgd-leading-none",disabled:t.disabled},e.toDisplayString(e.unref(g)),9,Qs),e.unref(c)?(e.openBlock(),e.createBlock(e.unref(Le),{key:0,id:e.unref(n).id||null,schema:s.schema,"initial-data":e.unref(n),"is-update":e.unref(j)!==null,lang:s.lang,onSubmit:e.unref(a),onCancel:w[1]||(w[1]=()=>c.value=!1)},null,8,["id","schema","initial-data","is-update","lang","onSubmit"])):e.createCommentVNode("",!0),s.error?(e.openBlock(),e.createElementBlock("p",Ys,e.toDisplayString(s.error),1)):e.createCommentVNode("",!0)],2)],64))}}),Xs={class:"jsgd-flex jsgd-flex-wrap jsgd-gap-3 jsgd-p-3 jsgd-mb-4 jsgd-min-h-[3.5rem] jsgd-bg-slate-50 jsgd-rounded-lg jsgd-border-1 jsgd-border-solid jsgd-border-dashed jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600"},ed=["onClick","disabled"],td=["disabled"],sd={key:0,class:"jsgd-flex jsgd-justify-end jsgd-mt-4"},dd=["disabled"],ld={key:2,class:"jsgd-mt-2 jsgd-text-sm jsgd-text-red-500 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},bt=e.defineComponent({__name:"ColorPicker",props:{id:{default:ae()},selectedColors:{},modelValue:{},single:{type:Boolean},error:{},label:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,d=e.ref("#000000"),l=e.ref([...s.modelValue??[]]),n=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,j=e.ref([]);e.watch(()=>({modelValue:s.modelValue,disabled:s.disabled,validate:s.validate,single:s.single}),({modelValue:u,disabled:a,validate:r,single:i})=>{if(Array.isArray(u)?l.value=[...u]:l.value=[u],a||i){j.value=[];return}const m=[],N=l.value.length;if(r&&typeof r=="object"&&!i){const{min:w,max:b}=r;w!==void 0&&N<w&&m.push(I("arrayColorMin",{min:String(w)},s.lang??"en")),b!==void 0&&N>b&&m.push(I("arrayColorMax",{max:String(b)},s.lang??"en"))}j.value=m,m.length?o("push:error",m,s.id):o("remove:error",s.id)});function g(){s.single?(l.value=[d.value],o("update:modelValue",d.value,s.id)):l.value.includes(d.value)||(l.value.push(d.value),o("update:modelValue",l.value,s.id))}function h(u){l.value.splice(u,1),s.single?o("update:modelValue",l.value[0]??"",s.id):o("update:modelValue",l.value,s.id)}return(u,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("label",{class:e.normalizeClass(["jsgd-block jsgd-text-sm jsgd-font-semibold jsgd-mb-3 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":j.value.length!==0||t.error}])},e.toDisplayString(t.label),3),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-lg jsgd-p-5 jsgd-shadow-sm jsgd-w-full jsgd-mb-4 jsgd-box-border jsgd-transition-all jsgd-duration-200 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700",{"jsgd-border-red-300 jsgd-bg-red-50 dark:jsgd-border-red-800 dark:jsgd-bg-red-900/10":j.value.length!==0||t.error}])},[e.createElementVNode("div",Xs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(r,i)=>(e.openBlock(),e.createElementBlock("div",{key:i,class:"jsgd-relative jsgd-animate-[popIn_300ms_ease-out_backwards] jsgd-group",style:e.normalizeStyle({animationDelay:`${i*50}ms`})},[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:r}),class:"jsgd-w-10 jsgd-h-10 jsgd-rounded-full jsgd-border-2 jsgd-border-white jsgd-shadow-[0_0_0_1px_rgba(0,0,0,0.1)] jsgd-cursor-pointer jsgd-transition-transform jsgd-duration-200 hover:jsgd-scale-110 dark:jsgd-border-slate-800 dark:jsgd-shadow-[0_0_0_1px_rgba(255,255,255,0.2)]"},null,4),s.single?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:m=>h(i),disabled:t.disabled,class:"jsgd-absolute jsgd-top-[-0.25rem] jsgd-right-[-0.25rem] jsgd-w-5 jsgd-h-5 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-text-base jsgd-font-bold jsgd-leading-none jsgd-text-white jsgd-bg-red-500 jsgd-rounded-full jsgd-border-2 jsgd-border-white jsgd-cursor-pointer jsgd-opacity-0 jsgd-scale-50 jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-red-600 hover:jsgd-scale-110 hover:jsgd-rotate-90 group-hover:jsgd-opacity-100 group-hover:jsgd-scale-100 disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none dark:jsgd-border-slate-800 dark:jsgd-bg-red-600 dark:hover:jsgd-bg-red-500"}," × ",8,ed))],4))),128))]),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":a[0]||(a[0]=r=>d.value=r),disabled:t.disabled,class:"jsgd-appearance-none jsgd-w-full jsgd-h-10 jsgd-bg-transparent jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-md jsgd-box-border jsgd-cursor-pointer jsgd-p-0 jsgd-overflow-hidden disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed [&::-webkit-color-swatch-wrapper]:jsgd-p-0 [&::-webkit-color-swatch]:jsgd-border-none [&::-webkit-color-swatch]:jsgd-rounded-[5px] [&::-moz-color-swatch]:jsgd-border-none [&::-moz-color-swatch]:jsgd-rounded-[5px] dark:jsgd-border-slate-600"},null,8,td),[[e.vModelText,d.value]]),s.single?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",sd,[e.createElementVNode("button",{type:"button",class:"jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-4 jsgd-py-2 jsgd-font-semibold jsgd-text-sm jsgd-border-none jsgd-rounded-md jsgd-text-white jsgd-bg-green-500 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-green-600 hover:jsgd-scale-105 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-green-500 dark:hover:jsgd-bg-green-400",disabled:t.disabled,onClick:g},e.toDisplayString(e.unref(n)?.btn?.add??"Tambah"),9,dd)])),j.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(j.value,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i,class:"jsgd-mt-2 jsgd-text-sm jsgd-text-red-500 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(r),1))),128)):typeof s.error=="string"?(e.openBlock(),e.createElementBlock("p",ld,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)],2)],64))}});function _e(t,f){try{return t.parse(f)}catch(s){if(s instanceof ts.ZodError){const o=s.issues.map(d=>`${d.path.length>0?d.path.join("."):"root"}: ${d.message}`).join(", ");throw new Error(`Validation failed: ${o}`)}throw s}}function ad(t,f){const s=t.safeParse(f);return s.success?{success:!0,data:s.data,error:null}:{success:!1,data:null,error:{message:`Validation failed: ${s.error.issues.map(d=>`${d.path.length>0?d.path.join("."):"root"}: ${d.message}`).join(", ")}`,issues:s.error.issues}}}const be=async(t,f,s="id",o="ids")=>{const{data:d,oldData:l,validation:c,endpoint:n,mode:j,db:g,deleteDataDB:h,demo:u}=t,a=h??!0;if(j!=="get"&&!d)return{message:"data Not Found"};const r=c?_e(c,d):{...d},i=l?c?_e(c,l):{...l}:void 0;if(u){if(!g)throw new Error("Demo mode requires a `db` (IndexedDB store name) to be specified.");switch(j){case"create":{const V={...r,[s]:`demo-${Date.now()}`},B=await ne.getFromIndexedDB(g);return await ne.saveToIndexedDB({[g]:[...B,V]}),{message:"Data created in demo mode.",data:V,response:!0}}case"update":return await ne.updateItemInStore(g,r),{message:"Data updated in demo mode.",data:r,response:!0};case"delete":case"deleteMany":{const V=r[o]||[r[s]];return V&&V.length>0&&await ne.removeFromIndexedDB({[g]:V}),{message:"Data deleted in demo mode.",response:!0}}case"get":return{message:"Get operation skipped in demo mode.",data:[],response:!0}}}const{endpoint:m,remaining:N,remainingOld:w}=rd(n,r,i);let b=j==="create"?"POST":j==="update"?"PATCH":"DELETE",E=!1;if(j==="delete"||j==="deleteMany"){const V=Object.keys(N).length>0?JSON.stringify(N):void 0,B=await Fe.secureFetch(m,{method:b,headers:V?{"Content-Type":"application/json"}:void 0,body:V,authType:t.authType,token:t.token,customHeaders:t.customHeaders});if(!B.ok){const q=await B.json().catch(()=>({}));throw new Error(q.message||"Gagal menghapus data")}const _=await B.json();return a&&g&&await ne.removeFromIndexedDB({[g]:d[o??"ids"]||d[s??"id"]||N._id}),{message:_.message,response:B.ok}}if(j==="get"){const V=await Fe.secureFetch(m,{method:"GET",authType:t.authType,token:t.token,customHeaders:t.customHeaders});if(!V.ok){const _=await V.json().catch(()=>({}));throw new Error(_.message||"Failed to fetch data")}const B=await V.json();return g&&B.data&&(ne.isStoreArray(g)?await ne.saveToIndexedDB({[g]:B.data}):await ne.saveToIndexedDB({[g]:[B.data]})),{...B,message:B.message??"Data fetched successfully",response:V.ok}}const S=new FormData,U={};let F=j!=="update";if(j==="update"&&w){for(const V in N){const B=N[V],_=w[V],q=!Ee(B,_);(V===s||q)&&(Te(S,V,B,U,_,void 0,f,s)&&(E=!0),V!==s&&(F=!0))}if(!F&&Ee(N,w))throw new Error("No data has changed")}else for(const V in N){const B=N[V],_=Array.isArray(B)&&B.length===0;B!=null&&!_&&(U[V]=B,Te(S,V,B,U,void 0,void 0,f)&&(E=!0))}const Z=await Fe.secureFetch(m,E?{method:b,body:S,authType:t.authType,token:t.token,customHeaders:t.customHeaders}:{method:b,headers:{"Content-Type":"application/json"},body:JSON.stringify(U),authType:t.authType,token:t.token,customHeaders:t.customHeaders});if(!Z.ok){const V=await Z.json().catch(()=>({}));throw new Error(V.message||"Failed to process data")}const D=await Z.json();if(g){const V=ne.isStoreArray(g);if(j==="update")await ne.updateItemInStore(g,D.data);else if(j==="create"&&V){const B=await ne.getFromIndexedDB(g);await ne.saveToIndexedDB({[g]:[...B,D.data]})}}return{message:D.message,data:D.data,response:Z.ok}};function Te(t,f,s,o,d={},l,c,n,j){let g=!1;const h=l?`${l}[${f}]`:f;if(Array.isArray(s)&&s.length>0&&typeof s[0]=="object"&&!(s[0]instanceof File)){const u=new Set(s.map(i=>i[n??"id"]).filter(i=>i!==void 0));if(Array.isArray(d)){const i=d.filter(m=>m[n??"id"]!==void 0&&!u.has(m[n??"id"]));if(i.length>0){const m=i.map(N=>N[n??"id"]);o[f+"_deleted"]=m,m.forEach(N=>{t.append(`${f}_deleted[]`,String(N))})}}const a=[];o[f]=a;let r=0;s.forEach(i=>{const m={},N=(Array.isArray(d)?d.find(b=>b[n??"id"]===i[n??"id"]):void 0)||{};let w=!i[n??"id"]||!1;for(const b in i){const E=i[b],S=N?.[b],U=!Ee(E,S);if(E!=null&&(U||!i[n??"id"])){i[n??"id"]?b!=="id"&&(w=!0):w=!0;const F=`${h}[${r}][${b}]`;if(E instanceof File)t.append(F,E),g=!0,m[b]=E.name;else if(Array.isArray(E)||typeof E=="object"&&E!==null){const Z=`${h}[${r}]`;Te(t,b,E,m,S,Z,c,n)&&(g=!0)}else t.append(F,String(E)),m[b]=E}}w&&(i[n??"id"]!==void 0&&(t.append(`${h}[${r}][${n}]`,String(i[n??"id"])),m[n??"id"]=i[n??"id"]),r+=1,a.push(m))}),a.length===0&&delete o[f]}else if(typeof s=="object"&&s!==null&&!(s instanceof File)&&!Array.isArray(s)){const u={};let a=!1,r;for(const i in s){const m=s[i],N=d?.[i]??null,b=Array.isArray(m)&&m.length===0?null:m,E=!Ee(b,N);i===(n??"id")?r=m:E&&(Te(t,i,m,u,N,h,c,n)&&(g=!0),a=!0)}a&&Object.keys(u).length>0?(r&&(u[n??"id"]=r),o[f]=u):delete o[f]}else if(Array.isArray(s)&&(typeof s[0]!="object"||s[0]===null))s.length>0?(o[f]=s,s.forEach((u,a)=>{const r=`${h}[${a}]`;t.append(r,String(u))})):o[f]=null;else if(Array.isArray(s)&&s.some(u=>u instanceof File)){g=!0;const u=[];s.forEach((a,r)=>{const i=`${h}[${r}]`;a instanceof File?(t.append(i,a),u.push(a.name)):(t.append(i,a),u.push(a))}),o[f]=u}else s instanceof File?(t.append(h,s),o[f]=s.name,g=!0):(t.append(h,String(s)),o[f]=s);return g}function rd(t,f,s){const o={...f},d=s?{...s}:void 0;return{endpoint:t.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,(c,n)=>{const j=o[n];if(!j)throw new Error(`Missing value for :${n}`);return delete o[n],d&&delete d[n],encodeURIComponent(String(j))}),remaining:o,remainingOld:d}}const od={class:"jsgd-sr-only"},nd={class:"jsgd-font-semibold"},Je=e.defineComponent({__name:"AlertApp",setup(t,{expose:f}){const s=e.ref([]),o=e.ref([]),d=e.ref([]);let l=0;const c=g=>{const h="jsgd-fixed jsgd-top-4 jsgd-right-4 jsgd-z-100 jsgd-flex jsgd-items-start jsgd-gap-3 jsgd-w-full jsgd-max-w-sm jsgd-p-4 jsgd-mb-4 jsgd-rounded-lg jsgd-shadow-lg jsgd-transition-all jsgd-duration-300 jsgd-ease-[cubic-bezier(0.4,0,0.2,1)] sm:jsgd-max-w-md max-sm:jsgd-left-4";return g==="success"?`${h} jsgd-border-1 jsgd-border-solid jsgd-border-green-200 jsgd-bg-green-50 jsgd-text-green-800 dark:jsgd-bg-green-800/30 dark:jsgd-border-green-700 dark:jsgd-text-green-200`:g==="error"?`${h} jsgd-border-1 jsgd-border-solid jsgd-border-red-200 jsgd-bg-red-50 jsgd-text-red-800 dark:jsgd-bg-red-800/30 dark:jsgd-border-red-700 dark:jsgd-text-red-200`:h};function n(){let g=0;d.value=o.value.map(h=>{const u=h?.offsetHeight||0,a=g;return g+=u+10,a})}function j(g){g.id=l++,g.show=!1,s.value.push(g),e.nextTick(()=>{g.show=!0,n()}),setTimeout(()=>{g.show=!1,e.nextTick(()=>{n(),setTimeout(()=>{s.value=s.value.filter(h=>h.id!==g.id),e.nextTick(n)},200)})},5e3)}return e.watch(s,()=>{e.nextTick(n)}),f({addAlert:j}),(g,h)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(u,a)=>(e.openBlock(),e.createElementBlock("div",{key:u.id,ref_for:!0,ref_key:"alertRefs",ref:o,class:e.normalizeClass(["alert-container",c(u.type)]),style:e.normalizeStyle({top:`${d.value[a]??0}px`,transform:`translateX(${u.show?"0":"200%"})`}),role:"alert"},[e.createElementVNode("span",{class:e.normalizeClass(["jsgd-shrink-0 jsgd-w-5 jsgd-h-5",[u.type==="error"?"jsgd-i-mdi-alert-circle":"jsgd-i-mdi-check-circle",u.type==="error"?"jsgd-text-red-500 dark:jsgd-text-red-400":"jsgd-text-green-500 dark:jsgd-text-green-400"]])},null,2),e.createElementVNode("span",od,e.toDisplayString(u.type==="error"?"Error":"Success"),1),e.createElementVNode("div",null,[e.createElementVNode("span",nd,e.toDisplayString(u.title),1),e.createElementVNode("ul",{class:e.normalizeClass(["jsgd-mt-1 jsgd-pl-5 jsgd-text-sm jsgd-list-disc jsgd-list-inside",u.type==="error"?"[&::marker]:jsgd-text-red-500":"[&::marker]:jsgd-text-green-500"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.messages,(r,i)=>(e.openBlock(),e.createElementBlock("li",{key:i},e.toDisplayString(r),1))),128))],2)])],6))),128))}}),id={key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-100 jsgd-grid jsgd-place-items-center jsgd-bg-slate-900/70 jsgd-backdrop-blur-sm"},gd={class:"jsgd-bg-white jsgd-p-8 jsgd-rounded-xl jsgd-shadow-2xl jsgd-flex jsgd-flex-col jsgd-items-center jsgd-w-[90%] jsgd-max-w-sm jsgd-text-center jsgd-transition-transform jsgd-duration-300 dark:jsgd-bg-slate-800"},cd={key:0,class:"jsgd-flex jsgd-flex-col jsgd-items-center jsgd-gap-4"},ud={class:"jsgd-text-slate-500 jsgd-font-medium dark:jsgd-text-slate-400"},jd={key:1,class:"jsgd-flex jsgd-flex-col jsgd-items-center jsgd-gap-4"},md={class:"jsgd-font-medium jsgd-text-slate-700 dark:jsgd-text-slate-200"},fd={key:2,class:"jsgd-flex jsgd-flex-col jsgd-items-center jsgd-gap-4"},bd={class:"jsgd-font-medium jsgd-text-slate-700 dark:jsgd-text-slate-200"},pd=e.defineComponent({__name:"LoaderSuccessError",emits:["success","error"],setup(t,{expose:f,emit:s}){const o=s,d=e.ref(!1),l=e.ref("loading"),c=e.ref(""),n=(g="loading",h="")=>{d.value=!0,l.value=g,c.value=h,g!=="loading"&&setTimeout(()=>{j(),o(g==="success"?"success":"error")},3e3)},j=()=>{d.value=!1};return f({show:n,hide:j}),(g,h)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"jsgd-transition-opacity jsgd-duration-300 jsgd-ease-out","enter-from-class":"jsgd-opacity-0","enter-to-class":"jsgd-opacity-100","leave-active-class":"jsgd-transition-opacity jsgd-duration-300 jsgd-ease-in","leave-from-class":"jsgd-opacity-100","leave-to-class":"jsgd-opacity-0"},{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",id,[e.createElementVNode("div",gd,[l.value==="loading"?(e.openBlock(),e.createElementBlock("div",cd,[h[0]||(h[0]=e.createElementVNode("div",{class:"jsgd-w-12 jsgd-h-12 jsgd-animate-spin spinner"},null,-1)),e.createElementVNode("p",ud,e.toDisplayString(c.value||"Memproses..."),1)])):e.createCommentVNode("",!0),l.value==="success"?(e.openBlock(),e.createElementBlock("div",jd,[h[1]||(h[1]=e.createElementVNode("div",{class:"jsgd-relative jsgd-animate-[popIn_400ms_cubic-bezier(0.16,1,0.3,1)_backwards]"},[e.createElementVNode("div",{class:"jsgd-w-14 jsgd-h-14 jsgd-rounded-full jsgd-grid jsgd-place-items-center jsgd-bg-green-100 dark:jsgd-bg-green-900/50"},[e.createElementVNode("span",{class:"jsgd-i-mdi-check jsgd-w-8 jsgd-h-8 jsgd-text-green-600 dark:jsgd-text-green-400"})]),e.createElementVNode("div",{class:"jsgd-absolute jsgd-inset-0 jsgd-rounded-full jsgd-animate-ping jsgd-bg-green-200 dark:jsgd-bg-green-800/50",style:{"animation-delay":"0.2s"}})],-1)),e.createElementVNode("p",md,e.toDisplayString(c.value||"Berhasil!"),1)])):e.createCommentVNode("",!0),l.value==="error"?(e.openBlock(),e.createElementBlock("div",fd,[h[2]||(h[2]=e.createElementVNode("div",{class:"jsgd-relative jsgd-animate-[popIn_400ms_cubic-bezier(0.16,1,0.3,1)_backwards]"},[e.createElementVNode("div",{class:"jsgd-w-14 jsgd-h-14 jsgd-rounded-full jsgd-grid jsgd-place-items-center jsgd-bg-red-100 dark:jsgd-bg-red-900/50"},[e.createElementVNode("span",{class:"jsgd-i-mdi-close jsgd-w-8 jsgd-h-8 jsgd-text-red-600 dark:jsgd-text-red-400"})]),e.createElementVNode("div",{class:"jsgd-absolute jsgd-inset-0 jsgd-rounded-full jsgd-animate-ping jsgd-bg-red-200 dark:jsgd-bg-red-800/50",style:{"animation-delay":"0.2s"}})],-1)),e.createElementVNode("p",bd,e.toDisplayString(c.value||"Gagal!"),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:1}))}}),Ce=pe(pd,[["__scopeId","data-v-2ec15644"]]),hd=["aria-labelledby"],vd={id:"dialog-title",class:"jsgd-text-2xl jsgd-font-bold jsgd-text-slate-800 jsgd-mb-3 dark:jsgd-text-slate-100"},kd={id:"dialog-desc",class:"jsgd-text-slate-500 jsgd-leading-relaxed jsgd-mb-10 dark:jsgd-text-slate-400"},yd={class:"jsgd-grid jsgd-grid-cols-2 jsgd-gap-4"},xd=e.defineComponent({__name:"WarningForm",props:{title:{default:"Warning Title"},message:{default:"Warning Message"},isGreen:{type:Boolean,default:!1}},emits:["confirm","close"],setup(t,{emit:f}){const s=t,o=f;return(d,l)=>(e.openBlock(),e.createElementBlock("div",{class:"jsgd-fixed jsgd-inset-0 jsgd-z-36 jsgd-grid jsgd-place-items-center jsgd-p-4 jsgd-bg-slate-900/60 jsgd-backdrop-blur-sm jsgd-animate-[fadeIn_250ms_ease-out]",onKeydown:l[2]||(l[2]=e.withKeys(c=>o("close"),["esc"]))},[e.createElementVNode("div",{class:"jsgd-relative jsgd-w-full jsgd-max-w-md jsgd-pt-16 jsgd-pb-8 jsgd-px-8 jsgd-bg-gradient-to-br jsgd-from-white jsgd-to-slate-50 jsgd-rounded-2xl jsgd-shadow-2xl jsgd-text-center jsgd-animate-[scaleIn_250ms_cubic-bezier(0.16,1,0.3,1)] jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 dark:jsgd-from-slate-800 dark:jsgd-to-slate-900 dark:jsgd-border-slate-700",role:"dialog","aria-modal":"true","aria-labelledby":s.title},[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-absolute jsgd-top-[-2.25rem] jsgd-left-1/2 -jsgd-translate-x-1/2 jsgd-w-[4.5rem] jsgd-h-[4.5rem] jsgd-rounded-full jsgd-grid jsgd-place-items-center jsgd-border-4 jsgd-border-solid jsgd-border-white jsgd-shadow-md jsgd-animate-[scaleIn_400ms_150ms_ease-out_backwards] dark:jsgd-border-slate-800",s.isGreen?"jsgd-bg-green-100 dark:jsgd-bg-green-900/50":"jsgd-bg-red-100 dark:jsgd-bg-red-900/50"])},[e.createElementVNode("span",{class:e.normalizeClass(["jsgd-w-9 jsgd-h-9",[s.isGreen?"jsgd-i-mdi-check-decagram":"jsgd-i-mdi-alert-decagram",s.isGreen?"jsgd-text-green-600 dark:jsgd-text-green-400":"jsgd-text-red-600 dark:jsgd-text-red-400"]])},null,2)],2),e.createElementVNode("h2",vd,e.toDisplayString(s.title),1),e.createElementVNode("p",kd,e.toDisplayString(s.message),1),e.createElementVNode("div",yd,[e.createElementVNode("button",{class:e.normalizeClass(["jsgd-w-full jsgd-py-3.5 jsgd-px-4 jsgd-rounded-lg jsgd-border-none jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-duration-300 jsgd-ease-[cubic-bezier(0.4,0,0.2,1)] jsgd-relative jsgd-overflow-hidden hover:-jsgd-translate-y-0.5 jsgd-text-white",s.isGreen?"jsgd-bg-gradient-to-br jsgd-from-green-500 jsgd-to-emerald-600 jsgd-shadow-lg jsgd-shadow-green-500/20 hover:jsgd-shadow-xl hover:jsgd-shadow-green-500/30":"jsgd-bg-gradient-to-br jsgd-from-red-500 jsgd-to-rose-600 jsgd-shadow-lg jsgd-shadow-red-500/20 hover:jsgd-shadow-xl hover:jsgd-shadow-red-500/30"]),onClick:l[0]||(l[0]=c=>o("confirm"))}," Ya ",2),e.createElementVNode("button",{class:"jsgd-w-full jsgd-py-3.5 jsgd-px-4 jsgd-rounded-lg jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-duration-300 jsgd-ease-[cubic-bezier(0.4,0,0.2,1)] jsgd-relative jsgd-overflow-hidden hover:-jsgd-translate-y-0.5 jsgd-bg-slate-200 jsgd-text-slate-700 jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 hover:jsgd-bg-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600",onClick:l[1]||(l[1]=c=>o("close"))}," Tidak ")])],8,hd)],32))}}),qe=pe(xd,[["__scopeId","data-v-d74c76a7"]]),wd={class:"jsgd-relative jsgd-w-full jsgd-mb-4"},Vd={class:"jsgd-relative"},Ed=["placeholder","disabled"],Bd={key:1,class:"jsgd-absolute jsgd-right-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-pointer-events-none jsgd-text-slate-500 dark:jsgd-text-slate-400"},Nd={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 dark:jsgd-text-red-400"},Cd=["onMousedown"],$d={class:"jsgd-flex jsgd-items-center jsgd-justify-between jsgd-gap-4"},Sd={class:"jsgd-truncate"},Dd={key:0,class:"jsgd-w-5 jsgd-h-5 jsgd-text-blue-500 jsgd-shrink-0 jsgd-transition-all jsgd-duration-200 dark:jsgd-text-blue-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Td={class:"jsgd-flex jsgd-items-center jsgd-gap-2"},Md={key:1,class:"jsgd-px-4 jsgd-py-3 jsgd-text-slate-500 jsgd-italic jsgd-cursor-default dark:jsgd-text-slate-400"},pt=e.defineComponent({__name:"ComboboxComponent",props:{id:{default:ae()},label:{},optionsIsNumber:{type:Boolean},placeholder:{},options:{},optionsView:{},required:{type:Boolean},disabled:{type:Boolean},modelValue:{},error:{},withCreate:{},demo:{type:Boolean,default:!1},lang:{}},emits:["update:modelValue"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=f,c=e.ref([...s.options]),n=e.ref([...s.optionsView||s.options]);e.watch(()=>s.options,D=>{c.value=[...D]},{deep:!0}),e.watch(()=>s.optionsView,D=>{n.value=[...D||s.options]},{deep:!0});const j=e.ref(!1),g=e.ref(""),h=e.ref(!1),u=e.ref(null),a=()=>{j.value=!0,g.value=m.value||""},r=()=>{setTimeout(()=>{j.value=!1},200)},i=(D,V)=>s.optionsIsNumber?Number(D)===Number(V):String(D)===String(V),m=e.computed(()=>N(s.modelValue??"")),N=D=>{const V=c.value.findIndex(B=>B===D);return V!==-1&&(n.value?.length??0)>V?n.value[V].toString():D?.toString?.()??""};e.watch(()=>s.modelValue,D=>{D===null&&l("update:modelValue","",s.id),j.value||(g.value=N(D??""))},{immediate:!0,deep:!0});const w=e.computed(()=>!s.withCreate&&c.value.length<5),b=e.computed(()=>{const D=g.value.toLowerCase().trim(),V=c.value.filter((_,q)=>(n.value[q].toString()?.toLowerCase?.()??"").includes(D)),B=n.value.some(_=>_.toString().toLowerCase().trim()===D);return D&&!B?[...V]:V}),E=e.computed(()=>{const D=g.value.toLowerCase().trim();return c.value.filter((V,B)=>(n.value[B].toString()?.toLowerCase?.()??"").includes(D))}),S=e.computed(()=>{const D=w.value?c.value:s.withCreate?b.value:E.value;return[...!s.required&&!c.value.includes("")?[""]:[],...D]}),U=D=>{const V=D?.toString?.().toLowerCase?.();return!n.value.some(B=>B.toString().toLowerCase()===V)},F=D=>{if(s.disabled)return;const V=s.optionsIsNumber&&D!==""?Number(D):D;l("update:modelValue",V,s.id),j.value=!1,g.value=N(V)},Z=async D=>{if(!s.withCreate.endPoint||!s.withCreate.DB_NAME){u.value?.show("error","Server Error!");return}try{u.value?.show("loading","Please wait...");const{image:V,...B}=D,_=s.withCreate?.submitOption?.delete?.authType??s.withCreate?.submitOption?.global?.authType??"cookie",q=s.withCreate?.submitOption?.delete?.token??s.withCreate?.submitOption?.global?.token??void 0,J=s.withCreate?.submitOption?.delete?.customHeaders??s.withCreate?.submitOption?.global?.customHeaders??void 0,G=await be({data:B,validation:s.withCreate?.validation??void 0,endpoint:s.withCreate.endPoint,mode:"create",db:s.withCreate?.DB_NAME,authType:_,demo:s.demo,token:q,customHeaders:J});u.value?.show("success","Data created successfully");const y=s.optionsIsNumber?G.data[s.withCreate?.keys?.idKey??"id"]:G.data[s.withCreate?.keys?.nameKey??"name"],p=G.data[s.withCreate?.keys?.nameKey??"name"];y!=null&&p!=null&&(c.value.some(W=>W?.toString().toLowerCase()===y.toString().toLowerCase())||(c.value.push(y),n.value.push(p))),l("update:modelValue",y,s.id),h.value=!1,j.value=!1}catch(V){console.error(V),u.value?.show("error","Failed to create data")}};return(D,V)=>(e.openBlock(),e.createElementBlock("div",wd,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":s.error}])},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Vd,[w.value?e.createCommentVNode("",!0):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,type:"text","onUpdate:modelValue":V[0]||(V[0]=B=>g.value=B),placeholder:e.unref(d)?.placeholder?.select,onFocus:V[1]||(V[1]=B=>!s.disabled&&a()),onBlur:r,disabled:s.disabled,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-4 jsgd-pr-10 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-cursor-pointer focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":s.error,"jsgd-rounded-b-none":j.value}])},null,42,Ed)),[[e.vModelText,g.value]]),w.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Bd,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["jsgd-w-5 jsgd-h-5 jsgd-transition-transform jsgd-duration-200",{"jsgd-rotate-180":j.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[...V[5]||(V[5]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))])),w.value?(e.openBlock(),e.createElementBlock("div",{key:2,onClick:V[2]||(V[2]=B=>!s.disabled&&(j.value=!j.value)&&!h.value),class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-4 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-cursor-pointer jsgd-flex jsgd-items-center jsgd-justify-between focus-visible:jsgd-outline-none focus-visible:jsgd-border-blue-500 focus-visible:jsgd-ring-4 focus-visible:jsgd-ring-blue-500/20 dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus-visible:jsgd-border-blue-400 dark:focus-visible:jsgd-ring-blue-400/25",{"jsgd-bg-slate-100 jsgd-text-slate-500 jsgd-cursor-not-allowed dark:jsgd-bg-slate-700":s.disabled,"jsgd-border-red-400 focus-visible:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus-visible:jsgd-ring-red-400/25":s.error,"jsgd-rounded-b-none":j.value}])},[e.createElementVNode("span",{class:e.normalizeClass({"jsgd-text-slate-400 dark:jsgd-text-slate-500":!m.value})},e.toDisplayString(m.value||e.unref(d)?.placeholder.select),3),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["jsgd-w-5 jsgd-h-5 jsgd-transition-transform jsgd-duration-200 jsgd-text-slate-500 dark:jsgd-text-slate-400",{"jsgd-rotate-180":j.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[...V[6]||(V[6]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))],2)):e.createCommentVNode("",!0)]),s.error?(e.openBlock(),e.createElementBlock("p",Nd,e.toDisplayString(s.error),1)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"jsgd-animate-[slideDownFade_200ms_ease-out]","enter-from-class":"jsgd-opacity-0","enter-to-class":"jsgd-opacity-100","leave-active-class":"jsgd-transition-opacity jsgd-duration-100 jsgd-ease-in","leave-from-class":"jsgd-opacity-100","leave-to-class":"jsgd-opacity-0"},{default:e.withCtx(()=>[j.value&&!h.value?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(["jsgd-absolute jsgd-list-none jsgd-z-200 jsgd-w-full jsgd-px-2 jsgd-mx-0 jsgd-mt-[-1px] jsgd-py-2 jsgd-bg-white/95 jsgd-border-1 jsgd-border-solid jsgd-border-blue-500 jsgd-border-t-0 jsgd-rounded-b-lg jsgd-shadow-xl jsgd-max-h-64 jsgd-overflow-y-auto jsgd-backdrop-blur-md jsgd-box-border dark:jsgd-bg-slate-800/95 dark:jsgd-border-blue-400",{"jsgd-border-red-400 dark:jsgd-border-red-400":s.error,"jsgd-mt-1 jsgd-border-t-1 jsgd-border-solid jsgd-border-slate-300 dark:jsgd-border-slate-600 focus-within:jsgd-border-blue-500 dark:focus-within:jsgd-border-blue-400":w.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,B=>(e.openBlock(),e.createElementBlock("li",{key:B,onMousedown:e.withModifiers(_=>F(B),["prevent"]),class:e.normalizeClass(["jsgd-px-4 jsgd-py-3 jsgd-cursor-pointer jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-50 dark:hover:jsgd-bg-slate-700",{"jsgd-bg-blue-50 jsgd-text-blue-700 jsgd-font-medium dark:jsgd-bg-blue-900/30 dark:jsgd-text-blue-300":i(B,t.modelValue)}])},[e.createElementVNode("div",$d,[e.createElementVNode("span",Sd,e.toDisplayString(B===""?"— Empty —":N(B)),1),B===t.modelValue?(e.openBlock(),e.createElementBlock("svg",Dd,[...V[7]||(V[7]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):e.createCommentVNode("",!0)])],42,Cd))),128)),t.withCreate&&g.value&&U(g.value)?(e.openBlock(),e.createElementBlock("li",{key:0,onMousedown:V[3]||(V[3]=e.withModifiers(B=>h.value=!0,["prevent"])),class:"jsgd-px-4 jsgd-py-3 jsgd-cursor-pointer jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-50 jsgd-text-blue-600 jsgd-font-medium dark:jsgd-text-blue-400 dark:hover:jsgd-bg-slate-700"},[e.createElementVNode("div",Td,[V[8]||(V[8]=e.createElementVNode("svg",{class:"jsgd-w-5 jsgd-h-5 jsgd-text-blue-600 dark:jsgd-text-blue-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})],-1)),e.createTextVNode(" "+e.toDisplayString(e.unref(d)?.btn?.add??"Create new")+' "'+e.toDisplayString(g.value)+'" ',1)])],32)):e.createCommentVNode("",!0),S.value.length===0?(e.openBlock(),e.createElementBlock("li",Md,e.toDisplayString(t.withCreate?"No matches. Create new data":"No options available"),1)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),h.value&&t.withCreate?.schema?(e.openBlock(),e.createBlock(e.unref(Le),{key:2,schema:t.withCreate.schema,"initial-data":{name:g.value},onSubmit:Z,onCancel:V[4]||(V[4]=()=>h.value=!1)},null,8,["schema","initial-data"])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ce),{ref_key:"loader",ref:u},null,512)]))}}),Ld={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Id=["for"],Ad={class:"jsgd-relative"},Fd={class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-500 jsgd-pointer-events-none dark:jsgd-text-slate-400"},zd=["id","value","disabled","placeholder"],Ud={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},ht=e.defineComponent({__name:"CurrencyInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=e.computed(()=>l?.value?.lang??"en"),{formattedValue:n,currencySymbol:j,onInput:g,onBlur:h}=Rs(s,o),u=e.computed(()=>{if(s.validate){const i=s.validate,m=[];return i.min!==void 0&&m.push(I("numberMin",{min:String(i.min)},c.value)),i.max!==void 0&&m.push(I("numberMax",{max:String(i.max)},c.value)),m.join(`
2
+ `)}return""}),a=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:i,disabled:m,validate:N})=>{if(m){a.value=[],o("remove:error",s.id);return}const w=[],b=i;N&&b!==null&&b!==void 0&&(N.min!==void 0&&b<N.min&&w.push(I("numberMin",{min:String(N.min)},c.value)),N.max!==void 0&&b>N.max&&w.push(I("numberMax",{max:String(N.max)},c.value))),a.value=w,w.length?o("push:error",w,s.id):o("remove:error",s.id)},{deep:!0,immediate:!0});const r=e.computed(()=>s.placeholder??l.value.placeholder?.number??"");return(i,m)=>(e.openBlock(),e.createElementBlock("div",Ld,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":a.value.length||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),u.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:u.value,as:"strong"},{default:e.withCtx(()=>[...m[2]||(m[2]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Id),e.createElementVNode("div",Ad,[e.createElementVNode("div",Fd,e.toDisplayString(e.unref(j)),1),e.createElementVNode("input",{id:t.id,type:"text",inputmode:"numeric",value:e.unref(n),disabled:t.disabled,onInput:m[0]||(m[0]=(...N)=>e.unref(g)&&e.unref(g)(...N)),onBlur:m[1]||(m[1]=(...N)=>e.unref(h)&&e.unref(h)(...N)),placeholder:r.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-10 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":a.value.length||t.error}])},null,42,zd)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(N,w)=>(e.openBlock(),e.createElementBlock("p",{key:w,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(N),1))),128)),typeof s.error=="string"&&a.value.length===0?(e.openBlock(),e.createElementBlock("p",Ud,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),Od={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Kd=["for"],Rd={class:"jsgd-flex jsgd-items-center jsgd-gap-1"},Pd=["onClick","onMouseenter"],Hd={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},vt=e.defineComponent({__name:"RateInput",props:{id:{default:ae()},label:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue"],setup(t,{emit:f}){const s=t,o=f,d=e.ref(s.modelValue??0),l=e.ref(0),c=e.computed(()=>s.validate?.max??5);e.watch(()=>s.modelValue,j=>{d.value=j??0});function n(j){if(s.disabled)return;const g=d.value===j?0:j;d.value=g,o("update:modelValue",g,s.id)}return(j,g)=>(e.openBlock(),e.createElementBlock("div",Od,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":t.error}])},e.toDisplayString(t.label),11,Kd),e.createElementVNode("div",Rd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,h=>(e.openBlock(),e.createElementBlock("span",{key:h,class:e.normalizeClass(["jsgd-i-mdi-star","jsgd-w-7 jsgd-h-7 jsgd-transition-all jsgd-duration-200",{"jsgd-text-yellow-400 hover:jsgd-text-yellow-300 jsgd-cursor-pointer":h<=(l.value||d.value),"jsgd-text-slate-300 hover:jsgd-text-yellow-300 jsgd-cursor-pointer dark:jsgd-text-slate-600":h>(l.value||d.value),"jsgd-transform jsgd-scale-110":h===l.value,"jsgd-opacity-60 jsgd-cursor-not-allowed":t.disabled}]),onClick:u=>!t.disabled&&n(h),onMouseenter:u=>!t.disabled&&(l.value=h),onMouseleave:g[0]||(g[0]=u=>!t.disabled&&(l.value=0))},null,42,Pd))),128))]),typeof s.error=="string"?(e.openBlock(),e.createElementBlock("p",Hd,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),_d={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},qd=["for"],Wd={class:"jsgd-relative"},Gd=["id","value","disabled","min","max","placeholder"],Jd={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},kt=e.defineComponent({__name:"DateInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels;e.computed(()=>d?.value?.lang??"en");const l=f,c=e.computed(()=>{if(s.validate){const h=s.validate,u=[];return h.minDate&&u.push(I("dateMin",{min:h.minDate},s.lang??"en")),h.maxDate&&u.push(I("dateMax",{max:h.maxDate},s.lang??"en")),u.join(`
3
+ `)}return""}),n=e.ref([]);e.watch(()=>[s.modelValue,s.disabled,s.validate],([h,u,a])=>{if(u){n.value=[];return}const r=[],i=he(h);if(a&&typeof a=="object"){try{he(h)}catch(E){n.value=[String(E)],l("push:error",n.value,s.id);return}const{minDate:m,maxDate:N}=a,w=m?he(m):void 0,b=N?he(N):void 0;w&&i&&i<w&&r.push(I("dateMin",{min:he(w)},s.lang??"en")),b&&i&&i>b&&r.push(I("dateMax",{max:he(b)},s.lang??"en"))}n.value=r,r.length?l("push:error",r,s.id):l("remove:error",s.id)}),e.onMounted(()=>{if(s.modelValue)try{he(s.modelValue)}catch(h){n.value=[String(h)],l("push:error",n.value,s.id);return}});const j=e.computed(()=>s.placeholder??d?.value?.placeholder?.date??"");function g(h){if(s.disabled)return;const u=h.target;l("update:modelValue",u.value,s.id)}return(h,u)=>(e.openBlock(),e.createElementBlock("div",_d,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":n.value.length||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),c.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:c.value,as:"strong"},{default:e.withCtx(()=>[...u[0]||(u[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,qd),e.createElementVNode("div",Wd,[u[1]||(u[1]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-right-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-pointer-events-none jsgd-text-slate-500 dark:jsgd-text-slate-400"},[e.createElementVNode("span",{class:"jsgd-i-mdi-calendar jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:"date",value:t.modelValue,disabled:t.disabled,min:s.validate?.minDate,max:s.validate?.maxDate,onInput:g,placeholder:j.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-px-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-appearance-none focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700 [color-scheme:light_dark] [&::-webkit-calendar-picker-indicator]:jsgd-opacity-0 [&::-webkit-calendar-picker-indicator]:jsgd-cursor-pointer [&::-webkit-calendar-picker-indicator]:jsgd-absolute [&::-webkit-calendar-picker-indicator]:jsgd-right-3 [&::-webkit-calendar-picker-indicator]:jsgd-top-1/2 [&::-webkit-calendar-picker-indicator]:-jsgd-translate-y-1/2 [&::-webkit-calendar-picker-indicator]:jsgd-w-6 [&::-webkit-calendar-picker-indicator]:jsgd-h-6",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":n.value.length||t.error}])},null,42,Gd)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(a,r)=>(e.openBlock(),e.createElementBlock("p",{key:r,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(a),1))),128)),typeof s.error=="string"&&n.value.length===0?(e.openBlock(),e.createElementBlock("p",Jd,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),Zd={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Qd=["for"],Yd={class:"jsgd-relative"},Xd=["id","value","disabled","min","max","placeholder"],el={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},yt=e.defineComponent({__name:"DateTimeInput",props:{id:{type:String,default:()=>ae()},label:{type:String,required:!0},placeholder:String,modelValue:{type:String,default:""},error:[String,Array],disabled:Boolean,validate:Object,lang:String,outputFormat:{type:String,default:"local-offset"}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=f;function c(a){if(!a)return"";if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(a))return a;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(a))return a.substring(0,16);try{const r=new Date(a);if(isNaN(r.getTime()))return"";const i=r.getFullYear(),m=(r.getMonth()+1).toString().padStart(2,"0"),N=r.getDate().toString().padStart(2,"0"),w=r.getHours().toString().padStart(2,"0"),b=r.getMinutes().toString().padStart(2,"0");return`${i}-${m}-${N}T${w}:${b}`}catch{return""}}const n=e.computed(()=>c(s.modelValue)),j=e.computed(()=>{if(s.validate){const a=s.validate,r=[];return a.minDateTime&&r.push(I("dateTimeMin",{min:a.minDateTime},s.lang??"en")),a.maxDateTime&&r.push(I("dateTimeMax",{max:a.maxDateTime},s.lang??"en")),r.join(`
4
+ `)}return""}),g=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:a,disabled:r,validate:i})=>{if(r){g.value=[];return}const m=[],N=c(a);if(i){const{minDateTime:w,maxDateTime:b}=i;if(N){const E=w?c(w):void 0,S=b?c(b):void 0;E&&N<E&&m.push(I("dateTimeMin",{min:String(E)},s.lang??"en")),S&&N>S&&m.push(I("dateTimeMax",{max:String(S)},s.lang??"en"))}}g.value=m,m.length?l("push:error",m,s.id):l("remove:error",s.id)},{deep:!0,immediate:!0});const h=e.computed(()=>s.placeholder??d?.value?.placeholder?.datetime??"");function u(a){if(s.disabled)return;const i=a.target.value;if(!i){l("update:modelValue","",s.id);return}const m=`${i}:00`,N=new Date(m);let w="";if(s.outputFormat==="utc")w=N.toISOString();else{const b=N.getTimezoneOffset(),E=Math.abs(b/60),S=Math.abs(b%60),F=`${b>0?"-":"+"}${String(E).padStart(2,"0")}:${String(S).padStart(2,"0")}`;w=`${m}${F}`}l("update:modelValue",w,s.id)}return(a,r)=>(e.openBlock(),e.createElementBlock("div",Zd,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":g.value.length||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),j.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:j.value,as:"strong"},{default:e.withCtx(()=>[...r[0]||(r[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Qd),e.createElementVNode("div",Yd,[r[1]||(r[1]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-right-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-pointer-events-none jsgd-text-slate-500 dark:jsgd-text-slate-400"},[e.createElementVNode("span",{class:"jsgd-i-mdi-calendar-clock jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:"datetime-local",value:n.value,disabled:t.disabled,min:s.validate?.minDateTime,max:s.validate?.maxDateTime,onInput:u,placeholder:h.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-px-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-appearance-none focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700 [color-scheme:light_dark] [&::-webkit-calendar-picker-indicator]:jsgd-opacity-0 [&::-webkit-calendar-picker-indicator]:jsgd-cursor-pointer [&::-webkit-calendar-picker-indicator]:jsgd-absolute [&::-webkit-calendar-picker-indicator]:jsgd-right-3 [&::-webkit-calendar-picker-indicator]:jsgd-top-1/2 [&::-webkit-calendar-picker-indicator]:-jsgd-translate-y-1/2 [&::-webkit-calendar-picker-indicator]:jsgd-w-6 [&::-webkit-calendar-picker-indicator]:jsgd-h-6",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":g.value.length||t.error}])},null,42,Xd)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(i,m)=>(e.openBlock(),e.createElementBlock("p",{key:m,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(i),1))),128)),typeof s.error=="string"&&g.value.length===0?(e.openBlock(),e.createElementBlock("p",el,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),tl={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},sl=["for"],dl={class:"jsgd-relative"},ll=["id","value","disabled","placeholder"],al={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},xt=e.defineComponent({__name:"EmailInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=String(s.modelValue??""),l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=f,n=e.computed(()=>{if(s.validate){const u=s.validate,a=[];return Array.isArray(u.duplicate)&&a.push(I("valueList",{value:u.duplicate.join(", ")},s.lang??"en")),a.join(`
5
+ `)}return""}),j=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:u,disabled:a,validate:r})=>{if(a){j.value=[];return}const i=[],m=String(u??"");if(r&&Array.isArray(r.duplicate)&&r.duplicate.length>0){const N=r.duplicate.map(String).includes(m),w=String(o)===m;N&&!w&&i.push(I("valueList",{value:m},s.lang??"en"))}it.test(m)||i.push(I("email",void 0,s.lang??"en")),j.value=i,i.length?c("push:error",i,s.id):c("remove:error",s.id)});const g=e.computed(()=>s.placeholder??l?.value?.placeholder?.email??"");function h(u){if(s.disabled)return;const a=u.target;c("update:modelValue",a.value,s.id)}return(u,a)=>(e.openBlock(),e.createElementBlock("div",tl,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":j.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),n.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:n.value,as:"strong"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,sl),e.createElementVNode("div",dl,[a[1]||(a[1]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-pointer-events-none"},[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"}),e.createElementVNode("polyline",{points:"22,6 12,13 2,6"})])],-1)),e.createElementVNode("input",{id:t.id,type:"email",value:t.modelValue,disabled:t.disabled,onInput:h,placeholder:g.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-11 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":j.value.length!==0||t.error}])},null,42,ll)]),j.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(j.value,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(r),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&j.value.length===0?(e.openBlock(),e.createElementBlock("p",al,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),rl={class:"jsgd-w-full jsgd-mb-4"},ol=["for"],nl={key:0,class:"jsgd-flex jsgd-flex-col jsgd-gap-3 jsgd-mb-6"},il={class:"jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-min-w-0"},gl={class:"jsgd-flex jsgd-flex-col jsgd-overflow-hidden"},cl={class:"jsgd-font-medium jsgd-text-slate-900 jsgd-truncate dark:jsgd-text-slate-100"},ul={class:"jsgd-text-xs jsgd-text-slate-500 dark:jsgd-text-slate-400"},jl=["onClick"],ml={key:1,class:"jsgd-text-center jsgd-py-8 jsgd-px-4 jsgd-text-slate-400 jsgd-italic dark:jsgd-text-slate-500"},fl={class:"jsgd-text-center jsgd-mt-4"},bl=["id","disabled"],pl=["for"],hl=["disabled"],vl={class:"jsgd-mt-2 jsgd-flex jsgd-flex-col jsgd-gap-1"},wt=e.defineComponent({__name:"FileArrayInput",props:{id:{default:ae},label:{},modelValue:{default:()=>[]},disabled:{type:Boolean},validate:{},lang:{},error:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=e.inject("TableComponents")?.ShowAlert,n=e.ref([]),j=e.ref([]),g=e.computed(()=>j.value.length>0?j.value:typeof s.error=="string"?[s.error]:Array.isArray(s.error)?s.error:[]),h=e.computed(()=>s.disabled?!0:s.validate?.maxFiles!==void 0?!!(s.modelValue&&s.modelValue.length>=s.validate.maxFiles):!1),u=e.computed(()=>{if(!s.validate)return"";const w=s.validate,b=[];return w.maxFiles&&b.push(I("fileMaxFiles",{max:w.maxFiles},s.lang??"en")),w.allowedTypes&&b.push(I("fileType",{},s.lang??"en")+` (${w.allowedTypes.join(", ")})`),w.maxSize&&b.push(I("fileMaxSize",{max:w.maxSize},s.lang??"en")),b.join(`
6
+ `)});e.watch(()=>s.modelValue,w=>{if(!w||w.length===0){n.value=[],m();return}n.value=w.map(b=>b instanceof File?{name:b.name,size:`${(b.size/1024).toFixed(2)} KB`}:{name:b,size:"N/A"}),m()},{immediate:!0,deep:!0});function a(){if(s.disabled)return;if(h.value){c?.("error",I("fileMaxFiles",{max:s.validate.maxFiles},s.lang??"en"));return}const w=prompt(l.value.placeholder?.url??"Please enter the file URL");if(w)if(w.startsWith("http://")||w.startsWith("https://")){const b=s.modelValue||[];o("update:modelValue",[...b,w])}else c?.("error","Invalid URL",["Please enter a valid URL starting with http:// or https://"])}function r(w){if(s.disabled)return;const b=w.target,E=b.files;if(!E||E.length===0)return;const S=s.modelValue||[],U=s.validate?.maxFiles;if(U&&S.length+E.length>U){c?.("error",I("fileMaxFiles",{max:U},s.lang??"en")),b.value="";return}const F=[],Z=s.validate?.allowedTypes?.map(D=>D.toLowerCase())??[];for(const D of Array.from(E)){const V=D.name.split(".").pop()?.toLowerCase();if(Z.length>0&&(!V||!Z.includes(V))){c?.("error","Invalid file type",[I("fileType",{},s.lang??"en")+` (${s.validate?.allowedTypes?.join(", ")})`]);continue}F.push(D)}o("update:modelValue",[...S,...F]),b.value=""}function i(w){if(s.disabled)return;const b=[...s.modelValue||[]];b.splice(w,1),o("update:modelValue",b)}function m(){if(!s.validate||!s.modelValue||s.modelValue.length===0){j.value=[],o("remove:error",s.id);return}const w=[];s.validate.maxFiles&&s.modelValue.length>s.validate.maxFiles&&w.push(I("fileMaxFiles",{max:s.validate.maxFiles},s.lang??"en")),s.modelValue.forEach((b,E)=>{if(b instanceof File){const S=N(b,E+1);w.push(...S)}}),j.value=[...new Set(w)],j.value.length>0?o("push:error",j.value,s.id):o("remove:error",s.id)}function N(w,b){const E=[],S=s.validate;if(S.allowedTypes){const U=w.name.split(".").pop()?.toLowerCase();(!U||!S.allowedTypes.map(F=>F.toLowerCase()).includes(U))&&E.push(`File #${b} (${w.name}): `+I("fileType",{},s.lang??"en")+` (${S.allowedTypes.join(", ")})`)}return S.maxSize&&w.size/1024>S.maxSize&&E.push(`File #${b} (${w.name}): `+I("fileMaxSize",{max:S.maxSize},s.lang??"en")),E}return(w,b)=>(e.openBlock(),e.createElementBlock("div",rl,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":g.value.length!==0}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),u.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:u.value,as:"strong"},{default:e.withCtx(()=>[...b[0]||(b[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,ol),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-white jsgd-border-2 jsgd-border-dashed jsgd-border-slate-300 jsgd-rounded-xl jsgd-p-6 jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-50 hover:jsgd-border-blue-500 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-700 dark:hover:jsgd-border-blue-400",{"jsgd-border-red-300 dark:jsgd-border-red-800":g.value.length!==0}])},[n.value.length>0?(e.openBlock(),e.createElementBlock("div",nl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(E,S)=>(e.openBlock(),e.createElementBlock("div",{key:S,class:"jsgd-group jsgd-flex jsgd-items-center jsgd-justify-between jsgd-p-3 jsgd-bg-slate-50 jsgd-border jsgd-border-slate-200 jsgd-rounded-lg jsgd-shadow-sm jsgd-transition-all jsgd-duration-200 jsgd-animate-[slideInFade_500ms_ease-out_backwards] hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600",style:e.normalizeStyle({animationDelay:`${S*60}ms`})},[e.createElementVNode("div",il,[b[1]||(b[1]=e.createElementVNode("span",{class:"jsgd-text-2xl jsgd-text-slate-500 jsgd-shrink-0 dark:jsgd-text-slate-400"},"📄",-1)),e.createElementVNode("div",gl,[e.createElementVNode("span",cl,e.toDisplayString(E.name),1),e.createElementVNode("span",ul,e.toDisplayString(E.size),1)])]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,onClick:U=>i(S),class:"jsgd-w-6 jsgd-h-6 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-pb-[5px] jsgd-shrink-0 jsgd-ml-4 jsgd-text-xl jsgd-font-bold jsgd-text-white jsgd-bg-red-500 jsgd-rounded-full jsgd-border-none jsgd-cursor-pointer jsgd-opacity-0 jsgd-scale-50 jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-red-600 hover:jsgd-scale-110 hover:jsgd-rotate-90 group-hover:jsgd-opacity-100 group-hover:jsgd-scale-100","aria-label":"Remove file"}," × ",8,jl))],4))),128))])):(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("p",null,e.toDisplayString(e.unref(l)?.message?.noItemSelected),1)])),e.createElementVNode("div",fl,[e.createElementVNode("input",{id:t.id,type:"file",multiple:"",onChange:r,class:"jsgd-hidden",disabled:h.value},null,40,bl),e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-border-none jsgd-rounded-lg jsgd-text-white jsgd-bg-blue-500 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-blue-600 hover:jsgd-scale-105 hover:jsgd-shadow-lg disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-blue-600 dark:hover:jsgd-bg-blue-500 dark:disabled:jsgd-bg-slate-700 dark:disabled:jsgd-text-slate-400 before:jsgd-content-['+'] before:jsgd-text-lg before:jsgd-leading-none",{"jsgd-opacity-60 jsgd-cursor-not-allowed":h.value}])},e.toDisplayString(e.unref(l)?.btn?.upload??"Upload"),11,pl),e.createElementVNode("button",{type:"button",onClick:a,disabled:h.value,class:"jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-border-none jsgd-rounded-lg jsgd-text-white jsgd-bg-slate-600 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-slate-700 hover:jsgd-scale-105 hover:jsgd-shadow-lg disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-500 dark:hover:jsgd-bg-slate-400"}," URL ",8,hl)])],2),e.createElementVNode("div",vl,[g.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.value,(E,S)=>(e.openBlock(),e.createElementBlock("p",{key:S,class:"jsgd-text-sm jsgd-text-red-500 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(E),1))),128)):e.createCommentVNode("",!0)])]))}}),kl={class:"jsgd-w-full jsgd-mb-4"},yl=["for"],xl={class:"jsgd-flex jsgd-flex-col jsgd-items-center jsgd-justify-center jsgd-p-8 jsgd-gap-5 jsgd-relative jsgd-overflow-hidden"},wl=["id","disabled"],Vl={class:"jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-z-10"},El=["for"],Bl=["disabled"],Nl={key:0,class:"jsgd-w-full jsgd-p-4 jsgd-bg-blue-50 jsgd-rounded-lg jsgd-text-sm jsgd-text-slate-600 jsgd-animate-[slideUpFade_400ms_ease-out] jsgd-z-10 dark:jsgd-bg-blue-900/20 dark:jsgd-text-slate-300"},Cl={class:"jsgd-m-0 jsgd-leading-relaxed jsgd-break-words"},$l={key:0,class:"jsgd-m-0 jsgd-leading-relaxed jsgd-break-words"},Sl={key:1,class:"jsgd-m-0 jsgd-leading-relaxed jsgd-break-words"},Dl={class:"jsgd-mt-2 jsgd-flex jsgd-flex-col jsgd-gap-1"},Vt=e.defineComponent({__name:"FileInput",props:{id:{default:ae()},label:{},modelValue:{},disabled:{type:Boolean},validate:{},lang:{},error:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=e.inject("TableComponents")?.ShowAlert,c=f,n=e.ref(""),j=e.ref(""),g=e.ref(""),h=e.ref(!0),u=e.ref([]),a=e.computed(()=>{if(s.validate){const b=s.validate,E=[];return b.allowedTypes&&E.push(I("fileType",{},s.lang??"en")+` (${b.allowedTypes.join(", ")})`),b.maxSize&&E.push(I("fileMaxSize",{max:b.maxSize},s.lang??"en")),E.join(`
7
+ `)}return""});e.watch(()=>s.modelValue,b=>{b instanceof File?(n.value=b.name,j.value=`${(b.size/1024).toFixed(2)} KB`,g.value=b.type.split("/").pop()||b.name.split(".").pop()||"unknown",N(b)):typeof b=="string"&&b?(n.value=b.split("/").pop()||b,j.value="N/A",g.value=b.split(".").pop()||"link",u.value=[],c("remove:error",s.id)):w()},{immediate:!0});function r(){if(s.disabled)return;const b=prompt(d.value.placeholder?.url??"Please enter the file URL");b&&(b.startsWith("http://")||b.startsWith("https://")?c("update:modelValue",b,s.id):l?.("error","Invalid URL",["Please enter a valid URL starting with http:// or https://"]))}function i(b){if(s.disabled)return;const S=b.target.files?.[0];S&&c("update:modelValue",S,s.id)}function m(){s.disabled||(c("update:modelValue",null,s.id),c("remove:error",s.id))}function N(b){const E=[];if(s.validate?.allowedTypes){const S=b.name.split(".").pop()?.toLowerCase(),U=s.validate.allowedTypes.map(F=>F.toLowerCase());(!S||!U.includes(S))&&E.push(I("fileType",{},s.lang??"en")+` (${U.join(", ")})`)}s.validate?.maxSize&&(h.value=b.size/1024<=s.validate.maxSize,h.value||E.push(I("fileMaxSize",{max:s.validate.maxSize},s.lang??"en"))),u.value=E,E.length?c("push:error",E,s.id):c("remove:error",s.id)}function w(){n.value="",j.value="",g.value="",u.value=[]}return(b,E)=>(e.openBlock(),e.createElementBlock("div",kl,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":u.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),a.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:a.value,as:"strong"},{default:e.withCtx(()=>[...E[0]||(E[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,yl),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-slate-50 jsgd-border-2 jsgd-border-dashed jsgd-border-slate-300 jsgd-rounded-xl jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-100 hover:jsgd-border-blue-500 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-700 dark:hover:jsgd-border-blue-400",{"jsgd-border-red-300 dark:jsgd-border-red-800":u.value.length!==0||t.error}])},[e.createElementVNode("div",xl,[E[4]||(E[4]=e.createStaticVNode('<div class="jsgd-absolute jsgd-top-1/2 jsgd-left-1/2 -jsgd-translate-x-1/2 -jsgd-translate-y-1/2 jsgd-w-16 jsgd-h-16 jsgd-opacity-10 jsgd-text-slate-900 jsgd-pointer-events-none jsgd-transition-opacity jsgd-duration-200 group-hover:jsgd-opacity-20 dark:jsgd-text-slate-100"><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg></div>',1)),e.createElementVNode("input",{id:t.id,type:"file",onChange:i,class:"jsgd-hidden",disabled:s.disabled},null,40,wl),e.createElementVNode("div",Vl,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-blue-600 jsgd-text-white hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-400",{"jsgd-opacity-60 jsgd-cursor-not-allowed":s.disabled}])},e.toDisplayString(e.unref(d)?.btn?.upload??"Upload"),11,El),e.createElementVNode("button",{type:"button",onClick:r,disabled:s.disabled,class:"jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-slate-600 jsgd-text-white hover:jsgd-bg-slate-700 dark:jsgd-bg-slate-500 dark:hover:jsgd-bg-slate-400"}," URL ",8,Bl),n.value&&!s.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:m,class:"jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-red-500 jsgd-text-white hover:jsgd-bg-red-600 dark:jsgd-bg-red-600 dark:hover:jsgd-bg-red-500"},e.toDisplayString(e.unref(d)?.btn?.remove||"Hapus"),1)):e.createCommentVNode("",!0)]),n.value?(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("p",Cl,[E[1]||(E[1]=e.createElementVNode("b",{class:"jsgd-text-slate-900 dark:jsgd-text-slate-100"},"Name:",-1)),e.createTextVNode(" "+e.toDisplayString(n.value),1)]),j.value?(e.openBlock(),e.createElementBlock("p",$l,[E[2]||(E[2]=e.createElementVNode("b",{class:"jsgd-text-slate-900 dark:jsgd-text-slate-100"},"Size:",-1)),e.createTextVNode(" "+e.toDisplayString(j.value),1)])):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("p",Sl,[E[3]||(E[3]=e.createElementVNode("b",{class:"jsgd-text-slate-900 dark:jsgd-text-slate-100"},"Type:",-1)),e.createTextVNode(" "+e.toDisplayString(g.value),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Dl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(S,U)=>(e.openBlock(),e.createElementBlock("p",{key:U,class:"jsgd-text-sm jsgd-text-red-500 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(S),1))),128))])],2)]))}}),Tl={class:"jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-lg jsgd-p-6 jsgd-shadow-xl jsgd-transition-all jsgd-duration-200 jsgd-animate-[fadeIn_400ms_ease-out] jsgd-mb-4 jsgd-z-10 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},Ml={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mb-4 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Ll={class:"jsgd-relative jsgd-mb-2"},Il={key:0,class:"jsgd-absolute jsgd-list-none jsgd-z-200 jsgd-w-full jsgd-px-2 jsgd-mx-0 jsgd-mt-[-1px] jsgd-py-2 jsgd-bg-white/95 jsgd-border-1 jsgd-border-solid jsgd-border-blue-500 jsgd-border-t-0 jsgd-rounded-b-lg jsgd-shadow-xl jsgd-max-h-64 jsgd-overflow-y-auto jsgd-backdrop-blur-md jsgd-box-border dark:jsgd-bg-slate-800/95 dark:jsgd-border-blue-400"},Al=["onMousedown"],Fl={class:"jsgd-flex jsgd-items-center jsgd-justify-between jsgd-gap-4"},zl={class:"jsgd-truncate"},Ul={key:0,class:"jsgd-i-mdi-check jsgd-w-5 jsgd-h-5 jsgd-text-blue-500 jsgd-shrink-0 jsgd-transition-all jsgd-duration-200 dark:jsgd-text-blue-400"},Ol={class:"jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-font-medium jsgd-text-slate-900 jsgd-cursor-pointer dark:jsgd-text-slate-100 jsgd-group"},Kl=["value"],Rl={key:0,class:"jsgd-mt-4 jsgd-pt-4 jsgd-px-4 jsgd-border-1.5 jsgd-rounded-2xl jsgd-border-solid jsgd-border-blue-500 jsgd-animate-[revealContent_400ms_ease-out] jsgd-overflow-visible dark:jsgd-border-blue-400"},Et=e.defineComponent({__name:"GroupRenderer",props:{id:{default:ae()},label:{},typeDesign:{},options:{},optionsLabels:{},withValue:{type:Boolean},formData:{},defaultValue:{},required:{type:Boolean},disabled:{type:Boolean},errors:{},error:{},lang:{}},emits:["update:model-value","push:errors","remove:errors","selected-option-change","multi-selected-change"],setup(t,{emit:f}){const s=f,o=t,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[o.lang??"en"])}).labels,{selectedOption:c,multiSelected:n,errorPush:j,errorRemove:g}=Ks(o,s),h=e.ref(!1);function u(a){c.value=a,h.value=!1}return(a,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("label",{class:e.normalizeClass(["jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":o.error}])},e.toDisplayString(t.label),3),e.createElementVNode("div",Tl,[o.error?(e.openBlock(),e.createElementBlock("p",Ml,e.toDisplayString(o.error),1)):e.createCommentVNode("",!0),t.typeDesign==="select"||t.typeDesign==="dropdown"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Ll,[e.createElementVNode("div",{onClick:r[0]||(r[0]=i=>h.value=!h.value),class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-4 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-cursor-pointer jsgd-flex jsgd-items-center jsgd-justify-between focus-visible:jsgd-outline-none focus-visible:jsgd-border-blue-500 focus-visible:jsgd-ring-4 focus-visible:jsgd-ring-blue-500/20 dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus-visible:jsgd-border-blue-400 dark:focus-visible:jsgd-ring-blue-400/25",{"jsgd-rounded-b-none":h.value}])},[e.createElementVNode("span",{class:e.normalizeClass({"jsgd-text-slate-400 dark:jsgd-text-slate-500":!e.unref(c)})},e.toDisplayString(e.unref(c)?o.optionsLabels?.[e.unref(c)]??e.unref(c):e.unref(l)?.placeholder?.select),3),e.createElementVNode("span",{class:e.normalizeClass(["jsgd-i-mdi-chevron-down jsgd-w-5 jsgd-h-5 jsgd-transition-transform jsgd-duration-200 jsgd-text-slate-500 dark:jsgd-text-slate-400",{"jsgd-rotate-180":h.value}])},null,2)],2),e.createVNode(e.Transition,{"enter-active-class":"jsgd-animate-[slideDownFade_200ms_ease-out]","leave-active-class":"jsgd-transition-opacity jsgd-duration-100 jsgd-ease-in","leave-from-class":"jsgd-opacity-100","leave-to-class":"jsgd-opacity-0"},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createElementBlock("ul",Il,[t.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",{key:0,onMousedown:r[1]||(r[1]=e.withModifiers(i=>u(null),["prevent"])),class:"jsgd-px-4 jsgd-py-3 jsgd-cursor-pointer jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-50 dark:hover:jsgd-bg-slate-700"},e.toDisplayString(e.unref(l)?.noSelection),33)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,m)=>(e.openBlock(),e.createElementBlock("li",{key:m,onMousedown:e.withModifiers(N=>u(m),["prevent"]),class:e.normalizeClass(["jsgd-px-4 jsgd-py-3 jsgd-cursor-pointer jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-50 dark:hover:jsgd-bg-slate-700",{"jsgd-bg-blue-50 jsgd-text-blue-700 jsgd-font-medium dark:jsgd-bg-blue-900/30 dark:jsgd-text-blue-300":e.unref(c)===m}])},[e.createElementVNode("div",Fl,[e.createElementVNode("span",zl,e.toDisplayString(o.optionsLabels?.[m]??m),1),e.unref(c)===m?(e.openBlock(),e.createElementBlock("span",Ul)):e.createCommentVNode("",!0)])],42,Al))),128))])):e.createCommentVNode("",!0)]),_:1})]),e.unref(c)&&t.options[e.unref(c)]?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.options[e.unref(c)],(i,m)=>(e.openBlock(),e.createBlock(e.unref(Be),{class:"jsgd-mt-6 jsgd-animate-[revealContent_400ms_ease-out]","form-data":o.formData,errors:t.errors,lang:t.lang??"en","onUpdate:modelValue":(N,w)=>a.$emit("update:model-value",N,w),"onPush:errors":e.unref(j),"onRemove:errors":e.unref(g),onMultiSelectedChange:(N,w)=>a.$emit("multi-selected-change",N,w),onSelectedOptionChange:(N,w)=>a.$emit("selected-option-change",N,w),key:m,field:i,"field-key":m},null,8,["form-data","errors","lang","onUpdate:modelValue","onPush:errors","onRemove:errors","onMultiSelectedChange","onSelectedOptionChange","field","field-key"]))),128)):e.createCommentVNode("",!0)],64)):t.typeDesign==="cekbox"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(t.options,(i,m)=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"jsgd-mb-4 jsgd-p-4 jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 has-[:checked]:jsgd-border-blue-500 has-[:checked]:jsgd-bg-blue-50/50 dark:jsgd-border-slate-700 dark:has-[:checked]:jsgd-border-blue-400 dark:has-[:checked]:jsgd-bg-blue-900/20 last:jsgd-mb-0"},[e.createElementVNode("label",Ol,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":r[2]||(r[2]=N=>e.isRef(n)?n.value=N:null),value:m,class:"jsgd-opacity-0 jsgd-w-0 jsgd-h-0 jsgd-absolute peer"},null,8,Kl),[[e.vModelCheckbox,e.unref(n)]]),r[3]||(r[3]=e.createElementVNode("div",{class:"jsgd-w-5 jsgd-h-5 jsgd-border-1.5 jsgd-border-solid jsgd-border-slate-700 jsgd-rounded jsgd-bg-white jsgd-transition-all jsgd-duration-200 jsgd-shrink-0 jsgd-flex jsgd-items-center jsgd-justify-center peer-checked:jsgd-bg-blue-500 peer-checked:jsgd-border-blue-500 dark:jsgd-border-slate-500 dark:jsgd-bg-slate-800 dark:peer-checked:jsgd-bg-blue-500"},[e.createElementVNode("span",{class:"jsgd-i-mdi-check jsgd-w-3.5 jsgd-h-3.5 dark:jsgd-text-white jsgd-opacity-0 group-has-[:checked]:jsgd-opacity-100 jsgd-transition-opacity"})],-1)),e.createTextVNode(" "+e.toDisplayString(o.optionsLabels?.[m]??m),1)]),e.unref(n).includes(m)?(e.openBlock(),e.createElementBlock("div",Rl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i,(N,w)=>(e.openBlock(),e.createBlock(e.unref(Be),{key:w,field:N,"field-key":w,"form-data":o.formData,errors:t.errors,lang:t.lang??"en","onUpdate:modelValue":(b,E)=>a.$emit("update:model-value",b,E),"onPush:errors":e.unref(j),"onRemove:errors":e.unref(g),onMultiSelectedChange:(b,E)=>a.$emit("multi-selected-change",b,E),onSelectedOptionChange:(b,E)=>a.$emit("selected-option-change",b,E)},null,8,["field","field-key","form-data","errors","lang","onUpdate:modelValue","onPush:errors","onRemove:errors","onMultiSelectedChange","onSelectedOptionChange"]))),128))])):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)])]))}}),Pl={class:"jsgd-w-full jsgd-mb-4"},Hl=["for"],_l={key:0,class:"jsgd-mb-4 jsgd-p-4 jsgd-bg-blue-50 jsgd-border jsgd-border-blue-200 jsgd-rounded-lg dark:jsgd-bg-blue-900/20 dark:jsgd-border-blue-800"},ql={class:"jsgd-flex jsgd-items-center jsgd-gap-4"},Wl={class:"jsgd-shrink-0 jsgd-w-16 jsgd-h-16 jsgd-bg-white jsgd-rounded jsgd-border jsgd-border-slate-300 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-overflow-hidden dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600"},Gl=["src"],Jl={key:1,class:"jsgd-text-xs jsgd-text-slate-400"},Zl={class:"jsgd-flex jsgd-flex-col jsgd-gap-2"},Ql={class:"jsgd-flex jsgd-gap-2"},Yl={key:0,class:"jsgd-grid jsgd-grid-cols-2 jsgd-gap-4 jsgd-mb-6 min-[480px]:jsgd-grid-cols-3 md:jsgd-grid-cols-4 lg:jsgd-grid-cols-5"},Xl=["src","alt"],ea=["onClick"],ta={key:1,class:"jsgd-text-center jsgd-py-8 jsgd-px-4 jsgd-text-slate-400 dark:jsgd-text-slate-500"},sa={class:"jsgd-text-center jsgd-mt-4"},da=["id","disabled"],la=["for"],aa=["disabled"],ra={class:"jsgd-mt-2 jsgd-flex jsgd-flex-col jsgd-gap-1"},Bt=e.defineComponent({__name:"ImageArrayInput",props:{id:{default:ae},label:{},modelValue:{default:()=>[]},previewAlt:{},disabled:{type:Boolean},error:{},previewImages:{},validate:{},watermark:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=e.inject("TableComponents")?.ShowAlert,n=e.ref([]),j=e.ref([]),g=e.ref(null),h=e.ref(""),u=e.computed(()=>j.value.length>0?j.value:typeof s.error=="string"?[s.error]:Array.isArray(s.error)?s.error:[]),a=e.computed(()=>s.disabled?!0:!!(s.validate?.maxFiles&&s.modelValue&&s.modelValue.length>=s.validate.maxFiles)),r=e.computed(()=>{if(!s.validate)return"";const D=s.validate,V=[];if(D.maxFiles&&V.push(I("imageMaxFiles",{max:D.maxFiles},s.lang??"en")),D.allowedTypes&&V.push(I("imageType",{},s.lang??"en")+` (${D.allowedTypes.join(", ")})`),D.maxSize&&V.push(I("imageMaxSize",{max:D.maxSize},s.lang??"en")),D.pixel){const B=D.pixel;("minWidth"in B||"maxWidth"in B||"minHeight"in B||"maxHeight"in B)&&(B.minWidth&&V.push(I("imageMinWidth",{min:B.minWidth},s.lang??"en")),B.minHeight&&V.push(I("imageMinHeight",{min:B.minHeight},s.lang??"en")),B.maxWidth&&V.push(I("imageMaxWidth",{max:B.maxWidth},s.lang??"en")),B.maxHeight&&V.push(I("imageMaxHeight",{max:B.maxHeight},s.lang??"en"))),("width"in B||"height"in B)&&V.push(I("imagePixel",{width:B.width??"any",height:B.height??"any"},s.lang??"en"))}return D.ratio&&V.push(I("imageRatio",{w:D.ratio.Width,h:D.ratio.Height},s.lang??"en")),V.join(`
8
+ `)});e.watch(()=>s.modelValue,async D=>{if(!D||D.length===0){n.value=s.previewImages||[],U();return}const V=D.map(B=>new Promise(_=>{if(typeof B=="string")_(B);else if(B instanceof File){const q=new FileReader;q.onload=J=>_(J.target?.result),q.onerror=()=>_(""),q.readAsDataURL(B)}else _("")}));n.value=await Promise.all(V),U()},{immediate:!0,deep:!0});function i(){const D=prompt("Enter Watermark Image URL (https://...):");D&&(D.startsWith("http://")||D.startsWith("https://")?(g.value=D,h.value=D):c?.("error","Invalid URL",["URL must start with http:// or https://"]))}function m(D){const V=D.target,B=V.files?.[0];B&&(g.value=B,h.value=URL.createObjectURL(B)),V.value=""}function N(D,V=!1){return new Promise((B,_)=>{const q=new Image;V&&(q.crossOrigin="anonymous"),q.onload=()=>B(q),q.onerror=J=>{console.error("Failed to load image:",D,J),_(new Error(`Failed to load image: ${D}`))},q.src=D})}async function w(D){if(!s.watermark)return D;let V="";if(s.watermark.url==="upload"){if(!g.value)return console.warn('Watermark config is "upload" but no watermark image set. Skipping watermark.'),D;if(g.value instanceof File)V=URL.createObjectURL(g.value);else if(typeof g.value=="string")V=g.value;else return console.warn("Unsupported watermark source type. Skipping watermark."),D}else V=s.watermark.url;const B=s.watermark,_=URL.createObjectURL(D);try{const[q,J]=await Promise.all([N(_,!1),N(V,!0)]),G=document.createElement("canvas");G.width=q.width,G.height=q.height;const y=G.getContext("2d");if(!y)return D;y.drawImage(q,0,0);let p=J.width,M=J.height;if(typeof B.size=="number")p=B.size,M=B.size;else if(B.size){const R=B.size;p=R.width,M=R.height}let W=0,$=0,L=0,O=0;if(B.margin!==void 0)if(typeof B.margin=="number")W=$=L=O=B.margin;else{const R=B.margin;W=R.top??0,$=R.right??0,L=R.bottom??0,O=R.left??0}let C=0,A=0;const k=G.width,v=G.height,T=B.position??"bottom-right";if(typeof T=="string")if(T==="full")C=0,A=0,p=k,M=v;else switch(T){case"top-left":C=O,A=W;break;case"top-right":C=k-p-$,A=W;break;case"bottom-left":C=O,A=v-M-L;break;case"bottom-right":C=k-p-$,A=v-M-L;break}else if(typeof T=="object"){const R=T;C=R.x,A=R.y}y.save();let x=1;B.opacity!==void 0?x=B.opacity:B.transparant!==void 0&&(x=B.transparant/100),y.globalAlpha=x;const z=C+p/2,K=A+M/2;return y.translate(z,K),B.rotate&&y.rotate(B.rotate*Math.PI/180),y.drawImage(J,-p/2,-M/2,p,M),y.restore(),new Promise((R,X)=>{G.toBlob(de=>{if(de){const oe=new File([de],D.name,{type:D.type});R(oe)}else X(new Error("Canvas toBlob failed"))},D.type)})}catch(q){return console.error(`Watermark application failed for ${D.name}:`,q),c?.("error",`Watermark Error (${D.name})`,["Failed to apply watermark. Using original image."]),D}finally{URL.revokeObjectURL(_),s.watermark.url==="upload"&&g.value instanceof File&&URL.revokeObjectURL(V)}}async function b(){if(s.disabled)return;if(a.value){c?.("error",I("imageMaxFiles",{max:s.validate.maxFiles},s.lang??"en"));return}const D=prompt(l.value.placeholder?.url??"Please enter the image URL");if(D){if(!D.startsWith("http://")&&!D.startsWith("https://")){c?.("error","Invalid URL",["Please enter a valid URL starting with http:// or https://"]);return}const V=s.modelValue||[];if(!s.watermark||!g){o("update:modelValue",[...V,D]);return}try{const B=await fetch(D,{mode:"cors"});if(!B.ok)throw new Error("Failed to fetch image");const _=await B.blob(),q=D.split("/").pop()?.split("?")[0]||`image-${Date.now()}.png`,J=new File([_],q,{type:_.type||"image/png"}),G=await w(J);o("update:modelValue",[...V,G])}catch(B){console.error("URL Watermark Error:",B),confirm("Could not apply watermark due to security (CORS). Add original image instead?")&&o("update:modelValue",[...V,D])}}}async function E(D){if(s.disabled)return;const V=D.target,B=V.files;if(!B||B.length===0)return;const _=s.modelValue||[],q=s.validate?.maxFiles;if(q&&_.length+B.length>q){c?.("error",I("imageMaxFiles",{max:q},s.lang??"en")),V.value="";return}const J=[],G=s.validate?.allowedTypes?.map(p=>p.toLowerCase())??[];for(const p of Array.from(B)){const M=p.name.split(".").pop()?.toLowerCase();if(G.length>0&&(!M||!G.includes(M))){c?.("error","Invalid file type",[I("imageType",{},s.lang??"en")+` (${s.validate?.allowedTypes?.join(", ")})`]);continue}J.push(p)}let y=[];if(s.watermark&&g.value&&J.length>0)try{const p=J.map(M=>w(M));y=await Promise.all(p)}catch(p){console.error("Batch watermarking process failed:",p),V.value="";return}else y=J;y.length>0&&o("update:modelValue",[..._,...y]),V.value=""}function S(D){if(s.disabled)return;const V=[...s.modelValue||[]];V.splice(D,1),o("update:modelValue",V)}async function U(){if(!s.validate||!s.modelValue||s.modelValue.length===0){j.value=[],o("remove:error",s.id);return}const D=[];s.validate.maxFiles&&s.modelValue.length>s.validate.maxFiles&&D.push(I("imageMaxFiles",{max:s.validate.maxFiles},s.lang??"en"));const V=s.modelValue.map((_,q)=>F(_,q+1));(await Promise.all(V)).forEach(_=>D.push(..._)),j.value=[...new Set(D)],j.value.length>0?o("push:error",j.value,s.id):o("remove:error",s.id)}async function F(D,V){const B=[];if(!(D instanceof File))return[];const _=D,q=s.validate;if(q.allowedTypes){const J=_.name.split(".").pop()?.toLowerCase();(!J||!q.allowedTypes.map(G=>G.toLowerCase()).includes(J))&&B.push(`File ${V}: `+I("imageType",{},s.lang??"en")+` (${q.allowedTypes.join(", ")})`)}if(q.maxSize&&_.size/1024>q.maxSize&&B.push(`File ${V}: `+I("imageMaxSize",{max:q.maxSize},s.lang??"en")),q.pixel||q.ratio){const J=await Z(_),G=J.width,y=J.height;if(q.pixel){const p=q.pixel;("minWidth"in p&&p.minWidth&&G<p.minWidth||"minHeight"in p&&p.minHeight&&y<p.minHeight||"maxWidth"in p&&p.maxWidth&&G>p.maxWidth||"maxHeight"in p&&p.maxHeight&&y>p.maxHeight)&&B.push(`File ${V}: Invalid dimensions.`),("width"in p&&p.width&&G!==p.width||"height"in p&&p.height&&y!==p.height)&&B.push(`File ${V}: `+I("imagePixel",{width:p.width??G,height:p.height??y},s.lang??"en"))}if(q.ratio){const p=q.ratio.Width,M=q.ratio.Height,W=xe(G,y),$=xe(p,M);let L=W.w===$.w&&W.h===$.h;if(!L){const O=G/y,C=p/M;L=Math.abs(O-C)<=.01}L||B.push(`File ${V}: `+I("imageRatio",{w:String(p),h:String(M)},s.lang??"en"))}}return B}function Z(D){return new Promise(V=>{const B=new FileReader;B.onload=_=>{const q=new Image;q.onload=()=>V({width:q.width,height:q.height}),q.onerror=()=>V({width:0,height:0}),q.src=_.target?.result},B.onerror=()=>V({width:0,height:0}),B.readAsDataURL(D)})}return(D,V)=>(e.openBlock(),e.createElementBlock("div",Pl,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":u.value.length!==0}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),r.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:r.value,as:"strong"},{default:e.withCtx(()=>[...V[0]||(V[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Hl),s.watermark?.url==="upload"?(e.openBlock(),e.createElementBlock("div",_l,[V[3]||(V[3]=e.createElementVNode("p",{class:"jsgd-text-xs jsgd-font-bold jsgd-uppercase jsgd-text-blue-600 jsgd-mb-2 dark:jsgd-text-blue-400"}," Configuration: Watermark Image ",-1)),e.createElementVNode("div",ql,[e.createElementVNode("div",Wl,[h.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:h.value,alt:"Watermark Preview",class:"jsgd-w-full jsgd-h-full jsgd-object-contain"},null,8,Gl)):(e.openBlock(),e.createElementBlock("span",Jl,"None"))]),e.createElementVNode("div",Zl,[e.createElementVNode("div",Ql,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:m,class:"jsgd-hidden",id:"watermark-upload-input"},null,32),V[1]||(V[1]=e.createElementVNode("label",{for:"watermark-upload-input",class:"jsgd-px-3 jsgd-py-1.5 jsgd-text-xs jsgd-font-medium jsgd-text-white jsgd-bg-slate-600 jsgd-rounded hover:jsgd-bg-slate-700 jsgd-cursor-pointer jsgd-transition-colors"}," Select Image ",-1)),e.createElementVNode("button",{type:"button",onClick:i,class:"jsgd-px-3 jsgd-py-1.5 jsgd-text-xs jsgd-font-medium jsgd-text-white jsgd-bg-slate-600 jsgd-rounded hover:jsgd-bg-slate-700 jsgd-cursor-pointer jsgd-transition-colors"}," Use URL ")]),V[2]||(V[2]=e.createElementVNode("p",{class:"jsgd-text-[10px] jsgd-text-slate-500 dark:jsgd-text-slate-400"}," Set this watermark before uploading your main images. ",-1))])])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-slate-50 jsgd-border-2 jsgd-border-dashed jsgd-border-slate-300 jsgd-rounded-xl jsgd-p-6 jsgd-transition-colors jsgd-duration-200 hover:jsgd-bg-slate-100 hover:jsgd-border-blue-500 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-700 dark:hover:jsgd-border-blue-400",{"jsgd-border-red-300 dark:jsgd-border-red-800":u.value.length!==0}])},[n.value.length>0?(e.openBlock(),e.createElementBlock("div",Yl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(B,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"jsgd-relative jsgd-rounded-lg jsgd-overflow-hidden jsgd-shadow-sm jsgd-transition-all jsgd-duration-200 jsgd-group hover:jsgd-scale-105 hover:jsgd-shadow-lg jsgd-animate-[popIn_0.4s_ease-out_backwards]",style:e.normalizeStyle({animationDelay:`${_*50}ms`})},[e.createElementVNode("img",{src:B,alt:`${t.previewAlt} ${_+1}`,class:"jsgd-block jsgd-w-full jsgd-aspect-square jsgd-object-cover jsgd-bg-white dark:jsgd-bg-transparent"},null,8,Xl),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,onClick:q=>S(_),class:"jsgd-absolute jsgd-top-2 jsgd-right-2 jsgd-w-7 jsgd-h-7 jsgd-pb-[5px] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-text-xl jsgd-font-bold jsgd-leading-none jsgd-text-white jsgd-bg-red-500/80 jsgd-backdrop-blur-sm jsgd-rounded-full jsgd-border-2 jsgd-border-white jsgd-cursor-pointer jsgd-opacity-0 jsgd-scale-50 jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-red-600 hover:jsgd-scale-110 hover:jsgd-rotate-90 group-hover:jsgd-opacity-100 group-hover:jsgd-scale-100","aria-label":"Remove image"}," × ",8,ea))],4))),128))])):(e.openBlock(),e.createElementBlock("div",ta,[e.createElementVNode("p",null,e.toDisplayString(e.unref(l)?.message?.noItemSelected),1)])),e.createElementVNode("div",sa,[e.createElementVNode("input",{id:t.id,type:"file",accept:"image/*",multiple:"",onChange:E,class:"jsgd-hidden",disabled:a.value},null,40,da),e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-font-medium jsgd-border-none jsgd-rounded-lg jsgd-text-white jsgd-bg-blue-500 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-blue-600 hover:jsgd-scale-105 hover:jsgd-shadow-lg disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-blue-600 dark:hover:jsgd-bg-blue-500 dark:disabled:jsgd-bg-slate-700 dark:disabled:jsgd-text-slate-400 before:jsgd-content-['+'] before:jsgd-text-lg before:jsgd-leading-none",{"jsgd-opacity-60 jsgd-cursor-not-allowed":a.value}])},e.toDisplayString(e.unref(l)?.btn?.upload??"Upload"),11,la),e.createElementVNode("button",{type:"button",onClick:b,disabled:a.value,class:"jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-5 jsgd-py-2.5 jsgd-ml-2 jsgd-font-medium jsgd-border-none jsgd-rounded-lg jsgd-text-white jsgd-bg-slate-600 jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-slate-700 hover:jsgd-scale-105 hover:jsgd-shadow-lg disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-500 dark:hover:jsgd-bg-slate-400"}," URL ",8,aa)])],2),e.createElementVNode("div",ra,[u.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(u.value,(B,_)=>(e.openBlock(),e.createElementBlock("p",{key:_,class:"jsgd-text-sm jsgd-text-red-500 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(B),1))),128)):e.createCommentVNode("",!0)])]))}}),oa={class:"jsgd-w-full"},na=["for"],ia={key:0,class:"jsgd-mb-4 jsgd-p-4 jsgd-bg-blue-50 jsgd-border jsgd-border-blue-200 jsgd-rounded-lg dark:jsgd-bg-blue-900/20 dark:jsgd-border-blue-800"},ga={class:"jsgd-flex jsgd-items-center jsgd-gap-4"},ca={class:"jsgd-shrink-0 jsgd-w-16 jsgd-h-16 jsgd-bg-white jsgd-rounded jsgd-border jsgd-border-slate-300 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-overflow-hidden dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600"},ua=["src"],ja={key:1,class:"jsgd-text-xs jsgd-text-slate-400"},ma={class:"jsgd-flex jsgd-flex-col jsgd-gap-2"},fa={class:"jsgd-flex jsgd-gap-2"},ba=["id"],pa=["for"],ha={class:"jsgd-p-3 jsgd-flex jsgd-flex-col jsgd-gap-3 md:jsgd-p-4 md:jsgd-grid md:jsgd-grid-cols-2 md:jsgd-gap-x-6 md:jsgd-gap-y-4 md:jsgd-items-start",style:{"grid-template-areas":"'preview info' 'preview buttons'"}},va=["src","alt"],ka=["id","disabled"],ya={class:"jsgd-flex jsgd-flex-col jsgd-gap-3 md:jsgd-contents"},xa={class:"jsgd-w-full jsgd-box-border jsgd-grid jsgd-grid-cols-[auto_1fr] jsgd-gap-x-4 jsgd-gap-y-1 jsgd-p-3 jsgd-bg-blue-50 jsgd-rounded-lg jsgd-text-sm jsgd-animate-[slideUpFade_400ms_ease-out] dark:jsgd-bg-blue-900/20",style:{"grid-area":"info"}},wa={class:"jsgd-text-slate-900 jsgd-font-medium jsgd-text-right jsgd-break-words dark:jsgd-text-slate-100"},Va={class:"jsgd-text-slate-900 jsgd-font-medium jsgd-text-right jsgd-break-words dark:jsgd-text-slate-100"},Ea={class:"jsgd-text-slate-900 jsgd-font-medium jsgd-text-right jsgd-break-words dark:jsgd-text-slate-100"},Ba={class:"jsgd-text-slate-900 jsgd-font-medium jsgd-text-right jsgd-break-words dark:jsgd-text-slate-100"},Na={class:"jsgd-text-green-600 jsgd-font-medium jsgd-text-right jsgd-break-words dark:jsgd-text-green-400"},Ca={key:5,class:"jsgd-col-span-2 jsgd-text-center jsgd-py-2 jsgd-text-blue-600"},$a={class:"jsgd-flex jsgd-flex-wrap jsgd-justify-center jsgd-gap-3 jsgd-w-full md:jsgd-self-end",style:{"grid-area":"buttons"}},Sa=["for"],Da=["disabled"],Ta=["disabled"],Ma={class:"jsgd-px-1"},La={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Nt=e.defineComponent({__name:"ImageInput",props:{id:{default:ae()},label:{},modelValue:{},previewAlt:{},disabled:{type:Boolean},error:{},previewImage:{},validate:{},watermark:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=e.inject("TableComponents")?.ShowAlert,c=f,n=e.ref(""),j=e.ref(""),g=e.ref(""),h=e.ref(""),u=e.ref(null),a=e.ref(null),r=e.ref(!1),i=e.ref(null),m=e.ref(null),N=e.ref(""),w=e.ref(s.previewImage||"https://static.vecteezy.com/system/resources/thumbnails/005/720/408/small_2x/crossed-image-icon-picture-not-available-delete-picture-symbol-free-vector.jpg"),b=e.ref(!0);e.ref(!0);const E=e.ref(!0),S=e.ref([]),U=e.computed(()=>{if(s.validate){const y=s.validate,p=[];if(y.allowedTypes&&p.push(I("imageType",{},s.lang??"en")+` (${y.allowedTypes.join(", ")})`),y.maxSize&&p.push(I("imageMaxSize",{max:y.maxSize},s.lang??"en")),y.pixel){const M=y.pixel;("minWidth"in M||"maxWidth"in M||"minHeight"in M||"maxHeight"in M)&&(M.minWidth&&p.push(I("imageMinWidth",{min:M.minWidth},s.lang??"en")),M.minHeight&&p.push(I("imageMinHeight",{min:M.minHeight},s.lang??"en")),M.maxWidth&&p.push(I("imageMaxWidth",{max:M.maxWidth},s.lang??"en")),M.maxHeight&&p.push(I("imageMaxHeight",{max:M.maxHeight},s.lang??"en"))),("width"in M||"height"in M)&&p.push(I("imagePixel",{width:M.width??"any",height:M.height??"any"},s.lang??"en"))}return y.ratio&&p.push(I("imageRatio",{w:y.ratio.Width,h:y.ratio.Height},s.lang??"en")),p.join(`
9
+ `)}return""});e.watch(()=>s.modelValue,y=>{if(y instanceof File){n.value=y.name,a.value=y.size/1024,g.value=`${a.value.toFixed(2)} KB`;const p=new FileReader;p.onload=M=>{const W=M.target?.result;w.value=W;const $=new Image;$.onload=()=>{j.value=`${$.width} x ${$.height}`,h.value=Ke($.width,$.height),u.value={width:$.width,height:$.height},J()},$.src=W},p.readAsDataURL(y)}else if(typeof y=="string"&&y){w.value=y,n.value=y.split("/").pop()||y,g.value="N/A";const p=new Image;p.onload=()=>{j.value=`${p.width} x ${p.height}`,h.value=Ke(p.width,p.height),u.value={width:p.width,height:p.height},J()},p.onerror=()=>{j.value="Invalid",h.value="N/A",u.value=null,J()},p.src=y}else G()},{immediate:!0});async function F(){if(s.disabled)return;const y=prompt(d.value.placeholder?.url??"Please enter the image URL");if(y){if(!y.startsWith("http://")&&!y.startsWith("https://")){l?.("error","Invalid URL",["Please enter a valid URL starting with http:// or https://"]);return}if(!s.watermark||!m.value){c("update:modelValue",y,s.id);return}r.value=!0;try{const p=await fetch(y,{mode:"cors"});if(!p.ok)throw new Error("Network response was not ok");const M=await p.blob(),W=y.split("/").pop()?.split("?")[0]||"downloaded-image.png",$=M.type||"image/png",L=new File([M],W,{type:$}),O=await _(L);c("update:modelValue",O,s.id)}catch(p){console.error(p);let M="Failed to process URL image.";p.name==="TypeError"||p.message.includes("fetch")?(M="CORS Error: Image server blocks processing. Using original URL (no watermark).",c("update:modelValue",y,s.id),l?.("warning","Watermark Skipped",[M])):l?.("error","Error",[M])}finally{r.value=!1}}}function Z(){s.disabled||(c("update:modelValue",null,s.id),c("remove:error",s.id),i.value&&(i.value.value=""))}function D(y){const M=y.target.files?.[0];if(M){if(!M.type.startsWith("image/")){l?.("error","Invalid File",["Please upload an image file for watermark."]);return}const W=new FileReader;W.onload=$=>{m.value=$.target?.result,N.value=M.name},W.readAsDataURL(M)}}function V(){const y=prompt("Enter Watermark Image URL");y&&(y.startsWith("http")||y.startsWith("data:image")?(m.value=y,N.value="URL Image"):l?.("error","Invalid URL",["Please enter a valid Image URL."]))}function B(y,p=!1){return new Promise((M,W)=>{const $=new Image;p&&!y.startsWith("data:")&&($.crossOrigin="anonymous"),$.onload=()=>M($),$.onerror=()=>W(new Error(`Failed to load image: ${y}`)),$.src=y})}async function _(y){if(!s.watermark)return y;let p="";if(s.watermark.url==="upload"){if(!m.value)throw new Error("Please upload a watermark image first.");p=m.value}else p=s.watermark.url;const M=s.watermark,W=URL.createObjectURL(y);try{const[$,L]=await Promise.all([B(W,!1),B(p,!0)]),O=document.createElement("canvas");O.width=$.width,O.height=$.height;const C=O.getContext("2d");if(!C)return y;C.drawImage($,0,0);const A=M.opacity??(M.transparant?M.transparant/100:1);C.globalAlpha=Math.max(0,Math.min(1,A));let k=L.width,v=L.height;if(typeof M.size=="number")k=M.size,v=M.size;else if(M.size&&typeof M.size!="number"){const ie=M.size;k=ie.width??L.width,v=ie.height??L.height}let T=0,x=0,z=0,K=0;if(typeof M.margin=="number")T=x=z=K=M.margin;else if(M.margin){const ie=M.margin;T=ie.top??0,x=ie.bottom??0,z=ie.left??0,K=ie.right??0}let R=0,X=0;const de=O.width,oe=O.height;if(M.position&&typeof M.position=="object"&&"x"in M.position){const ie=M.position;R=ie.x,X=ie.y}else switch(M.position||"bottom-right"){case"top-left":R=z,X=T;break;case"top-right":R=de-k-K,X=T;break;case"bottom-left":R=z,X=oe-v-x;break;case"bottom-right":R=de-k-K,X=oe-v-x;break;case"full":R=0,X=0,k=de,v=oe;break;default:R=de-k-K,X=oe-v-x}if(C.save(),M.rotate){const ie=R+k/2,je=X+v/2;C.translate(ie,je),C.rotate(M.rotate*Math.PI/180),C.translate(-ie,-je)}return C.drawImage(L,R,X,k,v),C.restore(),C.globalAlpha=1,new Promise((ie,je)=>{O.toBlob(me=>{me?ie(new File([me],y.name,{type:y.type})):je(new Error("Canvas toBlob failed"))},y.type)})}catch($){throw $}finally{URL.revokeObjectURL(W)}}async function q(y){if(s.disabled)return;const M=y.target.files?.[0];if(M){const W=s.validate?.allowedTypes??["png","jpg","jpeg","gif","bmp","webp","heif","heic","tiff","tif","svg","avif","ico","jfif"],$=M.name.split(".").pop()?.toLowerCase();if(!$||!W.map(O=>O.toLowerCase()).includes($)){l?.("error","Invalid file type",[I("imageType",{},s.lang??"en")+` (${W.join(", ")})`]),i.value&&(i.value.value="");return}r.value=!0;let L=M;try{s.watermark&&m.value&&(L=await _(M)),c("update:modelValue",L,s.id)}catch(O){console.error(O),O.message==="Please upload a watermark image first."?l?.("error","Watermark Missing",["Please upload a watermark image before uploading the main image."]):l?.("error","Processing Error",["Failed to process image. Try again."]),i.value&&(i.value.value=""),c("update:modelValue",null,s.id)}finally{r.value=!1}}}function J(){if(!s.validate){S.value=[],c("remove:error",s.id);return}const y=[];if(s.validate.allowedTypes&&s.modelValue instanceof File){const p=s.modelValue.name.split(".").pop()?.toLowerCase(),M=s.validate.allowedTypes.map(W=>W.toLowerCase());(!p||!M.includes(p))&&y.push(I("imageType",{},s.lang??"en")+` (${M.join(", ")})`)}if(s.validate.maxSize&&a.value&&(b.value=a.value<=s.validate.maxSize,b.value||y.push(I("imageMaxSize",{max:s.validate.maxSize},s.lang??"en"))),s.validate.pixel&&u.value){const p=s.validate.pixel,M=u.value.width,W=u.value.height;p.minWidth&&M<p.minWidth&&y.push(I("imageMinWidth",{min:p.minWidth},s.lang??"en")),p.minHeight&&W<p.minHeight&&y.push(I("imageMinHeight",{min:p.minHeight},s.lang??"en")),p.maxWidth&&M>p.maxWidth&&y.push(I("imageMaxWidth",{max:p.maxWidth},s.lang??"en")),p.maxHeight&&W>p.maxHeight&&y.push(I("imageMaxHeight",{max:p.maxHeight},s.lang??"en")),p.width&&M!==p.width&&y.push(I("imagePixel",{width:p.width,height:p.height??W},s.lang??"en")),p.height&&W!==p.height&&y.push(I("imagePixel",{width:p.width??M,height:p.height},s.lang??"en"))}if(s.validate.ratio&&u.value){const p=s.validate.ratio.Width,M=s.validate.ratio.Height,W=u.value.width,$=u.value.height,L=xe(W,$),O=xe(p,M);let C=L.w===O.w&&L.h===O.h;if(!C){const A=W/$,k=p/M;C=Math.abs(A-k)<=.01}E.value=C,E.value||y.push(I("imageRatio",{w:String(p),h:String(M)},s.lang??"en"))}S.value=y,y.length?c("push:error",y,s.id):c("remove:error",s.id)}function G(){n.value="",j.value="",g.value="",h.value="",S.value=[],w.value=s.previewImage||"https://static.vecteezy.com/system/resources/thumbnails/005/720/408/small_2x/crossed-image-icon-picture-not-available-delete-picture-symbol-free-vector.jpg"}return(y,p)=>(e.openBlock(),e.createElementBlock("div",oa,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":S.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),U.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:U.value,as:"strong"},{default:e.withCtx(()=>[...p[0]||(p[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,na),s.watermark?.url==="upload"?(e.openBlock(),e.createElementBlock("div",ia,[p[2]||(p[2]=e.createElementVNode("p",{class:"jsgd-text-xs jsgd-font-bold jsgd-uppercase jsgd-text-blue-600 jsgd-mb-2 dark:jsgd-text-blue-400"}," Configuration: Watermark Image ",-1)),e.createElementVNode("div",ga,[e.createElementVNode("div",ca,[m.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.value,alt:"Watermark Preview",class:"jsgd-w-full jsgd-h-full jsgd-object-contain"},null,8,ua)):(e.openBlock(),e.createElementBlock("span",ja,"None"))]),e.createElementVNode("div",ma,[e.createElementVNode("div",fa,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:D,class:"jsgd-hidden",id:`watermark-upload-${t.id}`},null,40,ba),e.createElementVNode("label",{for:`watermark-upload-${t.id}`,class:"jsgd-px-3 jsgd-py-1.5 jsgd-text-xs jsgd-font-medium jsgd-text-white jsgd-bg-slate-600 jsgd-rounded hover:jsgd-bg-slate-700 jsgd-cursor-pointer jsgd-transition-colors"},e.toDisplayString(m.value?"Change Image":"Select Image"),9,pa),e.createElementVNode("button",{type:"button",onClick:V,class:"jsgd-px-3 jsgd-py-1.5 jsgd-text-xs jsgd-font-medium jsgd-text-white jsgd-bg-slate-600 jsgd-rounded hover:jsgd-bg-slate-700 jsgd-cursor-pointer jsgd-transition-colors"}," Use URL ")]),p[1]||(p[1]=e.createElementVNode("p",{class:"jsgd-text-[10px] jsgd-text-slate-500 dark:jsgd-text-slate-400"}," Set this watermark before uploading your main image. ",-1))])])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-bg-slate-50 jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-xl jsgd-shadow-sm jsgd-mb-4 jsgd-transition-colors jsgd-duration-200 dark:jsgd-bg-slate-800/50 dark:jsgd-border-slate-700",{"jsgd-border-red-400 dark:jsgd-border-red-500":S.value.length!==0||t.error}])},[e.createElementVNode("div",ha,[e.createElementVNode("img",{src:w.value,alt:t.previewAlt,class:"jsgd-block jsgd-w-full jsgd-aspect-video jsgd-object-contain jsgd-rounded-lg jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-shadow-sm jsgd-transition-transform jsgd-duration-200 hover:jsgd-scale-105 md:jsgd-h-full dark:jsgd-border-slate-700",style:{"grid-area":"preview"}},null,8,va),e.createElementVNode("input",{id:t.id,ref_key:"fileInputRef",ref:i,type:"file",accept:"image/*",onChange:q,class:"jsgd-hidden",disabled:s.disabled||r.value},null,40,ka),e.createElementVNode("div",ya,[e.createElementVNode("div",xa,[n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[p[3]||(p[3]=e.createElementVNode("span",{class:"jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-400"},"Name",-1)),e.createElementVNode("span",wa,e.toDisplayString(n.value.length>20?n.value.slice(0,20)+"...":n.value),1)],64)):e.createCommentVNode("",!0),j.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[p[4]||(p[4]=e.createElementVNode("span",{class:"jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-400"},"Pixels",-1)),e.createElementVNode("span",Va,e.toDisplayString(j.value),1)],64)):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[p[5]||(p[5]=e.createElementVNode("span",{class:"jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-400"},"Size",-1)),e.createElementVNode("span",Ea,e.toDisplayString(g.value),1)],64)):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[p[6]||(p[6]=e.createElementVNode("span",{class:"jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-400"},"Ratio",-1)),e.createElementVNode("span",Ba,e.toDisplayString(h.value),1)],64)):e.createCommentVNode("",!0),s.watermark?.url==="upload"&&m.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[p[7]||(p[7]=e.createElementVNode("span",{class:"jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-400"},"Watermark",-1)),e.createElementVNode("span",Na,e.toDisplayString(N.value||"Active"),1)],64)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",Ca," Processing Image... ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",$a,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-flex-grow jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-4 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-blue-600 jsgd-text-white hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-400",{"jsgd-opacity-60 jsgd-cursor-not-allowed":s.disabled||r.value}])},e.toDisplayString(e.unref(d)?.btn?.upload??"Upload"),11,Sa),e.createElementVNode("button",{type:"button",onClick:F,disabled:s.disabled||r.value,class:"jsgd-flex-grow jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-4 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-slate-600 jsgd-text-white hover:jsgd-bg-slate-700 dark:jsgd-bg-slate-500 dark:hover:jsgd-bg-slate-400"}," URL ",8,Da),t.modelValue&&!s.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:Z,disabled:r.value,class:"jsgd-flex-grow jsgd-inline-flex jsgd-items-center jsgd-justify-center jsgd-gap-2 jsgd-px-4 jsgd-py-2.5 jsgd-font-medium jsgd-rounded-lg jsgd-border-none jsgd-cursor-pointer jsgd-transition-all jsgd-duration-200 hover:-jsgd-translate-y-0.5 hover:jsgd-shadow-md disabled:jsgd-opacity-60 disabled:jsgd-cursor-not-allowed jsgd-bg-red-500 jsgd-text-white hover:jsgd-bg-red-600 dark:jsgd-bg-red-600 dark:hover:jsgd-bg-red-500"},e.toDisplayString(e.unref(d)?.btn?.remove),9,Ta)):e.createCommentVNode("",!0)])])])],2),e.createElementVNode("div",Ma,[S.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(S.value,(M,W)=>(e.openBlock(),e.createElementBlock("p",{key:W,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(M),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&S.value.length===0?(e.openBlock(),e.createElementBlock("p",La,e.toDisplayString(s.error),1)):e.createCommentVNode("",!0),Array.isArray(s.error)&&S.value.length===0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.error,(M,W)=>(e.openBlock(),e.createElementBlock("p",{key:"ext-"+W,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(M),1))),128)):e.createCommentVNode("",!0)])]))}}),Ia={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Aa=["for"],Fa={class:"jsgd-relative"},za=["id","value","disabled","placeholder"],Ua={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Ct=e.defineComponent({__name:"NumberInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=String(s.modelValue??""),l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=f,n=e.computed(()=>{if(s.validate){const u=s.validate,a=[];return Array.isArray(u.duplicate)&&u.duplicate.length>0&&a.push(I("valueList",{value:u.duplicate.join(", ")},s.lang??"en")),u.integer&&a.push(I("numberInteger")),u.min!==void 0&&a.push(I("numberMin",{min:String(u.min)},s.lang??"en")),u.max!==void 0&&a.push(I("numberMax",{max:String(u.max)},s.lang??"en")),a.join(`
10
+ `)}return""}),j=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:u,disabled:a,validate:r})=>{if(a){j.value=[],c("remove:error",s.id);return}const i=[],m=String(u??"");if(Array.isArray(r?.duplicate)){const N=r.duplicate.map(String).includes(m),w=String(o)===m;N&&!w&&i.push(I("valueList",{value:m},s.lang??"en"))}if(r&&m!==""){const N=Number(m);isNaN(N)?i.push(I("numberInvalid",void 0,s.lang??"en")):(r.integer&&!Number.isInteger(N)&&i.push(I("numberInteger",void 0,s.lang??"en")),r.min!==void 0&&N<r.min&&i.push(I("numberMin",{min:String(r.min)},s.lang??"en")),r.max!==void 0&&N>r.max&&i.push(I("numberMax",{max:String(r.max)},s.lang??"en")))}j.value=i,i.length?c("push:error",i,s.id):s.id&&c("remove:error",s.id)},{deep:!0});const g=e.computed(()=>s.placeholder??l?.value?.placeholder.number??"");function h(u){if(s.disabled)return;const a=u.target;c("update:modelValue",Number(a.value),s.id)}return(u,a)=>(e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":j.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),n.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:n.value,as:"strong"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Aa),e.createElementVNode("div",Fa,[a[1]||(a[1]=e.createStaticVNode('<div class="jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-pointer-events-none"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line></svg></div>',1)),e.createElementVNode("input",{id:t.id,type:"number",value:t.modelValue,disabled:t.disabled,onInput:h,placeholder:g.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-11 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700 [appearance:textfield] [&::-webkit-outer-spin-button]:jsgd-appearance-none [&::-webkit-inner-spin-button]:jsgd-appearance-none",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":j.value.length!==0||t.error}])},null,42,za)]),j.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(j.value,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(r),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&j.value.length===0?(e.openBlock(),e.createElementBlock("p",Ua,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),Oa={class:"jsgd-w-full jsgd-mb-6 jsgd-animate-[slideUpFade_500ms_ease-out_backwards]"},Ka={class:"jsgd-block jsgd-text-lg jsgd-font-semibold jsgd-mb-3 jsgd-text-slate-900 jsgd-pl-1 jsgd-border-l-20 jsgd-border-slate-200 jsgd-transition-all jsgd-duration-200 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600"},Ra={class:"jsgd-bg-slate-50 jsgd-border-1 jsgd-border-solid jsgd-border-slate-200 jsgd-rounded-xl jsgd-p-6 jsgd-shadow-sm jsgd-flex jsgd-flex-col jsgd-gap-6 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700 max-[640px]:jsgd-p-4 max-[640px]:jsgd-gap-4"},$t=e.defineComponent({__name:"ObjectInput",props:{id:{default:ae()},label:{},disabled:{type:Boolean},schema:{},formData:{},required:{type:Boolean},errors:{},lang:{}},emits:["update:model-value","selected-option-change","multi-selected-change","push:errors","remove:errors"],setup(t){const f=t,s=e.ref({...f.formData}),o=e.ref({...f.errors});return e.watch(()=>f,()=>{s.value={...f.formData},o.value={...f.errors}},{immediate:!0,deep:!0}),(d,l)=>(e.openBlock(),e.createElementBlock("div",Oa,[e.createElementVNode("label",Ka,e.toDisplayString(f.label),1),e.createElementVNode("div",Ra,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.schema,(c,n)=>(e.openBlock(),e.createBlock(e.unref(Be),{key:n,field:c,"field-key":n,"form-data":f.formData,errors:f.errors,lang:t.lang??"en","onUpdate:modelValue":l[0]||(l[0]=(j,g)=>d.$emit("update:model-value",j,f.id+"."+g)),"onRemove:errors":l[1]||(l[1]=j=>d.$emit("remove:errors",f.id+"."+j)),"onPush:errors":l[2]||(l[2]=(j,g)=>d.$emit("push:errors",j,f.id+"."+g)),onMultiSelectedChange:l[3]||(l[3]=(j,g)=>d.$emit("multi-selected-change",j,f.id+"."+g)),onSelectedOptionChange:l[4]||(l[4]=(j,g)=>d.$emit("selected-option-change",j,f.id+"."+g))},null,8,["field","field-key","form-data","errors","lang"]))),128))])]))}}),Pa={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Ha=["for"],_a={class:"jsgd-relative"},qa=["id","type","disabled","placeholder"],Wa={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},St=e.defineComponent({__name:"PasswordInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=f;function c(a){if(!s.validate)return[];const r=[],{minLength:i,maxLength:m,requireUppercase:N,requireLowercase:w,requireNumber:b,requireSpecialChar:E}=s.validate;return i&&a.length<i&&r.push(I("passwordMin",{min:String(i)},s.lang??"en")),m&&a.length>m&&r.push(I("passwordMax",{max:String(m)},s.lang??"en")),N&&!/[A-Z]/.test(a)&&r.push(I("passwordUpper",void 0,s.lang??"en")),w&&!/[a-z]/.test(a)&&r.push(I("passwordLower",void 0,s.lang??"en")),b&&!/\d/.test(a)&&r.push(I("passwordNumber",void 0,s.lang??"en")),E&&!/[^A-Za-z0-9]/.test(a)&&r.push(I("passwordSymbol",void 0,s.lang??"en")),r}const n=e.computed(()=>{if(s.validate){const a=s.validate,r=[];return a.minLength&&r.push(I("passwordMin",{min:String(a.minLength)},s.lang??"en")),a.maxLength&&r.push(I("passwordMax",{max:String(a.maxLength)},s.lang??"en")),a.requireUppercase&&r.push(I("passwordUpper",void 0,s.lang??"en")),a.requireLowercase&&r.push(I("passwordLower",void 0,s.lang??"en")),a.requireNumber&&r.push(I("passwordNumber",void 0,s.lang??"en")),a.requireSpecialChar&&r.push(I("passwordSymbol",void 0,s.lang??"en")),r.join(`
11
+ `)}return""}),j=e.ref(!1),g=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled}),({val:a,disabled:r})=>{if(r){g.value=[];return}const i=c(String(a??""));g.value=i,i.length!==0?l("push:error",i,s.id):s.id&&l("remove:error",s.id)});const h=e.computed(()=>s.placeholder??d?.value?.placeholder?.password??"");function u(a){if(s.disabled)return;const r=a.target;l("update:modelValue",r.value,s.id)}return(a,r)=>(e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":g.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),n.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:n.value,as:"strong"},{default:e.withCtx(()=>[...r[0]||(r[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Ha),e.createElementVNode("div",_a,[r[1]||(r[1]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-pointer-events-none"},[e.createElementVNode("p",{class:"jsgd-i-mdi-lock-outline jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:j.value?"text":"password",class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-11 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":g.value.length!==0||t.error}]),disabled:t.disabled,placeholder:h.value,onInput:u},null,42,qa)]),g.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.value,(i,m)=>(e.openBlock(),e.createElementBlock("p",{key:m,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(i),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&g.value.length===0?(e.openBlock(),e.createElementBlock("p",Wa,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),Ga={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},Ja=["for"],Za=["onClick"],Qa=["onKeydown","placeholder"],Ya={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Dt=e.defineComponent({__name:"TagInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{default:()=>[]},error:{},disabled:{type:Boolean},lang:{},validate:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=e.ref(),n=e.computed(()=>{if(s.validate){const a=s.validate,r=[];return a.min!==void 0&&r.push(I("arrayTagMin",{min:String(a.min)},s.lang??"en")),a.max!==void 0&&r.push(I("arrayTagMax",{max:String(a.max)},s.lang??"en")),r.join(`
12
+ `)}return""}),j=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:a,disabled:r,validate:i})=>{if(r){j.value=[],o("remove:error",s.id);return}const m=[],N=a??[];i&&(i.min!==void 0&&N.length<i.min&&m.push(I("arrayTagMin",{min:String(i.min)},s.lang??"en")),i.max!==void 0&&N.length>i.max&&m.push(I("arrayTagMax",{max:String(i.max)},s.lang??"en"))),j.value=m,m.length?o("push:error",m,s.id):s.id&&o("remove:error",s.id)},{deep:!0});const g=e.computed(()=>j.value.length>0?j.value[0]+"...":s.placeholder??l?.value?.placeholder?.tag??"");function h(){if(s.disabled)return;const a=c.value?.value?.trim();if(!a)return;const r=a.split(",").map(i=>i.trim()).filter(i=>i.length>0);r.length>0&&o("update:modelValue",[...s.modelValue,...r],s.id),c.value&&(c.value.value="")}function u(a){s.disabled||o("update:modelValue",s.modelValue.filter((r,i)=>i!==a),s.id)}return(a,r)=>(e.openBlock(),e.createElementBlock("div",Ga,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":j.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),n.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:n.value,as:"strong"},{default:e.withCtx(()=>[...r[0]||(r[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,Ja),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-flex jsgd-flex-wrap jsgd-items-center jsgd-gap-2 jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-p-2 jsgd-bg-white jsgd-transition-all jsgd-duration-200 jsgd-cursor-text jsgd-box-border focus-within:jsgd-border-blue-500 focus-within:jsgd-ring-4 focus-within:jsgd-ring-blue-500/20 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-600 dark:focus-within:jsgd-border-blue-400 dark:focus-within:jsgd-ring-blue-400/25",{"jsgd-border-red-400 focus-within:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus-within:jsgd-ring-red-400/25":j.value.length!==0||t.error,"jsgd-bg-slate-100 jsgd-cursor-not-allowed dark:jsgd-bg-slate-700":t.disabled}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.modelValue,(i,m)=>(e.openBlock(),e.createElementBlock("span",{key:m,class:"jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-3 jsgd-py-1 jsgd-bg-blue-100 jsgd-text-blue-800 jsgd-font-medium jsgd-text-sm jsgd-rounded-full jsgd-whitespace-nowrap jsgd-animate-[popIn_300ms_ease-out_backwards] dark:jsgd-bg-blue-900 dark:jsgd-text-blue-200"},[e.createTextVNode(e.toDisplayString(i)+" ",1),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:N=>u(m),class:"jsgd-w-4 jsgd-h-4 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-bg-transparent jsgd-border-none jsgd-rounded-full jsgd-text-red-500 jsgd-cursor-pointer jsgd-font-bold jsgd-leading-none jsgd-transition-all jsgd-duration-200 hover:jsgd-bg-red-500 hover:jsgd-text-white hover:jsgd-rotate-180 dark:jsgd-text-red-400 dark:hover:jsgd-bg-red-500 dark:hover:jsgd-text-white"}," × ",8,Za))]))),128)),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"tagInput",ref:c,type:"text",class:"jsgd-flex-grow jsgd-min-w-[120px] jsgd-border-none jsgd-outline-none jsgd-bg-transparent jsgd-text-slate-900 jsgd-text-base jsgd-p-1 dark:jsgd-text-slate-100",onKeydown:e.withKeys(e.withModifiers(h,["prevent"]),["enter"]),placeholder:g.value},null,40,Qa))],2),j.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(j.value,(i,m)=>(e.openBlock(),e.createElementBlock("p",{key:m,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(i),1))),128)):typeof s.error=="string"?(e.openBlock(),e.createElementBlock("p",Ya,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),Xa={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},er=["for"],tr=["id","value","placeholder","disabled"],sr={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Tt=e.defineComponent({__name:"TextAreaInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},lang:{},validate:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=e.computed(()=>{if(s.validate){const h=s.validate,u=[];return h.minLength&&u.push(I("textMinLength",{min:String(h.minLength)},s.lang??"en")),h.maxLength&&u.push(I("textMaxLength",{max:String(h.maxLength)},s.lang??"en")),u.join(`
13
+ `)}return""}),n=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:h,disabled:u,validate:a})=>{if(u){n.value=[],o("remove:error",s.id);return}const r=[],i=String(h??"").trim();if(a){const{minLength:m,maxLength:N}=a;m!==void 0&&i.length<m&&r.push(I("textMinLength",{min:String(m)},s.lang??"en")),N!==void 0&&i.length>N&&r.push(I("textMaxLength",{max:String(N)},s.lang??"en"))}n.value=r,r.length?o("push:error",r,s.id):o("remove:error",s.id)},{deep:!0});const j=e.computed(()=>s.placeholder??l.value.placeholder?.string??"");function g(h){if(s.disabled)return;const u=h.target;o("update:modelValue",u.value,s.id)}return(h,u)=>(e.openBlock(),e.createElementBlock("div",Xa,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":n.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),c.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:c.value,as:"strong"},{default:e.withCtx(()=>[...u[0]||(u[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,er),e.createElementVNode("textarea",{id:t.id,value:t.modelValue,placeholder:j.value,disabled:t.disabled,rows:"4",class:e.normalizeClass(["jsgd-w-full jsgd-p-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-resize-y jsgd-min-h-[8rem] focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed disabled:jsgd-resize-none dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":n.value.length!==0||t.error}]),onInput:g},null,42,tr),n.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(n.value,(a,r)=>(e.openBlock(),e.createElementBlock("p",{key:r,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(a),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&n.value.length===0?(e.openBlock(),e.createElementBlock("p",sr,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),dr={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},lr=["for"],ar={class:"jsgd-relative"},rr=["id","value","disabled","placeholder"],or={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},Mt=e.defineComponent({__name:"TelInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f,l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels;e.computed(()=>l?.value?.lang??"en");const c=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled}),({val:g,disabled:h})=>{if(h||!g){c.value=[],o("remove:error",s.id);return}const u=[],a=String(g??"");ut.test(a)||u.push("Invalid phone number format"),c.value=u,u.length?o("push:error",u,s.id):o("remove:error",s.id)},{deep:!0,immediate:!0});const n=e.computed(()=>s.placeholder??"0812-3456-7890");function j(g){if(s.disabled)return;const h=g.target;o("update:modelValue",h.value,s.id)}return(g,h)=>(e.openBlock(),e.createElementBlock("div",dr,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":c.value.length||t.error}])},e.toDisplayString(t.label),11,lr),e.createElementVNode("div",ar,[h[0]||(h[0]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-pointer-events-none"},[e.createElementVNode("p",{class:"jsgd-i-mdi-phone jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:"tel",value:t.modelValue,disabled:t.disabled,onInput:j,placeholder:n.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-11 jsgd-pr-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":c.value.length||t.error}])},null,42,rr)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(u,a)=>(e.openBlock(),e.createElementBlock("p",{key:a,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(u),1))),128)),typeof s.error=="string"&&c.value.length===0?(e.openBlock(),e.createElementBlock("p",or,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),nr={class:"jsgd-text-sm jsgd-font-medium jsgd-leading-snug jsgd-whitespace-pre-wrap"},ir={key:1},gr={key:0,class:"jsgd-px-1.5 jsgd-py-0.5 jsgd-bg-slate-700 jsgd-text-slate-300 jsgd-text-xs jsgd-rounded dark:jsgd-bg-slate-600 dark:jsgd-text-slate-400"},ce=e.defineComponent({__name:"Tooltip",props:{text:{type:[String,Array],required:!0},position:{type:String,default:"top"},hotkey:{type:String,default:""},as:{type:String,default:"span"}},setup(t){const f=t,s=e.ref(!1),o=e.ref(null),d=e.ref(null),l=e.ref({});let c;const n=e.computed(()=>{switch(f.position){case"bottom":return"jsgd-bottom-full jsgd-left-1/2 -jsgd-translate-x-1/2 jsgd-border-b-slate-800 dark:jsgd-border-b-slate-900";case"left":return"jsgd-top-1/2 jsgd-left-full -jsgd-translate-y-1/2 jsgd-border-l-slate-800 dark:jsgd-border-l-slate-900";case"right":return"jsgd-top-1/2 jsgd-right-full -jsgd-translate-y-1/2 jsgd-border-r-slate-800 dark:jsgd-border-r-slate-900";default:return"jsgd-top-full jsgd-left-1/2 -jsgd-translate-x-1/2 jsgd-border-t-slate-800 dark:jsgd-border-t-slate-900"}}),j=()=>{window.clearTimeout(c),c=window.setTimeout(async()=>{s.value=!0,await e.nextTick(),h()},300)},g=()=>{window.clearTimeout(c),s.value=!1};function h(){if(!o.value||!d.value)return;const u=o.value.getBoundingClientRect(),a=d.value.getBoundingClientRect(),r=8;let i=0,m=0;switch(f.position){case"bottom":i=u.bottom+r,m=u.left+u.width/2-a.width/2;break;case"left":i=u.top+u.height/2-a.height/2,m=u.left-a.width-r;break;case"right":i=u.top+u.height/2-a.height/2,m=u.right+r;break;default:i=u.top-a.height-r,m=u.left+u.width/2-a.width/2;break}l.value={top:`${i}px`,left:`${m}px`}}return(u,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:"jsgd-inline-flex jsgd-cursor-pointer",ref_key:"trigger",ref:o,onMouseenter:j,onMouseleave:g},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"jsgd-transition-all jsgd-duration-200 jsgd-ease-out","enter-from-class":"jsgd-opacity-0 jsgd-translate-y-2","enter-to-class":"jsgd-opacity-100 jsgd-translate-y-0","leave-active-class":"jsgd-transition-all jsgd-duration-150 jsgd-ease-in","leave-from-class":"jsgd-opacity-100 jsgd-translate-y-0","leave-to-class":"jsgd-opacity-0 jsgd-translate-y-2"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"bubble",ref:d,class:"jsgd-fixed jsgd-z-[1000] jsgd-flex jsgd-items-start jsgd-gap-3 jsgd-px-4 jsgd-py-2.5 jsgd-bg-slate-800 jsgd-text-slate-50 jsgd-rounded-xl jsgd-shadow-lg jsgd-w-max jsgd-max-w-[300px] jsgd-pointer-events-none dark:jsgd-bg-slate-900 dark:jsgd-text-slate-100 dark:jsgd-shadow-[0_4px_20px_-2px_rgba(0,0,0,0.4),inset_0_0_0_1px_rgba(96,165,250,0.5),0_0_12px_rgba(96,165,250,0.2)]",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",nr,[Array.isArray(t.text)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.text,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i},e.toDisplayString(r),1))),128)):(e.openBlock(),e.createElementBlock("p",ir,e.toDisplayString(t.text),1))]),t.hotkey?(e.openBlock(),e.createElementBlock("span",gr,e.toDisplayString(t.hotkey),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-absolute jsgd-w-0 jsgd-h-0 jsgd-border-[6px] jsgd-border-transparent",n.value])},null,2)],4)):e.createCommentVNode("",!0)]),_:1})]))]),_:3},544))}}),cr={class:"jsgd-w-full jsgd-max-w-3xl jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},ur={class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 jsgd-flex jsgd-justify-between jsgd-items-center dark:jsgd-border-slate-700"},jr={class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"},mr={class:"jsgd-flex jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},fr=["onClick"],br={class:"jsgd-p-6 jsgd-max-h-[60vh] jsgd-overflow-y-auto"},pr={key:0,class:"jsgd-space-y-4"},hr={key:0,class:"jsgd-flex jsgd-justify-center jsgd-p-10"},vr={key:1,class:"jsgd-text-center jsgd-p-10 jsgd-text-slate-400"},kr={key:2,class:"jsgd-grid jsgd-grid-cols-3 jsgd-gap-4 sm:jsgd-grid-cols-4"},yr=["src","onClick"],xr={class:"jsgd-absolute jsgd-top-2 jsgd-left-2 jsgd-opacity-0 group-hover:jsgd-opacity-100 jsgd-transition-opacity"},wr=["onClick"],Vr={key:1,class:"jsgd-space-y-4"},Er=["accept"],Br={key:0},Nr={class:"jsgd-text-slate-600 dark:jsgd-text-slate-400"},Cr={key:1,class:"jsgd-flex jsgd-flex-col jsgd-items-center"},$r=["src"],Sr={key:2,class:"jsgd-space-y-4"},Dr={key:3,class:"jsgd-mt-6 jsgd-pt-6 jsgd-border-t dark:jsgd-border-slate-700"},Tr={key:0},Mr={key:1,class:"jsgd-mt-3"},Lr={class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},Ir=["disabled"],Ar={key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10000001] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-bg-black/40"},Fr={class:"jsgd-bg-white dark:jsgd-bg-slate-800 jsgd-p-6 jsgd-rounded-xl jsgd-shadow-xl jsgd-max-w-sm jsgd-w-full"},zr={class:"jsgd-mt-6 jsgd-flex jsgd-justify-end jsgd-gap-3"},Ur=e.defineComponent({__name:"QuillEmbedModal",props:{show:{type:Boolean},mode:{},uploadUrl:{},listUrl:{},deleteUrl:{},initialValue:{},initialText:{}},emits:["close","submit"],setup(t,{emit:f}){const s=t,o=f,d=e.ref("gallery"),l=e.ref(""),c=e.ref(""),n=e.ref(""),j=e.ref(null),g=e.ref(null),h=e.ref(null),u=e.ref(!1),a=e.ref([]),r=e.ref(!1),i=e.ref(null),m=e.ref(null),N=e.ref(!1),w=e.ref(),b=y=>{j.value=y;const p=new FileReader;p.onload=M=>g.value=M.target?.result,p.readAsDataURL(y)},E=y=>{const p=y.target;p.files?.[0]&&b(p.files[0])},S=y=>{N.value=!1;const p=y.dataTransfer?.files?.[0];if(p){const M=p.type.startsWith("image/"),W=p.type.startsWith("video/");s.mode==="image"&&M||s.mode==="video"&&W?b(p):w.value?.show("error","File tidak valid.")}},U=e.computed(()=>s.mode==="image"?"Image Manager":s.mode==="video"?"Video Manager":"Insert Link"),F=e.computed(()=>{const y=[];return s.mode==="image"&&s.listUrl&&y.push({id:"gallery",label:"Library"}),s.uploadUrl&&s.mode!=="link"&&y.push({id:"upload",label:"Upload"}),y.push({id:"url",label:"URL"}),y}),Z=()=>h.value?.click(),D=()=>{g.value=null,j.value=null,h.value&&(h.value.value="")},V=async()=>{if(s.listUrl){r.value=!0;try{const p=await(await fetch(s.listUrl)).json();p.images&&Array.isArray(p.images)?a.value=p.images.map(M=>({url:M})):a.value=[]}catch(y){console.error(y)}finally{r.value=!1}}},B=y=>{m.value=y},_=async()=>{if(!(!m.value||!s.deleteUrl))try{const y=encodeURIComponent(m.value.url),p=s.deleteUrl.endsWith("/")?`${s.deleteUrl}${y}`:`${s.deleteUrl}/${y}`;(await fetch(p,{method:"DELETE"})).ok&&(a.value=a.value.filter(W=>W.url!==m.value?.url),i.value?.url===m.value.url&&(i.value=null))}catch{w.value?.show("error","Failed to delete image")}finally{m.value=null}},q=y=>{i.value=y,c.value=""},J=async()=>{u.value=!0,w.value?.show("loading","Uploading...");try{let y="";if(d.value==="gallery"&&i.value)y=i.value.url;else if(d.value==="upload"&&j.value){const p=new FormData;p.append("file",j.value);const W=await(await fetch(s.uploadUrl,{method:"POST",body:p})).json();y=W.url||W.secure_url||W.data?.url}else y=l.value;if(!y)return w.value?.show("error",`${s.mode} is required`);w.value?.show("success","Uploaded successfully"),o("submit",{url:y,alt:c.value,text:n.value})}catch{w.value?.show("error","Failed to upload")}finally{u.value=!1}},G=()=>o("close");return e.watch(()=>s.show,y=>{y&&(D(),F.value[0]&&(d.value=F.value[0].id),d.value==="gallery"&&V())}),(y,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.unref(Ce),{ref_key:"loaderRef",ref:w,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[20000000]"},null,512)])),e.createVNode(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10000000] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(G,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",cr,[e.createElementVNode("div",ur,[e.createElementVNode("h3",jr,e.toDisplayString(U.value),1),e.createElementVNode("button",{onClick:G,class:"jsgd-text-slate-400 hover:jsgd-text-slate-600"},"✕")]),e.createElementVNode("div",mr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,M=>(e.openBlock(),e.createElementBlock("button",{key:M.id,onClick:W=>d.value=M.id,class:e.normalizeClass(["jsgd-flex-1 jsgd-py-3 jsgd-text-sm jsgd-font-semibold jsgd-transition-all",d.value===M.id?"jsgd-border-b-2 jsgd-border-blue-600 jsgd-text-blue-600":"jsgd-text-slate-500 hover:jsgd-bg-slate-50 dark:hover:jsgd-bg-slate-700"])},e.toDisplayString(M.label),11,fr))),128))]),e.createElementVNode("div",br,[d.value==="gallery"?(e.openBlock(),e.createElementBlock("div",pr,[r.value?(e.openBlock(),e.createElementBlock("div",hr,[...p[6]||(p[6]=[e.createElementVNode("div",{class:"jsgd-animate-spin jsgd-rounded-full jsgd-h-8 jsgd-w-8 jsgd-border-b-2 jsgd-border-blue-600"},null,-1)])])):a.value.length===0?(e.openBlock(),e.createElementBlock("div",vr," No images found. ")):(e.openBlock(),e.createElementBlock("div",kr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,M=>(e.openBlock(),e.createElementBlock("div",{key:M.url,class:e.normalizeClass(["jsgd-relative jsgd-group jsgd-aspect-square jsgd-bg-slate-100 jsgd-rounded-lg jsgd-overflow-hidden jsgd-border-2 jsgd-transition-all",i.value?.url===M.url?"jsgd-border-blue-500":"jsgd-border-transparent"])},[e.createElementVNode("img",{src:M.url,class:"jsgd-w-full jsgd-h-full jsgd-object-cover jsgd-cursor-pointer",onClick:W=>q(M)},null,8,yr),e.createElementVNode("div",xr,[e.createElementVNode("button",{onClick:e.withModifiers(W=>B(M),["stop"]),class:"jsgd-p-1.5 jsgd-bg-red-600 hover:jsgd-bg-red-700 jsgd-text-white jsgd-rounded-md jsgd-shadow-sm",title:"Hapus gambar"},[...p[7]||(p[7]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M3 6h18m-2 0v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6m3 0V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})],-1)])],8,wr)])],2))),128))]))])):e.createCommentVNode("",!0),d.value==="upload"?(e.openBlock(),e.createElementBlock("div",Vr,[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-border-2 jsgd-border-dashed jsgd-rounded-xl jsgd-p-8 jsgd-text-center jsgd-transition-colors jsgd-cursor-pointer",[N.value?"jsgd-border-blue-500 jsgd-bg-blue-50 dark:jsgd-bg-blue-900/20":"jsgd-border-slate-300 hover:jsgd-border-blue-400"]]),onClick:Z,onDragover:p[0]||(p[0]=e.withModifiers(M=>N.value=!0,["prevent"])),onDragleave:p[1]||(p[1]=e.withModifiers(M=>N.value=!1,["prevent"])),onDrop:e.withModifiers(S,["prevent"])},[e.createElementVNode("input",{type:"file",ref_key:"fileInput",ref:h,class:"jsgd-hidden",onChange:E,accept:t.mode==="image"?"image/*":"video/*"},null,40,Er),g.value?(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("img",{src:g.value,class:"jsgd-max-h-48 jsgd-rounded jsgd-shadow-md"},null,8,$r),e.createElementVNode("button",{onClick:e.withModifiers(D,["stop"]),class:"jsgd-mt-2 jsgd-text-xs jsgd-text-red-500 jsgd-underline"}," Hapus & Ganti ")])):(e.openBlock(),e.createElementBlock("div",Br,[p[8]||(p[8]=e.createElementVNode("div",{class:"jsgd-mb-3 jsgd-flex jsgd-justify-center"},[e.createElementVNode("svg",{class:"jsgd-w-10 jsgd-h-10 jsgd-text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"})])],-1)),e.createElementVNode("p",Nr,e.toDisplayString(N.value?"Lepaskan file di sini":"Klik atau tarik file ke sini"),1)]))],34)])):e.createCommentVNode("",!0),d.value==="url"?(e.openBlock(),e.createElementBlock("div",Sr,[p[9]||(p[9]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium dark:jsgd-text-slate-300"},"Direct URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[2]||(p[2]=M=>l.value=M),type:"text",placeholder:"https://...",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border dark:jsgd-bg-slate-700 dark:jsgd-text-white"},null,512),[[e.vModelText,l.value]])])):e.createCommentVNode("",!0),d.value!=="gallery"||i.value?(e.openBlock(),e.createElementBlock("div",Dr,[t.mode==="link"?(e.openBlock(),e.createElementBlock("div",Tr,[p[10]||(p[10]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium dark:jsgd-text-slate-300"},"Display Text",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[3]||(p[3]=M=>n.value=M),type:"text",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border dark:jsgd-bg-slate-700"},null,512),[[e.vModelText,n.value]])])):e.createCommentVNode("",!0),t.mode==="image"?(e.openBlock(),e.createElementBlock("div",Mr,[p[11]||(p[11]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium dark:jsgd-text-slate-300"},"Alt Text",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[4]||(p[4]=M=>c.value=M),type:"text",placeholder:"Masukkan deskripsi gambar (opsional)",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border dark:jsgd-bg-slate-700 dark:jsgd-text-white"},null,512),[[e.vModelText,c.value]])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Lr,[e.createElementVNode("button",{onClick:G,class:"jsgd-px-7 jsgd-py-3.5 jsgd-rounded-xl jsgd-border-none jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-min-w-[100px] jsgd-justify-center disabled:jsgd-opacity-70 disabled:jsgd-cursor-not-allowed before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/30 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-text-white jsgd-bg-gradient-to-br jsgd-from-red-500 jsgd-to-red-600 jsgd-shadow-md hover:jsgd-from-red-600 hover:jsgd-to-red-700 hover:-jsgd-translate-y-0.5 active:jsgd-translate-y-0"}," Cancel "),e.createElementVNode("button",{onClick:J,class:"jsgd-px-7 jsgd-py-3.5 jsgd-rounded-xl jsgd-border-none jsgd-font-semibold jsgd-text-sm jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-min-w-[100px] jsgd-justify-center disabled:jsgd-opacity-70 disabled:jsgd-cursor-not-allowed before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/30 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-text-white jsgd-bg-gradient-to-br jsgd-from-emerald-500 jsgd-to-emerald-600 jsgd-shadow-md hover:jsgd-from-emerald-600 hover:jsgd-to-emerald-700 hover:-jsgd-translate-y-0.5 active:jsgd-translate-y-0",disabled:u.value},e.toDisplayString(u.value?"Inserting...":"Insert Media"),9,Ir)])])]),_:1}),e.createVNode(e.Transition,{name:"jsgd-modal-overlay"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",Ar,[e.createElementVNode("div",Fr,[p[12]||(p[12]=e.createElementVNode("h4",{class:"jsgd-text-lg jsgd-font-bold jsgd-text-red jsgd-border-white jsgd-border-b jsgd-pb-2"}," Hapus Gambar? ",-1)),p[13]||(p[13]=e.createElementVNode("p",{class:"jsgd-text-sm jsgd-text-slate-600 dark:jsgd-text-white jsgd-mt-2"}," Ini akan menghapus gambar secara permanen dari cloud storage. Yakin ingin melanjutkan? ",-1)),e.createElementVNode("div",zr,[e.createElementVNode("button",{onClick:p[5]||(p[5]=M=>m.value=null),class:"jsgd-px-4 jsgd-py-2 hover:jsgd-scale-105 hover:jsgd-cursor-pointer jsgd-text-white jsgd-text-sm jsgd-bg-jsgd-primary jsgd-rounded-md"}," Batal "),e.createElementVNode("button",{onClick:_,class:"jsgd-px-4 jsgd-py-2 hover:jsgd-scale-105 hover:jsgd-cursor-pointer jsgd-text-sm jsgd-bg-red-600 jsgd-text-white jsgd-rounded-md"}," Lanjut Hapus ")])])])):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0)]),_:1})],64))}}),Or=pe(Ur,[["__scopeId","data-v-e3fe086c"]]),Kr={class:"jsgd-w-full jsgd-max-w-sm jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},Rr={class:"jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-4"},Pr=e.defineComponent({__name:"QuillAltModal",props:{show:{type:Boolean},initialValue:{}},emits:["close","submit"],setup(t,{emit:f}){const s=t,o=f,d=e.ref("");e.watch(()=>s.show,n=>{n&&(d.value=s.initialValue||"")});function l(){o("close")}function c(){o("submit",d.value)}return(n,j)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10001] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(l,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",Kr,[j[3]||(j[3]=e.createElementVNode("div",{class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},[e.createElementVNode("h3",{class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"}," Edit Image Alt Text ")],-1)),e.createElementVNode("div",Rr,[e.createElementVNode("div",null,[j[1]||(j[1]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Alt Text",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":j[0]||(j[0]=g=>d.value=g),type:"text",placeholder:"Describe the image for accessibility",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white",onKeydown:e.withKeys(c,["enter"])},null,544),[[e.vModelText,d.value]]),j[2]||(j[2]=e.createElementVNode("p",{class:"jsgd-text-xs jsgd-text-slate-500 jsgd-mt-2 dark:jsgd-text-slate-400"}," Good alt text is descriptive and helps screen readers understand the image content. ",-1))])]),e.createElementVNode("div",{class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},[e.createElementVNode("button",{onClick:l,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-bg-white jsgd-border jsgd-border-slate-300 hover:jsgd-bg-slate-50 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600"}," Cancel "),e.createElementVNode("button",{onClick:c,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-text-white jsgd-bg-blue-600 hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-600"}," Save ")])])]),_:1})])):e.createCommentVNode("",!0)]),_:1}))}}),Hr=pe(Pr,[["__scopeId","data-v-4b0d2e4a"]]),_r={class:"editor-header"},qr=["for"],Wr=["id"],Gr={class:"ql-formats"},Jr={key:0,viewBox:"0 0 18 18",width:"18",height:"18"},Zr={key:1,viewBox:"0 0 18 18",width:"18",height:"18"},Qr={class:"editor-relative-container"},Yr={key:0,class:"upload-overlay"},Xr={class:"jsgd-max-w-none jsgd-h-[90%] jsgd-max-h-[90%] jsgd-h-[90%] jsgd-max-h-[90%]"},eo=["id"],to={key:1,class:"error-message"},so=e.defineComponent({__name:"TextAreaQuill",props:{id:{default:()=>ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},lang:{},validate:{},apiListImages:{},apiDeleteImage:{},apiUploadImage:{},apiUploadVideo:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=f;let d=null;const l=e.ref(!1),c=e.ref([]),n=e.ref(!1),j=e.ref(""),g=e.ref(!1),h=e.ref("link"),u=e.ref(""),a=e.ref("");let r=null;const i=e.ref(!1),m=e.ref(null),N=e.ref(""),w=e.ref(!1),b=e.ref(""),E=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}),S=e.computed(()=>s.placeholder??E.labels.value.placeholder?.quillEditor??"Write content here..."),U=e.computed(()=>{const G=[];return s.validate?.minLength&&G.push(I("textMinLength",{min:String(s.validate.minLength)},s.lang)),s.validate?.maxLength&&G.push(I("textMaxLength",{max:String(s.validate.maxLength)},s.lang)),G.join(", ")}),F=()=>{l.value=!l.value};e.watch(l,G=>{document.body.style.overflow=G?"hidden":""});const Z=()=>{w.value=!w.value,w.value?b.value=d?.root.innerHTML??s.modelValue??"":d&&(d.root.innerHTML=Se.sanitize(b.value))};e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:G,disabled:y,validate:p})=>{if(y){c.value=[],o("remove:error",s.id);return}const M=String(G??"").replace(/<[^>]*>?/gm,"").trim(),W=[];p&&(p.minLength&&M.length<p.minLength&&M.length!==0&&W.push(I("textMinLength",{min:String(p.minLength)},s.lang??"en")),p.maxLength&&M.length>p.maxLength&&W.push(I("textMaxLength",{max:String(p.maxLength)},s.lang??"en"))),c.value=W,W.length?o("push:error",W,s.id):o("remove:error",s.id)},{deep:!0,immediate:!0});const D=e.computed(()=>{if(h.value==="image")return s.apiUploadImage;if(h.value==="video")return s.apiUploadVideo}),V=()=>{h.value="image",u.value="",g.value=!0},B=()=>{h.value="video",u.value="",g.value=!0},_=G=>{r=d?.getSelection(),r||(r={index:d?.getSelection(!0)?.index||0,length:0});const y=d?.getText(r.index,r.length)||"";a.value=y,u.value=typeof G=="string"?G:"",h.value="link",g.value=!0},q=G=>{if(d){if(g.value=!1,h.value==="link"){if(!r)return;const y=G.text||G.url;d.setSelection(r.index,r.length,"silent"),r.length>0&&d.deleteText(r.index,r.length,"user"),d.insertText(r.index,y,"link",G.url,"user"),d.setSelection(r.index+y.length,0,"user")}else if(h.value==="image"){const y=d.getSelection(!0),p=G.alt?.replace(/"/g,"&quot;")||"",M=`<img src="${G.url}" alt="${p}" />`;d.clipboard.dangerouslyPasteHTML(y.index,M,"user"),d.setSelection(y.index+1,0)}else if(h.value==="video"){const y=d.getSelection(!0);d.insertEmbed(y.index,"video",G.url,"user"),d.setSelection(y.index+1,0)}r=null}},J=G=>{m.value&&m.value.setAttribute("alt",G),i.value=!1,m.value=null};return e.onMounted(async()=>{if(typeof window>"u")return;const G=document.getElementById(`editor-container-${s.id}`);if(!G)return;const{default:y}=await import("quill");try{const{default:p}=await import("quill-resize-module");y.imports["modules/resize"]||y.register("modules/resize",p)}catch(p){console.warn("Resize module error",p)}d=new y(G,{theme:"snow",readOnly:s.disabled??!1,placeholder:S.value,modules:{toolbar:{container:`#toolbar-container-${s.id}`,handlers:{image:V,video:B,link:_}},resize:{locale:{},embedTags:["IMG","VIDEO","IFRAME"],tools:["left","center","right","full",{text:"Alt",attrs:{title:"Set image alt",class:"btn-alt"},verify:p=>p&&p.tagName==="IMG",handler:(p,M,W)=>{m.value=W,N.value=W.getAttribute("alt")||"",i.value=!0}}]}}}),d.root.setAttribute("spellcheck","true"),d.root.setAttribute("lang",s.lang==="id"?"id":"en"),s.modelValue&&(d.root.innerHTML=Se.sanitize(s.modelValue)),d.on("text-change",()=>{const p=d.root.innerHTML;o("update:modelValue",Se.sanitize(p),s.id)})}),e.watch(()=>s.disabled,G=>d?.enable(!G)),e.onUnmounted(()=>{document.body.style.overflow=""}),(G,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!l.value},[e.createElementVNode("div",{class:e.normalizeClass(["rich-text-editor-wrapper",{"editor-maximized":l.value}])},[e.createElementVNode("div",_r,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":c.value}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),U.value?(e.openBlock(),e.createBlock(ce,{key:0,text:U.value,as:"strong"},{default:e.withCtx(()=>[...y[3]||(y[3]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,qr)]),e.createElementVNode("div",{id:`toolbar-container-${t.id}`,class:"quill-toolbar jsgd-block jsgd-text-align-center"},[y[7]||(y[7]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-font"}),e.createElementVNode("select",{class:"ql-size"})],-1)),y[8]||(y[8]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-bold"}),e.createElementVNode("button",{class:"ql-italic"}),e.createElementVNode("button",{class:"ql-underline"}),e.createElementVNode("button",{class:"ql-strike"})],-1)),y[9]||(y[9]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-color"}),e.createElementVNode("select",{class:"ql-background"})],-1)),y[10]||(y[10]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-header",value:"1"}),e.createElementVNode("button",{class:"ql-header",value:"2"}),e.createElementVNode("button",{class:"ql-blockquote"}),e.createElementVNode("button",{class:"ql-code-block"})],-1)),y[11]||(y[11]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-list",value:"ordered"}),e.createElementVNode("button",{class:"ql-list",value:"bullet"}),e.createElementVNode("button",{class:"ql-indent",value:"-1"}),e.createElementVNode("button",{class:"ql-indent",value:"+1"})],-1)),y[12]||(y[12]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-direction",value:"rtl"}),e.createElementVNode("select",{class:"ql-align"})],-1)),y[13]||(y[13]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-link"}),e.createElementVNode("button",{class:"ql-image"}),e.createTextVNode(),e.createElementVNode("button",{class:"ql-video"})],-1)),e.createElementVNode("span",Gr,[e.createElementVNode("button",{onClick:F,class:"maximize-button",type:"button"},[l.value?(e.openBlock(),e.createElementBlock("svg",Zr,[...y[5]||(y[5]=[e.createElementVNode("rect",{class:"ql-stroke",x:"5",y:"5",width:"8",height:"8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"15 3 10 8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"3 15 8 10"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Jr,[...y[4]||(y[4]=[e.createElementVNode("rect",{class:"ql-stroke",x:"3",y:"3",width:"12",height:"12"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"7",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"7",width:"1",height:"1"},null,-1)])]))]),e.createElementVNode("button",{onClick:Z,class:"code-view-button",type:"button",title:"Source"},[...y[6]||(y[6]=[e.createElementVNode("svg",{viewBox:"0 0 18 18",width:"18",height:"18"},[e.createElementVNode("polyline",{class:"ql-stroke",points:"5 3 2 9 5 15"}),e.createElementVNode("polyline",{class:"ql-stroke",points:"13 3 16 9 13 15"})],-1)])])])],8,Wr),e.createElementVNode("div",Qr,[n.value?(e.openBlock(),e.createElementBlock("div",Yr,[y[14]||(y[14]=e.createElementVNode("div",{class:"spinner"},null,-1)),e.createElementVNode("p",null,"Uploading "+e.toDisplayString(j.value)+"...",1)])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",Xr,[e.createElementVNode("div",{id:`editor-container-${t.id}`,class:e.normalizeClass(["quill-editor-container",{"has-error":t.error}])},null,10,eo)],512),[[e.vShow,!w.value]]),w.value?e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{key:1,"onUpdate:modelValue":y[0]||(y[0]=p=>b.value=p),class:"code-view-editor",spellcheck:"false"},null,512)),[[e.vModelText,b.value]]):e.createCommentVNode("",!0)]),c.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(c.value,(p,M)=>(e.openBlock(),e.createElementBlock("p",{key:M,class:"error-message"},e.toDisplayString(p),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&c.value.length===0?(e.openBlock(),e.createElementBlock("p",to,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),e.createVNode(Or,{show:g.value,mode:h.value,"upload-url":D.value,"list-url":s.apiListImages,"delete-url":s.apiDeleteImage,"initial-value":u.value,"initial-text":a.value,onClose:y[1]||(y[1]=p=>g.value=!1),onSubmit:q},null,8,["show","mode","upload-url","list-url","delete-url","initial-value","initial-text"]),e.createVNode(Hr,{show:i.value,"initial-value":N.value,onClose:y[2]||(y[2]=p=>i.value=!1),onSubmit:J},null,8,["show","initial-value"])],2)],8,["disabled"]))}}),Lt=pe(so,[["__scopeId","data-v-9b3c8fb1"]]),lo={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},ao=["for"],ro=["id","value","disabled","placeholder"],oo={key:1,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},It=e.defineComponent({__name:"TextInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,o=String(s.modelValue??""),l=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,c=f,n=e.computed(()=>{if(s.validate){const u=s.validate,a=[];return Array.isArray(u.duplicate)&&a.push(I("valueList",{value:u.duplicate.join(", ")},s.lang??"en")),u.minLength&&a.push(I("textMinLength",{min:String(u.minLength)},s.lang??"en")),u.maxLength&&a.push(I("textMaxLength",{max:String(u.maxLength)},s.lang??"en")),u.pattern&&a.push(I("textPattern")),a.join(`
14
+ `)}return""}),j=e.ref([]);e.watch(()=>({val:s.modelValue,disabled:s.disabled,validate:s.validate}),({val:u,disabled:a,validate:r})=>{if(a){j.value=[];return}const i=[],m=String(u??"");if(r){if(Array.isArray(r.duplicate)&&r.duplicate.length>0){const N=r.duplicate.map(String).includes(m),w=String(o)===m;N&&!w&&i.push(I("valueList",{value:m},s.lang??"en"))}r.minLength!==void 0&&m.length<r.minLength&&i.push(I("textMinLength",{min:String(r.minLength)},s.lang??"en")),r.maxLength!==void 0&&m.length>r.maxLength&&i.push(I("textMaxLength",{max:String(r.maxLength)},s.lang??"en")),r.pattern&&(new RegExp(r.pattern).test(m)||i.push(I("textPattern")))}j.value=i,i.length?c("push:error",i,s.id):c("remove:error",s.id)},{deep:!0});const g=e.computed(()=>s.placeholder??l?.value?.placeholder?.string??"");function h(u){if(s.disabled)return;const a=u.target;c("update:modelValue",a.value,s.id)}return(u,a)=>(e.openBlock(),e.createElementBlock("div",lo,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":j.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),n.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:n.value,as:"strong"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,ao),e.createElementVNode("input",{id:t.id,type:"text",value:t.modelValue,disabled:t.disabled,onInput:h,placeholder:g.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-px-4 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":j.value.length!==0||t.error}])},null,42,ro),j.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(j.value,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(r),1))),128)):e.createCommentVNode("",!0),typeof s.error=="string"&&j.value.length===0?(e.openBlock(),e.createElementBlock("p",oo,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),no={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},io=["for"],go={class:"jsgd-relative"},co=["id","value","disabled","min","max","placeholder"],uo={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},At=e.defineComponent({__name:"TimeInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},validate:{},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=t,d=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])}).labels,l=f,c=e.computed(()=>{if(s.validate){const u=s.validate,a=[];return u.minTime&&a.push(I("timeMin",{min:u.minTime},s.lang??"en")),u.maxTime&&a.push(I("timeMax",{max:u.maxTime},s.lang??"en")),a.join(`
15
+ `)}return""}),n=e.ref([]);function j(u){if(!u)return;const[a,r]=u.split(":").map(Number);if(isNaN(a)||isNaN(r))return;const i=new Date;return i.setHours(a,r,0,0),i}e.watch(()=>[s.modelValue,s.disabled,s.validate],([u,a,r])=>{if(a){n.value=[];return}const i=[],m=j(u);if(r&&typeof r=="object"){try{He(u)}catch(b){n.value=[String(b)],l("push:error",n.value,s.id);return}const N=r.minTime?j(r.minTime):void 0,w=r.maxTime?j(r.maxTime):void 0;N&&m&&m<N&&i.push(I("timeMin",{min:r.minTime??""},s.lang??"en")),w&&m&&m>w&&i.push(I("timeMax",{max:r.maxTime??""},s.lang??"en"))}n.value=i,i.length?l("push:error",i,s.id):l("remove:error",s.id)}),e.onMounted(()=>{if(s.modelValue)try{He(s.modelValue)}catch(u){n.value=[String(u)],l("push:error",n.value,s.id);return}});const g=e.computed(()=>s.placeholder??d?.value?.placeholder?.time??"");function h(u){if(s.disabled)return;const a=u.target;l("update:modelValue",a.value,s.id)}return(u,a)=>(e.openBlock(),e.createElementBlock("div",no,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":n.value.length||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),c.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:c.value,as:"strong"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,io),e.createElementVNode("div",go,[a[1]||(a[1]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-right-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-pointer-events-none jsgd-text-slate-500 dark:jsgd-text-slate-400"},[e.createElementVNode("span",{class:"jsgd-i-mdi-clock-outline jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:"time",value:t.modelValue,disabled:t.disabled,min:s.validate?.minTime,max:s.validate?.maxTime,onInput:h,placeholder:g.value,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-4 jsgd-pr-10 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border jsgd-appearance-none focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700 [color-scheme:light_dark] [&::-webkit-calendar-picker-indicator]:jsgd-opacity-0 [&::-webkit-calendar-picker-indicator]:jsgd-cursor-pointer [&::-webkit-calendar-picker-indicator]:jsgd-absolute [&::-webkit-calendar-picker-indicator]:jsgd-right-3 [&::-webkit-calendar-picker-indicator]:jsgd-top-1/2 [&::-webkit-calendar-picker-indicator]:-jsgd-translate-y-1/2 [&::-webkit-calendar-picker-indicator]:jsgd-w-6 [&::-webkit-calendar-picker-indicator]:jsgd-h-6",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":n.value.length||t.error}])},null,42,co)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(r,i)=>(e.openBlock(),e.createElementBlock("p",{key:i,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(r),1))),128)),typeof s.error=="string"&&n.value.length===0?(e.openBlock(),e.createElementBlock("p",uo,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),jo={class:"jsgd-w-full jsgd-mb-6 jsgd-flex jsgd-justify-between jsgd-items-center jsgd-gap-4"},mo=["for"],fo=["id","aria-checked","disabled"],Ft=e.defineComponent({__name:"ToggleInput",props:{id:{default:ae()},label:{},modelValue:{type:Boolean},disabled:{type:Boolean},lang:{}},emits:["update:modelValue"],setup(t,{emit:f}){const s=t,o=f,d=s.modelValue,l=e.ref(d),c=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[s.lang??"en"])});e.watch(()=>l.value,()=>{o("update:modelValue",l.value,s.id)});const n=c.labels;function j(){l.value=!l.value}return(g,h)=>(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("label",{for:t.id,class:"jsgd-text-base jsgd-font-medium jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 jsgd-flex-grow dark:jsgd-text-slate-100"},e.toDisplayString(t.label),9,mo),e.createElementVNode("button",{id:t.id,type:"button",role:"switch","aria-checked":l.value,onClick:j,disabled:t.disabled,class:e.normalizeClass(["jsgd-relative jsgd-inline-flex jsgd-items-center jsgd-w-24 jsgd-h-8 jsgd-rounded-full jsgd-cursor-pointer jsgd-shrink-0 jsgd-transition-colors jsgd-duration-300 jsgd-ease-in-out jsgd-border-2 jsgd-border-transparent jsgd-p-0 focus-visible:jsgd-outline-none focus-visible:jsgd-ring-4 focus-visible:jsgd-ring-blue-500/30 disabled:jsgd-bg-slate-200 disabled:jsgd-cursor-not-allowed dark:disabled:jsgd-bg-slate-800",{"jsgd-bg-green-500 dark:jsgd-bg-blue-500":l.value,"jsgd-bg-slate-300 dark:jsgd-bg-slate-700":!l.value}])},[e.createElementVNode("span",{class:e.normalizeClass(["jsgd-absolute jsgd-top-1/2 jsgd-w-6 jsgd-h-6 jsgd-rounded-full jsgd-bg-white jsgd-shadow-md jsgd-transform -jsgd-translate-y-1/2 jsgd-transition-all jsgd-duration-300 jsgd-ease-in-out",l.value?"jsgd-left-[calc(100%-1.75rem)]":"jsgd-left-1"])},null,2),e.createElementVNode("span",{class:e.normalizeClass(["jsgd-absolute jsgd-text-xs jsgd-font-bold jsgd-transition-opacity jsgd-duration-200",l.value?"jsgd-left-3 jsgd-text-white jsgd-opacity-100":"jsgd-right-3 jsgd-text-slate-600 jsgd-opacity-100 dark:jsgd-text-slate-300"])},e.toDisplayString(l.value?e.unref(n)?.btn.toogle.active:e.unref(n)?.btn.toogle.inactive),3)],10,fo)]))}}),bo={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},po=["for"],ho={class:"jsgd-relative"},vo=["id","value","disabled","placeholder"],ko={key:0,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},zt=e.defineComponent({__name:"UrlInput",props:{id:{default:ae()},label:{},placeholder:{},modelValue:{},error:{},validate:{type:Boolean},disabled:{type:Boolean},lang:{}},emits:["update:modelValue","push:error","remove:error"],setup(t,{emit:f}){const s=e.ref(void 0),o=e.ref(),d=t,c=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[d.lang??"en"])}).labels,n=f;function j(g){if(d.disabled)return;const h=g.target;if(n("update:modelValue",h.value,d.id),!h.value){s.value=void 0,n("remove:error",d.id);return}try{new URL(h.value),s.value=void 0,n("remove:error",d.id)}catch{s.value=I("url",{},d.lang??"en"),n("push:error",s.value,d.id)}}return e.watch(()=>d,()=>{o.value=d.error||s.value||""},{deep:!0}),(g,h)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":o.value}])},e.toDisplayString(t.label),11,po),e.createElementVNode("div",ho,[h[0]||(h[0]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-pointer-events-none"},[e.createElementVNode("p",{class:"jsgd-i-mdi-link-variant jsgd-w-5 jsgd-h-5"})],-1)),e.createElementVNode("input",{id:t.id,type:"text",value:t.modelValue,onInput:j,disabled:t.disabled,class:e.normalizeClass(["jsgd-w-full jsgd-py-3 jsgd-pl-11 jsgd-text-base jsgd-text-slate-900 jsgd-bg-white jsgd-border-1 jsgd-border-solid jsgd-border-slate-300 jsgd-rounded-lg jsgd-transition-all jsgd-duration-200 jsgd-box-border focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-4 focus:jsgd-ring-blue-500/20 disabled:jsgd-bg-slate-100 disabled:jsgd-text-slate-500 disabled:jsgd-cursor-not-allowed dark:jsgd-bg-slate-800 dark:jsgd-text-slate-100 dark:jsgd-border-slate-600 dark:focus:jsgd-border-blue-400 dark:focus:jsgd-ring-blue-400/25 dark:disabled:jsgd-bg-slate-700",{"jsgd-border-red-400 focus:jsgd-ring-red-500/20 dark:jsgd-border-red-400 dark:focus:jsgd-ring-red-400/25":o.value}]),placeholder:t.placeholder??e.unref(c)?.placeholder.url+": https://example.com"},null,42,vo)]),o.value?(e.openBlock(),e.createElementBlock("p",ko,e.toDisplayString(o.value),1)):e.createCommentVNode("",!0)]))}}),yo={class:"jsgd-w-full jsgd-relative jsgd-mb-4"},xo=["for"],wo={key:1,class:"jsgd-p-3 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700 jsgd-bg-slate-50 dark:jsgd-bg-slate-900/50"},Vo={class:"jsgd-flex jsgd-items-center jsgd-justify-between jsgd-mb-3"},Eo={class:"jsgd-flex jsgd-gap-1.5"},Bo=["disabled"],No={class:"jsgd-flex jsgd-gap-2 jsgd-items-center"},Co={class:"jsgd-flex jsgd-items-center jsgd-bg-slate-200 dark:jsgd-bg-slate-700 jsgd-rounded-md jsgd-px-2 jsgd-py-1"},$o=["disabled"],So={class:"jsgd-flex jsgd-items-center jsgd-bg-slate-200 dark:jsgd-bg-slate-700 jsgd-rounded-md jsgd-px-2 jsgd-py-1"},Do=["disabled"],To=["disabled"],Mo={class:"jsgd-flex jsgd-gap-2"},Lo=["disabled"],Io=["disabled"],Ao={key:2,class:"jsgd-absolute jsgd-z-[2] jsgd-top-2 jsgd-right-2 jsgd-bg-white/90 dark:jsgd-bg-slate-800/90 jsgd-backdrop-blur-sm jsgd-p-2 jsgd-rounded-md jsgd-shadow-sm jsgd-border jsgd-border-slate-200 dark:jsgd-border-slate-700 jsgd-flex jsgd-gap-3 jsgd-text-[11px] jsgd-font-medium"},Fo={class:"jsgd-flex jsgd-items-center jsgd-gap-1"},zo={class:"dark:jsgd-text-white"},Uo={class:"jsgd-flex jsgd-items-center jsgd-gap-1 jsgd-border-l jsgd-pl-3 jsgd-border-slate-300 dark:jsgd-border-slate-600"},Oo={class:"dark:jsgd-text-white"},Ze=e.defineComponent({__name:"LocationPicker",props:{id:{default:ae()},label:{},modelValue:{},latKey:{default:"lat"},lngKey:{default:"lng"},initialLat:{default:"-7.245905"},initialLng:{default:"112.737821"},error:{},disabled:{type:Boolean},viewOnly:{type:Boolean,default:!1},required:{type:Boolean},validate:{},geocodeApi:{},height:{default:"400px"},searchCity:{default:"Surabaya"},searchCountry:{default:"Indonesia"},geoJson:{},lang:{default:"id"}},emits:["update:modelValue","update:lat","update:lng","push:error","remove:error","coordinates-selected"],setup(t,{expose:f,emit:s}){let o;const d=t,l=s;e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[d.lang??"en"])}).labels;const n=`map-${d.id}`,j=e.ref(null),g=e.ref(null),h=e.ref(d.viewOnly),u=e.ref(!1),a=e.ref(null),r=e.ref(null),i=e.ref(""),m=e.ref(d.initialLat.toString()),N=e.ref(d.initialLng.toString());e.ref(!1);const w=e.ref(null),b=(k,v)=>({[d.latKey]:typeof k=="number"?k.toFixed(6):k,[d.lngKey]:typeof v=="number"?v.toFixed(6):v}),E=e.computed(()=>G.value?"Mode Lihat Saja":"Klik peta, cari alamat, atau masukkan koordinat manual."),S=e.inject("TableComponents",{}),U=(k,v,T)=>{if(S.ShowAlert)S.ShowAlert(k,v,T);else{const x={type:k,title:v,messages:T};r.value?.addAlert(x)}},F=()=>{if(h.value||J.value){let T="Akses Dibatasi",x="";d.viewOnly?(T="Mode Lihat Saja",x="Koordinat tidak dapat diubah karena sedang dalam mode lihat saja."):d.disabled?(T="Input Nonaktif",x="Input lokasi saat ini sedang dinonaktifkan dan tidak dapat menerima perubahan."):d.geoJson&&Object.keys(d.geoJson).length>0?(T="Wilayah Terkunci",x="Lokasi telah ditetapkan berdasarkan data wilayah (GeoJSON) yang tersedia."):(T="Peta Terkunci",x='Klik tombol "Unlock" terlebih dahulu untuk mengubah koordinat atau mencari lokasi.'),U("error",T,[x]);return}const k=parseFloat(m.value),v=parseFloat(N.value);if(!isNaN(k)&&!isNaN(v)){if(k<-90||k>90||v<-180||v>180){a.value?.show("error","Koordinat tidak valid");return}y(k,v),j.value?.setView([k,v],15)}},Z=()=>{J.value||(h.value=!h.value,g.value&&g.value.dragging&&(h.value?g.value.dragging.disable():g.value.dragging.enable()))},D=(k,v)=>{if(!j.value||!o)return;if(d.geoJson&&Object.keys(d.geoJson).length>0){g.value&&(g.value.remove(),g.value=null);return}const T=u.value?"#3b82f6":"#dc2626",x=o.divIcon({className:"",html:`<div class="jsgd-pin-marker" style="--pin-color:${T}"><div class="jsgd-pin-inner"></div></div>`,iconSize:[24,36],iconAnchor:[12,36]});g.value?(g.value.setLatLng([k,v]),g.value.setIcon(x),h.value||J.value?g.value.dragging?.disable():g.value.dragging?.enable()):(g.value=o.marker([k,v],{draggable:!h.value&&!J.value,icon:x}).addTo(j.value),g.value.on("dragend",()=>{const z=g.value.getLatLng();y(z.lat,z.lng)}))},V=e.ref([]),B=(k,v,T)=>{let x=!1;for(let z=0,K=T.length-1;z<T.length;K=z++){const R=T[z][0],X=T[z][1],de=T[K][0],oe=T[K][1];X>k!=oe>k&&v<(de-R)*(k-X)/(oe-X)+R&&(x=!x)}return x},_=(k,v,T)=>T?T.type==="FeatureCollection"?T.features.some(x=>_(k,v,x.geometry)):T.type==="Feature"?_(k,v,T.geometry):T.type==="GeometryCollection"?T.geometries.some(x=>_(k,v,x)):T.type==="MultiPolygon"?T.coordinates.some(x=>B(k,v,x[0])):T.type==="Polygon"?B(k,v,T.coordinates[0]):!0:!0,q=(k,v)=>{if(d.disabled)return;const T=[];if(d.required&&(isNaN(k)||isNaN(v))&&T.push("Koordinat wajib dipilih"),d.validate){const x=d.validate;x.geoJson?w.value&&(_(k,v,w.value)||T.push("Lokasi harus berada di dalam wilayah yang ditentukan")):x.minLat!==void 0&&(k<x.minLat&&T.push(`Latitude tidak boleh kurang dari ${x.minLat}`),k>x.maxLat&&T.push(`Latitude tidak boleh lebih dari ${x.maxLat}`),v<x.minLng&&T.push(`Longitude tidak boleh kurang dari ${x.minLng}`),v>x.maxLng&&T.push(`Longitude tidak boleh lebih dari ${x.maxLng}`))}V.value=T,T.length>0?l("push:error",T,d.id):l("remove:error",d.id)},J=e.computed(()=>d.disabled||d.geoJson&&Object.keys(d.geoJson).length>0),G=e.computed(()=>d.viewOnly||d.geoJson&&Object.keys(d.geoJson).length>0);e.watch(()=>d.modelValue,k=>{if(k&&k[d.latKey]&&k[d.lngKey]){const v=parseFloat(String(k[d.latKey])),T=parseFloat(String(k[d.lngKey]));m.value=v.toFixed(6),N.value=T.toFixed(6),q(v,T)}},{deep:!0,immediate:!0});const y=(k,v)=>{m.value=k.toFixed(6),N.value=v.toFixed(6),D(k,v),q(k,v),l("update:modelValue",b(k,v),d.id),l("update:lat",k.toFixed(6),d.id),l("update:lng",v.toFixed(6),d.id)},p=e.ref(null),M=k=>k>=1e3?(k/1e3).toFixed(2)+" km":Math.round(k)+" m",W=k=>{const v=Math.floor(k/60),T=Math.round(k%60);return v>0?`${v} menit ${T} detik`:`${T} detik`},$=async()=>{if(!o)return;j.value!==null&&(j.value.off(),j.value.remove(),j.value=null);const k=o.DomUtil.get(n);k!==null&&(k._leaflet_id=null);const v=parseFloat(String(d.modelValue?.[d.latKey]||d.initialLat)),T=parseFloat(String(d.modelValue?.[d.lngKey]||d.initialLng));j.value=o.map(n).setView([v,T],15),o.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:"© OpenStreetMap"}).addTo(j.value);const x=d.validate?.geoJson;let z=null;if(x)try{typeof x=="string"?x.startsWith("http")?z=await(await fetch(x)).json():z=JSON.parse(x):z=x}catch(R){console.warn("Gagal memproses GeoJSON dari validate:",R)}let K=null;if(d.geoJson)try{typeof d.geoJson=="string"?K=JSON.parse(d.geoJson):K=d.geoJson}catch(R){console.warn("Gagal memproses props.geoJson:",R)}if(z&&!d.geoJson&&(o.geoJSON(z,{style:{color:"#3b82f6",weight:4,fillOpacity:.1}}).addTo(j.value),w.value=z),K){K.features?.[0]?.properties?.summary&&(p.value=K.features[0].properties.summary);const R=o.divIcon({className:"custom-div-icon",html:"<div style='background-color:#22c55e; width:24px; height:24px; border-radius:50%; display:flex; justify-content:center; align-items:center; color:white; font-weight:bold; border: 2px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.5);'>A</div>",iconSize:[24,24],iconAnchor:[12,12]}),X=o.divIcon({className:"custom-div-icon",html:"<div style='background-color:#ef4444; width:24px; height:24px; border-radius:50%; display:flex; justify-content:center; align-items:center; color:white; font-weight:bold; border: 2px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.5);'>B</div>",iconSize:[24,24],iconAnchor:[12,12]}),de=o.geoJSON(K,{style:{color:"#00FFFF",weight:5,opacity:.8},onEachFeature:(oe,ie)=>{if(oe.geometry&&oe.geometry.type==="LineString"){const je=oe.geometry.coordinates;if(je&&je.length>0){const me=je[0],$e=je[je.length-1];o.marker([me[1],me[0]],{icon:R}).addTo(j.value),o.marker([$e[1],$e[0]],{icon:X}).addTo(j.value)}}}}).addTo(j.value);(!d.modelValue||!d.modelValue[d.latKey])&&j.value.fitBounds(de.getBounds())}else if(z&&(!d.modelValue||!d.modelValue[d.latKey])){const R=o.geoJSON(z);j.value.fitBounds(R.getBounds())}else j.value.setView([v,T],15);(!d.geoJson||Object.keys(d.geoJson).length===0)&&D(v,T),setTimeout(()=>{j.value?.invalidateSize()},100),j.value.on("click",R=>{if(h.value||d.disabled)return;const{lat:X,lng:de}=R.latlng;y(X,de),l("coordinates-selected",b(X,de))})};async function L(){if(!i.value||d.disabled)return;a.value?.show("loading","Mencari...");const k=`${d.searchCity}, ${d.searchCountry}`,v=`${i.value}, ${k}`;let T=null,x=null;try{const z=d.geocodeApi;if(z?.custom?.handler){const K=await z.custom.handler(v);K&&(T=K.lat,x=K.lng)}else if(z?.google){const R=await(await fetch(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(v)}&key=${z.google}`)).json();R.results?.[0]&&(T=R.results[0].geometry.location.lat,x=R.results[0].geometry.location.lng)}else if(z?.geoapify){const R=await(await fetch(`https://api.geoapify.com/v1/geocode/search?text=${encodeURIComponent(v)}&apiKey=${z.geoapify}`)).json();R.results?.[0]&&(T=R.results[0].lat,x=R.results[0].lon)}else if(z?.geocode){const R=await(await fetch(`https://geocode.xyz/${encodeURIComponent(v)}?json=1&auth=${z.geocode}`)).json();R.latt&&R.longt&&R.latt!=="0.00000"&&(T=parseFloat(R.latt),x=parseFloat(R.longt))}if(T===null||x===null){const K=`https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(v)}&format=json&limit=1`,X=await(await fetch(K)).json();X.length>0&&(T=parseFloat(X[0].lat),x=parseFloat(X[0].lon))}T!==null&&x!==null?(y(T,x),j.value?.setView([T,x],15),U("success","Ditemukan",["Lokasi yang Anda cari ditemukan di peta."]),a.value?.hide()):(U("error","Pencarian Gagal",["Lokasi yang Anda cari tidak dapat ditemukan di peta."]),a.value?.hide())}catch(z){console.error("Search Error:",z),U("error","Pencarian Gagal",["Terjadi kesalahan saat mencari lokasi. Silakan coba lagi."]),a.value?.hide()}}const O=()=>{const k=document.getElementById(n);k&&(u.value?k.classList.add("dark-mode-active"):k.classList.remove("dark-mode-active"))},C=async()=>{u.value=!u.value,O(),await e.nextTick(),j.value&&o&&(j.value.invalidateSize(),j.value.eachLayer(k=>{k instanceof o.TileLayer&&k.redraw()})),D(parseFloat(m.value),parseFloat(N.value))},A=()=>{const k=parseFloat(String(d.initialLat)),v=parseFloat(String(d.initialLng));j.value&&!isNaN(k)&&!isNaN(v)?(j.value.setView([k,v],15),y(k,v),V.value=[]):console.warn("Reset gagal: Peta belum siap atau koordinat initial invalid.")};return e.onMounted(async()=>{try{const k=await import("leaflet");o=k.default||k,typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(u.value=!0,O()),setTimeout(()=>{$()},50)}catch(k){console.error("Gagal meload Leaflet:",k)}}),e.onUnmounted(()=>{j.value&&(j.value.remove(),j.value=null,g.value=null)}),f({setCoordinates:(k,v)=>y(k,v),refresh:()=>j.value?.invalidateSize()}),(k,v)=>(e.openBlock(),e.createElementBlock("div",yo,[G.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":V.value.length!==0||t.error}])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),E.value?(e.openBlock(),e.createBlock(e.unref(ce),{key:0,text:E.value,as:"strong"},{default:e.withCtx(()=>[...v[3]||(v[3]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,xo)),e.createElementVNode("div",{class:e.normalizeClass(["jsgd-w-full jsgd-border jsgd-rounded-lg jsgd-overflow-hidden jsgd-bg-white dark:jsgd-bg-slate-800 jsgd-transition-all jsgd-duration-200",[V.value.length!==0||t.error?"jsgd-border-red-400 jsgd-ring-4 jsgd-ring-red-500/10":"jsgd-border-slate-300 dark:jsgd-border-slate-600"]])},[e.createVNode(e.unref(Ce),{ref_key:"loader",ref:a},null,512),e.unref(S).ShowAlert?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Je,{key:0,ref_key:"alert",ref:r},null,512)),G.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("div",Vo,[e.createElementVNode("div",Eo,[e.createElementVNode("button",{type:"button",onClick:C,class:"jsgd-p-2 jsgd-rounded-md jsgd-bg-white dark:jsgd-bg-slate-800 jsgd-border jsgd-border-slate-300 dark:jsgd-border-slate-600 jsgd-text-xs"},e.toDisplayString(u.value?"🌙":"☀️"),1),e.createElementVNode("button",{type:"button",onClick:A,disabled:h.value||J.value,class:e.normalizeClass(["jsgd-p-2 jsgd-rounded-md jsgd-bg-white dark:jsgd-bg-slate-800 jsgd-border jsgd-border-slate-300 dark:jsgd-border-slate-600 jsgd-text-xs",J.value||h.value?"jsgd-cursor-not-allowed jsgd-bg-gray":""])}," 🏠 ",10,Bo)]),e.createElementVNode("div",No,[e.createElementVNode("div",Co,[v[4]||(v[4]=e.createElementVNode("span",{class:"jsgd-text-[10px] jsgd-font-mono dark:jsgd-text-white jsgd-font-bold jsgd-opacity-50 jsgd-mr-1"},"LAT:",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v[0]||(v[0]=T=>m.value=T),onChange:F,disabled:h.value||J.value,type:"text",class:e.normalizeClass(["jsgd-bg-transparent jsgd-w-16 jsgd-font-mono jsgd-text-[10px] jsgd-outline-none jsgd-text-slate-700 dark:jsgd-text-slate-300",J.value||h.value?"jsgd-cursor-not-allowed":""])},null,42,$o),[[e.vModelText,m.value]])]),e.createElementVNode("div",So,[v[5]||(v[5]=e.createElementVNode("span",{class:"jsgd-text-[10px] jsgd-font-mono jsgd-opacity-50 dark:jsgd-text-white jsgd-font-bold jsgd-mr-1"},"LNG:",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v[1]||(v[1]=T=>N.value=T),onChange:F,disabled:h.value||J.value,type:"text",class:e.normalizeClass(["jsgd-bg-transparent jsgd-w-16 jsgd-font-mono jsgd-text-[10px] jsgd-outline-none jsgd-text-slate-700 dark:jsgd-text-slate-300",J.value||h.value?"jsgd-cursor-not-allowed":""])},null,42,Do),[[e.vModelText,N.value]])])]),e.createElementVNode("button",{type:"button",onClick:Z,disabled:J.value,class:e.normalizeClass([[h.value?"jsgd-bg-red-500 jsgd-text-white":"jsgd-bg-slate-200 jsgd-text-slate-700"],"jsgd-p-2 jsgd-rounded-md jsgd-text-xs"])},e.toDisplayString(h.value?"🔒 Locked":"🔓 Unlock"),11,To)]),e.createElementVNode("div",Mo,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v[2]||(v[2]=T=>i.value=T),disabled:h.value||J.value,onKeyup:e.withKeys(L,["enter"]),type:"text",class:e.normalizeClass(["jsgd-flex-1 dark:jsgd-text-white jsgd-px-3 jsgd-py-2 jsgd-text-sm jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-border-slate-600 dark:jsgd-bg-slate-900 focus:jsgd-outline-none focus:jsgd-ring-2 focus:jsgd-ring-blue-500/20",J.value||h.value?"jsgd-cursor-not-allowed jsgd-bg-gray":""]),placeholder:"Cari lokasi..."},null,42,Lo),[[e.vModelText,i.value]]),e.createElementVNode("button",{onClick:L,disabled:h.value||J.value,class:e.normalizeClass(["jsgd-px-4 jsgd-py-2 jsgd-bg-blue-600 dark:jsgd-text-white jsgd-rounded-md jsgd-text-sm jsgd-font-medium hover:jsgd-bg-blue-700",J.value||h.value?"jsgd-cursor-not-allowed hover:jsgd-bg-red":""])}," Cari ",10,Io)])])),p.value?(e.openBlock(),e.createElementBlock("div",Ao,[e.createElementVNode("div",Fo,[v[6]||(v[6]=e.createElementVNode("span",{class:"jsgd-opacity-60"},"🛣️",-1)),e.createElementVNode("span",zo,e.toDisplayString(M(p.value.distance)),1)]),e.createElementVNode("div",Uo,[v[7]||(v[7]=e.createElementVNode("span",{class:"jsgd-opacity-60"},"⏱️",-1)),e.createElementVNode("span",Oo,e.toDisplayString(W(p.value.duration)),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{id:n,style:e.normalizeStyle({height:t.height}),class:e.normalizeClass(["jsgd-w-full jsgd-z-[1]",{"jsgd-map-disabled":J.value}])},null,6)],2),V.value.length!==0&&!G.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(V.value,(T,x)=>(e.openBlock(),e.createElementBlock("p",{key:x,class:"jsgd-text-sm jsgd-text-red-500 jsgd-mt-2 jsgd-animate-[fadeIn_300ms_ease-out] dark:jsgd-text-red-400"},e.toDisplayString(T),1))),128)):e.createCommentVNode("",!0)]))}}),Ko=["id"],Ro={key:0},Po={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},Ho={key:1,class:"quill-editor"},_o=["innerHTML"],qo={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Wo={key:2},Go=["innerHTML"],Jo={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Zo={key:3},Qo={class:"jsgd-flex jsgd-items-center jsgd-gap-4"},Yo={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-font-mono"},Xo={key:4},en={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},tn={key:5},sn={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},dn={key:6},ln={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},an={key:7},rn={key:8},on={key:0},nn=["href"],gn={key:1,class:"jsgd-flex jsgd-items-center jsgd-gap-2"},cn={class:"jsgd-text-sm jsgd-text-slate-500 dark:jsgd-text-slate-400"},un=["href"],jn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},mn={key:9},fn={key:0,class:"jsgd-flex jsgd-flex-col jsgd-gap-2"},bn=["href"],pn={key:1,class:"jsgd-flex jsgd-items-center jsgd-gap-2"},hn={class:"jsgd-text-sm jsgd-text-slate-500 dark:jsgd-text-slate-400"},vn=["href"],kn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},yn={key:10},xn={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},wn={key:11},Vn={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},En={key:12},Bn={key:0,class:"jsgd-flex jsgd-items-center jsgd-gap-0.5"},Nn={class:"jsgd-ml-2 jsgd-text-sm jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-300"},Cn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},$n={key:13},Sn={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},Dn={key:14},Tn=["href"],Mn={key:15},Ln=["href"],In={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},An={key:16},Fn={key:0,class:"jsgd-flex jsgd-flex-wrap jsgd-gap-2"},zn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Un={key:17},On={key:0,class:"jsgd-p-4 jsgd-border jsgd-border-slate-200 jsgd-rounded-md jsgd-bg-slate-50 jsgd-shadow-inner dark:jsgd-border-slate-700 dark:jsgd-bg-slate-800/50"},Kn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Rn={key:18},Pn={key:0},Hn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},_n={key:19},qn={key:0,class:"jsgd-flex jsgd-flex-wrap jsgd-gap-4"},Wn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Gn={key:20},Jn={class:"jsgd-flex jsgd-flex-wrap jsgd-gap-2"},Zn=["title","onClick"],Qn={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},Yn={key:21},Xn={key:0,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},ei={key:22},ti={class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed"},si={key:23},di={key:0,class:"jsgd-flex jsgd-flex-col jsgd-gap-4"},li={key:1,class:"jsgd-text-slate-700 dark:jsgd-text-slate-200 jsgd-leading-relaxed jsgd-italic"},ai={key:1,class:"jsgd-pb-6 jsgd-mb-6 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700 last:jsgd-mb-0 last:jsgd-pb-0 last:jsgd-border-b-0"},ri={class:"jsgd-flex jsgd-flex-col jsgd-gap-4"},oi=e.defineComponent({__name:"FieldDetailRenderer",props:{field:{},fieldKey:{},formData:{},requiredText:{},valueNullView:{type:Boolean},optionalText:{},lang:{}},emits:["image-click"],setup(t,{emit:f}){const s=e.ref(!1),o=t,d=f,l=e.computed(()=>{if(o.field.type!=="mapPicker")return o.formData[o.fieldKey];const m=o.field,N=S=>o.formData[o.fieldKey]?.[S]??o.formData[S];let w=null;const b=m.view?.geoJsonKey;if(b){const S=N(b);if(S)try{w=typeof S=="string"?JSON.parse(S):S}catch(U){console.error(`[MapPicker] Failed to parse geoJson for key: ${b}`,U)}}let E=null;if(m.withFieldKey)E=o.formData[o.fieldKey];else{const{lat:S,lng:U}=m.key||{};if(S&&U){const F=N(S),Z=N(U);F!==void 0&&Z!==void 0&&(E={[S]:F,[U]:Z})}}return{geoJson:w,val:E}}),c=e.computed(()=>{const m=l.value;return o.valueNullView&&o.field.type!=="optionGroupSchema"?!0:h(m)}),n=e.inject("TableComponents",{labels:e.ref(te.defaultTextLabelsMap[o.lang??"en"])}),j=m=>{if(typeof m!="number")return m;const N=o.lang==="id"?"id-ID":"en-US",w=o.lang==="id"?"IDR":"USD";return new Intl.NumberFormat(N,{style:"currency",currency:w}).format(m)},g=n.labels,h=m=>m!=null&&m!==""&&!(Array.isArray(m)&&m.length===0),u=e.computed(()=>{let m=o.field.label||o.fieldKey||"";return o.field.type==="optionGroupSchema"?o.field.label??"":m}),a=m=>m instanceof File,r=m=>URL.createObjectURL(m),i=m=>{navigator.clipboard.writeText(m).then(()=>console.log("Copied:",m)).catch(console.error)};return(m,N)=>c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-pb-6 jsgd-mb-6 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700 last:jsgd-mb-0 last:jsgd-pb-0 last:jsgd-border-b-0",id:t.fieldKey},[t.field.type==="text"?(e.openBlock(),e.createElementBlock("div",Ro,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",Po,e.toDisplayString(l.value||"-"),1)])):t.field.type==="quillEditor"?(e.openBlock(),e.createElementBlock("div",Ho,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createElementBlock("article",{key:0,class:"ql-editor jsgd-max-w-none",innerHTML:l.value},null,8,_o)):(e.openBlock(),e.createElementBlock("p",qo," - "))])):t.field.type==="textArea"?(e.openBlock(),e.createElementBlock("div",Wo,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"prose-content",innerHTML:l.value},null,8,Go)):(e.openBlock(),e.createElementBlock("p",Jo," - "))])):t.field.type==="password"?(e.openBlock(),e.createElementBlock("div",Zo,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("div",Qo,[e.createElementVNode("p",Yo,e.toDisplayString(s.value?l.value??"-":l.value?"•".repeat(String(l.value).length):"-"),1),l.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"jsgd-text-sm jsgd-text-blue-600 jsgd-bg-transparent jsgd-border-none jsgd-cursor-pointer jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300",onClick:N[0]||(N[0]=w=>s.value=!s.value)},e.toDisplayString(s.value?"Hide":"Show"),1)):e.createCommentVNode("",!0)])])):t.field.type==="date"?(e.openBlock(),e.createElementBlock("div",Xo,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",en,e.toDisplayString(l.value?e.unref(st)(l.value):"-"),1)])):t.field.type==="time"?(e.openBlock(),e.createElementBlock("div",tn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",sn,e.toDisplayString(l.value?e.unref(dt)(l.value):"-"),1)])):t.field.type==="dateTime"?(e.openBlock(),e.createElementBlock("div",dn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",ln,e.toDisplayString(l.value?e.unref(lt)(l.value):"-"),1)])):t.field.type==="toggle"?(e.openBlock(),e.createElementBlock("div",an,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",{class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-px-3 jsgd-py-1 jsgd-font-medium jsgd-rounded-full",l.value?"jsgd-bg-green-100 jsgd-text-green-800 dark:jsgd-bg-green-900 dark:jsgd-text-green-200":"jsgd-bg-red-100 jsgd-text-red-800 dark:jsgd-bg-red-900 dark:jsgd-text-red-200"])},e.toDisplayString(l.value?e.unref(g).btn.toogle.active:e.unref(g).btn.toogle.inactive)+" ⦿ ",3)])):t.field.type==="file"?(e.openBlock(),e.createElementBlock("div",rn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createElementBlock("div",on,[typeof l.value=="string"?(e.openBlock(),e.createElementBlock("a",{key:0,href:l.value,target:"_blank",rel:"noopener noreferrer",class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"},e.toDisplayString(l.value.split("/").pop()||l.value),9,nn)):a(l.value)?(e.openBlock(),e.createElementBlock("div",gn,[e.createElementVNode("span",null,e.toDisplayString(l.value.name),1),e.createElementVNode("span",cn,"("+e.toDisplayString((l.value.size/1024).toFixed(1))+" KB)",1),e.createElementVNode("a",{href:r(l.value),target:"_blank",rel:"noopener noreferrer",class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"}," Preview ",8,un)])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",jn," - "))])):t.field.type==="fileArray"?(e.openBlock(),e.createElementBlock("div",mn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),Array.isArray(l.value)&&l.value.length?(e.openBlock(),e.createElementBlock("div",fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(w,b)=>(e.openBlock(),e.createElementBlock("div",{key:b},[typeof w=="string"?(e.openBlock(),e.createElementBlock("a",{key:0,href:w,target:"_blank",rel:"noopener noreferrer",class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"},e.toDisplayString(w.split("/").pop()||w),9,bn)):a(w)?(e.openBlock(),e.createElementBlock("div",pn,[e.createElementVNode("span",null,e.toDisplayString(w.name),1),e.createElementVNode("span",hn,"("+e.toDisplayString((w.size/1024).toFixed(1))+" KB)",1),e.createElementVNode("a",{href:r(w),target:"_blank",rel:"noopener noreferrer",class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"}," Preview ",8,vn)])):e.createCommentVNode("",!0)]))),128))])):(e.openBlock(),e.createElementBlock("div",kn," - "))])):t.field.type==="number"?(e.openBlock(),e.createElementBlock("div",yn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",xn,e.toDisplayString(l.value??"-"),1)])):t.field.type==="currency"?(e.openBlock(),e.createElementBlock("div",wn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",Vn,e.toDisplayString(l.value!==null&&l.value!==void 0?j(l.value):"-"),1)])):t.field.type==="rate"?(e.openBlock(),e.createElementBlock("div",En,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value>0?(e.openBlock(),e.createElementBlock("div",Bn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,w=>e.createElementVNode("svg",{key:w,width:"20",height:"20",viewBox:"0 0 24 24",class:e.normalizeClass(w<=l.value?"jsgd-text-amber-400":"jsgd-text-slate-300 dark:jsgd-text-slate-600")},[...N[5]||(N[5]=[e.createElementVNode("path",{fill:"currentColor",d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"},null,-1)])],2)),64)),e.createElementVNode("span",Nn,"("+e.toDisplayString(l.value)+" / 5)",1)])):(e.openBlock(),e.createElementBlock("p",Cn," - "))])):t.field.type==="email"?(e.openBlock(),e.createElementBlock("div",$n,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",Sn,e.toDisplayString(l.value??"-"),1)])):t.field.type==="url"?(e.openBlock(),e.createElementBlock("div",Dn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("a",{href:l.value,target:"_blank",rel:"noopener noreferrer",class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"},e.toDisplayString(l.value??"-"),9,Tn)])):t.field.type==="tel"?(e.openBlock(),e.createElementBlock("div",Mn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createElementBlock("a",{key:0,href:`tel:${l.value}`,class:"jsgd-font-medium jsgd-text-blue-600 jsgd-underline jsgd-underline-offset-2 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-blue-400 dark:hover:jsgd-text-blue-300"},e.toDisplayString(l.value),9,Ln)):(e.openBlock(),e.createElementBlock("p",In," - "))])):t.field.type==="tag"?(e.openBlock(),e.createElementBlock("div",An,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),Array.isArray(l.value)&&l.value.length?(e.openBlock(),e.createElementBlock("div",Fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(w,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:"jsgd-inline-block jsgd-px-3 jsgd-py-1 jsgd-text-xs jsgd-font-medium jsgd-text-blue-800 jsgd-bg-blue-100 jsgd-rounded-full dark:jsgd-bg-blue-900 dark:jsgd-text-blue-300"},e.toDisplayString(w),1))),128))])):(e.openBlock(),e.createElementBlock("p",zn," - "))])):t.field.type==="object"?(e.openBlock(),e.createElementBlock("div",Un,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value&&typeof l.value=="object"&&Object.keys(l.value).length?(e.openBlock(),e.createElementBlock("div",On,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.schema,(w,b)=>(e.openBlock(),e.createBlock(e.unref(Ve),{key:b,field:w,"field-key":b,"form-data":l.value,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:N[1]||(N[1]=E=>d("image-click",E))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))])):(e.openBlock(),e.createElementBlock("div",Kn," - "))])):t.field.type==="image"?(e.openBlock(),e.createElementBlock("div",Rn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createElementBlock("div",Pn,[e.createVNode(e.unref(Oe),{src:l.value,alt:"Image",class:"jsgd-block jsgd-rounded-md jsgd-shadow-md jsgd-border jsgd-border-slate-200 jsgd-cursor-pointer jsgd-transition-all hover:jsgd-scale-105 hover:jsgd-shadow-lg jsgd-w-full jsgd-max-w-48 jsgd-aspect-video jsgd-object-contain dark:jsgd-border-slate-700",onClick:N[2]||(N[2]=w=>d("image-click",l.value))},null,8,["src"])])):(e.openBlock(),e.createElementBlock("div",Hn," - "))])):t.field.type==="imageArray"?(e.openBlock(),e.createElementBlock("div",_n,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),Array.isArray(l.value)&&l.value.length?(e.openBlock(),e.createElementBlock("div",qn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(w,b)=>(e.openBlock(),e.createElementBlock("div",{key:b},[e.createVNode(e.unref(Oe),{src:w,alt:`Image ${b+1}`,class:"jsgd-block jsgd-rounded-md jsgd-shadow-md jsgd-border jsgd-border-slate-200 jsgd-cursor-pointer jsgd-transition-all hover:jsgd-scale-105 hover:jsgd-shadow-lg jsgd-w-24 jsgd-h-24 jsgd-object-contain dark:jsgd-border-slate-700",onClick:E=>d("image-click",w)},null,8,["src","alt","onClick"])]))),128))])):(e.openBlock(),e.createElementBlock("div",Wn," - "))])):t.field.type==="color"?(e.openBlock(),e.createElementBlock("div",Gn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("div",Jn,[Array.isArray(l.value)&&l.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(l.value,(w,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:"jsgd-w-8 jsgd-h-8 jsgd-rounded-full jsgd-border-2 jsgd-border-white jsgd-shadow-[0_0_0_1px] jsgd-shadow-slate-300 jsgd-cursor-pointer jsgd-transition-transform hover:jsgd-scale-110 dark:jsgd-border-slate-800 dark:jsgd-shadow-slate-600",style:e.normalizeStyle({backgroundColor:w}),title:w,onClick:E=>i(w)},null,12,Zn))),128)):(e.openBlock(),e.createElementBlock("div",Qn," - "))])])):t.field.type==="mapPicker"?(e.openBlock(),e.createElementBlock("div",Yn,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),l.value?(e.openBlock(),e.createBlock(e.unref(Ze),{key:1,id:t.fieldKey,"view-only":!0,"geo-json":l.value.geoJson,"initial-lat":l.value.val[t.field.key.lat],"initial-lng":l.value.val[t.field.key.lng],lang:t.lang},null,8,["id","geo-json","initial-lat","initial-lng","lang"])):(e.openBlock(),e.createElementBlock("p",Xn,e.toDisplayString("-")))])):t.field.type==="select"?(e.openBlock(),e.createElementBlock("div",ei,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),e.createElementVNode("p",ti,e.toDisplayString(l.value||"-"),1)])):t.field.type==="arrayObject"?(e.openBlock(),e.createElementBlock("div",si,[e.createVNode(e.unref(le),{label:u.value},null,8,["label"]),Array.isArray(l.value)&&l.value.length?(e.openBlock(),e.createElementBlock("div",di,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(w,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:"jsgd-p-4 jsgd-border jsgd-border-slate-200 jsgd-rounded-md jsgd-bg-slate-50 jsgd-shadow-inner dark:jsgd-border-slate-700 dark:jsgd-bg-slate-800/50"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.schema,(E,S)=>(e.openBlock(),e.createBlock(e.unref(Ve),{key:S,field:E,"field-key":S,"form-data":w,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:N[3]||(N[3]=U=>d("image-click",U))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))]))),128))])):(e.openBlock(),e.createElementBlock("div",li," - "))])):e.createCommentVNode("",!0)],8,Ko)):t.field.type==="optionGroupSchema"?(e.openBlock(),e.createElementBlock("div",ai,[t.formData[t.fieldKey]||u.value?(e.openBlock(),e.createBlock(e.unref(le),{key:0,label:t.formData[t.fieldKey]?u.value+":"+(t.formData[t.fieldKey]??""):u.value,class:"!jsgd-text-lg !jsgd-font-semibold !jsgd-text-slate-900 dark:!jsgd-text-slate-100 !jsgd-border-l-4 !jsgd-border-slate-400 !jsgd-pl-3 dark:!jsgd-border-slate-600"},null,8,["label"])):e.createCommentVNode("",!0),e.createElementVNode("div",ri,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.field.options,(w,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:"jsgd-p-4 jsgd-border jsgd-border-slate-200 jsgd-rounded-md jsgd-bg-slate-50 jsgd-shadow-inner dark:jsgd-border-slate-700 dark:jsgd-bg-slate-800/50"},[e.createVNode(e.unref(le),{label:b,class:"option-group-item-label"},null,8,["label"]),N[6]||(N[6]=e.createElementVNode("hr",{class:"option-group-divider"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w,(E,S)=>(e.openBlock(),e.createBlock(e.unref(Ve),{key:S,field:E,"field-key":S,"form-data":t.formData,"value-null-view":t.valueNullView,"optional-text":t.optionalText,"required-text":t.requiredText,onImageClick:N[4]||(N[4]=U=>d("image-click",U))},null,8,["field","field-key","form-data","value-null-view","optional-text","required-text"]))),128))]))),128))])])):e.createCommentVNode("",!0)}}),Ve=pe(oi,[["__scopeId","data-v-c5edf131"]]),ni=["src","alt"],ii=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 f=t,s=e.ref(null),o=e.ref(!0),d=c=>new Promise((n,j)=>{const g=new Image;g.crossOrigin="anonymous",g.onload=()=>n(g),g.onerror=h=>j(h),g.src=c}),l=(c,n)=>{const j=document.createElement("canvas"),g=j.getContext("2d");if(!g)return console.error("Gagal mendapatkan konteks canvas 2D."),c.src;j.width=c.width,j.height=c.height,g.drawImage(c,0,0);const h=c.width/f.watermarkSize,u=n.height/n.width*h,a=c.width-h-10,r=c.height-u-10;return g.globalAlpha=.8,g.drawImage(n,a,r,h,u),g.globalAlpha=1,j.toDataURL("image/png")};return e.onMounted(async()=>{try{const c=await d(f.imageUrl),n=await d(f.watermarkUrl);s.value=l(c,n)}catch(c){console.error("Gagal menerapkan watermark, menampilkan gambar asli:",c),s.value=f.imageUrl}finally{o.value=!1}}),(c,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.value?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:"jsgd-w-full jsgd-h-48 jsgd-bg-slate-200 dark:jsgd-bg-slate-700 jsgd-rounded-lg jsgd-animate-pulse"},c.$attrs),null,16)):e.createCommentVNode("",!0),!o.value&&s.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:1,loading:"lazy",src:s.value,alt:f.alt},c.$attrs),null,16,ni)):e.createCommentVNode("",!0)],64))}}),gi={class:"modal-header"},ci={class:"header-content"},ui={class:"title-section"},ji={class:"modal-title"},mi={class:"modal-body"},fi={class:"form-fields-container"},bi={class:"modal-footer"},pi={class:"footer-buttons"},hi={class:"btn-content"},vi=["src"],ki=e.defineComponent({__name:"ModalDetailData",props:{schema:{},formData:{},valueNullView:{type:Boolean},title:{},closeText:{},requiredText:{},optionalText:{},lang:{}},emits:["close"],setup(t,{emit:f}){const s=f,o=e.ref(!1),d=e.ref(""),l=()=>s("close"),c=g=>{d.value=g,o.value=!0},n=e.ref(!1),j=()=>{n.value=window.innerWidth<768};return e.onMounted(()=>{j(),window.addEventListener("resize",j)}),e.onUnmounted(()=>{window.removeEventListener("resize",j)}),(g,h)=>(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(l,["self"])},[e.createVNode(e.Transition,{name:"modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["modal-container",{"mobile-view":n.value}])},[e.createElementVNode("div",gi,[e.createElementVNode("div",ci,[e.createElementVNode("div",ui,[h[1]||(h[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",ji,e.toDisplayString(t.title??"Detail Data"),1)]),e.createElementVNode("button",{class:"close-btn",onClick:l,"aria-label":"Close"},[...h[2]||(h[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",mi,[e.createElementVNode("div",fi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.schema,(u,a)=>(e.openBlock(),e.createBlock(e.unref(Ve),{key:a,field:u,"field-key":a,"form-data":t.formData,"required-text":t.requiredText,"optional-text":t.optionalText,"value-null-view":t.valueNullView,onImageClick:c,lang:t.lang},null,8,["field","field-key","form-data","required-text","optional-text","value-null-view","lang"]))),128))])]),e.createElementVNode("div",bi,[e.createElementVNode("div",pi,[e.createElementVNode("button",{type:"button",onClick:l,class:"btn btn-primary"},[e.createElementVNode("span",hi,[h[3]||(h[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:h[0]||(h[0]=u=>o.value=!1)},[e.createVNode(e.Transition,{name:"modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("img",{src:d.value,alt:"Preview",class:"image-preview-content"},null,8,vi)]),_:1})])):e.createCommentVNode("",!0)]),_:1})],64))}}),Ut=pe(ki,[["__scopeId","data-v-a78353a9"]]),yi=["innerHTML"],xi=e.defineComponent({__name:"SafeHtml",props:{html:{}},setup(t){const f=t,s=e.computed(()=>Se.sanitize(f.html));return(o,d)=>t.html?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:s.value},null,8,yi)):e.createCommentVNode("",!0)}});async function De(t,f,s,o){const d={};for(const[l,c]of Object.entries(f)){const n=c?.type;if(n==="select"&&c.DB_NAME&&!c.optionsIsNumber){const g=t[c.baseKey?.base??l];if(g!==null){const h=await ne.getItemById(c.DB_NAME,g);d[l]=h[c.baseKey.name??"name"]??""}else d[l]="";continue}if(n==="object"){const g=t[l]||{};d[l]=await De(t[l]||{},c.schema||{},g,c.baseKey?.base??"id");continue}if(n==="mapPicker"){if(c.withFieldKey){const g=t[l];d[l]=ge(g)}else{const g=t[c.key.lat],h=t[c.key.lng];d[c.key.lng]=ge(h),d[c.key.lat]=ge(g)}continue}if(n==="optionGroupSchema"&&c.options){if(c.withValue){const g=t[l];d[l]=ge(g)}for(const[g,h]of Object.entries(c.options))for(const[u,a]of Object.entries(h)){const r=a,i=t[u];if(r.type==="optionGroupSchema"&&r.options){const m=await De(t,{[u]:r},s,o);Object.assign(d,m);continue}if(r.type==="object"){d[u]=await De(t[u]||{},r.schema||{},t[u]||{},r.baseKey?.base??"id");continue}if(r.type==="mapPicker"){if(r.withFieldKey){const m=t[l];d[l]=ge(m)}else{const m=t[r.key?.lat],N=t[r.key.lng];d[r.key?.lng]=ge(N),d[r.key?.lat]=ge(m)}continue}if(r.type==="select"&&r.DB_NAME&&!r.optionsIsNumber){const m=t[r.baseKey?.base??u];if(m!=null){const N=r.DB_NAME,w=await ne.getItemById(N,m);d[u]=w[r.baseKey?.name??"name"]??void 0}else d[u]=void 0}else d[u]=ge(i)}continue}const j=t[l];d[l]=ge(j)}return s&&t?.[o??"id"]&&(d[o??"id"]=t?.[o??"id"]),d}async function Ne(t,f){const s={};for(const[o,d]of Object.entries(f)){const l=d?.type,c=t[d.baseKey?.base??o];if(l==="select"&&d.optionsView&&d.options&&c){const n=d.options.findIndex(j=>j===c);if(!d.optionsView[n]&&d.DB_NAME&&d.baseKey.name){const g=(await ne.getItemById(d.DB_NAME,c))[d.baseKey.name];s[o]=g}else s[o]=d.optionsView[n]??c;continue}if(l==="object"){s[o]=await Ne(c||{},d.schema||{});continue}if(l==="mapPicker"){if(d.withFieldKey){const n=t[o];s[o]=ge(n)}else{const n=t[d.key.lat],j=t[d.key.lng],g={lat:n,lng:j};s[d.key]=ge(g)}if(d.view?.geoJsonKey){const n=t[d.view?.geoJsonKey];if(!n)continue;s[d.view?.geoJsonKey]=ge(n)}continue}if(l==="optionGroupSchema"){const n=[];for(const[g,h]of Object.entries(d.options))n.push(h);const j=await Ot(t,n);Object.assign(s,j);continue}if(l==="arrayObject"){const n=[];for(const j of c||[]){const g=await Ne(j,d.schema||{});n.push(g)}s[o]=n;continue}s[o]=ge(c)}return s}async function Ot(t,f){const s={};for(const o of f)for(const[d,l]of Object.entries(o)){const c=l?.type,n=t[l.baseKey?.base??d];if(c==="select"&&l.optionsView&&l.options&&n){const j=l.options.findIndex(g=>g===n);if(!l.optionsView[j]&&l.DB_NAME&&l.baseKey.name){const h=(await ne.getItemById(l.DB_NAME,n))[l.baseKey.name];s[d]=h}else s[d]=l.optionsView[j]??n}else if(c==="optionGroupSchema"){const j=[];for(const[h,u]of Object.entries(l.options))j.push(u);const g=await Ot(t,j);Object.assign(s,g)}else if(c==="object")s[d]=await Ne(n||{},l.schema||{});else if(c==="arrayObject"){const j=[];for(const g of n){const h=await Ne(g,l.schema||{});j.push(h)}s[d]=j;continue}else c==="mapPicker"?(l.withFieldKey?s[d]=ge(n):(s[l.key.lat]=ge(t[l.key.lat]),s[l.key.lng]=ge(t[l.key.lng])),l.view?.geoJsonKey&&(s[l.view?.geoJsonKey]=ge(t[l.view?.geoJsonKey]))):s[d]=ge(n)}return s}function ge(t,f){return t??null}function ve(t){const f=e.toRaw(t),s=Array.isArray(f)?[]:{};if(Array.isArray(f))return f.map(o=>o!==null&&typeof o=="object"&&!(o instanceof File||o instanceof Blob||o instanceof Date)&&!Array.isArray(o)?ve(o):o);for(const o in f){const d=f[o];d===void 0?s[o]=null:d instanceof File||d instanceof Blob||d instanceof Date?s[o]=d:typeof d=="string"&&(d.trim()===""||d==="<p><br></p>")||typeof d=="number"&&d===0?s[o]=null:Array.isArray(d)?s[o]=d.map(l=>l!==null&&typeof l=="object"&&!(l instanceof File||l instanceof Blob||l instanceof Date)&&!Array.isArray(l)?ve(l):l):typeof d=="object"&&d!==null?s[o]=ve(d):s[o]=d}return s}const wi=/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|txt|zip|rar)$/i;function Ie(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?t.type.startsWith("image/"):t instanceof File||typeof t=="object"&&t.type?.startsWith("image/"):!1}function Kt(t){return!t||Ie(t)?!1:typeof t=="string"?wi.test(t)||t.startsWith("blob:"):t instanceof File}function Ue(t){return typeof t=="string"?t:t instanceof File?URL.createObjectURL(t):typeof t=="object"&&t.url?t.url:""}function tt(t){if(typeof t=="string")try{const s=new URL(t).pathname;return s.substring(s.lastIndexOf("/")+1)}catch{return t.substring(t.lastIndexOf("/")+1)}return t.name}function Vi(t){return Array.isArray(t)&&t.every(f=>Ie(f))}function Ei(t){return Array.isArray(t)?t.every(f=>Rt(f)):!1}function Bi(t){return Array.isArray(t)&&t.length>0&&t.every(f=>Kt(f)||Ie(f))}function Rt(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 Ni(t){return/<\/?[a-z][\s\S]*>/i.test(t)}function Ci(t){return Object.keys(t).reduce((f,s)=>(s!=="id"&&(f[s]=t[s]),f),{})}function $i(t,f,s,o,d,l,c,n){const j=e.ref({});async function g(b){o.value?.show("loading",l.message.process.loading);try{const E=await c(t.data,b);if(n.isUpdate.value=Number(b),!E){o.value?.show("error",l.message.notFound);return}const S=t.base.schema.update??t.base.schema.global??{};if(j.value=await De(E,S,n.isUpdate.value,t.keys?.idKey??"id"),t.base?.justTabel||t.manual?.update||!t.endPoints?.update){f("edit",j.value,b),o.value?.hide();return}n.FormModalOpen.value=!0,o.value?.hide()}catch(E){const S=typeof E=="string"?E:E instanceof Error?E.message:JSON.stringify(E,Object.getOwnPropertyNames(E));o.value?.show("error",S||"An unknown error occurred")}}function h(){if(t.base?.justTabel||t.manual?.create||!t.endPoints?.create){f("create");return}n.isUpdate.value=null,n.FormModalOpen.value=!0}async function u(b){o.value?.show("loading",l.message.process.loading);try{const E=await c(t.data,b);if(n.isUpdate.value=Number(b),!E){o.value?.show("error",l.message.notFound);return}if(j.value=await Ne(E,t.base?.schema.display??t.base?.schema.global??{}),t.base.justTabel||t.manual?.display){f("show",j.value,b),o.value?.hide();return}n.detailItemModal.value=!0,o.value?.hide()}catch(E){o.value?.show("error",JSON.stringify(E))}}function a(b){n.idData.value=b,n.showWarningModel.value=!0}function r(){n.showWarningModelSelected.value=!0}function i(){n.showWarningModel.value=!1,n.showWarningModelSelected.value=!1,n.FormModalOpen.value=!1,n.detailItemModal.value=!1,j.value={},n.isUpdate.value=null}const m=async b=>{const E=n.isUpdate.value!==null,S=E?t.endPoints?.update:t.endPoints?.create,U=E?t.validation?.update||null:t.validation?.create||null,F=E?"update":"create",Z=E?l.message.success.update:l.message.success.create,D=E?l.message.error.update:l.message.error.create;if(!S){o.value?.show("error",E?l.message.error.update:l.message.error.create);return}if(Array.isArray(n.dataChildDelete.value)&&n.dataChildDelete.value.length>0&&E){const V=t.base.schema.update??t.base.schema.global??{};let B="",_,q=await c(t.data,n.isUpdate.value),J,G,y=!0;for(const W in V){const $=V[W];if($.type==="arrayObject"){B=W,_=$.endPoint?.deleteMany??t.endPoints?.deleteMany,J=$.DB_NAME??t.base.source.DB_NAME,G=$.deleteValidation??t.validation?.delete??void 0,y=!0;break}}if(Array.isArray(j.value[B]))for(let W=0;W<n.dataChildDelete.value.length;W++){const $=n.dataChildDelete.value[W];t.keys?.idKey,j.value[B]=j.value[B].filter(L=>L?.[t.keys?.idKey??"id"]!==$),q&&Array.isArray(q[B])&&(q[B]=q[B].filter(L=>L?.[t.keys?.idKey??"id"]!==$))}const p=Ee(ve(b),ve(e.toRaw(j.value))),M=await w(n.dataChildDelete.value,_,G,J,y);if(M?.response&&p){o.value?.show("success",l.message.success.delete),await ne.updateItemInStore(J,ve(e.toRaw(q))),await s(),i();return}else if(!M?.response){o.value?.show("error",M.message);return}}try{o.value?.show("loading",E?l.message.process.update:l.message.process.create);const V=E?t.submitOption?.update?.authType??t.submitOption?.global?.authType??"cookie":t.submitOption?.create?.authType??t.submitOption?.global?.authType??"cookie",B=E?t.submitOption?.update?.token??t.submitOption?.global?.token??void 0:t.submitOption?.create?.token??t.submitOption?.global?.token??void 0,_=E?t.submitOption?.update?.customHeaders??t.submitOption?.global?.customHeaders??void 0:t.submitOption?.create?.customHeaders??t.submitOption?.global?.customHeaders??void 0;await be({data:ve(b),oldData:E?ve(e.toRaw(j.value)):void 0,validation:U??void 0,endpoint:S,mode:F,token:B,authType:V,customHeaders:_,db:t.base.source.DB_NAME,...E?t.submitOption?.update??t.submitOption?.global:t.submitOption?.create??t.submitOption?.global,demo:t.demo}),t.base.dataTabelCustomDisplay?f("refreshData"):await s(),o.value?.show("success",Z),i()}catch(V){d("error",D,Object.entries(V).map(([B,_])=>`${B} : ${_}`)),o.value?.show("error",D)}};async function N(b,E,S,U,F=!0){if(t.base.justTabel||t.manual?.delete||!t.endPoints?.delete){f("delete",b);return}if(E=E??t.endPoints?.delete,S=S??t.validation?.delete,U=U??t.base?.source.DB_NAME??void 0,!E){o.value?.show("error",l.message.error.delete);return}const Z={[t.keys?.idKey??"id"]:b};try{o.value?.show("loading",l.message.process.delete);const D=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",V=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,B=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0;await be({data:Z,validation:S??void 0,endpoint:E,mode:"delete",token:V,authType:D,customHeaders:B,db:U,deleteDataDB:F,demo:t.demo,...t.submitOption?.delete??t.submitOption?.global}),t.base?.dataTabelCustomDisplay?f("refreshData"):await s(),o.value?.show("success",l.message.success.delete)}catch(D){d("error",l.message.error.delete,Object.entries(D).map(([V,B])=>`${V} : ${B}`)),o.value?.show("error",l.message.error.delete)}finally{i()}}async function w(b,E,S,U,F=!0){if(t.base?.justTabel||t.manual?.delete||!t.endPoints?.delete){f("deleteMany",b);return}if(E=E??t.endPoints?.deleteMany,S=S??t.validation?.deleteMany,U=U??t.base?.source.DB_NAME??void 0,!E){o.value?.show("error",l.message.error.deleteMany);return}try{o.value?.show("loading",l.message.process.deleteMany);const Z=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",D=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,V=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0,B=await be({data:{[t.keys?.idsKey??"ids"]:b},validation:S??void 0,endpoint:E,mode:"delete",db:U,authType:Z,token:D,customHeaders:V,deleteDataDB:F,demo:t.demo});return n.selectedItems.value=[],t.base?.dataTabelCustomDisplay?(f("refreshData"),o.value?.show("success",l.message.success.deleteMany),i(),B):(await s(),o.value?.show("success",l.message.success.deleteMany),i(),B)}catch(Z){d("error",l.message.error.deleteMany,Object.entries(Z).map(([D,V])=>`${D} : ${V}`)),o.value?.show("error",l.message.error.deleteMany)}}return{initialData:j,openEditModal:g,openCreateModal:h,openShowModal:u,openWarningDeleteData:a,openWarningDeleteSelectedData:r,closeModal:i,submitFormData:m,DeleteData:N,DeleteSeletedData:w}}function Si(t,f,s,o){const d=e.ref(""),l=e.ref(1),c=e.ref([]),n=e.ref(!1),j=e.ref(!1),g=e.ref(!1),h=e.ref(null),u=e.ref(null),a=e.ref("asc"),r=e.ref(!1),i=e.ref(!1),m=e.ref(null),N=e.ref(null),w=e.computed(()=>t.pagination?.itemsPerPage??10),b=e.computed(()=>t.pagination?.maxVisiblePages??5);e.ref(null),e.ref("none");const E=e.computed(()=>{const C=t.keys?.idKey;return t.data.find(A=>A?.[C??"id"]===h.value)||{}}),S=e.computed(()=>{const C=t.keys?.idKey??"id",A=t.keys?.nameKey??"name";return t.data.filter(k=>c.value.includes(k[C])).map(k=>k[A]).join(", ")}),U=e.computed(()=>{let C=(t.base.data??[]).filter(A=>Object.values(A).some(k=>String(k).toLowerCase().includes(d.value.toLowerCase())));return u.value&&C.sort((A,k)=>{let v=A[u.value],T=k[u.value];return typeof v=="string"&&(v=v.toLowerCase()),typeof T=="string"&&(T=T.toLowerCase()),v<T?a.value==="asc"?-1:1:v>T?a.value==="asc"?1:-1:0}),C}),F=e.computed(()=>{const C=(l.value-1)*w.value;return U.value.slice(C,C+w.value)}),Z=e.computed(()=>Math.ceil(U.value.length/w.value)),D=e.computed(()=>{const C=[],A=Z.value,k=l.value,v=b.value;if(A<=v+2){for(let z=1;z<=A;z++)C.push(z);return C}C.push(1);let T=Math.max(2,k-2),x=Math.min(A-1,k+2);T>2&&C.push("...");for(let z=T;z<=x;z++)C.push(z);return x<A-1&&C.push("..."),C.push(A),C});function V(){c.value=n.value?F.value.map(C=>C?.[t.keys?.idKey??"id"]):[]}function B(C){u.value===C?a.value=a.value==="desc"?"asc":"desc":(u.value=C,a.value="desc")}function _(){l.value>1&&l.value--}function q(){l.value<Z.value&&l.value++}async function J(){if(t.base.source.DB_NAME){const C=await ne.getFromIndexedDB(t.base.source.DB_NAME);if(t.base.source.connect?.length){const A={};return await Promise.all(t.base.source.connect.map(async k=>{A[k.DB_NAME]=await ne.getFromIndexedDB(k.DB_NAME)})),C.map(k=>{let v={...k};for(const T of t.base.source.connect){const x=T.key,z=T.connectKey,K=(A[T.DB_NAME]||[]).filter(R=>L(R,z)===L(k,x));v[T.DB_NAME]=K.length>0?K:null}return v})}return C}else if(t.base.source.fetchApi?.getAll){const C=(k="get")=>({authType:t.submitOption?.[k]?.authType??t.submitOption?.global?.authType??"cookie",token:t.submitOption?.[k]?.token??t.submitOption?.global?.token,customHeaders:t.submitOption?.[k]?.customHeaders??t.submitOption?.global?.customHeaders}),A=await be({mode:"get",endpoint:t.base.source.fetchApi?.getAll,db:t.base.source.DB_NAME,...C()});if(A.data||(A.data=A),t.base.source.fetchApi.connect?.length){const k={};return await Promise.all(t.base.source.fetchApi.connect.map(async v=>{const T=await be({mode:"get",endpoint:v.url,db:t.base.source.DB_NAME,...C()}),x=v.valueKey??v.url??v.key;k[x]=T.data??[]})),!A.data||!Array.isArray(A.data)?A.data:A.data.map(v=>{let T={...v};for(const x of t.base.source.fetchApi.connect){const z=x.key,K=x.connectKey,R=x.valueKey??x.url??x.key,X=(k[R]||[]).filter(de=>L(de,K)===L(v,z));T[R]=X.length>0?X:null}return T})}return A.data??[]}else return}async function G(C,A){if(C.connect?.withDB)return await ne.getItemById(C.connect.withDB.DB_NAME,A);if(C.connect?.withFetch){const k=t.submitOption?.delete?.authType??t.submitOption?.global?.authType??"cookie",v=t.submitOption?.delete?.token??t.submitOption?.global?.token??void 0,T=t.submitOption?.delete?.customHeaders??t.submitOption?.global?.customHeaders??void 0,x=await be({mode:"get",endpoint:C.connect?.withFetch.url+"/"+A,db:t.base.source.DB_NAME,authType:k,token:v,customHeaders:T});if(x.data||(x.data=x),x.data)return x.data}else return}async function y(C,A){return C.find(k=>k[t.keys?.idKey??"id"]==A)}let p=!0,M=null;async function W(){if(p&&s.value?.show("loading",o.message.process.loading),t.base?.dataTabelCustomDisplay&&t.base?.dataTabelCustomDisplay.length!==0){t.base.data=t.base.dataTabelCustomDisplay,t.data=await J(),await $(),p&&(s.value?.hide(),p=!1);return}const C=await J();if(t.data=C,await $(),Array.isArray(C)){const v=t.keys?.idKey??"id";C.sort((T,x)=>T.updatedAt&&x.updatedAt?new Date(x.updatedAt).getTime()-new Date(T.updatedAt).getTime():(x[v]??0)-(T[v]??0)),t.data=C}else{p&&(s.value?.hide(),p=!1);return}const A=t.keys?.idKey,k=t.base.headersTabelDisplay?.length===0||t.base.headersTabelDisplay===void 0;t.base.data=await Promise.all(C.map(async v=>{const T={};if(A&&v[A]!=null&&(T[A]=v[A],k&&(!t.base.headersTabelDisplay?.includes(A)||t.base.headersTabelDisplay===void 0)&&(t.base.headersTabelDisplay=[])),t.base.dataTabelDisplay)for(const[x,z]of Object.entries(t.base.dataTabelDisplay))if(typeof z=="string")T[x]=L(v,z)??null,k&&!t.base.headersTabelDisplay?.includes(x)&&t.base.headersTabelDisplay?.push(x);else{let K=L(v,z.valueKey);if((z.connect?.withDB||z.connect?.withFetch)&&K)if(Array.isArray(K)){const R=await Promise.all(K.map(async X=>{const de=await G(z,X);return de?de[z.connect?.withDB?.valueKey??z.connect?.withFetch?.valueKey]:X}));T[x]=R}else{const R=await G(z,K);R&&(K=R[z.connect.withDB?.valueKey??z.connect.withFetch?.valueKey]),T[x]=K}else T[x]=K??null;k&&!t.base.headersTabelDisplay?.includes(x)&&t.base.headersTabelDisplay?.push(x)}else{let x=0;for(const[z,K]of Object.entries(v)){if(z===A)continue;if(x>=8)break;const R=O(z);T[R]=K??null,k&&!t.base.headersTabelDisplay?.includes(R)&&t.base.headersTabelDisplay?.push(R),x++}}return T})),p&&(s.value?.hide(),p=!1),t.base?.source?.fetchApi?.autoRefresh?.time&&(M&&clearTimeout(M),M=setTimeout(()=>{W()},t.base.source.fetchApi.autoRefresh.time))}async function $(){const C={global:t.base.schema.global??{},create:t.base.schema.create??{},update:t.base.schema.update??{},display:t.base.schema.display??{}},A=x=>({authType:t.submitOption?.[x]?.authType??t.submitOption?.global?.authType??"cookie",token:t.submitOption?.[x]?.token??t.submitOption?.global?.token,customHeaders:t.submitOption?.[x]?.customHeaders??t.submitOption?.global?.customHeaders}),k=async x=>{const z=x.options?.valueKey??"id",K=x.options?.viewKey??"name";let R;if(x.options?.url&&(R=await be({mode:"get",endpoint:x.options.url,...A("get")}),Array.isArray(R?.data)&&(x.options=R.data.map(X=>X[z])??[],x.options?.viewKey?x.optionsView=R.map(X=>X[K])??[]:x.optionsView=R.map(X=>X[z])??[])),x.options?.DB_NAME){const X=x.options?.DB_NAME??x.optionsView?.DB_NAME;if(R=await ne.getFromIndexedDB(X),Array.isArray(R)){const de=x.options;de?.DB_NAME&&(x.options=R.map(oe=>oe[z])??[]),de?.viewKey?x.optionsView=R.map(oe=>oe[K])??[]:x.optionsView=R.map(oe=>oe[z])??[]}}},v=(x,z)=>{t.data&&x.validate?.duplicate===!0&&(x.validate.duplicate=t.data.map(K=>K[z])??[])};async function T(x){for(const[z,K]of Object.entries(x)){const R=K?.type;if(R==="select"&&await k(K),R==="text"&&v(K,z),R==="optionGroupSchema"){const X=K?.options??{};for(const[de,oe]of Object.entries(X))await T(oe)}R==="arrayObject"&&K.schema&&await T(K.schema),R==="object"&&K.schema&&await T(K.schema)}}for(const[x,z]of Object.entries(C))z&&await T(z)}function L(C,A){if(!(!C||typeof A!="string"))try{const k=A.replace(/\[(\d+)\]/g,".$1").split(".");let v=C;for(const T of k){if(v==null)return;if(Array.isArray(v)){const x=Number(T);isNaN(x)?(v=v.map(z=>z?.[T]).filter(z=>z!==void 0),v.some(z=>Array.isArray(z))&&(v=v.flat()),v.length===1&&(v=v[0])):v=v[x]}else v=v?.[T]}return v}catch{return"-"}}function O(C){return C.replace(/([A-Z])/g," $1").replace(/[_\-]/g," ").replace(/\s+/g," ").trim().replace(/\w\S*/g,A=>A.charAt(0).toUpperCase()+A.slice(1).toLowerCase())}return{searchQuery:d,currentPage:l,selectedItems:c,selectAll:n,showWarningModel:j,showWarningModelSelected:g,idData:h,sortField:u,sortDirection:a,FormModalOpen:r,detailItemModal:i,isUpdate:m,dataChildDelete:N,selectedItem:E,selectedItemNames:S,filteredData:U,paginatedData:F,totalPages:Z,visiblePages:D,toggleAll:V,sortBy:B,prevPage:_,nextPage:q,setUpData:W,getValueByPath:L,toTitleCase:O,GetDataById:y}}const Pt={idKey:"id",idsKey:"ids"},Ht={btnInfoActive:!0,searchQueryActive:!0,sortable:!0,createActive:!0,updateActive:!0,deleteActive:!0,deleteManyActive:!0,displayActive:!0},Di={create:!1,update:!1,delete:!1,deleteMany:!1,display:!1},_t={itemsPerPage:5,maxVisiblePages:5},qt={create:void 0,update:void 0,delete:void 0,deleteMany:void 0},Ti={create:void 0,update:void 0,delete:void 0,deleteMany:void 0},Mi={global:{authType:"cookie"}},Li={class:"jsgd-w-full jsgd-h-full jsgd-flex jsgd-flex-col jsgd-bg-white jsgd-text-slate-800 jsgd-relative jsgd-transition-all dark:jsgd-bg-slate-900 dark:jsgd-text-slate-100"},Ii={class:"jsgd-flex-1 jsgd-flex jsgd-flex-col jsgd-p-6 jsgd-gap-6 jsgd-box-border"},Ai={class:"jsgd-flex jsgd-justify-center jsgd-gap-4 jsgd-p-6 jsgd-bg-slate-50 jsgd-rounded-2xl jsgd-shadow-sm jsgd-border jsgd-border-slate-200 min-[512px]:jsgd-flex-col dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},Fi={class:"jsgd-flex jsgd-items-center jsgd-flex-col jsgd-justify-center jsgd-gap-4 min-[512px]:jsgd-flex-row min-[512px]:jsgd-justify-between min-[512px]:jsgd-items-center"},zi={class:"jsgd-flex jsgd-items-center"},Ui={class:"jsgd-flex jsgd-gap-3 jsgd-flex-wrap"},Oi=["disabled"],Ki={key:0,class:"jsgd-flex jsgd-items-center jsgd-text-slate-600 dark:jsgd-text-slate-300 jsgd-gap-3 jsgd-p-3 jsgd-bg-slate-100 jsgd-rounded-lg dark:jsgd-bg-slate-700/50"},Ri={class:"seo-gauge"},Pi={viewBox:"0 0 36 36",class:"circular-chart"},Hi=["stroke-dasharray"],_i={x:"18",y:"19.5",class:"percentage"},qi={class:"jsgd-flex jsgd-items-center"},Wi={key:0,class:"jsgd-relative jsgd-min-w-[250px]"},Gi=["placeholder"],Ji={key:0,class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-4 jsgd-py-3 jsgd-bg-blue-500 jsgd-text-white jsgd-rounded-lg jsgd-text-sm jsgd-font-medium jsgd-animate-[slideIn_0.3s_ease-out] dark:jsgd-bg-blue-600"},Zi={class:"jsgd-bg-white/20 jsgd-px-2 jsgd-py-1 jsgd-rounded-md jsgd-font-semibold"},Qi={key:0,class:"jsgd-flex jsgd-flex-col jsgd-items-center jsgd-justify-center jsgd-py-16 jsgd-px-8 jsgd-text-center jsgd-bg-slate-50 jsgd-rounded-2xl jsgd-border jsgd-border-slate-200 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},Yi={class:"jsgd-text-xl jsgd-font-semibold jsgd-text-slate-800 jsgd-mb-2 dark:jsgd-text-slate-100"},Xi={class:"jsgd-text-slate-500 jsgd-mb-8 jsgd-max-w-[300px] dark:jsgd-text-slate-400"},eg={key:1,class:"jsgd-flex jsgd-flex-col jsgd-flex-1 jsgd-gap-6"},tg={class:"jsgd-flex-1 jsgd-overflow-auto jsgd-rounded-lg jsgd-border jsgd-border-slate-200 jsgd-bg-white jsgd-shadow-sm table-scroll-container dark:jsgd-border-slate-700 dark:jsgd-bg-slate-900"},sg={class:"jsgd-w-full jsgd-border-collapse jsgd-bg-white dark:jsgd-bg-slate-900"},dg={class:"jsgd-bg-slate-50 jsgd-border-b jsgd-border-slate-200 dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},lg={class:"jsgd-w-12 jsgd-p-4"},ag={class:"jsgd-flex jsgd-items-center jsgd-gap-2"},rg=["onClick"],og={class:"jsgd-w-48 jsgd-text-xs jsgd-p-4 jsgd-text-right"},ng={class:"jsgd-bg-white dark:jsgd-bg-slate-900"},ig={class:"jsgd-text-center"},gg=["value"],cg=["innerHTML"],ug={key:1},jg={key:2,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis jsgd-flex jsgd-items-center jsgd-gap-2"},mg={key:3,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis jsgd-flex jsgd-items-center jsgd-gap-2"},fg={key:4,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis jsgd-flex jsgd-items-center jsgd-gap-2"},bg={key:5,class:"jsgd-whitespace-nowrap"},pg={class:"jsgd-w-12 jsgd-h-12 jsgd-rounded-lg jsgd-overflow-hidden jsgd-border jsgd-border-slate-200 dark:jsgd-border-slate-700"},hg=["src","alt"],vg={key:6,class:"jsgd-whitespace-nowrap jsgd-flex jsgd-items-center jsgd-gap-1"},kg=["title"],yg={key:0,class:"jsgd-text-xs jsgd-text-slate-400 jsgd-ml-1 dark:jsgd-text-slate-500"},xg={key:7,class:"jsgd-whitespace-nowrap"},wg=["title"],Vg={key:8,class:"jsgd-whitespace-nowrap jsgd-flex jsgd-items-center jsgd-gap-1"},Eg=["src","alt"],Bg={key:0,class:"jsgd-text-xs jsgd-text-slate-400 jsgd-ml-1 dark:jsgd-text-slate-500"},Ng={key:9,class:"jsgd-whitespace-nowrap"},Cg=["href"],$g={class:"jsgd-overflow-hidden jsgd-text-ellipsis"},Sg={key:10,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis"},Dg=["href"],Tg={class:"jsgd-overflow-hidden jsgd-text-ellipsis"},Mg={key:12,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis"},Lg={key:13,class:"jsgd-flex jsgd-items-center jsgd-gap-0.5"},Ig={key:14,class:"jsgd-flex jsgd-items-center jsgd-gap-2"},Ag={key:15,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis"},Fg={key:16,class:"jsgd-whitespace-nowrap jsgd-overflow-hidden jsgd-text-ellipsis"},zg={key:1,class:"jsgd-text-slate-400 dark:jsgd-text-slate-500"},Ug={class:"jsgd-p-4 jsgd-text-right jsgd-relative jsgd-align-middle"},Og={class:"jsgd-flex jsgd-justify-end jsgd-gap-2"},Kg=["onClick"],Rg=["innerHTML"],Pg={class:"jsgd-hidden md:jsgd-inline"},Hg=["onClick"],_g=["innerHTML"],qg={class:"jsgd-absolute jsgd-bottom-full jsgd-mb-2 jsgd-left-1/2 -jsgd-translate-x-1/2 jsgd-px-2 jsgd-py-1 jsgd-bg-slate-800 jsgd-text-white jsgd-text-xs jsgd-font-medium jsgd-rounded-md jsgd-whitespace-nowrap jsgd-opacity-0 jsgd-invisible jsgd-transition-all jsgd-pointer-events-none group-hover:jsgd-opacity-100 group-hover:jsgd-visible group-hover:-jsgd-translate-y-1 dark:jsgd-bg-slate-700"},Wg=["onClick"],Gg={key:0,class:"jsgd-absolute jsgd-z-10 jsgd-right-4 jsgd-top-full jsgd-mt-2 jsgd-w-48 jsgd-bg-white jsgd-rounded-lg jsgd-shadow-xl jsgd-border jsgd-border-slate-200 jsgd-overflow-hidden dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},Jg=["onClick"],Zg=["innerHTML"],Qg={class:"jsgd-flex jsgd-flex-col jsgd-gap-4 jsgd-items-center jsgd-justify-between jsgd-p-6 jsgd-bg-slate-50 jsgd-rounded-2xl jsgd-border jsgd-border-slate-200 md:jsgd-flex-row dark:jsgd-bg-slate-800 dark:jsgd-border-slate-700"},Yg={class:"jsgd-text-sm jsgd-text-slate-500 jsgd-w-md jsgd-text-center md:jsgd-text-left dark:jsgd-text-slate-400"},Xg={class:"jsgd-flex jsgd-items-center jsgd-justify-center md:jsgd-items-end md:jsgd-justify-end jsgd-gap-2 jsgd-w-full"},ec=["disabled"],tc={class:"jsgd-hidden sm:jsgd-block"},sc={class:"jsgd-flex jsgd-items-center jsgd-gap-1 jsgd-overflow-x-auto jsgd-max-w-[200px] sm:jsgd-max-w-none no-scrollbar"},dc=["onClick","disabled"],lc=["disabled"],ac={class:"jsgd-hidden sm:jsgd-block"},rc=e.defineComponent({__name:"TabelData",props:{base:{},keys:{default:()=>Pt},formDesign:{},submitOption:{},customActions:{default:()=>[]},feature:{default:()=>Ht},pagination:{default:()=>_t},validation:{default:()=>qt},manual:{},endPoints:{},demo:{type:Boolean,default:()=>!1}},emits:["refreshData","edit","create","show","delete","deleteMany","customAction"],setup(t,{expose:f,emit:s}){const o=ee=>typeof ee=="string"&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(ee),d=ee=>typeof ee=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(ee),l=ee=>typeof ee=="string"&&/^\d{2}:\d{2}$/.test(ee);function c(ee,H="en"){try{const Q=new Date(ee),P=H==="id"?"id-ID":H;return new Intl.DateTimeFormat(P,{dateStyle:"medium",timeStyle:"short"}).format(Q)}catch{return ee}}function n(ee,H="en"){try{const Q=new Date(`${ee}T00:00:00`),P=H==="id"?"id-ID":H;return new Intl.DateTimeFormat(P,{dateStyle:"medium"}).format(Q)}catch{return ee}}function j(ee,H="en"){try{const[Q,P]=ee.split(":"),re=new Date;re.setHours(parseInt(Q,10),parseInt(P,10),0,0);const fe=H==="id"?"id-ID":H;return new Intl.DateTimeFormat(fe,{timeStyle:"short"}).format(re)}catch{return ee}}function g(ee){const H=a.value.base.dataTabelDisplay?.[ee];return typeof H=="object"&&H.type?H.type:null}const h=ee=>{if(typeof ee!="number")return ee;const H=a.value.base.lang==="id"?"id-ID":"en-US",Q=a.value.base.lang==="id"?"IDR":"USD";return new Intl.NumberFormat(H,{style:"currency",currency:Q}).format(ee)},u=t,a=e.ref({...u}),r=s,i=e.ref(null),m=e.computed(()=>{const ee=a.value.base.seoDisplay,H=y.value;if(!ee||!a.value.data||H.length===0)return null;const Q=a.value.keys?.idKey??"id",P=H.map(fe=>{const ue=a.value.data.find(Gt=>Gt[Q]===fe[Q]);if(!ue)return null;const ke=ue[ee];return typeof ke=="number"?ke:null}).filter(fe=>fe!==null);if(P.length===0)return null;const re=P.reduce((fe,ue)=>fe+ue,0);return Math.round(re/P.length)}),N=e.computed(()=>m.value===null?"":m.value>=80?"score-good":m.value>=50?"score-ok":"score-bad"),w=e.ref(),b=e.computed(()=>te.defaultTextLabelsMap[u.base?.lang??"en"]),{searchQuery:E,currentPage:S,selectedItems:U,selectAll:F,showWarningModel:Z,showWarningModelSelected:D,idData:V,FormModalOpen:B,detailItemModal:_,isUpdate:q,dataChildDelete:J,selectedItem:G,filteredData:y,paginatedData:p,totalPages:M,visiblePages:W,selectedItemNames:$,toggleAll:L,sortBy:O,prevPage:C,nextPage:A,setUpData:k,GetDataById:v}=Si(a.value,r,i,b.value),{initialData:T,openEditModal:x,openCreateModal:z,openShowModal:K,openWarningDeleteData:R,openWarningDeleteSelectedData:X,closeModal:de,submitFormData:oe,DeleteData:ie,DeleteSeletedData:je}=$i(a.value,r,k,i,Qe,b.value,v,{selectedItems:U,idData:V,isUpdate:q,FormModalOpen:B,detailItemModal:_,dataChildDelete:J,showWarningModel:Z,showWarningModelSelected:D}),me=e.ref(null);function $e(ee,H){r("customAction",{key:ee,item:H})}e.watch(U,ee=>{F.value=ee.length===p.value.length&&p.value.length>0}),e.watch(me,ee=>{ee?window.addEventListener("click",ye):window.removeEventListener("click",ye)}),e.watch(E,()=>{S.value=1}),e.watch(()=>u.base.dataTabelCustomDisplay||u.base.schema,async()=>{Object.assign(a.value,{...u}),U.value=[],await k()}),e.onMounted(async()=>{Object.assign(a.value,{...u}),await k()}),e.provide("TableComponents",{ShowAlert:Qe,loader:i,labels:b});function Qe(ee,H,Q){const P={type:ee,title:H,messages:Q};w.value?.addAlert(P)}function Wt(ee){me.value===ee?me.value=null:me.value=ee}function ye(){me.value=null}function we(ee){const H=[],Q=ee?.[a.value?.keys?.idKey??"id"];if(a.value.customActions)for(const P of a.value.customActions)H.push({key:`custom-${P.key}`,label:P.label,icon:P.icon,class:P.class||"jsgd-bg-gray-500/10 jsgd-text-gray-500 hover:jsgd-bg-gray-500 hover:jsgd-text-white dark:jsgd-text-gray-400 dark:hover:jsgd-bg-gray-600",handler:()=>{$e(P.key,ee),ye()}});return a.value?.feature?.updateActive&&H.push({key:"update",label:b.value?.btn?.update,icon:'<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><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"/></svg>',class:"jsgd-bg-blue-500/10 jsgd-text-blue-500 hover:jsgd-bg-blue-500 hover:jsgd-text-white dark:jsgd-text-blue-400 dark:hover:jsgd-bg-blue-600",handler:()=>{x(Q),ye()}}),a.value?.feature?.deleteActive&&H.push({key:"delete",label:b.value?.btn?.remove,icon:'<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><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"/></svg>',class:"jsgd-bg-red-500/10 jsgd-text-red-500 hover:jsgd-bg-red-500 hover:jsgd-text-white dark:jsgd-text-red-400 dark:hover:jsgd-bg-red-600",handler:()=>{R(Q),ye()}}),a.value?.feature?.displayActive&&H.push({key:"display",label:b.value?.btn?.display,icon:'<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><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"/><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"/></svg>',class:"jsgd-bg-slate-500/10 jsgd-text-slate-500 hover:jsgd-bg-slate-500 hover:jsgd-text-white dark:jsgd-text-slate-400 dark:hover:jsgd-bg-slate-400",handler:()=>{K(Q),ye()}}),H}return f({refreshData:k}),(ee,H)=>(e.openBlock(),e.createElementBlock("div",Li,[e.createVNode(e.unref(Ce),{ref_key:"loader",ref:i},null,512),e.unref(Z)?(e.openBlock(),e.createBlock(qe,{key:0,title:b.value.warning.delete,message:`${e.unref(G).name??e.unref(G)[a.value?.keys?.nameKey??a.value?.keys?.idKey??"id"]}`,onConfirm:H[0]||(H[0]=()=>{e.unref(V)!==null&&e.unref(ie)(e.unref(V))}),onClose:e.unref(de)},null,8,["title","message","onClose"])):e.createCommentVNode("",!0),e.unref(D)?(e.openBlock(),e.createBlock(qe,{key:1,title:b.value.warning.deleteMany,message:e.unref($),onConfirm:H[1]||(H[1]=()=>e.unref(je)(e.unref(U))),onClose:e.unref(de)},null,8,["title","message","onClose"])):e.createCommentVNode("",!0),e.unref(_)?(e.openBlock(),e.createBlock(Ut,{key:2,title:b.value?.title?.display,"close-text":b.value?.btn?.close,schema:a.value?.base?.schema.display??a.value?.base?.schema.global??{},"form-data":e.unref(T)??{},lang:a.value.base.lang??"en","value-null-view":!0,onClose:e.unref(de)},null,8,["title","close-text","schema","form-data","lang","onClose"])):e.createCommentVNode("",!0),e.createVNode(e.unref(Je),{ref_key:"alert",ref:w},null,512),e.unref(B)?(e.openBlock(),e.createBlock(Le,{key:3,id:e.unref(q)??null,"is-update":!!e.unref(q),schema:e.unref(q)?a.value.base.schema.update??a.value.base.schema.global:a.value.base.schema.create??a.value.base.schema.global,"initial-data":e.unref(q)?e.unref(T):void 0,lang:a.value.base.lang??"en",onCancel:H[2]||(H[2]=Q=>B.value=!1),demo:a.value.demo,seo:a.value.base.schema.SeoDisplay??void 0,onDataChildRemove:H[3]||(H[3]=Q=>J.value=Q),onSubmit:e.unref(oe)},null,8,["id","is-update","schema","initial-data","lang","demo","seo","onSubmit"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ii,[e.createElementVNode("div",Ai,[e.createElementVNode("div",Fi,[e.createElementVNode("div",zi,[e.createElementVNode("div",Ui,[a.value?.feature?.createActive?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:H[4]||(H[4]=Q=>e.unref(z)()),class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-6 jsgd-py-3 jsgd-border-none jsgd-rounded-lg jsgd-text-sm jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/20 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-bg-gradient-to-br jsgd-from-blue-500 jsgd-to-blue-600 jsgd-text-white jsgd-shadow-md hover:jsgd-shadow-lg hover:-jsgd-translate-y-0.5 dark:jsgd-from-blue-600 dark:jsgd-to-blue-700"},[H[14]||(H[14]=e.createElementVNode("span",{class:"jsgd-flex jsgd-items-center jsgd-justify-center"},[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(b.value?.btn?.add),1)])):e.createCommentVNode("",!0),e.unref(U).length>0&&a.value?.feature?.deleteManyActive?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:H[5]||(H[5]=Q=>e.unref(X)()),class:e.normalizeClass(["jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-6 jsgd-py-3 jsgd-border-none jsgd-rounded-lg jsgd-text-sm jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/20 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-bg-gradient-to-br jsgd-from-red-500 jsgd-to-red-600 jsgd-text-white jsgd-shadow-md hover:jsgd-shadow-lg hover:-jsgd-translate-y-0.5 dark:jsgd-from-red-600 dark:jsgd-to-red-700",{"jsgd-bg-slate-100 jsgd-text-slate-400 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-500":e.unref(U).length===0}]),disabled:e.unref(U).length===0},[H[15]||(H[15]=e.createElementVNode("span",{class:"jsgd-flex jsgd-items-center jsgd-justify-center"},[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(b.value?.btn?.deleteMany),1)],10,Oi)):e.createCommentVNode("",!0)])]),m.value!==null?(e.openBlock(),e.createElementBlock("div",Ki,[e.createElementVNode("div",Ri,[(e.openBlock(),e.createElementBlock("svg",Pi,[H[16]||(H[16]=e.createElementVNode("path",{class:"circle-bg",d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"},null,-1)),e.createElementVNode("path",{class:e.normalizeClass(["circle",N.value]),"stroke-dasharray":`${m.value}, 100`,d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"},null,10,Hi),e.createElementVNode("text",_i,e.toDisplayString(m.value),1)]))]),H[17]||(H[17]=e.createElementVNode("span",{class:"jsgd-text-sm jsgd-font-medium jsgd-text-slate-600 dark:jsgd-text-slate-300"},"Average SEO Score",-1))])):e.createCommentVNode("",!0),e.createElementVNode("div",qi,[a.value?.feature?.searchQueryActive?(e.openBlock(),e.createElementBlock("div",Wi,[H[18]||(H[18]=e.createElementVNode("div",{class:"jsgd-absolute jsgd-left-3 jsgd-top-1/2 -jsgd-translate-y-1/2 jsgd-text-slate-400 jsgd-flex jsgd-items-center jsgd-justify-center dark:jsgd-text-slate-500"},[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":H[6]||(H[6]=Q=>e.isRef(E)?E.value=Q:null),type:"text",placeholder:b.value?.search||"Search...",class:"jsgd-w-full jsgd-py-3 jsgd-pr-3 jsgd-pl-10 jsgd-bg-white jsgd-border jsgd-border-slate-200 jsgd-rounded-lg jsgd-box-border jsgd-text-slate-800 jsgd-text-sm jsgd-transition-all focus:jsgd-outline-none focus:jsgd-border-blue-500 focus:jsgd-ring-3 focus:jsgd-ring-blue-500/10 dark:jsgd-bg-slate-900 dark:jsgd-border-slate-700 dark:jsgd-text-slate-100 dark:focus:jsgd-border-blue-400",onKeyup:H[7]||(H[7]=e.withKeys(Q=>S.value=1,["enter"]))},null,40,Gi),[[e.vModelText,e.unref(E)]])])):e.createCommentVNode("",!0)])]),e.unref(U).length>0?(e.openBlock(),e.createElementBlock("div",Ji,[e.createElementVNode("span",Zi,e.toDisplayString(e.unref(U).length),1),e.createTextVNode(" "+e.toDisplayString(e.unref(U).length===1?b.value.selection.selectedOne??"item is selected":b.value.selection.selected??"items are selected"),1)])):e.createCommentVNode("",!0)]),e.unref(y).length===0?(e.openBlock(),e.createElementBlock("div",Qi,[H[20]||(H[20]=e.createElementVNode("div",{class:"jsgd-text-slate-400 jsgd-mb-6 jsgd-opacity-70 dark:jsgd-text-slate-500"},[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",Yi,e.toDisplayString(b.value?.message?.notFound),1),e.createElementVNode("p",Xi,e.toDisplayString(b.value?.message?.notFoundDesc||"No data available"),1),a.value?.feature?.createActive?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:H[8]||(H[8]=Q=>e.unref(z)()),class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-6 jsgd-py-3 jsgd-border-none jsgd-rounded-lg jsgd-text-sm jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all jsgd-relative jsgd-overflow-hidden disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none before:jsgd-content-[''] before:jsgd-absolute before:jsgd-top-0 before:jsgd-left-[-100%] before:jsgd-w-full before:jsgd-h-full before:jsgd-bg-gradient-to-r before:jsgd-from-transparent before:jsgd-via-white/20 before:jsgd-to-transparent before:jsgd-transition-[left] before:jsgd-duration-600 hover:before:jsgd-left-full jsgd-bg-gradient-to-br jsgd-from-blue-500 jsgd-to-blue-600 jsgd-text-white jsgd-shadow-md hover:jsgd-shadow-lg hover:-jsgd-translate-y-0.5 jsgd-animate-[pulse_2s_infinite] dark:jsgd-from-blue-600 dark:jsgd-to-blue-700"},[H[19]||(H[19]=e.createElementVNode("span",{class:"jsgd-flex jsgd-items-center jsgd-justify-center"},[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(b.value?.btn?.add),1)])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",eg,[e.createElementVNode("div",tg,[e.createElementVNode("table",sg,[e.createElementVNode("thead",dg,[e.createElementVNode("tr",null,[e.createElementVNode("th",lg,[a.value?.feature?.deleteManyActive?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",onChange:H[9]||(H[9]=(...Q)=>e.unref(L)&&e.unref(L)(...Q)),"onUpdate:modelValue":H[10]||(H[10]=Q=>e.isRef(F)?F.value=Q:null),class:"jsgd-w-4 jsgd-h-4 jsgd-border jsgd-border-slate-200 jsgd-rounded-sm jsgd-bg-white jsgd-cursor-pointer jsgd-transition-all checked:jsgd-bg-blue-500 checked:jsgd-border-blue-500 focus:jsgd-outline-none focus:jsgd-ring-3 focus:jsgd-ring-blue-500/10 dark:jsgd-border-slate-700 dark:jsgd-bg-slate-900 dark:checked:jsgd-bg-blue-600 dark:checked:jsgd-border-blue-600"},null,544)),[[e.vModelCheckbox,e.unref(F)]]):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value?.base.headersTabelDisplay,(Q,P)=>(e.openBlock(),e.createElementBlock("th",{key:Q,class:e.normalizeClass(["jsgd-p-4 jsgd-text-left jsgd-text-xs jsgd-font-semibold jsgd-text-slate-500 jsgd-uppercase jsgd-tracking-wider jsgd-whitespace-nowrap dark:jsgd-text-slate-400",{"jsgd-hidden md:jsgd-table-cell":P>0}])},[e.createElementVNode("div",ag,[e.createTextVNode(e.toDisplayString(Q)+" ",1),a.value?.feature?.sortable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:re=>e.unref(O)(Q),class:"jsgd-bg-transparent jsgd-border-none jsgd-text-slate-400 jsgd-cursor-pointer jsgd-p-1 jsgd-rounded-md jsgd-transition-all jsgd-flex jsgd-items-center jsgd-justify-center hover:jsgd-text-slate-800 hover:jsgd-bg-slate-100 dark:jsgd-text-slate-500 dark:hover:jsgd-text-slate-100 dark:hover:jsgd-bg-slate-700"},[...H[21]||(H[21]=[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,rg)):e.createCommentVNode("",!0)])],2))),128)),e.createElementVNode("th",og,e.toDisplayString(b.value?.action||"Actions"),1)])]),e.createElementVNode("tbody",ng,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(p),Q=>(e.openBlock(),e.createElementBlock("tr",{key:Q?.[a.value?.keys?.idKey??"id"],class:"jsgd-border-b jsgd-border-slate-50 jsgd-transition-all hover:jsgd-bg-slate-50 dark:jsgd-border-slate-800 dark:hover:jsgd-bg-slate-800"},[e.createElementVNode("td",ig,[a.value?.feature?.deleteManyActive?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox","onUpdate:modelValue":H[11]||(H[11]=P=>e.isRef(U)?U.value=P:null),value:Q?.[a.value?.keys?.idKey??"id"],class:"jsgd-w-4 jsgd-h-4 jsgd-border jsgd-border-slate-200 jsgd-rounded-sm jsgd-bg-white jsgd-cursor-pointer jsgd-transition-all checked:jsgd-bg-blue-500 checked:jsgd-border-blue-500 focus:jsgd-outline-none focus:jsgd-ring-3 focus:jsgd-ring-blue-500/10 dark:jsgd-border-slate-700 dark:jsgd-bg-slate-900 dark:checked:jsgd-bg-blue-600 dark:checked:jsgd-border-blue-600"},null,8,gg)),[[e.vModelCheckbox,e.unref(U)]]):e.createCommentVNode("",!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Ci)(Q),(P,re,fe)=>(e.openBlock(),e.createElementBlock("td",{key:re,class:e.normalizeClass(["jsgd-p-4 jsgd-text-sm jsgd-text-slate-500 jsgd-max-w-[200px] dark:jsgd-text-slate-400",{"jsgd-hidden md:jsgd-table-cell":fe>0,"jsgd-font-semibold jsgd-text-slate-800 dark:jsgd-text-slate-100":fe===0}])},[P!=null?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[g(re)==="richtext"||e.unref(Ni)(P)?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:P,class:"jsgd-max-w-full jsgd-max-h-16 jsgd-overflow-hidden"},null,8,cg)):g(re)==="boolean"?(e.openBlock(),e.createElementBlock("div",ug,[e.createElementVNode("span",{class:e.normalizeClass(["jsgd-px-3 jsgd-py-1 jsgd-rounded-full jsgd-text-xs jsgd-font-medium jsgd-inline-block",{"jsgd-bg-green-500/10 jsgd-text-emerald-500 dark:jsgd-text-emerald-400":P,"jsgd-bg-red-500/10 jsgd-text-red-500 dark:jsgd-text-red-400":!P}])},e.toDisplayString(P?b.value?.btn.toogle?.active||"Active":b.value?.btn.toogle?.inactive||"Inactive"),3)])):g(re)==="dateTime"||o(P)?(e.openBlock(),e.createElementBlock("div",jg,[H[22]||(H[22]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"jsgd-shrink-0 jsgd-text-slate-500 dark:jsgd-text-slate-400"},[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(c(P,a.value.base.lang??"en")),1)])):g(re)==="date"||d(P)?(e.openBlock(),e.createElementBlock("div",mg,[H[23]||(H[23]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"jsgd-shrink-0 jsgd-text-slate-500 dark:jsgd-text-slate-400"},[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(n(P,a.value.base.lang??"en")),1)])):g(re)==="time"||l(P)?(e.openBlock(),e.createElementBlock("div",fg,[H[24]||(H[24]=e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",class:"jsgd-shrink-0 jsgd-text-slate-500 dark:jsgd-text-slate-400"},[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(j(P,a.value.base.lang??"en")),1)])):g(re)==="image"||e.unref(Ie)(P)?(e.openBlock(),e.createElementBlock("div",bg,[e.createElementVNode("div",pg,[e.createElementVNode("img",{src:e.unref(Ue)(P),class:"jsgd-w-full jsgd-h-full jsgd-object-cover",alt:`Preview ${re}`},null,8,hg)])])):g(re)==="arrayColor"||e.unref(Ei)(P)?(e.openBlock(),e.createElementBlock("div",vg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.slice(0,3),(ue,ke)=>(e.openBlock(),e.createElementBlock("div",{key:ke,style:e.normalizeStyle({backgroundColor:ue}),class:"jsgd-w-6 jsgd-h-6 jsgd-rounded-full jsgd-border-2 jsgd-border-slate-200 jsgd-inline-block jsgd-mr-1 jsgd-cursor-pointer jsgd-transition-all hover:jsgd-scale-110 dark:jsgd-border-slate-700",title:ue},null,12,kg))),128)),P.length>3?(e.openBlock(),e.createElementBlock("span",yg,"+"+e.toDisplayString(P.length-3),1)):e.createCommentVNode("",!0)])):g(re)==="color"||e.unref(Rt)(P)?(e.openBlock(),e.createElementBlock("div",xg,[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:P}),class:"jsgd-w-8 jsgd-h-8 jsgd-rounded-full jsgd-border-2 jsgd-border-slate-200 jsgd-inline-block jsgd-mr-1 jsgd-cursor-pointer jsgd-transition-all hover:jsgd-scale-110 dark:jsgd-border-slate-700",title:P},null,12,wg)])):g(re)==="arrayImage"||e.unref(Vi)(P)?(e.openBlock(),e.createElementBlock("div",Vg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.slice(0,3),(ue,ke)=>(e.openBlock(),e.createElementBlock("div",{key:ke,class:"jsgd-w-8 jsgd-h-8 jsgd-rounded-md jsgd-overflow-hidden jsgd-border jsgd-border-slate-200 dark:jsgd-border-slate-700"},[e.createElementVNode("img",{src:e.unref(Ue)(ue),class:"jsgd-w-full jsgd-h-full jsgd-object-cover",alt:`Preview ${re}-${ke}`},null,8,Eg)]))),128)),P.length>3?(e.openBlock(),e.createElementBlock("span",Bg,"+"+e.toDisplayString(P.length-3),1)):e.createCommentVNode("",!0)])):g(re)==="file"||e.unref(Kt)(P)?(e.openBlock(),e.createElementBlock("div",Ng,[e.createElementVNode("a",{href:e.unref(Ue)(P),target:"_blank",rel:"noopener noreferrer",class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-text-slate-500 jsgd-transition-colors hover:jsgd-text-blue-500 dark:jsgd-text-slate-400 dark:hover:jsgd-text-blue-400"},[H[25]||(H[25]=e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"jsgd-shrink-0"},[e.createElementVNode("path",{d:"M14 3V7C14 7.26522 14.1054 7.51957 14.2929 7.70711C14.4805 7.89464 14.7348 8 15 8H19M14 3H7C5.89543 3 5 3.89543 5 5V19C5 20.1046 5.89543 21 7 21H17C18.1046 21 19 20.1046 19 19V8M14 3L19 8",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createElementVNode("span",$g,e.toDisplayString(e.unref(tt)(P)),1)],8,Cg)])):g(re)==="arrayFile"||e.unref(Bi)(P)?(e.openBlock(),e.createElementBlock("div",Sg,e.toDisplayString(P.map(ue=>e.unref(tt)(ue)).join(", ")),1)):g(re)==="url"?(e.openBlock(),e.createElementBlock("a",{key:11,href:P,target:"_blank",rel:"noopener noreferrer",class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-text-blue-500 hover:jsgd-underline jsgd-transition-colors dark:jsgd-text-blue-400"},[H[26]||(H[26]=e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"jsgd-shrink-0"},[e.createElementVNode("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.72",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.72-1.72",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),e.createElementVNode("span",Tg,e.toDisplayString(P),1)],8,Dg)):g(re)==="currency"?(e.openBlock(),e.createElementBlock("div",Mg,e.toDisplayString(h(P)),1)):g(re)==="rate"?(e.openBlock(),e.createElementBlock("div",Lg,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,ue=>e.createElementVNode("svg",{key:ue,width:"16",height:"16",viewBox:"0 0 24 24",class:e.normalizeClass(ue<=P?"jsgd-text-amber-400":"jsgd-text-slate-300 dark:jsgd-text-slate-600")},[...H[27]||(H[27]=[e.createElementVNode("path",{fill:"currentColor",d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"},null,-1)])],2)),64))])):g(re)==="seo"?(e.openBlock(),e.createElementBlock("div",Ig,[e.createElementVNode("div",{class:e.normalizeClass(["jsgd-w-2.5 jsgd-h-2.5 jsgd-rounded-full",{"jsgd-bg-red-500":P<50,"jsgd-bg-yellow-500":P>=50&&P<80,"jsgd-bg-emerald-500":P>=80}])},null,2),e.createElementVNode("span",{class:e.normalizeClass(["jsgd-font-semibold",{"jsgd-text-red-600 dark:jsgd-text-red-400":P<50,"jsgd-text-yellow-600 dark:jsgd-text-yellow-400":P>=50&&P<80,"jsgd-text-emerald-600 dark:jsgd-text-emerald-400":P>=80}])},e.toDisplayString(P)+"%",3)])):Array.isArray(P)?(e.openBlock(),e.createElementBlock("div",Ag,e.toDisplayString(P.join(", ")),1)):(e.openBlock(),e.createElementBlock("div",Fg,e.toDisplayString(P),1))],64)):(e.openBlock(),e.createElementBlock("span",zg,"—"))],2))),128)),e.createElementVNode("td",Ug,[e.createElementVNode("div",Og,[we(Q).length<=3?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(we(Q),P=>(e.openBlock(),e.createElementBlock("button",{key:P.key,onClick:P.handler,class:e.normalizeClass([P.class,"jsgd-flex jsgd-items-center jsgd-gap-1.5 jsgd-px-3 jsgd-py-2 jsgd-border-none jsgd-rounded-lg jsgd-text-xs jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all jsgd-whitespace-nowrap hover:-jsgd-translate-y-px"])},[P.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"jsgd-flex jsgd-items-center jsgd-justify-center jsgd-w-4 jsgd-h-4",innerHTML:P.icon},null,8,Rg)):e.createCommentVNode("",!0),e.createElementVNode("span",Pg,e.toDisplayString(P.label),1)],10,Kg))),128)):we(Q).length<=5?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(we(Q),P=>(e.openBlock(),e.createElementBlock("div",{key:P.key,class:"jsgd-relative jsgd-group"},[e.createElementVNode("button",{onClick:P.handler,class:e.normalizeClass([P.class,"jsgd-flex jsgd-items-center jsgd-justify-center jsgd-w-9 jsgd-h-9 jsgd-border-none jsgd-rounded-lg jsgd-cursor-pointer jsgd-transition-all hover:-jsgd-translate-y-px"])},[P.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"jsgd-flex jsgd-items-center jsgd-justify-center jsgd-w-4 jsgd-h-4",innerHTML:P.icon},null,8,_g)):e.createCommentVNode("",!0)],10,Hg),e.createElementVNode("div",qg,e.toDisplayString(P.label),1)]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("button",{onClick:e.withModifiers(P=>Wt(Q?.[a.value?.keys?.idKey??"id"]),["stop"]),class:"jsgd-flex jsgd-items-center jsgd-justify-center jsgd-w-9 jsgd-h-9 jsgd-border-none jsgd-rounded-lg jsgd-text-xs jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all jsgd-whitespace-nowrap jsgd-bg-slate-500/10 jsgd-text-slate-500 hover:jsgd-bg-slate-500 hover:jsgd-text-white hover:-jsgd-translate-y-px dark:jsgd-text-slate-400 dark:hover:jsgd-bg-slate-600"},[...H[28]||(H[28]=[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M5 12H5.01M12 12H12.01M19 12H19.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,Wg),e.createVNode(e.Transition,{name:"jsgd-action-menu"},{default:e.withCtx(()=>[me.value===Q?.[a.value?.keys?.idKey??"id"]?(e.openBlock(),e.createElementBlock("div",Gg,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(we(Q),P=>(e.openBlock(),e.createElementBlock("li",{key:`dropdown-${P.key}`},[e.createElementVNode("button",{onClick:P.handler,class:"jsgd-w-full jsgd-flex jsgd-items-center jsgd-gap-3 jsgd-px-4 jsgd-py-2.5 jsgd-text-left jsgd-text-sm jsgd-border-none jsgd-bg-transparent jsgd-cursor-pointer jsgd-transition-colors jsgd-text-slate-700 hover:jsgd-bg-slate-100 dark:jsgd-text-slate-300 dark:hover:jsgd-bg-slate-700/50"},[P.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:"jsgd-flex jsgd-items-center jsgd-justify-center jsgd-w-4 jsgd-h-4",innerHTML:P.icon},null,8,Zg)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(P.label),1)],8,Jg)]))),128))])])):e.createCommentVNode("",!0)]),_:2},1024)],64))])])]))),128))])])]),e.createElementVNode("div",Qg,[e.createElementVNode("div",Yg,e.toDisplayString(a.value?.pagination?.indicator?.displayingText||"Showing")+" "+e.toDisplayString((e.unref(S)-1)*(a.value?.pagination?.itemsPerPage??5)+1)+" - "+e.toDisplayString(Math.min(e.unref(S)*(a.value?.pagination?.itemsPerPage??5),e.unref(y).length))+" of "+e.toDisplayString(e.unref(y).length)+" "+e.toDisplayString(a.value?.pagination?.indicator?.dataText||"")+" data ",1),e.createElementVNode("div",Xg,[e.createElementVNode("button",{onClick:H[12]||(H[12]=(...Q)=>e.unref(C)&&e.unref(C)(...Q)),disabled:e.unref(S)===1,class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-2 sm:jsgd-px-4 jsgd-py-2 sm:jsgd-py-3 jsgd-bg-white jsgd-border jsgd-border-slate-200 jsgd-rounded-lg jsgd-text-slate-800 jsgd-text-sm jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all hover:jsgd-bg-slate-100 hover:-jsgd-translate-y-px disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none dark:jsgd-bg-slate-900 dark:jsgd-border-slate-700 dark:jsgd-text-slate-100 dark:hover:jsgd-bg-slate-800"},[H[29]||(H[29]=e.createElementVNode("span",{class:"jsgd-flex jsgd-items-center jsgd-justify-center"},[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.createElementVNode("span",tc,e.toDisplayString(b.value?.btn?.prev||"Previous"),1)],8,ec),e.createElementVNode("div",sc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(W),Q=>(e.openBlock(),e.createElementBlock("button",{key:Q+"",onClick:P=>typeof Q=="number"&&(S.value=Q),disabled:Q==="...",class:e.normalizeClass(["jsgd-min-w-8 sm:jsgd-min-w-10 jsgd-h-8 sm:jsgd-h-10 jsgd-flex jsgd-items-center jsgd-justify-center jsgd-rounded-lg jsgd-text-xs sm:jsgd-text-sm jsgd-font-medium jsgd-transition-all jsgd-flex-shrink-0",[e.unref(S)===Q?"jsgd-bg-blue-500 jsgd-text-white jsgd-border jsgd-border-blue-500 jsgd-cursor-default dark:jsgd-bg-blue-600 dark:jsgd-border-blue-600":Q==="..."?"jsgd-bg-transparent jsgd-text-slate-400 jsgd-cursor-default jsgd-border-transparent":"jsgd-bg-white jsgd-border jsgd-border-slate-200 jsgd-text-slate-800 jsgd-cursor-pointer hover:jsgd-bg-slate-100 dark:jsgd-bg-slate-900 dark:jsgd-border-slate-700 dark:jsgd-text-slate-100 dark:hover:jsgd-bg-slate-800"]])},e.toDisplayString(Q),11,dc))),128))]),e.createElementVNode("button",{onClick:H[13]||(H[13]=(...Q)=>e.unref(A)&&e.unref(A)(...Q)),disabled:e.unref(S)===e.unref(M)||e.unref(M)===0,class:"jsgd-flex jsgd-items-center jsgd-gap-2 jsgd-px-2 sm:jsgd-px-4 jsgd-py-2 sm:jsgd-py-3 jsgd-bg-white jsgd-border jsgd-border-slate-200 jsgd-rounded-lg jsgd-text-slate-800 jsgd-text-sm jsgd-font-medium jsgd-cursor-pointer jsgd-transition-all hover:jsgd-bg-slate-100 hover:-jsgd-translate-y-px disabled:jsgd-opacity-50 disabled:jsgd-cursor-not-allowed disabled:jsgd-transform-none dark:jsgd-bg-slate-900 dark:jsgd-border-slate-700 dark:jsgd-text-slate-100 dark:hover:jsgd-bg-slate-800"},[e.createElementVNode("span",ac,e.toDisplayString(b.value?.btn?.next||"Next"),1),H[30]||(H[30]=e.createElementVNode("span",{class:"jsgd-flex jsgd-items-center jsgd-justify-center"},[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,lc)])])]))])]))}}),oc=pe(rc,[["__scopeId","data-v-4c4065b7"]]);exports.DATETIME_REGEX=jt;exports.DATE_REGEX=gt;exports.FieldDetailRenderer=Ve;exports.FormModal=Le;exports.Loader=Ce;exports.ModalDetailData=Ut;exports.TIME_REGEX=ct;exports.TabelData=oc;exports.TextAreaQuill=Lt;exports.WarningForm=qe;exports._sfc_main=Je;exports._sfc_main$1=ft;exports._sfc_main$10=Vt;exports._sfc_main$11=Be;exports._sfc_main$12=Et;exports._sfc_main$13=Bt;exports._sfc_main$14=Nt;exports._sfc_main$15=ii;exports._sfc_main$16=Ze;exports._sfc_main$17=Ct;exports._sfc_main$18=$t;exports._sfc_main$19=St;exports._sfc_main$2=Oe;exports._sfc_main$20=vt;exports._sfc_main$21=xi;exports._sfc_main$22=pt;exports._sfc_main$23=Dt;exports._sfc_main$24=Mt;exports._sfc_main$25=Tt;exports._sfc_main$26=It;exports._sfc_main$27=At;exports._sfc_main$28=Ft;exports._sfc_main$29=ce;exports._sfc_main$3=le;exports._sfc_main$30=zt;exports._sfc_main$4=bt;exports._sfc_main$5=ht;exports._sfc_main$6=kt;exports._sfc_main$7=yt;exports._sfc_main$8=xt;exports._sfc_main$9=wt;exports.calculateSeo=mt;exports.defaultEndpoints=Ti;exports.defaultFeatureToggles=Ht;exports.defaultKeys=Pt;exports.defaultManualControl=Di;exports.defaultPagination=_t;exports.defaultSubmitAuth=Mi;exports.defaultValidation=qt;exports.deleteNestedAndCleanup=nt;exports.emailRegex=it;exports.formatDate=st;exports.formatDateTime=lt;exports.formatTime=dt;exports.gcd=at;exports.getClientLocaleAndTimeZone=Me;exports.getCommonRatio=Ke;exports.getMessage=I;exports.getNested=Y;exports.hasAnyError=Re;exports.isSameMessage=rt;exports.normalizeKey=Pe;exports.safeValidate=ad;exports.setNested=se;exports.setUID=ae;exports.simplifyRatio=xe;exports.submitData=be;exports.telRegex=ut;exports.toDateOnly=he;exports.toDateTimeString=as;exports.toTimeOnly=He;exports.unsetNested=ot;exports.validate=_e;