@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,11 +0,0 @@
1
- <script setup lang="ts">
2
- import { PopoverTrigger, type PopoverTriggerProps } from 'radix-vue'
3
-
4
- const props = defineProps<PopoverTriggerProps>()
5
- </script>
6
-
7
- <template>
8
- <PopoverTrigger v-bind="props">
9
- <slot />
10
- </PopoverTrigger>
11
- </template>
@@ -1,4 +0,0 @@
1
- export { PopoverAnchor } from 'radix-vue'
2
- export { default as Popover } from './Popover.vue'
3
- export { default as PopoverTrigger } from './PopoverTrigger.vue'
4
- export { default as PopoverContent } from './PopoverContent.vue'
@@ -1,118 +0,0 @@
1
- <script setup>
2
- import VuePdfEmbed from 'vue-pdf-embed'
3
- import { ref, reactive, onMounted, watchEffect } from 'vue'
4
- import { FileInput } from 'lucide-vue-next'
5
-
6
- const isLoading = ref(true)
7
- const showAllPages = ref(false)
8
- const page = ref(null)
9
- const pageCount = ref(null)
10
- const props = defineProps({
11
- url: {
12
- type: String,
13
- required: true
14
- },
15
- title: {
16
- type: String
17
- }
18
- })
19
-
20
- function handleDocumentLoad ({ numPages }) {
21
- pageCount.value = numPages
22
- }
23
-
24
- function handleDocumentRender () {
25
- isLoading.value = false
26
- }
27
-
28
- function handlePasswordRequest ({ callback, isWrongPassword }) {
29
- callback(prompt(isWrongPassword ? 'Enter password again' : 'Enter password'))
30
- }
31
-
32
- watchEffect(() => {
33
- if (showAllPages.value) {
34
- page.value = null // null displays all pages
35
- } else if (page.value === null) {
36
- page.value = 1 // Set to page 1 if we're switching from "show all pages"
37
- }
38
- })
39
- </script>
40
-
41
- <template>
42
- <div class="pdf-container">
43
- <div class="pdf-header bg-slate-100">
44
- <span v-if="showAllPages"> {{ pageCount }} page(s) </span>
45
-
46
- <span v-else>
47
- <button :disabled="page <= 1" @click="page--">❮</button>
48
-
49
- {{ page }} / {{ pageCount }}
50
-
51
- <button :disabled="page >= pageCount" @click="page++">❯</button>
52
- </span>
53
- <h2 v-if="props.title">{{ props.title }}</h2>
54
- <label class="text-right">
55
- <input v-model="showAllPages" type="checkbox" />
56
- Show all pages
57
- </label>
58
- <a :href="props.url" target="_blank" download class="download-btn">
59
- <FileInput />
60
- </a>
61
- </div>
62
-
63
- <div class="app-content bg-slate-100">
64
- <vue-pdf-embed ref="pdfRef" :source="props.url" :page="page" @password-requested="handlePasswordRequest"
65
- @loaded="handleDocumentLoad" @rendered="handleDocumentRender" />
66
- </div>
67
- </div>
68
- </template>
69
-
70
- <style lang="scss" scoped>
71
- .vue-pdf-embed>div {
72
- margin-bottom: 8px;
73
- box-shadow: 0 2px 8px 4px rgba(0, 0, 0, 0.1);
74
- }
75
-
76
- .app-header {
77
- padding: 16px;
78
- box-shadow: 0 2px 8px 4px rgba(0, 0, 0, 0.1);
79
- background-color: #555;
80
- color: #ddd;
81
- }
82
-
83
- .app-content {
84
- padding: 24px 16px;
85
- }
86
-
87
- .pdf-container {
88
- width: 100%;
89
- display: flex;
90
- flex-direction: column;
91
- }
92
-
93
- .pdf-header {
94
- display: flex;
95
- justify-content: space-between;
96
- align-items: center;
97
- padding: 10px;
98
- border-bottom: 1px solid #ddd;
99
-
100
- h2 {
101
- margin: 0;
102
- font-size: 1.5rem;
103
- }
104
-
105
- .download-btn {
106
- padding: 8px;
107
- background-color: white;
108
- color: black;
109
- border-radius: 5px;
110
- text-decoration: none;
111
- transition: background-color 0.3s ease;
112
-
113
- &:hover {
114
- background-color: rgba(255, 255, 255, 0.538);
115
- }
116
- }
117
- }
118
- </style>
@@ -1,27 +0,0 @@
1
- <template>
2
- <div class="flex flex-row gap-3 items-center">
3
- <div class="flex flex-col">
4
- <p class="text-sm font-semibold text-gray-600 mt-2">{{ label }}</p>
5
- <p class="text-lg font-bold text-gray-800">{{ percentage }}%</p>
6
- </div>
7
- <CircleProgress
8
- :size="50"
9
- :border-width="8"
10
- :border-bg-width="8"
11
- :fill-color="color"
12
- :percent="percentage"
13
- backgroundColor="#E5E7E9"
14
- />
15
- </div>
16
- </template>
17
-
18
- <script setup>
19
- import "vue3-circle-progress/dist/circle-progress.css";
20
- import CircleProgress from "vue3-circle-progress";
21
-
22
- const props = defineProps({
23
- label: String,
24
- percentage: Number,
25
- color: String,
26
- });
27
- </script>
@@ -1,83 +0,0 @@
1
- <script setup>
2
- import { ref } from "vue";
3
- import ApexCharts from "vue3-apexcharts";
4
-
5
- const props = defineProps(['progress', 'status', 'color']);
6
- const progress = 30;
7
- const showKritis = ref(false);
8
-
9
- const chartOptions = ref({
10
- chart: {
11
- type: "radialBar",
12
- // offsetY: -25,
13
- sparkline: {
14
- // enabled: true,
15
- },
16
- },
17
- plotOptions: {
18
- radialBar: {
19
- startAngle: -90,
20
- endAngle: 90,
21
- hollow: {
22
- margin: 0,
23
- size: "60%",
24
- },
25
- track: {
26
- background: "#E5F0F8",
27
- strokeWidth: "100%",
28
- },
29
- dataLabels: {
30
- show: false,
31
- },
32
- },
33
- },
34
- stroke: {
35
- lineCap: "round",
36
- },
37
- colors: [props.color], // Color for the progress bar
38
- tooltip: {
39
- enabled: true,
40
- custom: function ({ series, seriesIndex, dataPointIndex, w }) {
41
- return (
42
- '<div class="arrow_box">' +
43
- '<div class="flex items-center py-1.5 px-2.5">' +
44
- `<span class="inline-block size-2.5 rounded-full mr-2" style="background-color: ${props.color};"></span>` +
45
- `<span>${props.status}</span>` +
46
- "</div>" +
47
- "</div>"
48
- );
49
- },
50
- // fixed: {
51
- // enabled: true,
52
- // position: "topLeft",
53
- // offsetX: 80,
54
- // offsetY: 50,
55
- // },
56
- // style: {
57
- // fontSize: "12px",
58
- // fontFamily: undefined,
59
- // },
60
- },
61
- });
62
- </script>
63
-
64
- <template>
65
- <div class="flex items-center justify-between -ml-12">
66
- <div class="relative text-center">
67
- <div class="-mt-6 -mb-20 ml-2">
68
- <ApexCharts
69
- type="radialBar"
70
- width="340"
71
- height="340"
72
- :options="chartOptions"
73
- :series="[props.progress]"
74
- class="mx-auto"
75
- />
76
- </div>
77
-
78
- <div class=" absolute left-0 right-0 bottom-7">
79
- <slot></slot>
80
- </div>
81
- </div>
82
- </div>
83
- </template>
@@ -1,31 +0,0 @@
1
- <script setup>
2
- import { formatNumber } from '../../../lib/utils';
3
-
4
- defineProps(['kalori']);
5
- </script>
6
-
7
- <template>
8
- <div class="w-2/3" v-if="kalori">
9
- <div class="flex flex-row justify-between border-b pb-1 mb-1.5">
10
- <p class="font-semibold text-[15px]">
11
- Total Kalori Tertimbang
12
- </p>
13
- <p class="text-[15px] font-semibold text-blue-600 text-right">
14
- {{ formatNumber(kalori.totalKaloriTertimbang || 0) }}
15
- <span class="opacity-75 text-gray-500 text-sm font-normal">Kcal</span>
16
- </p>
17
- </div>
18
- <div>
19
- <div v-for="calory in kalori.rencanaPasokan || []" :key="calory.spek"
20
- class="flex justify-between py-1.5 text-gray-700">
21
- <span class="text-[#7F7F80] text-xs font-normal">
22
- {{ calory.spek }}
23
- </span>
24
- <span class="font-semibold text-xs text-[#333333]">
25
- {{ formatNumber(calory.volumeTotal || 0) }}
26
- <span class="text-[#7F7F80] text-xs font-normal"> MT</span>
27
- </span>
28
- </div>
29
- </div>
30
- </div>
31
- </template>
@@ -1,25 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { RadioGroupRoot, type RadioGroupRootEmits, type RadioGroupRootProps, useForwardPropsEmits } from 'radix-vue'
4
- import { cn } from '../../../lib/utils'
5
-
6
- const props = defineProps<RadioGroupRootProps & { class?: HTMLAttributes['class'] }>()
7
- const emits = defineEmits<RadioGroupRootEmits>()
8
-
9
- const delegatedProps = computed(() => {
10
- const { class: _, ...delegated } = props
11
-
12
- return delegated
13
- })
14
-
15
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
16
- </script>
17
-
18
- <template>
19
- <RadioGroupRoot
20
- :class="cn('grid gap-2', props.class)"
21
- v-bind="forwarded"
22
- >
23
- <slot />
24
- </RadioGroupRoot>
25
- </template>
@@ -1,37 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import {
4
- RadioGroupIndicator,
5
- RadioGroupItem,
6
- type RadioGroupItemProps,
7
- useForwardProps,
8
- } from 'radix-vue'
9
- import { CheckIcon } from '@radix-icons/vue'
10
- import { cn } from '../../../lib/utils'
11
-
12
- const props = defineProps<RadioGroupItemProps & { class?: HTMLAttributes['class'] }>()
13
-
14
- const delegatedProps = computed(() => {
15
- const { class: _, ...delegated } = props
16
-
17
- return delegated
18
- })
19
-
20
- const forwardedProps = useForwardProps(delegatedProps)
21
- </script>
22
-
23
- <template>
24
- <RadioGroupItem
25
- v-bind="forwardedProps"
26
- :class="
27
- cn(
28
- 'aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',
29
- props.class,
30
- )
31
- "
32
- >
33
- <RadioGroupIndicator class="flex items-center justify-center">
34
- <CheckIcon class="h-3.5 w-3.5 fill-primary" />
35
- </RadioGroupIndicator>
36
- </RadioGroupItem>
37
- </template>
@@ -1,2 +0,0 @@
1
- export { default as RadioGroup } from './RadioGroup.vue'
2
- export { default as RadioGroupItem } from './RadioGroupItem.vue'
@@ -1,29 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import {
4
- ScrollAreaCorner,
5
- ScrollAreaRoot,
6
- type ScrollAreaRootProps,
7
- ScrollAreaViewport,
8
- } from 'radix-vue'
9
- import ScrollBar from './ScrollBar.vue'
10
- import { cn } from '../../../lib/utils'
11
-
12
- const props = defineProps<ScrollAreaRootProps & { class?: HTMLAttributes['class'] }>()
13
-
14
- const delegatedProps = computed(() => {
15
- const { class: _, ...delegated } = props
16
-
17
- return delegated
18
- })
19
- </script>
20
-
21
- <template>
22
- <ScrollAreaRoot v-bind="delegatedProps" :class="cn('relative overflow-hidden', props.class)">
23
- <ScrollAreaViewport class="h-full w-full rounded-[inherit]">
24
- <slot />
25
- </ScrollAreaViewport>
26
- <ScrollBar />
27
- <ScrollAreaCorner />
28
- </ScrollAreaRoot>
29
- </template>
@@ -1,30 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { ScrollAreaScrollbar, type ScrollAreaScrollbarProps, ScrollAreaThumb } from 'radix-vue'
4
- import { cn } from '../../../lib/utils'
5
-
6
- const props = withDefaults(defineProps<ScrollAreaScrollbarProps & { class?: HTMLAttributes['class'] }>(), {
7
- orientation: 'vertical',
8
- })
9
-
10
- const delegatedProps = computed(() => {
11
- const { class: _, ...delegated } = props
12
-
13
- return delegated
14
- })
15
- </script>
16
-
17
- <template>
18
- <ScrollAreaScrollbar
19
- v-bind="delegatedProps"
20
- :class="
21
- cn('flex touch-none select-none transition-colors',
22
- orientation === 'vertical'
23
- && 'h-full w-2.5 border-l border-l-transparent p-px',
24
- orientation === 'horizontal'
25
- && 'h-2.5 flex-col border-t border-t-transparent p-px',
26
- props.class)"
27
- >
28
- <ScrollAreaThumb class="relative flex-1 rounded-full bg-border" />
29
- </ScrollAreaScrollbar>
30
- </template>
@@ -1,2 +0,0 @@
1
- export { default as ScrollArea } from './ScrollArea.vue'
2
- export { default as ScrollBar } from './ScrollBar.vue'
@@ -1,15 +0,0 @@
1
- <script setup lang="ts">
2
- import type { SelectRootEmits, SelectRootProps } from 'radix-vue'
3
- import { SelectRoot, useForwardPropsEmits } from 'radix-vue'
4
-
5
- const props = defineProps<SelectRootProps>()
6
- const emits = defineEmits<SelectRootEmits>()
7
-
8
- const forwarded = useForwardPropsEmits(props, emits)
9
- </script>
10
-
11
- <template>
12
- <SelectRoot v-bind="forwarded">
13
- <slot />
14
- </SelectRoot>
15
- </template>
@@ -1,52 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import {
4
- SelectContent,
5
- type SelectContentEmits,
6
- type SelectContentProps,
7
- SelectPortal,
8
- SelectViewport,
9
- useForwardPropsEmits,
10
- } from 'radix-vue'
11
- import { SelectScrollDownButton, SelectScrollUpButton } from '.'
12
- import { cn } from '../../../lib/utils'
13
-
14
- defineOptions({
15
- inheritAttrs: false,
16
- })
17
-
18
- const props = withDefaults(
19
- defineProps<SelectContentProps & { class?: HTMLAttributes['class'] }>(), {
20
- position: 'popper',
21
- },
22
- )
23
- const emits = defineEmits<SelectContentEmits>()
24
-
25
- const delegatedProps = computed(() => {
26
- const { class: _, ...delegated } = props
27
-
28
- return delegated
29
- })
30
-
31
- const forwarded = useForwardPropsEmits(delegatedProps, emits)
32
- </script>
33
-
34
- <template>
35
- <SelectPortal>
36
- <SelectContent
37
- v-bind="{ ...forwarded, ...$attrs }" :class="cn(
38
- 'relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',
39
- position === 'popper'
40
- && 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
41
- props.class,
42
- )
43
- "
44
- >
45
- <SelectScrollUpButton />
46
- <SelectViewport :class="cn('p-1', position === 'popper' && 'h-[--radix-select-trigger-height] w-full min-w-[--radix-select-trigger-width]')">
47
- <slot />
48
- </SelectViewport>
49
- <SelectScrollDownButton />
50
- </SelectContent>
51
- </SelectPortal>
52
- </template>
@@ -1,19 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import { SelectGroup, type SelectGroupProps } from 'radix-vue'
4
- import { cn } from '../../../lib/utils'
5
-
6
- const props = defineProps<SelectGroupProps & { class?: HTMLAttributes['class'] }>()
7
-
8
- const delegatedProps = computed(() => {
9
- const { class: _, ...delegated } = props
10
-
11
- return delegated
12
- })
13
- </script>
14
-
15
- <template>
16
- <SelectGroup :class="cn('p-1 w-full', props.class)" v-bind="delegatedProps">
17
- <slot />
18
- </SelectGroup>
19
- </template>
@@ -1,84 +0,0 @@
1
- <script setup lang="ts">
2
- import { ComboboxAnchor, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxRoot, ComboboxTrigger, ComboboxViewport, Separator } from 'radix-vue'
3
- import { ChevronDown } from 'lucide-vue-next';
4
- import { cn } from '../../../lib/utils';
5
-
6
- const props = defineProps({
7
- placeholder: {
8
- type: String,
9
- default: 'Placeholder'
10
- },
11
- options: {
12
- type: Array as any,
13
- default: () => [],
14
- },
15
- class: {
16
- type: String,
17
- default: ''
18
- },
19
- anchorClass: {
20
- type: String,
21
- default: ''
22
- },
23
- inputClass: {
24
- type: String,
25
- default: ''
26
- },
27
- contentClass: {
28
- type: String,
29
- default: ''
30
- },
31
- itemClass: {
32
- type: String,
33
- default: ''
34
- },
35
- optionAttribute: {
36
- type: String,
37
- default: 'label'
38
- },
39
- valueAttribute: {
40
- type: String,
41
- default: 'value'
42
- },
43
- descriptionAttribute: {
44
- type: String,
45
- default: 'descsription'
46
- }
47
- })
48
-
49
- const selectedValue = defineModel('selectedValue', { type: String })
50
- </script>
51
-
52
- <template>
53
- <ComboboxRoot v-model="selectedValue" :class="cn('relative', props.class)">
54
- <ComboboxAnchor
55
- class="flex h-10 items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 w-full">
56
- <ComboboxTrigger class="flex w-full justify-between">
57
- <ComboboxInput class="!bg-transparent outline-none text-md h-full capitalize" :value="selectedValue"
58
- :placeholder="props.placeholder" />
59
- <ChevronDown class="ml-2 h-4 w-4 shrink-0 opacity-50" />
60
- </ComboboxTrigger>
61
- </ComboboxAnchor>
62
-
63
- <ComboboxContent
64
- :class="cn('border absolute z-10 mt-2 w-full min-w-[160px] bg-white overflow-hidden rounded will-change-[opacity,transform] data-[side=top]:animate-slideDownAndFade data-[side=right]:animate-slideLeftAndFade data-[side=bottom]:animate-slideUpAndFade data-[side=left]:animate-slideRightAndFade', props.contentClass)">
65
- <ComboboxViewport class="p-[5px]">
66
- <slot name="empty">
67
- <ComboboxEmpty class="text-mauve8 text-sm font-medium text-center py-2" />
68
- </slot>
69
- <ComboboxGroup>
70
- <ComboboxItem v-for="(option, index) in props.options" :key="`${option[valueAttribute]}-${index}`"
71
- :class="cn(props.itemClass, 'pl-2 relative flex w-full cursor-pointer select-none items-center data-[state=checked]:bg-accent hover:bg-accent rounded-sm py-1.5 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[checked]:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50')"
72
- :value="option[valueAttribute]" :disabled="option.disabled">
73
- <slot name="option" :option="option">
74
- <div class="flex flex-col">
75
- <div>{{ option[optionAttribute] }}</div>
76
- <div v-if="option[descriptionAttribute]">{{ option[descriptionAttribute] }}</div>
77
- </div>
78
- </slot>
79
- </ComboboxItem>
80
- </ComboboxGroup>
81
- </ComboboxViewport>
82
- </ComboboxContent>
83
- </ComboboxRoot>
84
- </template>
@@ -1,44 +0,0 @@
1
- <script setup lang="ts">
2
- import { type HTMLAttributes, computed } from 'vue'
3
- import {
4
- SelectItem,
5
- SelectItemIndicator,
6
- type SelectItemProps,
7
- SelectItemText,
8
- useForwardProps,
9
- } from 'radix-vue'
10
- import { CheckIcon } from '@radix-icons/vue'
11
- import { cn } from '../../../lib/utils'
12
-
13
- const props = defineProps<SelectItemProps & { class?: HTMLAttributes['class'] }>()
14
-
15
- const delegatedProps = computed(() => {
16
- const { class: _, ...delegated } = props
17
-
18
- return delegated
19
- })
20
-
21
- const forwardedProps = useForwardProps(delegatedProps)
22
- </script>
23
-
24
- <template>
25
- <SelectItem
26
- v-bind="forwardedProps"
27
- :class="
28
- cn(
29
- 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
30
- props.class,
31
- )
32
- "
33
- >
34
- <span class="absolute right-2 flex h-3.5 w-3.5 items-center justify-center">
35
- <SelectItemIndicator>
36
- <CheckIcon class="h-4 w-4" />
37
- </SelectItemIndicator>
38
- </span>
39
-
40
- <SelectItemText>
41
- <slot />
42
- </SelectItemText>
43
- </SelectItem>
44
- </template>
@@ -1,11 +0,0 @@
1
- <script setup lang="ts">
2
- import { SelectItemText, type SelectItemTextProps } from 'radix-vue'
3
-
4
- const props = defineProps<SelectItemTextProps>()
5
- </script>
6
-
7
- <template>
8
- <SelectItemText v-bind="props">
9
- <slot />
10
- </SelectItemText>
11
- </template>
@@ -1,13 +0,0 @@
1
- <script setup lang="ts">
2
- import type { HTMLAttributes } from 'vue'
3
- import { SelectLabel, type SelectLabelProps } from 'radix-vue'
4
- import { cn } from '../../../lib/utils'
5
-
6
- const props = defineProps<SelectLabelProps & { class?: HTMLAttributes['class'] }>()
7
- </script>
8
-
9
- <template>
10
- <SelectLabel :class="cn('px-2 py-1.5 text-sm font-semibold', props.class)">
11
- <slot />
12
- </SelectLabel>
13
- </template>