@dasidev/dasi-ui 1.0.19 → 1.0.21

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 (447) hide show
  1. package/README.md +6 -6
  2. package/dist/index.js +1 -1
  3. package/dist/types.js +1766 -1764
  4. package/package.json +2 -3
  5. package/template/index.html +0 -18
  6. package/template/package.json.template +0 -100
  7. package/template/postcss.config.js +0 -0
  8. package/template/public/favicon.ico +0 -0
  9. package/template/public/img/brand/ic_pln.svg +0 -12
  10. package/template/public/img/brand/mapp_power_logo.svg +0 -21
  11. package/template/public/img/common/pltu_ulumbu_flores_ntt.jpeg +0 -0
  12. package/template/public/scripts/pdf.worker.min.js +0 -29
  13. package/template/public/scripts/pdf.worker.min.mjs +0 -29
  14. package/template/public/scripts/pdf.worker.mjs +0 -57722
  15. package/template/public/scripts/pdf.worker.mjs.map +0 -1
  16. package/template/src/App.vue +0 -17
  17. package/template/src/__tests__/index.test.ts +0 -9
  18. package/template/src/api/api.ts +0 -117
  19. package/template/src/assets/app-selector.svg +0 -3
  20. package/template/src/assets/dasi.png +0 -0
  21. package/template/src/assets/foto_ss.svg +0 -21
  22. package/template/src/assets/icons/circle-blue.svg +0 -4
  23. package/template/src/assets/icons/circle-gray.svg +0 -15
  24. package/template/src/assets/icons/circle-green.svg +0 -4
  25. package/template/src/assets/icons/circle-orange.svg +0 -4
  26. package/template/src/assets/icons/circle-purple.svg +0 -4
  27. package/template/src/assets/icons/circle-red.svg +0 -15
  28. package/template/src/assets/icons/harbor.svg +0 -12
  29. package/template/src/assets/icons/ic-box-red.svg +0 -8
  30. package/template/src/assets/icons/ic-chevron-right.svg +0 -1
  31. package/template/src/assets/icons/ic-loading.svg +0 -9
  32. package/template/src/assets/icons/ic-reset.svg +0 -16
  33. package/template/src/assets/icons/ic-sailing.svg +0 -5
  34. package/template/src/assets/icons/icon-app-selector.svg +0 -3
  35. package/template/src/assets/icons/icon-browser-check.svg +0 -4
  36. package/template/src/assets/icons/icon-calendar.svg +0 -3
  37. package/template/src/assets/icons/icon-chart-bar.svg +0 -3
  38. package/template/src/assets/icons/icon-chart-doc.svg +0 -16
  39. package/template/src/assets/icons/icon-chart-line.svg +0 -10
  40. package/template/src/assets/icons/icon-chart-mix.svg +0 -15
  41. package/template/src/assets/icons/icon-chart-pie.svg +0 -11
  42. package/template/src/assets/icons/icon-continue.svg +0 -12
  43. package/template/src/assets/icons/icon-dashboard-2.svg +0 -17
  44. package/template/src/assets/icons/icon-dashboard.svg +0 -3
  45. package/template/src/assets/icons/icon-data-kelistrikan.svg +0 -19
  46. package/template/src/assets/icons/icon-data-sentral.svg +0 -11
  47. package/template/src/assets/icons/icon-database.svg +0 -5
  48. package/template/src/assets/icons/icon-desktop.svg +0 -3
  49. package/template/src/assets/icons/icon-download.svg +0 -13
  50. package/template/src/assets/icons/icon-energi-primer.svg +0 -12
  51. package/template/src/assets/icons/icon-faba-apk2.svg +0 -11
  52. package/template/src/assets/icons/icon-faba.svg +0 -11
  53. package/template/src/assets/icons/icon-factory.svg +0 -14
  54. package/template/src/assets/icons/icon-globe-doc.svg +0 -19
  55. package/template/src/assets/icons/icon-ikk.svg +0 -10
  56. package/template/src/assets/icons/icon-kbb.svg +0 -13
  57. package/template/src/assets/icons/icon-kos.svg +0 -16
  58. package/template/src/assets/icons/icon-kpi-bod.svg +0 -15
  59. package/template/src/assets/icons/icon-kss.svg +0 -14
  60. package/template/src/assets/icons/icon-map.svg +0 -12
  61. package/template/src/assets/icons/icon-monitoring-harian.svg +0 -13
  62. package/template/src/assets/icons/icon-notification.svg +0 -4
  63. package/template/src/assets/icons/icon-overview.svg +0 -17
  64. package/template/src/assets/icons/icon-pltu.svg +0 -13
  65. package/template/src/assets/icons/icon-sebaran-sentral.svg +0 -12
  66. package/template/src/assets/icons/icon-select-data-kelistrikan.svg +0 -19
  67. package/template/src/assets/icons/icon-select-data-sentral.svg +0 -11
  68. package/template/src/assets/icons/icon-select-energi-primer.svg +0 -12
  69. package/template/src/assets/icons/icon-select-faba-apk2.svg +0 -11
  70. package/template/src/assets/icons/icon-select-ikk.svg +0 -10
  71. package/template/src/assets/icons/icon-select-kbb.svg +0 -13
  72. package/template/src/assets/icons/icon-select-kos.svg +0 -16
  73. package/template/src/assets/icons/icon-select-kpi-bod.svg +0 -15
  74. package/template/src/assets/icons/icon-select-kss.svg +0 -14
  75. package/template/src/assets/icons/icon-select-monitoring-harian.svg +0 -13
  76. package/template/src/assets/icons/icon-select-overview.svg +0 -17
  77. package/template/src/assets/icons/icon-select-sebaran-sentral.svg +0 -12
  78. package/template/src/assets/icons/icon-sentral-white.svg +0 -13
  79. package/template/src/assets/icons/icon-shipping.svg +0 -5
  80. package/template/src/assets/icons/icon-sort.svg +0 -5
  81. package/template/src/assets/icons/icon-tree-box.svg +0 -14
  82. package/template/src/assets/icons/icon-warehouse.svg +0 -12
  83. package/template/src/assets/icons/pin-green.svg +0 -3
  84. package/template/src/assets/icons/pin-orange.svg +0 -3
  85. package/template/src/assets/icons/pin-purple.svg +0 -3
  86. package/template/src/assets/icons/ship.svg +0 -3
  87. package/template/src/assets/icons/shipment/icon-antri.svg +0 -15
  88. package/template/src/assets/icons/shipment/icon-bongkar.svg +0 -4
  89. package/template/src/assets/icons/shipment/icon-invoice.svg +0 -6
  90. package/template/src/assets/icons/shipment/icon-loading.svg +0 -8
  91. package/template/src/assets/icons/shipment/icon-pembayaran.svg +0 -13
  92. package/template/src/assets/icons/shipment/icon-pengiriman.svg +0 -4
  93. package/template/src/assets/icons/shipment/icon-sailing.svg +0 -4
  94. package/template/src/assets/icons/shipment/icon-shipment-completed.svg +0 -6
  95. package/template/src/assets/icons/shipment/icon-shipment-in-progress.svg +0 -6
  96. package/template/src/assets/icons/shipment/icon-shipment-over-sla.svg +0 -6
  97. package/template/src/assets/icons/shipment/icon-spt.svg +0 -4
  98. package/template/src/assets/icons/shipment/icon-total-shipment.svg +0 -4
  99. package/template/src/assets/icons/upload_doc_icon.svg +0 -42
  100. package/template/src/assets/icons/upload_icon_blue.svg +0 -14
  101. package/template/src/assets/login-bg-day-min.jpg +0 -0
  102. package/template/src/assets/login-bg-night-min.jpg +0 -0
  103. package/template/src/assets/login-bg.jpg +0 -0
  104. package/template/src/assets/login-day.png +0 -0
  105. package/template/src/assets/login-night.png +0 -0
  106. package/template/src/assets/lucide-circle-plus-blue.svg +0 -1
  107. package/template/src/assets/pdf-logo.svg +0 -11
  108. package/template/src/assets/pemasok-card-bg.svg +0 -6
  109. package/template/src/assets/success_animation.gif +0 -0
  110. package/template/src/assets/success_animation.mp4 +0 -0
  111. package/template/src/assets/success_animation.webm +0 -0
  112. package/template/src/components/button/BtnAddOutline.vue +0 -14
  113. package/template/src/components/button/BtnCircle.vue +0 -10
  114. package/template/src/components/button/BtnOutline.vue +0 -15
  115. package/template/src/components/button/BtnPrimary.vue +0 -25
  116. package/template/src/components/button/BtnSecondary.vue +0 -26
  117. package/template/src/components/detail/AccountDetailTimeline.vue +0 -144
  118. package/template/src/components/detail/ApprovalInfo.vue +0 -288
  119. package/template/src/components/detail/DCI2.vue +0 -164
  120. package/template/src/components/detail/DetailContentHeader.vue +0 -83
  121. package/template/src/components/detail/DetailContentItem.vue +0 -186
  122. package/template/src/components/detail/DetailContentItems.vue +0 -387
  123. package/template/src/components/detail/DetailContentLoading.vue +0 -12
  124. package/template/src/components/detail/DetailContentTablet.vue +0 -10
  125. package/template/src/components/detail/DetailSheet.vue +0 -294
  126. package/template/src/components/detail/DetailTimeline.vue +0 -191
  127. package/template/src/components/detail/DocApprovalDialog.vue +0 -29
  128. package/template/src/components/detail/DocViewerContent.vue +0 -991
  129. package/template/src/components/dialog/ConfirmDialog.vue +0 -96
  130. package/template/src/components/dialog/DialogBase.vue +0 -53
  131. package/template/src/components/dialog/DialogSelect.vue +0 -212
  132. package/template/src/components/dialog/ErrorDialog.vue +0 -63
  133. package/template/src/components/dialog/FormDialog.vue +0 -141
  134. package/template/src/components/dialog/FormInputerDialog.vue +0 -91
  135. package/template/src/components/dialog/InfoDialog.vue +0 -74
  136. package/template/src/components/dialog/SuccessDialog.vue +0 -50
  137. package/template/src/components/examples/TestSchemaExample.vue +0 -288
  138. package/template/src/components/forms/auth/LoginForm.vue +0 -806
  139. package/template/src/components/forms/auth/PwdScore.vue +0 -68
  140. package/template/src/components/helper/ApiTester.vue +0 -153
  141. package/template/src/components/helper/ChangePwd.vue +0 -149
  142. package/template/src/components/helper/CheckboxElement.vue +0 -43
  143. package/template/src/components/helper/ConfigSwitcher.vue +0 -54
  144. package/template/src/components/helper/Copyright.vue +0 -10
  145. package/template/src/components/helper/ErrorScreen.vue +0 -40
  146. package/template/src/components/helper/LucideIcon.vue +0 -27
  147. package/template/src/components/helper/PdfViewer.vue +0 -103
  148. package/template/src/components/helper/PinInputer.vue +0 -205
  149. package/template/src/components/helper/PrivacyPolicy.vue +0 -122
  150. package/template/src/components/layout/PageActivityHeader.vue +0 -48
  151. package/template/src/components/layout/PageHeader.vue +0 -69
  152. package/template/src/components/loadings/LoadingDialog.vue +0 -29
  153. package/template/src/components/loadings/LoadingDialogSpin.vue +0 -25
  154. package/template/src/components/loadings/LoadingIndicator.vue +0 -38
  155. package/template/src/components/loadings/LoadingScreen.vue +0 -23
  156. package/template/src/components/notif/Notif.vue +0 -102
  157. package/template/src/components/notif/NotifItem.vue +0 -40
  158. package/template/src/components/pages/Header.vue +0 -431
  159. package/template/src/components/pages/Leftbar.vue +0 -417
  160. package/template/src/components/pages/PageActivity.vue +0 -108
  161. package/template/src/components/pages/PageActivityContent.vue +0 -597
  162. package/template/src/components/pages/PageContentTable.vue +0 -589
  163. package/template/src/components/pages/PageTab.vue +0 -84
  164. package/template/src/components/selector/BaseSelector.vue +0 -1136
  165. package/template/src/components/selector/ConfigDataSelector.vue +0 -136
  166. package/template/src/components/settings/SettingsItem.vue +0 -38
  167. package/template/src/components/tab/TabView.vue +0 -11
  168. package/template/src/components/tab/TabViewItem.vue +0 -18
  169. package/template/src/components/tab/TabViewItemBar.vue +0 -9
  170. package/template/src/components/tables/CellHover.vue +0 -65
  171. package/template/src/components/tables/DashboardDataTable.vue +0 -707
  172. package/template/src/components/tables/DataStatusTag.vue +0 -52
  173. package/template/src/components/tables/DataTable.vue +0 -156
  174. package/template/src/components/tables/DataTableAccordion.vue +0 -249
  175. package/template/src/components/tables/DataTableActionRow.vue +0 -64
  176. package/template/src/components/tables/DataTableCell.vue +0 -271
  177. package/template/src/components/tables/DataTableHeader.vue +0 -60
  178. package/template/src/components/tables/DataTableRow.vue +0 -213
  179. package/template/src/components/tables/ExpandedTable.vue +0 -259
  180. package/template/src/components/tables/PageTable.vue +0 -73
  181. package/template/src/components/tables/Pagination.vue +0 -98
  182. package/template/src/components/tables/dropdown/BaseDropdownTable.vue +0 -140
  183. package/template/src/components/tables/dropdown/DropdownTableActivity.vue +0 -33
  184. package/template/src/components/tables/dropdown/DropdownTableAsset.vue +0 -30
  185. package/template/src/components/tables/dropdown/DropdownTableConfig.vue +0 -30
  186. package/template/src/components/tables/dropdown/DropdownTableDataKonektor.vue +0 -31
  187. package/template/src/components/tables/dropdown/DropdownTableDataLabel.vue +0 -30
  188. package/template/src/components/tables/dropdown/DropdownTableDataSchema.vue +0 -31
  189. package/template/src/components/tables/dropdown/DropdownTableFabaPemanfaat.vue +0 -30
  190. package/template/src/components/tables/dropdown/DropdownTableGroup.vue +0 -36
  191. package/template/src/components/tables/dropdown/DropdownTableHalaman.vue +0 -33
  192. package/template/src/components/tables/dropdown/DropdownTableLevel.vue +0 -66
  193. package/template/src/components/tables/dropdown/DropdownTableOrganization.vue +0 -47
  194. package/template/src/components/tables/dropdown/DropdownTablePengelola.vue +0 -28
  195. package/template/src/components/tables/dropdown/DropdownTableQueryLayer.vue +0 -29
  196. package/template/src/components/tables/dropdown/DropdownTableSentral.vue +0 -33
  197. package/template/src/components/tables/dropdown/DropdownTableWarehouse.vue +0 -30
  198. package/template/src/components/tables/dropdown/TableDropdown.vue +0 -52
  199. package/template/src/components/ui/accordion/Accordion.vue +0 -19
  200. package/template/src/components/ui/accordion/AccordionContent.vue +0 -24
  201. package/template/src/components/ui/accordion/AccordionItem.vue +0 -24
  202. package/template/src/components/ui/accordion/AccordionTrigger.vue +0 -41
  203. package/template/src/components/ui/accordion/index.ts +0 -4
  204. package/template/src/components/ui/alert-dialog/AlertDialog.vue +0 -14
  205. package/template/src/components/ui/alert-dialog/AlertDialogAction.vue +0 -20
  206. package/template/src/components/ui/alert-dialog/AlertDialogCancel.vue +0 -20
  207. package/template/src/components/ui/alert-dialog/AlertDialogContent.vue +0 -42
  208. package/template/src/components/ui/alert-dialog/AlertDialogDescription.vue +0 -25
  209. package/template/src/components/ui/alert-dialog/AlertDialogFooter.vue +0 -21
  210. package/template/src/components/ui/alert-dialog/AlertDialogHeader.vue +0 -16
  211. package/template/src/components/ui/alert-dialog/AlertDialogTitle.vue +0 -22
  212. package/template/src/components/ui/alert-dialog/AlertDialogTrigger.vue +0 -11
  213. package/template/src/components/ui/alert-dialog/index.ts +0 -9
  214. package/template/src/components/ui/avatar/Avatar.vue +0 -24
  215. package/template/src/components/ui/avatar/AvatarFallback.vue +0 -11
  216. package/template/src/components/ui/avatar/AvatarImage.vue +0 -9
  217. package/template/src/components/ui/avatar/UsersAvatar.vue +0 -27
  218. package/template/src/components/ui/avatar/index.ts +0 -24
  219. package/template/src/components/ui/button/Button.vue +0 -27
  220. package/template/src/components/ui/button/index.ts +0 -34
  221. package/template/src/components/ui/calendar/Calendar.vue +0 -325
  222. package/template/src/components/ui/calendar/index.ts +0 -22
  223. package/template/src/components/ui/checkbox/Checkbox.vue +0 -33
  224. package/template/src/components/ui/checkbox/index.ts +0 -1
  225. package/template/src/components/ui/command/Command.vue +0 -30
  226. package/template/src/components/ui/command/CommandDialog.vue +0 -21
  227. package/template/src/components/ui/command/CommandEmpty.vue +0 -20
  228. package/template/src/components/ui/command/CommandGroup.vue +0 -29
  229. package/template/src/components/ui/command/CommandInput.vue +0 -33
  230. package/template/src/components/ui/command/CommandItem.vue +0 -26
  231. package/template/src/components/ui/command/CommandList.vue +0 -27
  232. package/template/src/components/ui/command/CommandSeparator.vue +0 -23
  233. package/template/src/components/ui/command/CommandShortcut.vue +0 -14
  234. package/template/src/components/ui/command/index.ts +0 -9
  235. package/template/src/components/ui/context-menu/ContextMenu.vue +0 -15
  236. package/template/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +0 -40
  237. package/template/src/components/ui/context-menu/ContextMenuContent.vue +0 -36
  238. package/template/src/components/ui/context-menu/ContextMenuGroup.vue +0 -11
  239. package/template/src/components/ui/context-menu/ContextMenuItem.vue +0 -34
  240. package/template/src/components/ui/context-menu/ContextMenuLabel.vue +0 -25
  241. package/template/src/components/ui/context-menu/ContextMenuPortal.vue +0 -11
  242. package/template/src/components/ui/context-menu/ContextMenuRadioGroup.vue +0 -19
  243. package/template/src/components/ui/context-menu/ContextMenuRadioItem.vue +0 -40
  244. package/template/src/components/ui/context-menu/ContextMenuSeparator.vue +0 -20
  245. package/template/src/components/ui/context-menu/ContextMenuShortcut.vue +0 -14
  246. package/template/src/components/ui/context-menu/ContextMenuSub.vue +0 -19
  247. package/template/src/components/ui/context-menu/ContextMenuSubContent.vue +0 -35
  248. package/template/src/components/ui/context-menu/ContextMenuSubTrigger.vue +0 -34
  249. package/template/src/components/ui/context-menu/ContextMenuTrigger.vue +0 -13
  250. package/template/src/components/ui/context-menu/index.ts +0 -14
  251. package/template/src/components/ui/datetime/DatetimeRangeComponent.vue +0 -52
  252. package/template/src/components/ui/dialog/Dialog.vue +0 -14
  253. package/template/src/components/ui/dialog/DialogClose.vue +0 -11
  254. package/template/src/components/ui/dialog/DialogContent.vue +0 -53
  255. package/template/src/components/ui/dialog/DialogDescription.vue +0 -24
  256. package/template/src/components/ui/dialog/DialogFooter.vue +0 -19
  257. package/template/src/components/ui/dialog/DialogHeader.vue +0 -16
  258. package/template/src/components/ui/dialog/DialogScrollContent.vue +0 -59
  259. package/template/src/components/ui/dialog/DialogTitle.vue +0 -29
  260. package/template/src/components/ui/dialog/DialogTrigger.vue +0 -11
  261. package/template/src/components/ui/dialog/index.ts +0 -9
  262. package/template/src/components/ui/dropdown-menu/DropdownMenu.vue +0 -14
  263. package/template/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -40
  264. package/template/src/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -38
  265. package/template/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -11
  266. package/template/src/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -28
  267. package/template/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -24
  268. package/template/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -19
  269. package/template/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -41
  270. package/template/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -22
  271. package/template/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -14
  272. package/template/src/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -19
  273. package/template/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -30
  274. package/template/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -33
  275. package/template/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -13
  276. package/template/src/components/ui/dropdown-menu/index.ts +0 -16
  277. package/template/src/components/ui/form/FormControl.vue +0 -16
  278. package/template/src/components/ui/form/FormDescription.vue +0 -20
  279. package/template/src/components/ui/form/FormItem.vue +0 -25
  280. package/template/src/components/ui/form/FormLabel.vue +0 -23
  281. package/template/src/components/ui/form/FormMessage.vue +0 -16
  282. package/template/src/components/ui/form/index.ts +0 -6
  283. package/template/src/components/ui/form/useFormField.ts +0 -30
  284. package/template/src/components/ui/hover-card/HoverCard.vue +0 -14
  285. package/template/src/components/ui/hover-card/HoverCardContent.vue +0 -41
  286. package/template/src/components/ui/hover-card/HoverCardTrigger.vue +0 -11
  287. package/template/src/components/ui/hover-card/index.ts +0 -3
  288. package/template/src/components/ui/input/Input.vue +0 -24
  289. package/template/src/components/ui/input/index.ts +0 -1
  290. package/template/src/components/ui/label/Label.vue +0 -27
  291. package/template/src/components/ui/label/index.ts +0 -1
  292. package/template/src/components/ui/pagination/PaginationEllipsis.vue +0 -22
  293. package/template/src/components/ui/pagination/PaginationFirst.vue +0 -29
  294. package/template/src/components/ui/pagination/PaginationLast.vue +0 -29
  295. package/template/src/components/ui/pagination/PaginationNext.vue +0 -29
  296. package/template/src/components/ui/pagination/PaginationPrev.vue +0 -29
  297. package/template/src/components/ui/pagination/index.ts +0 -10
  298. package/template/src/components/ui/pin-input/PinInput.vue +0 -23
  299. package/template/src/components/ui/pin-input/PinInputGroup.vue +0 -18
  300. package/template/src/components/ui/pin-input/PinInputInput.vue +0 -18
  301. package/template/src/components/ui/pin-input/PinInputSeparator.vue +0 -15
  302. package/template/src/components/ui/pin-input/index.ts +0 -4
  303. package/template/src/components/ui/popover/Popover.vue +0 -15
  304. package/template/src/components/ui/popover/PopoverContent.vue +0 -48
  305. package/template/src/components/ui/popover/PopoverTrigger.vue +0 -11
  306. package/template/src/components/ui/popover/index.ts +0 -4
  307. package/template/src/components/ui/preview/PreviewPdf.vue +0 -118
  308. package/template/src/components/ui/progress/ProgressCircle.vue +0 -27
  309. package/template/src/components/ui/progress/SemiCircularProgressBar.vue +0 -83
  310. package/template/src/components/ui/progress/TotalCalories.vue +0 -31
  311. package/template/src/components/ui/radio-group/RadioGroup.vue +0 -25
  312. package/template/src/components/ui/radio-group/RadioGroupItem.vue +0 -37
  313. package/template/src/components/ui/radio-group/index.ts +0 -2
  314. package/template/src/components/ui/scroll-area/ScrollArea.vue +0 -29
  315. package/template/src/components/ui/scroll-area/ScrollBar.vue +0 -30
  316. package/template/src/components/ui/scroll-area/index.ts +0 -2
  317. package/template/src/components/ui/select/Select.vue +0 -15
  318. package/template/src/components/ui/select/SelectContent.vue +0 -52
  319. package/template/src/components/ui/select/SelectGroup.vue +0 -19
  320. package/template/src/components/ui/select/SelectInline.vue +0 -84
  321. package/template/src/components/ui/select/SelectItem.vue +0 -44
  322. package/template/src/components/ui/select/SelectItemText.vue +0 -11
  323. package/template/src/components/ui/select/SelectLabel.vue +0 -13
  324. package/template/src/components/ui/select/SelectScrollDownButton.vue +0 -24
  325. package/template/src/components/ui/select/SelectScrollUpButton.vue +0 -24
  326. package/template/src/components/ui/select/SelectSeparator.vue +0 -17
  327. package/template/src/components/ui/select/SelectTrigger.vue +0 -31
  328. package/template/src/components/ui/select/SelectTriggerCustom.vue +0 -23
  329. package/template/src/components/ui/select/SelectValue.vue +0 -11
  330. package/template/src/components/ui/select/index.ts +0 -12
  331. package/template/src/components/ui/separator/Separator.vue +0 -20
  332. package/template/src/components/ui/separator/index.ts +0 -1
  333. package/template/src/components/ui/sheet/Sheet.vue +0 -14
  334. package/template/src/components/ui/sheet/SheetClose.vue +0 -11
  335. package/template/src/components/ui/sheet/SheetContent.vue +0 -48
  336. package/template/src/components/ui/sheet/SheetDescription.vue +0 -22
  337. package/template/src/components/ui/sheet/SheetFooter.vue +0 -19
  338. package/template/src/components/ui/sheet/SheetHeader.vue +0 -16
  339. package/template/src/components/ui/sheet/SheetTitle.vue +0 -22
  340. package/template/src/components/ui/sheet/SheetTrigger.vue +0 -11
  341. package/template/src/components/ui/sheet/index.ts +0 -31
  342. package/template/src/components/ui/skeleton/Skeleton.vue +0 -28
  343. package/template/src/components/ui/skeleton/index.ts +0 -1
  344. package/template/src/components/ui/sonner/Sonner.vue +0 -22
  345. package/template/src/components/ui/sonner/index.ts +0 -1
  346. package/template/src/components/ui/star/StarRating.vue +0 -19
  347. package/template/src/components/ui/switch/Switch.vue +0 -37
  348. package/template/src/components/ui/switch/index.ts +0 -1
  349. package/template/src/components/ui/table/Table.vue +0 -16
  350. package/template/src/components/ui/table/TableBody.vue +0 -14
  351. package/template/src/components/ui/table/TableCaption.vue +0 -14
  352. package/template/src/components/ui/table/TableCell.vue +0 -21
  353. package/template/src/components/ui/table/TableEmpty.vue +0 -37
  354. package/template/src/components/ui/table/TableFooter.vue +0 -14
  355. package/template/src/components/ui/table/TableHead.vue +0 -14
  356. package/template/src/components/ui/table/TableHeader.vue +0 -14
  357. package/template/src/components/ui/table/TableRow.vue +0 -14
  358. package/template/src/components/ui/table/index.ts +0 -8
  359. package/template/src/components/ui/tabs/Tabs.vue +0 -15
  360. package/template/src/components/ui/tabs/TabsContent.vue +0 -22
  361. package/template/src/components/ui/tabs/TabsList.vue +0 -25
  362. package/template/src/components/ui/tabs/TabsTrigger.vue +0 -27
  363. package/template/src/components/ui/tabs/index.ts +0 -4
  364. package/template/src/components/ui/tags-input/TagsInput.vue +0 -22
  365. package/template/src/components/ui/tags-input/TagsInputInput.vue +0 -19
  366. package/template/src/components/ui/tags-input/TagsInputItem.vue +0 -22
  367. package/template/src/components/ui/tags-input/TagsInputItemDelete.vue +0 -24
  368. package/template/src/components/ui/tags-input/TagsInputItemText.vue +0 -19
  369. package/template/src/components/ui/tags-input/index.ts +0 -5
  370. package/template/src/components/ui/textarea/Textarea.vue +0 -24
  371. package/template/src/components/ui/textarea/index.ts +0 -1
  372. package/template/src/components/ui/tooltip/Tooltip.vue +0 -14
  373. package/template/src/components/ui/tooltip/TooltipContent.vue +0 -31
  374. package/template/src/components/ui/tooltip/TooltipProvider.vue +0 -11
  375. package/template/src/components/ui/tooltip/TooltipTrigger.vue +0 -11
  376. package/template/src/components/ui/tooltip/index.ts +0 -4
  377. package/template/src/composables/useAppConfig.ts +0 -332
  378. package/template/src/composables/useDarkMode.ts +0 -71
  379. package/template/src/config/app.config.ts +0 -318
  380. package/template/src/config/examples/ecommerce.config.ts +0 -132
  381. package/template/src/config/examples/generic.config.ts +0 -132
  382. package/template/src/config/menu.config.ts +0 -149
  383. package/template/src/config/my-app.config.ts +0 -134
  384. package/template/src/config/test-config.ts +0 -31
  385. package/template/src/config/theme.config.ts +0 -250
  386. package/template/src/docs/index.ts +0 -21
  387. package/template/src/docs.scss +0 -403
  388. package/template/src/index.d.ts +0 -5
  389. package/template/src/index.ts +0 -20
  390. package/template/src/layouts/AuthLayout.vue +0 -68
  391. package/template/src/layouts/DefaultLayout.vue +0 -119
  392. package/template/src/layouts/DocsLayout.vue +0 -681
  393. package/template/src/layouts/FormGlobal.vue +0 -50
  394. package/template/src/layouts/GlobalDialog.vue +0 -122
  395. package/template/src/layouts/RakorConfirmDialog.vue +0 -95
  396. package/template/src/layouts/SettingsLayout.vue +0 -115
  397. package/template/src/lib/constants.ts +0 -2
  398. package/template/src/lib/detail.utils.ts +0 -213
  399. package/template/src/lib/form.utils.ts +0 -1009
  400. package/template/src/lib/page.flow.utils.ts +0 -81
  401. package/template/src/lib/page.utils.ts +0 -864
  402. package/template/src/lib/performance.utils.ts +0 -302
  403. package/template/src/lib/tablerow.utils.ts +0 -51
  404. package/template/src/lib/utils.ts +0 -643
  405. package/template/src/main.scss +0 -717
  406. package/template/src/main.ts +0 -74
  407. package/template/src/menu.ts +0 -78
  408. package/template/src/nestedlist_color.scss +0 -161
  409. package/template/src/router/index.ts +0 -91
  410. package/template/src/stores/auth.ts +0 -117
  411. package/template/src/stores/counter.ts +0 -12
  412. package/template/src/stores/dialog.ts +0 -168
  413. package/template/src/stores/form.ts +0 -103
  414. package/template/src/stores/tabs.ts +0 -52
  415. package/template/src/tw.scss +0 -419
  416. package/template/src/types/form.types.ts +0 -348
  417. package/template/src/types/types.ts +0 -7
  418. package/template/src/utils/config.utils.ts +0 -149
  419. package/template/src/views/NotFound.vue +0 -30
  420. package/template/src/views/PageActivity.vue +0 -15
  421. package/template/src/views/auth/LoginView.vue +0 -8
  422. package/template/src/views/auth/OauthCallback.vue +0 -101
  423. package/template/src/views/dashboard/index.vue +0 -16
  424. package/template/src/views/settings/AccountSettingsView.vue +0 -58
  425. package/template/src/views/settings/AuditLogsSettingsView.vue +0 -116
  426. package/template/src/views/settings/DeviceSettingsView.vue +0 -70
  427. package/template/src/views/settings/MainSettingsView.vue +0 -12
  428. package/template/src/views/settings/ProfileSettingsView.vue +0 -104
  429. package/template/src/vueform/config/informasi-gudang.ts +0 -46
  430. package/template/src/vueform/config/test-schema.ts +0 -7
  431. package/template/src/vueform/config/types.ts +0 -768
  432. package/template/src/vueform/customization/classes.js +0 -46
  433. package/template/src/vueform/customization/tailwind.classes.js +0 -2117
  434. package/template/src/vueform/elements/ConfigDataSelectorElement.vue +0 -50
  435. package/template/src/vueform/elements/DateSelectorElement.vue +0 -323
  436. package/template/src/vueform/elements/SelectorElement.vue +0 -153
  437. package/template/src/vueform/schemas/date-selector-test.ts +0 -103
  438. package/template/src/vueform/schemas/informasi-gudang.ts +0 -158
  439. package/template/src/vueform/schemas/test-schema.ts +0 -483
  440. package/template/src/vueform.config.js +0 -77
  441. package/template/src/vueform.validator.ts +0 -77
  442. package/template/tailwind.config.js +0 -137
  443. package/template/tsconfig.app.json +0 -28
  444. package/template/tsconfig.json +0 -14
  445. package/template/tsconfig.node.json +0 -19
  446. package/template/tsconfig.vitest.json +0 -11
  447. package/template/vite.config.ts +0 -33
@@ -1,294 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref } from "vue";
3
- import { ArrowLeftToLine, LucideFileClock, LucideX } from "lucide-vue-next";
4
- import { Sheet, SheetClose, SheetContent, SheetHeader, SheetTitle } from "../ui/sheet";
5
- import ScrollArea from "../ui/scroll-area/ScrollArea.vue";
6
- import { cn } from "../../lib/utils";
7
- import DetailTimeline from "./DetailTimeline.vue";
8
- import type { DasiV2FormSchema, FormSchema, FormSchemaHooks } from "../../types/form.types";
9
- import DetailContentLoading from "./DetailContentLoading.vue";
10
- import DetailContentHeader from "./DetailContentHeader.vue";
11
- import DetailContentItems from "./DetailContentItems.vue";
12
- import DCI2 from "./DCI2.vue";
13
- import moment from "moment";
14
- import BtnCircle from "../button/BtnCircle.vue";
15
- import type { ColumnRef, PageConfig } from "../../vueform/config/types";
16
- import { getPageDataDetail } from "../../lib/page.utils";
17
- import { useErrorDialog } from "../../stores/dialog";
18
- import { InternalServerError } from "../../lib/constants";
19
-
20
- interface Props {
21
- title?: string;
22
- class?: string;
23
- }
24
-
25
- interface DetailSheetOptions {
26
- item: any;
27
- endpoint: string;
28
- schema?: DasiV2FormSchema;
29
- columns?: ColumnRef[];
30
- hooks?: FormSchemaHooks;
31
- pageConfig?: PageConfig;
32
- }
33
-
34
- const props = withDefaults(defineProps<Props>(), {
35
- title: "Data Detail"
36
- });
37
-
38
- const sheetOpen = ref(false);
39
- const endpoint = ref<string>();
40
- const data = ref<any>(null);
41
- const loading = ref(true);
42
- const schema = ref<DasiV2FormSchema>();
43
- const columns = ref<ColumnRef[]>([]);
44
- const hooks = ref<FormSchemaHooks>();
45
- const pageConfig = ref<PageConfig>();
46
-
47
- /**
48
- * For shipment and payment flow
49
- * when displaying parent and child data
50
- *
51
- */
52
- const parentData = ref<any>(null);
53
- const loadingParent = ref(false);
54
-
55
- /**
56
- * Dialog
57
- *
58
- */
59
- const errorDialog = useErrorDialog();
60
-
61
- /**
62
- * Timeline
63
- *
64
- */
65
- const payload = ref();
66
- const prevData = ref();
67
- const loadingDiff = ref(false);
68
- const tlSelected = ref();
69
-
70
- function closeDiff() {
71
- tlSelected.value = null;
72
- payload.value = null;
73
- prevData.value = null;
74
- }
75
-
76
- /**
77
- * Get data from api
78
- *
79
- */
80
- function getData() {
81
- loading.value = true;
82
-
83
- // Simpan data dari list untuk fallback jika detail tidak lengkap
84
- // const originalItem = data.value ? JSON.parse(JSON.stringify(data.value)) : null;
85
-
86
- /**
87
- * This is flow page,
88
- * used on shipment and payment
89
- *
90
- */
91
- const parentId = data.value.id;
92
- if (pageConfig.value?.parentField && pageConfig.value.nextDataField) {
93
- loadingParent.value = true;
94
- getPageDataDetail({
95
- endpoint: pageConfig.value.endpoint ?? "",
96
- pageConfig: pageConfig.value,
97
- item: { id: parentId },
98
- formSchema: schema.value ?? {}
99
- })
100
- .then(r => {
101
- if (!r || !r.data) return;
102
- parentData.value = r.data.data || r.data;
103
- })
104
- .catch(err => {
105
- prevData.value = null;
106
- errorDialog.open({
107
- title: "Gagal Mendapatkan Data",
108
- description: err.message ?? InternalServerError
109
- });
110
- })
111
- .finally(() => {
112
- loadingParent.value = false;
113
- });
114
- }
115
-
116
- getPageDataDetail({
117
- endpoint: endpoint.value ?? "",
118
- pageConfig: pageConfig.value,
119
- item: data.value,
120
- formSchema: schema.value ?? {},
121
- includeExtras: !pageConfig.value?.parentField
122
- })
123
- .then(r => {
124
- if (!r || !r.data) return;
125
- data.value = r.data.data || r.data;
126
-
127
- // // Gabungkan relasi yang kosong dari data list jika endpoint detail tidak mengembalikannya
128
- // if (originalItem) {
129
- // if ((!data.value.catatBongkarDs || data.value.catatBongkarDs.length === 0) && originalItem.catatBongkarDs && originalItem.catatBongkarDs.length > 0) {
130
- // data.value.catatBongkarDs = originalItem.catatBongkarDs;
131
- // }
132
- // if ((!data.value.loadingInfoCif || data.value.loadingInfoCif.length === 0) && originalItem.loadingInfoCif && originalItem.loadingInfoCif.length > 0) {
133
- // data.value.loadingInfoCif = originalItem.loadingInfoCif;
134
- // }
135
- // if ((!data.value.norIzinSandarBongkar || data.value.norIzinSandarBongkar.length === 0) && originalItem.norIzinSandarBongkar && originalItem.norIzinSandarBongkar.length > 0) {
136
- // data.value.norIzinSandarBongkar = originalItem.norIzinSandarBongkar;
137
- // }
138
- // }
139
-
140
- // // Add creator name for header display - fallback chain
141
- // if (data.value.roa && Array.isArray(data.value.roa) && data.value.roa.length > 0) {
142
- // const roaData = data.value.roa[0];
143
- // if (roaData.creatorName && !data.value.creatorName) {
144
- // data.value.creatorName = roaData.creatorName;
145
- // }
146
- // }
147
-
148
- })
149
- .catch(err => {
150
- console.log("get detail data failed", err);
151
- data.value = null;
152
- })
153
- .finally(() => {
154
- loading.value = false;
155
- // setTimeout(() => {
156
- // const dci = document.getElementById('detail-content-items');
157
- // if (!dci) return;
158
- // dci.style.minHeight = `calc(100vh - ${dci.getBoundingClientRect().top + 33}px)`; // 1 border
159
- // });
160
- });
161
- }
162
-
163
- function open(options: DetailSheetOptions) {
164
- sheetOpen.value = true;
165
- data.value = options.item;
166
- schema.value = options.schema;
167
- hooks.value = options.hooks;
168
- pageConfig.value = options.pageConfig;
169
-
170
- columns.value = [];
171
-
172
- /**
173
- * Payment flow, columns and schema are different
174
- * sources, so we need to display it separately
175
- *
176
- */
177
- if (pageConfig.value?.parentField && pageConfig.value.nextDataField) {
178
- for (const column of options.columns ?? []) {
179
- if (
180
- (!options.schema?.[column.key ?? "_"] && !options.schema?.[`${column.key}Id`] && !options.schema?.[`${column.key}Code`]) ||
181
- options.schema?.[column.key ?? "_"]?.showInDetail === false ||
182
- options.schema?.[`${column.key}Id`]?.showInDetail === false ||
183
- options.schema?.[`${column.key}Code`]?.showInDetail === false
184
- ) {
185
- columns.value?.push(column);
186
- }
187
- }
188
- } else {
189
- /**
190
- * Merge columns to schema
191
- */
192
- // for (const column of options.columns ?? []) {
193
- // if (!schema.value) continue;
194
- // if (column.key === 'id' || column.type === 'action') continue;
195
- // if (!schema.value[column.key]) schema.value[column.key] = { type: column.cellType };
196
- // schema.value[column.key].cellRender = column.cellRender as any;
197
- // schema.value[column.key].cellDataSource = column.dataSource;
198
- // schema.value[column.key].label = column.header;
199
- // schema.value[column.key].showInDetail = column.showInDetail;
200
- // }
201
- }
202
-
203
- /**
204
- * Reset timeline
205
- *
206
- */
207
- tlSelected.value = null;
208
- prevData.value = null;
209
- payload.value = null;
210
- loadingDiff.value = false;
211
-
212
- const slash = options.endpoint.startsWith("/") ? "" : "/";
213
- endpoint.value = `${slash}${options.endpoint}`;
214
- getData();
215
- }
216
-
217
- defineExpose({ open });
218
- </script>
219
-
220
- <template>
221
- <Sheet v-model:open="sheetOpen">
222
- <SheetContent :class="cn('w-11/12 !max-w-[1360px] bg-white px-8 pt-3 dark:bg-dark_bg2', props.class)">
223
- <SheetHeader class="relative gap-y-0.5 pl-6">
224
- <SheetClose>
225
- <div
226
- class="absolute -left-6 -top-1 flex size-10 cursor-pointer items-center justify-center rounded-full text-gray-500 transition hover:bg-hover_main hover:text-primary_main dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
227
- <ArrowLeftToLine class="h-6 w-6 -scale-x-100 transform" />
228
- </div>
229
- </SheetClose>
230
- <SheetTitle>{{ props.title }}</SheetTitle>
231
- </SheetHeader>
232
- <section class="absolute bottom-0 left-0 right-0 top-14 flex border-b border-t bg-slate-50 dark:border-dark_border3 dark:bg-dark_bg2">
233
- <slot name="detail" :detail="data">
234
- <div class="h-full w-[calc(100%-400px)] overflow-auto border-r bg-white dark:border-gray-700 dark:bg-dark_bg2">
235
- <DetailContentLoading v-if="loading || loadingParent" />
236
- <div class="min-h-full bg-white pt-5 dark:bg-dark_bg2" v-else>
237
- <DetailContentHeader :data="data" :endpoint="endpoint || ''" :pageConfig="pageConfig" />
238
- <div v-if="payload" class="flex h-8 w-full items-center gap-1.5 border-b bg-yellow-200 px-6 text-sm font-medium dark:border-gray-700 dark:bg-yellow-800 dark:text-yellow-100">
239
- <LucideFileClock :size="20" :stroke-width="1.6" class="-mt-px" />
240
- Riwayat data pada {{ moment(tlSelected.createdAt).utc().format("DD/MM/YYYY HH:mm") }}
241
- <BtnCircle class="-mr-3 ml-auto !size-6 hover:bg-black/10 dark:hover:bg-white/10" v-on:click="closeDiff">
242
- <LucideX :size="18" />
243
- </BtnCircle>
244
- </div>
245
- <div id="detail-content-items" class="overflow-auto pb-[140px]">
246
- <div v-if="loadingDiff">
247
- <DetailContentLoading />
248
- </div>
249
- <div v-else>
250
- <template v-if="columns && parentData">
251
- <section class="detail-items px-6 pt-4">
252
- <div class="vueform-divider"><span>Informasi General</span></div>
253
- </section>
254
- <DCI2 :columns="columns" :data="parentData" />
255
- <div class="border-t py-1"></div>
256
- </template>
257
-
258
- <div :class="{ 'grid min-h-full w-[180%] grid-cols-2': payload, '!w-[270%] !grid-cols-3': prevData }">
259
- <div class="w-full">
260
- <div class="border-b bg-slate-100 px-6 py-1.5 text-[15px] font-medium dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200" v-if="payload">Data saat ini</div>
261
- <DCI2 :schema="schema" :data="data" v-if="schema" />
262
- <!-- <DetailContentItems :schema="schema" :hooks="hooks" :data="data" v-if="schema"/> -->
263
- </div>
264
- <div class="w-full" v-if="prevData">
265
- <div class="border-b bg-slate-100 px-6 py-1.5 text-[15px] font-medium dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200">Data sebelum perubahan</div>
266
- <DetailContentItems :schema="schema" :hooks="hooks" :data="prevData" v-if="schema" />
267
- </div>
268
- <div class="w-full" v-if="payload">
269
- <div class="border-b bg-slate-100 px-6 py-1.5 text-[15px] font-medium dark:border-gray-700 dark:bg-gray-800 dark:text-gray-200">
270
- <template v-if="prevData"> Data setelah perubahan </template>
271
- <template v-else> Data pada {{ moment(tlSelected.createdAt).utc().format("DD/MM/YYYY HH:mm") }} </template>
272
- </div>
273
- <DetailContentItems :schema="schema" :hooks="hooks" :data="payload" v-if="schema" />
274
- </div>
275
- </div>
276
- </div>
277
- </div>
278
- </div>
279
- </div>
280
- <ScrollArea class="h-full w-[400px]">
281
- <DetailTimeline
282
- v-if="data"
283
- :data="data"
284
- :page-config="pageConfig"
285
- v-model:loading-diff="loadingDiff"
286
- v-model:payload="payload"
287
- v-model:prev-data="prevData"
288
- v-model:selected="tlSelected" />
289
- </ScrollArea>
290
- </slot>
291
- </section>
292
- </SheetContent>
293
- </Sheet>
294
- </template>
@@ -1,191 +0,0 @@
1
- <script setup lang="ts">
2
- import api from "../../api/api";
3
- import moment from "moment";
4
- import { onMounted, ref } from "vue";
5
- import Skeleton from "../ui/skeleton/Skeleton.vue";
6
- import { LucideEdit, LucideFileClock, LucideTrash2, LucideUndo2 } from "lucide-vue-next";
7
-
8
- moment.updateLocale("en", {
9
- relativeTime: {
10
- future: "in %s",
11
- past: "%s ago",
12
- s: "1s",
13
- ss: "%ds",
14
- m: "1m",
15
- mm: "%dm",
16
- h: "1h",
17
- hh: "%dh",
18
- d: "1d",
19
- dd: "%dd",
20
- w: "1w",
21
- ww: "%dw",
22
- M: "1Mo",
23
- MM: "%dMo",
24
- y: "1y",
25
- yy: "%dy"
26
- }
27
- });
28
-
29
- const props = defineProps(["data", "pageConfig"]);
30
- const loading = ref(true);
31
- const timeline = ref<any[]>([]);
32
- const payload = defineModel("payload");
33
- const prevData = defineModel("prevData");
34
- const loadingDiff = defineModel<boolean>("loadingDiff", { default: false });
35
- const selected = defineModel<any>("selected");
36
-
37
- function getTimeline() {
38
- loading.value = true;
39
- const tlId = props.pageConfig?.parentField && props.pageConfig?.nextDataField ? props.data[props.pageConfig.nextDataField]?.[0]?.id : props.data.id;
40
- api
41
- .get(`/data-history/reference/${tlId || props.data.id}?limit=250`)
42
- .then(r => {
43
- timeline.value = r.data.data;
44
- })
45
- .finally(() => {
46
- loading.value = false;
47
- });
48
- }
49
-
50
- function getHistoryItem(item: any) {
51
- selected.value = item;
52
- loadingDiff.value = true;
53
- api
54
- .get(`/data-history/${item.id}/data-diff`)
55
- .then(r => {
56
- payload.value = r.data.data.payload;
57
- prevData.value = r.data.data.prevData;
58
- })
59
- .finally(() => {
60
- loadingDiff.value = false;
61
- });
62
- }
63
-
64
- onMounted(() => {
65
- getTimeline();
66
- });
67
- </script>
68
-
69
- <template>
70
- <div class="px-1.5 pb-14 pt-3">
71
- <h4 class="flex gap-2 pb-3.5 pl-4 font-medium">
72
- <LucideFileClock :size="22" :stroke-width="1.6" />
73
- Audit log
74
- </h4>
75
- <section class="relative mb-6 text-sm" v-if="loading">
76
- <div class="absolute left-4 top-0 h-full w-px bg-gray-300"></div>
77
- <div class="space-y-4">
78
- <div class="relative flex items-center">
79
- <div class="flex h-8 w-8 flex-none items-center justify-center overflow-hidden rounded-full bg-slate-50">
80
- <Skeleton class="h-[13px] w-[13px] rounded-full"></Skeleton>
81
- </div>
82
- <div class="ml-3 w-full">
83
- <Skeleton class="h-2 w-[40%]"></Skeleton>
84
- </div>
85
- </div>
86
- <div class="relative flex items-start">
87
- <div class="-ml-1.5 flex h-11 w-11 flex-none items-center justify-center overflow-hidden rounded-full border-4 border-slate-50 bg-slate-50">
88
- <Skeleton class="size-11 rounded-full" />
89
- </div>
90
- <div class="ml-2 mr-5 mt-1 w-full rounded-sm border-slate-100 bg-slate-100 px-4 py-3">
91
- <Skeleton class="mb-2 h-3 w-[30%]"></Skeleton>
92
- <Skeleton class="mb-2 h-2 w-[60%]"></Skeleton>
93
- <Skeleton class="h-2 w-[85%]"></Skeleton>
94
- </div>
95
- </div>
96
- <div class="relative flex items-center">
97
- <div class="flex h-8 w-8 flex-none items-center justify-center overflow-hidden rounded-full bg-slate-50">
98
- <Skeleton class="h-[13px] w-[13px] rounded-full"></Skeleton>
99
- </div>
100
- <div class="ml-3 w-full">
101
- <Skeleton class="h-2 w-[40%]"></Skeleton>
102
- </div>
103
- </div>
104
- <div class="relative flex items-center">
105
- <div class="flex h-8 w-8 flex-none items-center justify-center overflow-hidden rounded-full bg-slate-50">
106
- <Skeleton class="h-[13px] w-[13px] rounded-full"></Skeleton>
107
- </div>
108
- <div class="ml-3 w-full">
109
- <Skeleton class="h-2 w-[40%]"></Skeleton>
110
- </div>
111
- </div>
112
- </div>
113
- </section>
114
- <section class="relative mb-6 text-sm" v-else>
115
- <div class="absolute left-7 top-0 h-full w-px bg-gray-300"></div>
116
- <div class="space-y-0.5">
117
- <div v-for="(item, i) in timeline" :key="i" class="rounded-md border border-transparent px-3 pb-3 pt-1" :class="{ '!border-blue-500 bg-blue-100': selected && item.id === selected.id }">
118
- <!-- <pre>{{ item }}</pre> -->
119
- <div class="relative flex items-start" v-if="['Create'].includes(item.type)">
120
- <div
121
- class="-ml-1.5 flex h-11 w-11 flex-none items-center justify-center overflow-hidden rounded-full border-4 border-slate-50 bg-green-300 text-[17px] font-semibold leading-none text-green-700">
122
- {{ item.creatorName?.substring(0, 1)?.toUpperCase() }}
123
- </div>
124
- <div class="ml-2 pt-2.5 text-sm leading-[1.3]">
125
- <div class="mr-1.5 font-[500]">{{ item.creatorName }}</div>
126
- <div class="text-[13px] opacity-75">
127
- <template v-if="item.type === 'Create'"> Membuat data baru </template>
128
- <template v-else-if="item.type === 'Update'"> Melakukan perubahan data </template>
129
- <template v-else>{{ item.type }}</template>
130
- </div>
131
- <!-- <button class="text-blue-500 text-[13px] flex items-center font-medium gap-1.5 w-full border mt-1 border-blue-500 pl-1.5 pr-2 py-0.5 rounded-md transition hover:bg-blue-500 hover:text-white"
132
- v-on:click="getHistoryItem(item)">
133
- <LucideSquareSplitHorizontal :size="20" :stroke-width="1.8"/>
134
- Lihat riwayat data
135
- </button> -->
136
- </div>
137
- <div class="ml-auto text-[13px] text-gray-400" :title="moment(item.createdAt).utc().format('DD/MM/YYYY HH:mm')">
138
- {{ moment(item.createdAt).utc().calendar() }}
139
- </div>
140
- </div>
141
- <div class="relative flex items-start" v-else-if="['approval_reject', 'approval_approve'].includes(item.activityCode)">
142
- <div class="-ml-1.5 h-11 w-11 flex-none overflow-hidden rounded-full border-4 border-slate-50 bg-green-300 text-green-700"></div>
143
- <div class="ml-2 mr-5 mt-1 rounded-sm border bg-white px-4 py-3">
144
- <div class="font-semibold">{{ item.creatorName }} Approve</div>
145
- <div class="mt-1 text-gray-500">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Deleniti, blanditiis?</div>
146
- </div>
147
- <div class="ml-auto flex-none text-[13px] text-gray-400" :title="moment(item.createdAt).utc().format('DD/MM/YYYY HH:mm')">
148
- {{ moment(item.createdAt).utc().calendar() }}
149
- </div>
150
- </div>
151
- <div class="relative flex items-start" v-else>
152
- <div class="flex h-8 w-8 flex-none items-center justify-center overflow-hidden rounded-full bg-slate-50">
153
- <div
154
- class="flex size-6 items-center justify-center rounded-full p-1 text-white"
155
- :class="{
156
- 'bg-blue-500': item.type === 'Update',
157
- 'bg-green-500': item.type === 'Restore',
158
- 'bg-red-500': item.type === 'Delete'
159
- }"
160
- v-if="['Delete', 'Update', 'Restore'].includes(item.type)">
161
- <LucideEdit v-if="item.type === 'Update'" />
162
- <LucideTrash2 v-else-if="item.type === 'Delete'" />
163
- <LucideUndo2 v-else-if="item.type === 'Restore'" />
164
- </div>
165
- <div class="h-[13px] w-[13px] rounded-full border-2 border-gray-400" v-else></div>
166
- </div>
167
- <div class="ml-4 pt-1.5 text-sm leading-[1.3]">
168
- <div class="mr-1.5 font-[500]">{{ item.creatorName }}</div>
169
- <div class="text-[13px] text-gray-400">
170
- <template v-if="item.type === 'Delete'"> Menghapus data </template>
171
- <template v-else-if="item.type === 'Restore'"> Mengembalikan data terhapus </template>
172
- <template v-else-if="item.type === 'Update'"> Melakukan perubahan data </template>
173
- <template v-else>{{ item.type }}</template>
174
- <!-- <button class="text-blue-500 text-[13px] flex items-center font-medium gap-1.5 w-full border mt-1 border-blue-500 pl-1.5 pr-2 py-0.5 rounded-md transition hover:bg-blue-500 hover:text-white"
175
- :class="{'bg-blue-500 text-white': selected && selected.id === item.id}"
176
- v-on:click="getHistoryItem(item)"
177
- v-if="item.type === 'Update'">
178
- <LucideSquareSplitHorizontal :size="20" :stroke-width="1.8"/>
179
- Lihat riwayat data
180
- </button> -->
181
- </div>
182
- </div>
183
- <div class="ml-auto text-[13px] text-gray-400" :title="moment(item.createdAt).utc().format('DD/MM/YYYY HH:mm')">
184
- {{ moment(item.createdAt).utc().calendar() }}
185
- </div>
186
- </div>
187
- </div>
188
- </div>
189
- </section>
190
- </div>
191
- </template>
@@ -1,29 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref } from 'vue';
3
- import DocViewerContent, { type DocViewerOptions } from './DocViewerContent.vue'
4
-
5
- const data = ref<any>({});
6
- const docs = ref<any>([]);
7
- const docViewerContent = ref<InstanceType<typeof DocViewerContent>>()
8
- defineProps(['title', 'detailEndpoint', 'docsEndpoint', 'formSchema', 'pageConfig', 'columns']);
9
-
10
- async function open(options: DocViewerOptions) {
11
- return await docViewerContent.value?.open(options);
12
- }
13
-
14
- defineExpose({ open });
15
- </script>
16
-
17
- <template>
18
- <DocViewerContent
19
- ref="docViewerContent"
20
- :title="title"
21
- :detail-endpoint="detailEndpoint"
22
- :docs-endpoint="docsEndpoint"
23
- :form-schema="formSchema"
24
- :page-config="pageConfig"
25
- :columns="columns ?? pageConfig.columns"
26
- v-model:data="data"
27
- v-model:docs="docs"
28
- />
29
- </template>