@dasidev/dasi-ui 1.0.0

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 (450) hide show
  1. package/README.md +346 -0
  2. package/bin/dasi-cli.cjs +184 -0
  3. package/dist/date-selector-test-BlukYeWl.js +91 -0
  4. package/dist/favicon.ico +0 -0
  5. package/dist/html2canvas.esm-CKxSAI8P.js +4886 -0
  6. package/dist/img/brand/ic_pln.svg +12 -0
  7. package/dist/img/brand/mapp_power_logo.svg +21 -0
  8. package/dist/img/common/pltu_ulumbu_flores_ntt.jpeg +0 -0
  9. package/dist/index-BQSA2aPs.js +126556 -0
  10. package/dist/index.es-DQWt-PZn.js +5769 -0
  11. package/dist/index.es.js +11 -0
  12. package/dist/index.umd.js +8564 -0
  13. package/dist/informasi-gudang-BmoEy2RL.js +164 -0
  14. package/dist/informasi-gudang-DXfS46Nh.js +50 -0
  15. package/dist/purify.es-C-9oolON.js +546 -0
  16. package/dist/scripts/pdf.worker.min.js +29 -0
  17. package/dist/scripts/pdf.worker.min.mjs +29 -0
  18. package/dist/scripts/pdf.worker.mjs +57722 -0
  19. package/dist/scripts/pdf.worker.mjs.map +1 -0
  20. package/dist/style.css +1 -0
  21. package/dist/test-schema-JFghGc0_.js +8 -0
  22. package/dist/test-schema-uusFsJe4.js +438 -0
  23. package/dist/types-l0sNRNKZ.js +1 -0
  24. package/package.json +178 -0
  25. package/src/App.vue +18 -0
  26. package/src/__tests__/index.test.ts +9 -0
  27. package/src/api/api.ts +117 -0
  28. package/src/assets/app-selector.svg +3 -0
  29. package/src/assets/dasi.png +0 -0
  30. package/src/assets/foto_ss.svg +21 -0
  31. package/src/assets/icons/circle-blue.svg +4 -0
  32. package/src/assets/icons/circle-gray.svg +15 -0
  33. package/src/assets/icons/circle-green.svg +4 -0
  34. package/src/assets/icons/circle-orange.svg +4 -0
  35. package/src/assets/icons/circle-purple.svg +4 -0
  36. package/src/assets/icons/circle-red.svg +15 -0
  37. package/src/assets/icons/harbor.svg +12 -0
  38. package/src/assets/icons/ic-box-red.svg +8 -0
  39. package/src/assets/icons/ic-chevron-right.svg +1 -0
  40. package/src/assets/icons/ic-loading.svg +9 -0
  41. package/src/assets/icons/ic-reset.svg +16 -0
  42. package/src/assets/icons/ic-sailing.svg +5 -0
  43. package/src/assets/icons/icon-app-selector.svg +3 -0
  44. package/src/assets/icons/icon-browser-check.svg +4 -0
  45. package/src/assets/icons/icon-calendar.svg +3 -0
  46. package/src/assets/icons/icon-chart-bar.svg +3 -0
  47. package/src/assets/icons/icon-chart-doc.svg +16 -0
  48. package/src/assets/icons/icon-chart-line.svg +10 -0
  49. package/src/assets/icons/icon-chart-mix.svg +15 -0
  50. package/src/assets/icons/icon-chart-pie.svg +11 -0
  51. package/src/assets/icons/icon-continue.svg +12 -0
  52. package/src/assets/icons/icon-dashboard-2.svg +17 -0
  53. package/src/assets/icons/icon-dashboard.svg +3 -0
  54. package/src/assets/icons/icon-data-kelistrikan.svg +19 -0
  55. package/src/assets/icons/icon-data-sentral.svg +11 -0
  56. package/src/assets/icons/icon-database.svg +5 -0
  57. package/src/assets/icons/icon-desktop.svg +3 -0
  58. package/src/assets/icons/icon-download.svg +13 -0
  59. package/src/assets/icons/icon-energi-primer.svg +12 -0
  60. package/src/assets/icons/icon-faba-apk2.svg +11 -0
  61. package/src/assets/icons/icon-faba.svg +11 -0
  62. package/src/assets/icons/icon-factory.svg +14 -0
  63. package/src/assets/icons/icon-globe-doc.svg +19 -0
  64. package/src/assets/icons/icon-ikk.svg +10 -0
  65. package/src/assets/icons/icon-kbb.svg +13 -0
  66. package/src/assets/icons/icon-kos.svg +16 -0
  67. package/src/assets/icons/icon-kpi-bod.svg +15 -0
  68. package/src/assets/icons/icon-kss.svg +14 -0
  69. package/src/assets/icons/icon-map.svg +12 -0
  70. package/src/assets/icons/icon-monitoring-harian.svg +13 -0
  71. package/src/assets/icons/icon-notification.svg +4 -0
  72. package/src/assets/icons/icon-overview.svg +17 -0
  73. package/src/assets/icons/icon-pltu.svg +13 -0
  74. package/src/assets/icons/icon-sebaran-sentral.svg +12 -0
  75. package/src/assets/icons/icon-select-data-kelistrikan.svg +19 -0
  76. package/src/assets/icons/icon-select-data-sentral.svg +11 -0
  77. package/src/assets/icons/icon-select-energi-primer.svg +12 -0
  78. package/src/assets/icons/icon-select-faba-apk2.svg +11 -0
  79. package/src/assets/icons/icon-select-ikk.svg +10 -0
  80. package/src/assets/icons/icon-select-kbb.svg +13 -0
  81. package/src/assets/icons/icon-select-kos.svg +16 -0
  82. package/src/assets/icons/icon-select-kpi-bod.svg +15 -0
  83. package/src/assets/icons/icon-select-kss.svg +14 -0
  84. package/src/assets/icons/icon-select-monitoring-harian.svg +13 -0
  85. package/src/assets/icons/icon-select-overview.svg +17 -0
  86. package/src/assets/icons/icon-select-sebaran-sentral.svg +12 -0
  87. package/src/assets/icons/icon-sentral-white.svg +13 -0
  88. package/src/assets/icons/icon-shipping.svg +5 -0
  89. package/src/assets/icons/icon-sort.svg +5 -0
  90. package/src/assets/icons/icon-tree-box.svg +14 -0
  91. package/src/assets/icons/icon-warehouse.svg +12 -0
  92. package/src/assets/icons/pin-green.svg +3 -0
  93. package/src/assets/icons/pin-orange.svg +3 -0
  94. package/src/assets/icons/pin-purple.svg +3 -0
  95. package/src/assets/icons/ship.svg +3 -0
  96. package/src/assets/icons/shipment/icon-antri.svg +15 -0
  97. package/src/assets/icons/shipment/icon-bongkar.svg +4 -0
  98. package/src/assets/icons/shipment/icon-invoice.svg +6 -0
  99. package/src/assets/icons/shipment/icon-loading.svg +8 -0
  100. package/src/assets/icons/shipment/icon-pembayaran.svg +13 -0
  101. package/src/assets/icons/shipment/icon-pengiriman.svg +4 -0
  102. package/src/assets/icons/shipment/icon-sailing.svg +4 -0
  103. package/src/assets/icons/shipment/icon-shipment-completed.svg +6 -0
  104. package/src/assets/icons/shipment/icon-shipment-in-progress.svg +6 -0
  105. package/src/assets/icons/shipment/icon-shipment-over-sla.svg +6 -0
  106. package/src/assets/icons/shipment/icon-spt.svg +4 -0
  107. package/src/assets/icons/shipment/icon-total-shipment.svg +4 -0
  108. package/src/assets/icons/upload_doc_icon.svg +42 -0
  109. package/src/assets/icons/upload_icon_blue.svg +14 -0
  110. package/src/assets/login-bg-day-min.jpg +0 -0
  111. package/src/assets/login-bg-night-min.jpg +0 -0
  112. package/src/assets/login-bg.jpg +0 -0
  113. package/src/assets/login-day.png +0 -0
  114. package/src/assets/login-night.png +0 -0
  115. package/src/assets/lucide-circle-plus-blue.svg +1 -0
  116. package/src/assets/pdf-logo.svg +11 -0
  117. package/src/assets/pemasok-card-bg.svg +6 -0
  118. package/src/assets/success_animation.gif +0 -0
  119. package/src/assets/success_animation.mp4 +0 -0
  120. package/src/assets/success_animation.webm +0 -0
  121. package/src/components/button/BtnAddOutline.vue +14 -0
  122. package/src/components/button/BtnCircle.vue +10 -0
  123. package/src/components/button/BtnOutline.vue +15 -0
  124. package/src/components/button/BtnPrimary.vue +25 -0
  125. package/src/components/button/BtnSecondary.vue +26 -0
  126. package/src/components/detail/AccountDetailTimeline.vue +144 -0
  127. package/src/components/detail/ApprovalInfo.vue +288 -0
  128. package/src/components/detail/DCI2.vue +164 -0
  129. package/src/components/detail/DetailContentHeader.vue +83 -0
  130. package/src/components/detail/DetailContentItem.vue +186 -0
  131. package/src/components/detail/DetailContentItems.vue +388 -0
  132. package/src/components/detail/DetailContentLoading.vue +12 -0
  133. package/src/components/detail/DetailContentTablet.vue +10 -0
  134. package/src/components/detail/DetailSheet.vue +294 -0
  135. package/src/components/detail/DetailTimeline.vue +191 -0
  136. package/src/components/detail/DocApprovalDialog.vue +29 -0
  137. package/src/components/detail/DocViewerContent.vue +991 -0
  138. package/src/components/dialog/ConfirmDialog.vue +96 -0
  139. package/src/components/dialog/DialogBase.vue +53 -0
  140. package/src/components/dialog/DialogSelect.vue +212 -0
  141. package/src/components/dialog/ErrorDialog.vue +63 -0
  142. package/src/components/dialog/FormDialog.vue +141 -0
  143. package/src/components/dialog/FormInputerDialog.vue +91 -0
  144. package/src/components/dialog/InfoDialog.vue +74 -0
  145. package/src/components/dialog/SuccessDialog.vue +51 -0
  146. package/src/components/examples/TestSchemaExample.vue +288 -0
  147. package/src/components/forms/auth/LoginForm.vue +806 -0
  148. package/src/components/forms/auth/PwdScore.vue +68 -0
  149. package/src/components/helper/ApiTester.vue +153 -0
  150. package/src/components/helper/ChangePwd.vue +150 -0
  151. package/src/components/helper/CheckboxElement.vue +43 -0
  152. package/src/components/helper/ConfigSwitcher.vue +54 -0
  153. package/src/components/helper/Copyright.vue +10 -0
  154. package/src/components/helper/ErrorScreen.vue +40 -0
  155. package/src/components/helper/LucideIcon.vue +27 -0
  156. package/src/components/helper/PdfViewer.vue +103 -0
  157. package/src/components/helper/PinInputer.vue +205 -0
  158. package/src/components/helper/PrivacyPolicy.vue +122 -0
  159. package/src/components/layout/PageActivityHeader.vue +48 -0
  160. package/src/components/layout/PageHeader.vue +70 -0
  161. package/src/components/loadings/LoadingDialog.vue +29 -0
  162. package/src/components/loadings/LoadingDialogSpin.vue +25 -0
  163. package/src/components/loadings/LoadingIndicator.vue +38 -0
  164. package/src/components/loadings/LoadingScreen.vue +23 -0
  165. package/src/components/notif/Notif.vue +103 -0
  166. package/src/components/notif/NotifItem.vue +41 -0
  167. package/src/components/pages/Header.vue +431 -0
  168. package/src/components/pages/Leftbar.vue +417 -0
  169. package/src/components/pages/PageActivity.vue +108 -0
  170. package/src/components/pages/PageActivityContent.vue +597 -0
  171. package/src/components/pages/PageContentTable.vue +589 -0
  172. package/src/components/pages/PageTab.vue +84 -0
  173. package/src/components/selector/BaseSelector.vue +1136 -0
  174. package/src/components/selector/ConfigDataSelector.vue +136 -0
  175. package/src/components/settings/SettingsItem.vue +38 -0
  176. package/src/components/tab/TabView.vue +11 -0
  177. package/src/components/tab/TabViewItem.vue +18 -0
  178. package/src/components/tab/TabViewItemBar.vue +9 -0
  179. package/src/components/tables/CellHover.vue +65 -0
  180. package/src/components/tables/DashboardDataTable.vue +707 -0
  181. package/src/components/tables/DataStatusTag.vue +52 -0
  182. package/src/components/tables/DataTable.vue +156 -0
  183. package/src/components/tables/DataTableAccordion.vue +249 -0
  184. package/src/components/tables/DataTableActionRow.vue +64 -0
  185. package/src/components/tables/DataTableCell.vue +272 -0
  186. package/src/components/tables/DataTableHeader.vue +60 -0
  187. package/src/components/tables/DataTableRow.vue +213 -0
  188. package/src/components/tables/ExpandedTable.vue +259 -0
  189. package/src/components/tables/PageTable.vue +73 -0
  190. package/src/components/tables/Pagination.vue +98 -0
  191. package/src/components/tables/dropdown/BaseDropdownTable.vue +140 -0
  192. package/src/components/tables/dropdown/DropdownTableActivity.vue +33 -0
  193. package/src/components/tables/dropdown/DropdownTableAsset.vue +30 -0
  194. package/src/components/tables/dropdown/DropdownTableConfig.vue +30 -0
  195. package/src/components/tables/dropdown/DropdownTableDataKonektor.vue +31 -0
  196. package/src/components/tables/dropdown/DropdownTableDataLabel.vue +30 -0
  197. package/src/components/tables/dropdown/DropdownTableDataSchema.vue +31 -0
  198. package/src/components/tables/dropdown/DropdownTableFabaPemanfaat.vue +30 -0
  199. package/src/components/tables/dropdown/DropdownTableGroup.vue +36 -0
  200. package/src/components/tables/dropdown/DropdownTableHalaman.vue +33 -0
  201. package/src/components/tables/dropdown/DropdownTableLevel.vue +66 -0
  202. package/src/components/tables/dropdown/DropdownTableOrganization.vue +47 -0
  203. package/src/components/tables/dropdown/DropdownTablePengelola.vue +28 -0
  204. package/src/components/tables/dropdown/DropdownTableQueryLayer.vue +29 -0
  205. package/src/components/tables/dropdown/DropdownTableSentral.vue +33 -0
  206. package/src/components/tables/dropdown/DropdownTableWarehouse.vue +30 -0
  207. package/src/components/tables/dropdown/TableDropdown.vue +52 -0
  208. package/src/components/ui/accordion/Accordion.vue +19 -0
  209. package/src/components/ui/accordion/AccordionContent.vue +24 -0
  210. package/src/components/ui/accordion/AccordionItem.vue +24 -0
  211. package/src/components/ui/accordion/AccordionTrigger.vue +42 -0
  212. package/src/components/ui/accordion/index.ts +4 -0
  213. package/src/components/ui/alert-dialog/AlertDialog.vue +14 -0
  214. package/src/components/ui/alert-dialog/AlertDialogAction.vue +20 -0
  215. package/src/components/ui/alert-dialog/AlertDialogCancel.vue +20 -0
  216. package/src/components/ui/alert-dialog/AlertDialogContent.vue +42 -0
  217. package/src/components/ui/alert-dialog/AlertDialogDescription.vue +25 -0
  218. package/src/components/ui/alert-dialog/AlertDialogFooter.vue +21 -0
  219. package/src/components/ui/alert-dialog/AlertDialogHeader.vue +16 -0
  220. package/src/components/ui/alert-dialog/AlertDialogTitle.vue +22 -0
  221. package/src/components/ui/alert-dialog/AlertDialogTrigger.vue +11 -0
  222. package/src/components/ui/alert-dialog/index.ts +9 -0
  223. package/src/components/ui/avatar/Avatar.vue +24 -0
  224. package/src/components/ui/avatar/AvatarFallback.vue +11 -0
  225. package/src/components/ui/avatar/AvatarImage.vue +9 -0
  226. package/src/components/ui/avatar/UsersAvatar.vue +28 -0
  227. package/src/components/ui/avatar/index.ts +24 -0
  228. package/src/components/ui/button/Button.vue +27 -0
  229. package/src/components/ui/button/index.ts +34 -0
  230. package/src/components/ui/calendar/Calendar.vue +325 -0
  231. package/src/components/ui/calendar/index.ts +22 -0
  232. package/src/components/ui/checkbox/Checkbox.vue +33 -0
  233. package/src/components/ui/checkbox/index.ts +1 -0
  234. package/src/components/ui/command/Command.vue +30 -0
  235. package/src/components/ui/command/CommandDialog.vue +21 -0
  236. package/src/components/ui/command/CommandEmpty.vue +20 -0
  237. package/src/components/ui/command/CommandGroup.vue +29 -0
  238. package/src/components/ui/command/CommandInput.vue +33 -0
  239. package/src/components/ui/command/CommandItem.vue +26 -0
  240. package/src/components/ui/command/CommandList.vue +27 -0
  241. package/src/components/ui/command/CommandSeparator.vue +23 -0
  242. package/src/components/ui/command/CommandShortcut.vue +14 -0
  243. package/src/components/ui/command/index.ts +9 -0
  244. package/src/components/ui/context-menu/ContextMenu.vue +15 -0
  245. package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +40 -0
  246. package/src/components/ui/context-menu/ContextMenuContent.vue +36 -0
  247. package/src/components/ui/context-menu/ContextMenuGroup.vue +11 -0
  248. package/src/components/ui/context-menu/ContextMenuItem.vue +34 -0
  249. package/src/components/ui/context-menu/ContextMenuLabel.vue +25 -0
  250. package/src/components/ui/context-menu/ContextMenuPortal.vue +11 -0
  251. package/src/components/ui/context-menu/ContextMenuRadioGroup.vue +19 -0
  252. package/src/components/ui/context-menu/ContextMenuRadioItem.vue +40 -0
  253. package/src/components/ui/context-menu/ContextMenuSeparator.vue +20 -0
  254. package/src/components/ui/context-menu/ContextMenuShortcut.vue +14 -0
  255. package/src/components/ui/context-menu/ContextMenuSub.vue +19 -0
  256. package/src/components/ui/context-menu/ContextMenuSubContent.vue +35 -0
  257. package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +34 -0
  258. package/src/components/ui/context-menu/ContextMenuTrigger.vue +13 -0
  259. package/src/components/ui/context-menu/index.ts +14 -0
  260. package/src/components/ui/datetime/DatetimeRangeComponent.vue +52 -0
  261. package/src/components/ui/dialog/Dialog.vue +14 -0
  262. package/src/components/ui/dialog/DialogClose.vue +11 -0
  263. package/src/components/ui/dialog/DialogContent.vue +53 -0
  264. package/src/components/ui/dialog/DialogDescription.vue +24 -0
  265. package/src/components/ui/dialog/DialogFooter.vue +19 -0
  266. package/src/components/ui/dialog/DialogHeader.vue +16 -0
  267. package/src/components/ui/dialog/DialogScrollContent.vue +59 -0
  268. package/src/components/ui/dialog/DialogTitle.vue +29 -0
  269. package/src/components/ui/dialog/DialogTrigger.vue +11 -0
  270. package/src/components/ui/dialog/index.ts +9 -0
  271. package/src/components/ui/dropdown-menu/DropdownMenu.vue +14 -0
  272. package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +40 -0
  273. package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +38 -0
  274. package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +11 -0
  275. package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +28 -0
  276. package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +24 -0
  277. package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +19 -0
  278. package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +41 -0
  279. package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +22 -0
  280. package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +14 -0
  281. package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +19 -0
  282. package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +30 -0
  283. package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +33 -0
  284. package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +13 -0
  285. package/src/components/ui/dropdown-menu/index.ts +16 -0
  286. package/src/components/ui/form/FormControl.vue +16 -0
  287. package/src/components/ui/form/FormDescription.vue +20 -0
  288. package/src/components/ui/form/FormItem.vue +25 -0
  289. package/src/components/ui/form/FormLabel.vue +23 -0
  290. package/src/components/ui/form/FormMessage.vue +16 -0
  291. package/src/components/ui/form/index.ts +6 -0
  292. package/src/components/ui/form/useFormField.ts +30 -0
  293. package/src/components/ui/hover-card/HoverCard.vue +14 -0
  294. package/src/components/ui/hover-card/HoverCardContent.vue +41 -0
  295. package/src/components/ui/hover-card/HoverCardTrigger.vue +11 -0
  296. package/src/components/ui/hover-card/index.ts +3 -0
  297. package/src/components/ui/input/Input.vue +24 -0
  298. package/src/components/ui/input/index.ts +1 -0
  299. package/src/components/ui/label/Label.vue +27 -0
  300. package/src/components/ui/label/index.ts +1 -0
  301. package/src/components/ui/pagination/PaginationEllipsis.vue +22 -0
  302. package/src/components/ui/pagination/PaginationFirst.vue +29 -0
  303. package/src/components/ui/pagination/PaginationLast.vue +29 -0
  304. package/src/components/ui/pagination/PaginationNext.vue +29 -0
  305. package/src/components/ui/pagination/PaginationPrev.vue +29 -0
  306. package/src/components/ui/pagination/index.ts +10 -0
  307. package/src/components/ui/pin-input/PinInput.vue +23 -0
  308. package/src/components/ui/pin-input/PinInputGroup.vue +18 -0
  309. package/src/components/ui/pin-input/PinInputInput.vue +18 -0
  310. package/src/components/ui/pin-input/PinInputSeparator.vue +15 -0
  311. package/src/components/ui/pin-input/index.ts +4 -0
  312. package/src/components/ui/popover/Popover.vue +15 -0
  313. package/src/components/ui/popover/PopoverContent.vue +48 -0
  314. package/src/components/ui/popover/PopoverTrigger.vue +11 -0
  315. package/src/components/ui/popover/index.ts +4 -0
  316. package/src/components/ui/preview/PreviewPdf.vue +118 -0
  317. package/src/components/ui/progress/ProgressCircle.vue +27 -0
  318. package/src/components/ui/progress/SemiCircularProgressBar.vue +83 -0
  319. package/src/components/ui/progress/TotalCalories.vue +31 -0
  320. package/src/components/ui/radio-group/RadioGroup.vue +25 -0
  321. package/src/components/ui/radio-group/RadioGroupItem.vue +37 -0
  322. package/src/components/ui/radio-group/index.ts +2 -0
  323. package/src/components/ui/scroll-area/ScrollArea.vue +29 -0
  324. package/src/components/ui/scroll-area/ScrollBar.vue +30 -0
  325. package/src/components/ui/scroll-area/index.ts +2 -0
  326. package/src/components/ui/select/Select.vue +15 -0
  327. package/src/components/ui/select/SelectContent.vue +52 -0
  328. package/src/components/ui/select/SelectGroup.vue +19 -0
  329. package/src/components/ui/select/SelectInline.vue +84 -0
  330. package/src/components/ui/select/SelectItem.vue +44 -0
  331. package/src/components/ui/select/SelectItemText.vue +11 -0
  332. package/src/components/ui/select/SelectLabel.vue +13 -0
  333. package/src/components/ui/select/SelectScrollDownButton.vue +24 -0
  334. package/src/components/ui/select/SelectScrollUpButton.vue +24 -0
  335. package/src/components/ui/select/SelectSeparator.vue +17 -0
  336. package/src/components/ui/select/SelectTrigger.vue +31 -0
  337. package/src/components/ui/select/SelectTriggerCustom.vue +23 -0
  338. package/src/components/ui/select/SelectValue.vue +11 -0
  339. package/src/components/ui/select/index.ts +12 -0
  340. package/src/components/ui/separator/Separator.vue +20 -0
  341. package/src/components/ui/separator/index.ts +1 -0
  342. package/src/components/ui/sheet/Sheet.vue +14 -0
  343. package/src/components/ui/sheet/SheetClose.vue +11 -0
  344. package/src/components/ui/sheet/SheetContent.vue +48 -0
  345. package/src/components/ui/sheet/SheetDescription.vue +22 -0
  346. package/src/components/ui/sheet/SheetFooter.vue +19 -0
  347. package/src/components/ui/sheet/SheetHeader.vue +16 -0
  348. package/src/components/ui/sheet/SheetTitle.vue +22 -0
  349. package/src/components/ui/sheet/SheetTrigger.vue +11 -0
  350. package/src/components/ui/sheet/index.ts +31 -0
  351. package/src/components/ui/skeleton/Skeleton.vue +28 -0
  352. package/src/components/ui/skeleton/index.ts +1 -0
  353. package/src/components/ui/sonner/Sonner.vue +22 -0
  354. package/src/components/ui/sonner/index.ts +1 -0
  355. package/src/components/ui/star/StarRating.vue +19 -0
  356. package/src/components/ui/switch/Switch.vue +37 -0
  357. package/src/components/ui/switch/index.ts +1 -0
  358. package/src/components/ui/table/Table.vue +16 -0
  359. package/src/components/ui/table/TableBody.vue +14 -0
  360. package/src/components/ui/table/TableCaption.vue +14 -0
  361. package/src/components/ui/table/TableCell.vue +21 -0
  362. package/src/components/ui/table/TableEmpty.vue +37 -0
  363. package/src/components/ui/table/TableFooter.vue +14 -0
  364. package/src/components/ui/table/TableHead.vue +14 -0
  365. package/src/components/ui/table/TableHeader.vue +14 -0
  366. package/src/components/ui/table/TableRow.vue +14 -0
  367. package/src/components/ui/table/index.ts +8 -0
  368. package/src/components/ui/tabs/Tabs.vue +15 -0
  369. package/src/components/ui/tabs/TabsContent.vue +22 -0
  370. package/src/components/ui/tabs/TabsList.vue +25 -0
  371. package/src/components/ui/tabs/TabsTrigger.vue +27 -0
  372. package/src/components/ui/tabs/index.ts +4 -0
  373. package/src/components/ui/tags-input/TagsInput.vue +22 -0
  374. package/src/components/ui/tags-input/TagsInputInput.vue +19 -0
  375. package/src/components/ui/tags-input/TagsInputItem.vue +22 -0
  376. package/src/components/ui/tags-input/TagsInputItemDelete.vue +24 -0
  377. package/src/components/ui/tags-input/TagsInputItemText.vue +19 -0
  378. package/src/components/ui/tags-input/index.ts +5 -0
  379. package/src/components/ui/textarea/Textarea.vue +24 -0
  380. package/src/components/ui/textarea/index.ts +1 -0
  381. package/src/components/ui/tooltip/Tooltip.vue +14 -0
  382. package/src/components/ui/tooltip/TooltipContent.vue +31 -0
  383. package/src/components/ui/tooltip/TooltipProvider.vue +11 -0
  384. package/src/components/ui/tooltip/TooltipTrigger.vue +11 -0
  385. package/src/components/ui/tooltip/index.ts +4 -0
  386. package/src/composables/useAppConfig.ts +332 -0
  387. package/src/composables/useDarkMode.ts +71 -0
  388. package/src/config/app.config.ts +318 -0
  389. package/src/config/examples/ecommerce.config.ts +132 -0
  390. package/src/config/examples/generic.config.ts +132 -0
  391. package/src/config/menu.config.ts +149 -0
  392. package/src/config/my-app.config.ts +134 -0
  393. package/src/config/test-config.ts +32 -0
  394. package/src/config/theme.config.ts +250 -0
  395. package/src/docs/index.ts +21 -0
  396. package/src/docs.scss +403 -0
  397. package/src/index.d.ts +5 -0
  398. package/src/index.ts +20 -0
  399. package/src/layouts/AuthLayout.vue +68 -0
  400. package/src/layouts/DefaultLayout.vue +119 -0
  401. package/src/layouts/DocsLayout.vue +681 -0
  402. package/src/layouts/FormGlobal.vue +50 -0
  403. package/src/layouts/GlobalDialog.vue +122 -0
  404. package/src/layouts/RakorConfirmDialog.vue +95 -0
  405. package/src/layouts/SettingsLayout.vue +115 -0
  406. package/src/lib/constants.ts +2 -0
  407. package/src/lib/detail.utils.ts +213 -0
  408. package/src/lib/form.utils.ts +1009 -0
  409. package/src/lib/page.flow.utils.ts +81 -0
  410. package/src/lib/page.utils.ts +865 -0
  411. package/src/lib/performance.utils.ts +302 -0
  412. package/src/lib/tablerow.utils.ts +51 -0
  413. package/src/lib/utils.ts +643 -0
  414. package/src/main.scss +717 -0
  415. package/src/main.ts +74 -0
  416. package/src/menu.ts +78 -0
  417. package/src/nestedlist_color.scss +161 -0
  418. package/src/router/index.ts +92 -0
  419. package/src/stores/auth.ts +117 -0
  420. package/src/stores/counter.ts +12 -0
  421. package/src/stores/dialog.ts +168 -0
  422. package/src/stores/form.ts +103 -0
  423. package/src/stores/tabs.ts +52 -0
  424. package/src/tw.scss +419 -0
  425. package/src/types/form.types.ts +348 -0
  426. package/src/types/types.ts +7 -0
  427. package/src/utils/config.utils.ts +149 -0
  428. package/src/views/NotFound.vue +30 -0
  429. package/src/views/PageActivity.vue +15 -0
  430. package/src/views/auth/LoginView.vue +7 -0
  431. package/src/views/auth/OauthCallback.vue +101 -0
  432. package/src/views/dashboard/index.vue +16 -0
  433. package/src/views/settings/AccountSettingsView.vue +70 -0
  434. package/src/views/settings/AuditLogsSettingsView.vue +116 -0
  435. package/src/views/settings/DeviceSettingsView.vue +70 -0
  436. package/src/views/settings/MainSettingsView.vue +12 -0
  437. package/src/views/settings/ProfileSettingsView.vue +104 -0
  438. package/src/vueform/config/informasi-gudang.ts +47 -0
  439. package/src/vueform/config/test-schema.ts +8 -0
  440. package/src/vueform/config/types.ts +768 -0
  441. package/src/vueform/customization/classes.js +46 -0
  442. package/src/vueform/customization/tailwind.classes.js +2117 -0
  443. package/src/vueform/elements/ConfigDataSelectorElement.vue +50 -0
  444. package/src/vueform/elements/DateSelectorElement.vue +323 -0
  445. package/src/vueform/elements/SelectorElement.vue +153 -0
  446. package/src/vueform/schemas/date-selector-test.ts +103 -0
  447. package/src/vueform/schemas/informasi-gudang.ts +160 -0
  448. package/src/vueform/schemas/test-schema.ts +483 -0
  449. package/src/vueform.config.js +77 -0
  450. package/src/vueform.validator.ts +77 -0
package/README.md ADDED
@@ -0,0 +1,346 @@
1
+ # Framework Web
2
+
3
+ A starter Vue 3 + TypeScript framework for building configurable, enterprise-ready web apps. It ships with a configuration-driven architecture, unified components, and type-safe development. Forms are powered by Vueform, which serves as the built-in form builder across the project.
4
+
5
+ ## šŸš€ Quick Start
6
+
7
+ Make sure you guys use node v20 or above
8
+
9
+ ### Installation
10
+
11
+ ```sh
12
+ npm install
13
+ ```
14
+
15
+ ### Development
16
+
17
+ ```sh
18
+ npm run dev
19
+ ```
20
+
21
+ ### Production Build
22
+
23
+ ```sh
24
+ npm run build
25
+ ```
26
+
27
+ ### Testing
28
+
29
+ ```sh
30
+ npm run test:unit
31
+ ```
32
+
33
+ ### Linting
34
+
35
+ ```sh
36
+ npm run lint
37
+ ```
38
+
39
+ ## šŸ—ļø Architecture Overview
40
+
41
+ This framework follows a **configuration-driven architecture** where pages are defined through schemas and configurations, making it highly reusable and maintainable.
42
+
43
+ ### Core Flow
44
+
45
+ ```
46
+ Route → PageActivity → Schema → Table → DataTableCell
47
+ ↓ ↓ ↓ ↓ ↓
48
+ Config → PageConfig → Columns → Render → Display
49
+ ```
50
+
51
+ ### Key Components
52
+
53
+ - **PageActivity.vue** - Main page container
54
+ - **DataTable.vue** - Unified table component
55
+ - **DataTableCell.vue** - Smart cell renderer
56
+ - **BaseSelector.vue** - Unified selector component
57
+ - **DateSelectorElement.vue** - Unified date picker
58
+
59
+ ## šŸ“‹ Configuration System
60
+
61
+ ### 1. Application Configuration
62
+
63
+ Create your app configuration in `src/config/my-app.config.ts`:
64
+
65
+ ```typescript
66
+ export default {
67
+ app: {
68
+ name: "My Application",
69
+ version: "1.0.0"
70
+ },
71
+ api: {
72
+ baseUrl: process.env.VITE_API_URL || "http://localhost:3000/api",
73
+ timeout: 10000
74
+ },
75
+ branding: {
76
+ companyName: "My Company",
77
+ logo: "/logo.svg"
78
+ }
79
+ }
80
+ ```
81
+
82
+ ### 2. Page Configuration
83
+
84
+ Create page-specific configs in `src/vueform/config/{endpoint}.ts`:
85
+
86
+ ```typescript
87
+ export default {
88
+ endpoint: "/users",
89
+ title: "User Management",
90
+ columns: [
91
+ { key: "name", header: "Name", visible: true },
92
+ { key: "email", header: "Email", visible: true }
93
+ ]
94
+ }
95
+ ```
96
+
97
+ ### 3. Form Schema
98
+
99
+ Define your form schemas in `src/vueform/schemas/{pageCode}/{schema}.ts`:
100
+
101
+ ```typescript
102
+ export default {
103
+ schema: {
104
+ name: {
105
+ type: "text",
106
+ label: "Full Name",
107
+ rules: ["required"],
108
+ showInTable: true
109
+ },
110
+ organizationId: {
111
+ type: "selector",
112
+ endpoint: "/organizations",
113
+ label: "Organization",
114
+ showAvatar: true,
115
+ condition: { levels: "admin" },
116
+ showInTable: true
117
+ },
118
+ birthDate: {
119
+ type: "date_selector",
120
+ label: "Birth Date",
121
+ pickerType: "date",
122
+ showInTable: true
123
+ }
124
+ }
125
+ }
126
+ ```
127
+
128
+ ## šŸŽÆ Unified Components
129
+
130
+ ### BaseSelector
131
+
132
+ A unified selector component that handles all selection needs:
133
+
134
+ ```typescript
135
+ // Single selection
136
+ {
137
+ type: "selector",
138
+ endpoint: "/users",
139
+ showAvatar: true,
140
+ nameField: "name"
141
+ }
142
+
143
+ // Multiple selection
144
+ {
145
+ type: "selector",
146
+ endpoint: "/users",
147
+ multiple: true,
148
+ showAvatar: true,
149
+ returnObject: true
150
+ }
151
+
152
+ // With conditions and sorting
153
+ {
154
+ type: "selector",
155
+ endpoint: "/organizations",
156
+ condition: { levels: "admin" },
157
+ orderBy: "name",
158
+ sort: "asc"
159
+ }
160
+ ```
161
+
162
+ ### DateSelectorElement
163
+
164
+ A unified date picker supporting all date types:
165
+
166
+ ```typescript
167
+ // Single date
168
+ {
169
+ type: "date_selector",
170
+ pickerType: "date",
171
+ label: "Select Date"
172
+ }
173
+
174
+ // Date range
175
+ {
176
+ type: "date_selector",
177
+ pickerType: "date",
178
+ range: true,
179
+ label: "Select Date Range"
180
+ }
181
+
182
+ // DateTime with time picker
183
+ {
184
+ type: "date_selector",
185
+ pickerType: "datetime",
186
+ enableTimePicker: true,
187
+ label: "Select Date & Time"
188
+ }
189
+
190
+ // Month picker
191
+ {
192
+ type: "date_selector",
193
+ pickerType: "month",
194
+ label: "Select Month"
195
+ }
196
+
197
+ // Year picker
198
+ {
199
+ type: "date_selector",
200
+ pickerType: "year",
201
+ yearRange: [2020, 2030],
202
+ label: "Select Year"
203
+ }
204
+ ```
205
+
206
+ ## šŸ“Š Table System
207
+
208
+ ### Automatic Column Generation
209
+
210
+ The framework automatically generates table columns from your form schema:
211
+
212
+ ```typescript
213
+ // Schema definition
214
+ {
215
+ name: {
216
+ type: "text",
217
+ label: "Name",
218
+ showInTable: true,
219
+ textAlign: "left"
220
+ },
221
+ organizationId: {
222
+ type: "selector",
223
+ endpoint: "/organizations",
224
+ showAvatar: true,
225
+ showInTable: true
226
+ }
227
+ }
228
+
229
+ // Automatically becomes table columns
230
+ // - Name (text column)
231
+ // - Organization (selector with avatar)
232
+ ```
233
+
234
+ ### Cell Types
235
+
236
+ The `DataTableCell.vue` component automatically handles different cell types:
237
+
238
+ - **`text`** - Plain text display
239
+ - **`selector`** - Selector with avatar support
240
+ - **`date_selector`** - Date picker with all variants
241
+ - **`toggle`** - Boolean toggle display
242
+ - **`checkboxgroup`** - Checkbox group display
243
+ - **`radiogroup`** - Radio group display
244
+ - **`select`** - Select dropdown display
245
+
246
+ ## šŸ”§ Development Workflow
247
+
248
+ ### 1. Create New Page
249
+
250
+ 1. **Add Route**: Define route in `src/router/index.ts`
251
+ 2. **Create Schema**: Add schema in `src/vueform/schemas/{pageCode}/`
252
+ 3. **Create Config**: Add page config in `src/vueform/config/`
253
+ 4. **Test**: The page will automatically work with the framework
254
+
255
+ ### 2. Add New Field
256
+
257
+ 1. **Define in Schema**: Add field to your form schema
258
+ 2. **Set Properties**: Configure `showInTable`, `cellType`, etc.
259
+ 3. **Test**: Field automatically appears in both form and table
260
+
261
+ ### 3. Custom Cell Rendering
262
+
263
+ ```typescript
264
+ // Custom cell renderer
265
+ {
266
+ name: {
267
+ type: "text",
268
+ cellRender: (i: number, row: any) => {
269
+ return `<strong>${row.name}</strong>`;
270
+ }
271
+ }
272
+ }
273
+ ```
274
+
275
+ ## šŸŽØ Styling & Theming
276
+
277
+ ### Tailwind CSS
278
+
279
+ The framework uses Tailwind CSS with custom configuration:
280
+
281
+ - **Dark Mode**: Automatic dark mode support
282
+ - **Custom Colors**: Brand-specific color schemes
283
+ - **Responsive**: Mobile-first responsive design
284
+
285
+ ### Component Styling
286
+
287
+ Components are styled with Tailwind classes and support:
288
+
289
+ - **Hover States**: Interactive hover effects
290
+ - **Focus States**: Keyboard navigation support
291
+ - **Disabled States**: Proper disabled styling
292
+ - **Loading States**: Loading indicators
293
+
294
+ ## šŸ“š Key Libraries
295
+
296
+ - **Vue 3** - Main framework with Composition API
297
+ - **TypeScript** - Type safety and better DX
298
+ - **Tailwind CSS** - Utility-first CSS framework
299
+ - **Shadcn-vue** - Component library
300
+ - **Lucide Vue** - Icon library
301
+ - **Vueform** - Form handling
302
+ - **Pinia** - State management
303
+ - **Vue Router** - Client-side routing
304
+ - **Axios** - HTTP client
305
+ - **Moment.js** - Date manipulation
306
+
307
+ ## šŸ¤ Contribution
308
+
309
+ 1. **Clone** the repository
310
+ 2. **Create** a new branch for your feature: `git checkout -b feature-name`
311
+ 3. **Develop** your feature following the framework patterns
312
+ 4. **Test** your changes thoroughly
313
+ 5. **Create** a pull request to the `dev` branch
314
+
315
+ ### Branch Naming
316
+
317
+ Use descriptive branch names:
318
+ - `feature/user-management`
319
+ - `fix/date-picker-bug`
320
+ - `enhancement/table-performance`
321
+
322
+ ## šŸ“– Documentation
323
+
324
+ - **Framework Guide**: See `FRAMEWORK_GUIDE.md` for detailed documentation
325
+ - **Quick Start**: See `QUICK_START.md` for getting started
326
+ - **API Reference**: Check component documentation in code
327
+
328
+ ## šŸ”§ Customization
329
+
330
+ ### Environment Variables
331
+
332
+ Create `.env.local`:
333
+
334
+ ```env
335
+ VITE_API_URL=http://localhost:3000/api
336
+ VITE_APP_NAME=My Application
337
+ VITE_COMPANY_NAME=My Company
338
+ ```
339
+
340
+ ### Vite Configuration
341
+
342
+ See [Vite Configuration Reference](https://vitejs.dev/config/) for advanced configuration options.
343
+
344
+ ---
345
+
346
+ **Built with ā¤ļø using Vue 3, TypeScript, and modern web technologies.**
@@ -0,0 +1,184 @@
1
+ const { program } = require('commander');
2
+ const inquirer = require('inquirer');
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const chalk = require('chalk');
6
+ const ora = require('ora');
7
+
8
+ const { execSync } = require('child_process');
9
+ program
10
+ .name('dasi-ui')
11
+ .description('DASI UI - Create admin dashboard projects')
12
+ .version('1.0.0')
13
+
14
+ program
15
+ .command('create <project-name>')
16
+ .description('Create a new DASI UI project')
17
+ .option('-t --template <template>', 'Template to use', 'default')
18
+ .option('-p, --package-manager <pm>', 'Package manager to use', 'npm')
19
+ .option('--no-git', 'Skip git initialization')
20
+ .option('--no-install', 'Skip package installation')
21
+ .action(async (projectName, options) => {
22
+ console.log(chalk.blue.bold('šŸš€ Creating DASI UI project...'));
23
+
24
+ const questions = [
25
+ {
26
+ type: 'input',
27
+ name: 'title',
28
+ message: 'Enter project title:',
29
+ default: projectName
30
+ },
31
+ {
32
+ type: 'input',
33
+ name: 'description',
34
+ message: 'Enter project description:',
35
+ default: 'Admin dashboard built with DASI UI'
36
+ },
37
+ {
38
+ type: 'input',
39
+ name: 'author',
40
+ message: 'Author name:',
41
+ default: 'DASI Developer'
42
+ },
43
+ {
44
+ type: 'input',
45
+ name: 'email',
46
+ message: 'Author email:',
47
+ default: 'hello@dasi.co.id'
48
+ },
49
+ {
50
+ type: 'list',
51
+ name: 'packageManager',
52
+ message: 'Choose package manager:',
53
+ choices: ['npm', 'yarn', 'pnpm'],
54
+ default: options.packageManager
55
+ },
56
+ {
57
+ type: 'list',
58
+ name: 'template',
59
+ message: 'Choose template:',
60
+ choices: [
61
+ { name: 'Default - Complete admin dashboard', value: 'default' },
62
+ { name: 'Minimal - Basic admin setup', value: 'minimal' },
63
+ { name: 'Full - All features included', value: 'full' }
64
+ ],
65
+ default: options.template
66
+ },
67
+ {
68
+ type: 'confirm',
69
+ name: 'includeAuth',
70
+ message: 'Include authentication module?',
71
+ default: true
72
+ },
73
+ {
74
+ type: 'confirm',
75
+ name: 'includeCharts',
76
+ message: 'Include chart components?',
77
+ default: true
78
+ },
79
+ {
80
+ type: 'confirm',
81
+ name: 'includeMaps',
82
+ message: 'Include map components?',
83
+ default: false
84
+ },
85
+ {
86
+ type: 'confirm',
87
+ name: 'includeForms',
88
+ message: 'Include advanced form components?',
89
+ default: true
90
+ },
91
+ {
92
+ type: 'list',
93
+ name: 'typescript',
94
+ message: 'Use TypeScript?',
95
+ choices: [
96
+ { name: 'Yes - Recommended', value: true },
97
+ { name: 'No', value: false }
98
+ ],
99
+ default: true
100
+ },
101
+ {
102
+ type: 'input',
103
+ name: 'apiUrl',
104
+ message: 'API base URL:',
105
+ default: 'http://localhost:8080/api'
106
+ },
107
+ {
108
+ type: 'confirm',
109
+ name: 'darkMode',
110
+ message: 'Enable dark mode?',
111
+ default: true
112
+ }
113
+ ];
114
+
115
+ const answers = await inquirer.prompt(questions);
116
+ const spinner = ora('Creating project...').start();
117
+
118
+ try {
119
+ const projectPath = path.join(process.cwd(), projectName);
120
+
121
+ if (fs.existsSync(projectPath)) {
122
+ spinner.fail(`Directory ${projectName} already exists!`);
123
+ process.exit(1);
124
+ }
125
+
126
+ fs.mkdirSync(projectPath, { recursive: true });
127
+
128
+ const templatePath = path.join(__dirname, '../templates', answers.template);
129
+ await fs.copy(templatePath, projectPath);
130
+
131
+ const packagejsonPath = path.join(projectPath, 'package.json');
132
+ const packagejson = await fs.readJson(packagejsonPath);
133
+
134
+ packagejson.name = projectName;
135
+ packagejson.description = answers.description;
136
+ packagejson.author = answers.author;
137
+ packagejson.email = answers.email;
138
+ packagejson.version = '0.1.0';
139
+
140
+ await fs.writeJson(packagejsonPath, packagejson, { spaces: 2 });
141
+
142
+ const envExamplePath = path.join(projectPath, '.env.example');
143
+ let envContent = await fs.readFile(envExamplePath, 'utf-8');
144
+
145
+ envContent = envContent.replace(/VITE_APP_TITLE=.*/, `VITE_APP_TITLE=${answers.title}`);
146
+ envContent = envContent.replace(/VITE_APP_DESCRIPTION=.*/, `VITE_APP_DESCRIPTION=${answers.description}`);
147
+ envContent = envContent.replace(/VITE_APP_AUTHOR=.*/, `VITE_APP_AUTHOR=${answers.author}`);
148
+ envContent = envContent.replace(/VITE_APP_EMAIL=.*/, `VITE_APP_EMAIL=${answers.email}`);
149
+ envContent = envContent.replace(/VITE_API_URL=.*/, `VITE_API_URL=${answers.apiUrl}`);
150
+ envContent = envContent.replace(/VITE_API_KEY=.*/, `VITE_API_KEY=${answers.apiKey}`);
151
+ envContent = envContent.replace(/VITE_DARK_MODE=.*/, `VITE_DARK_MODE=${answers.darkMode}`);
152
+
153
+ await fs.writeFile(envPath, envContent);
154
+ await fs.copyFile(envExamplePath, path.join(projectPath, '.env'));
155
+
156
+ if (options.git) {
157
+ execSync('git init', { cwd: projectPath, stdio: 'ignore' });
158
+ execSync('git add .', { cwd: projectPath, stdio: 'ignore' });
159
+ execSync('git commit -m "Initial commit"', { cwd: projectPath, stdio: 'ignore' });
160
+ }
161
+
162
+ if (options.install) {
163
+ spinner.text = 'Installing dependencies...';
164
+ execSync(`${answers.packageManager} install`, { cwd: projectPath, stdio: 'ignore' });
165
+ }
166
+
167
+ spinner.succeed(`Project ${projectName} created successfully!`);
168
+
169
+ console.log(chalk.green('\nāœ… Next steps:'));
170
+ console.log(chalk.green(` cd ${projectName}`));
171
+
172
+ if (!options.install) {
173
+ console.log(chalk.green(` ${answers.packageManager} install`));
174
+ }
175
+
176
+ console.log(chalk.green(` ${answers.packageManager} run dev`));
177
+ console.log(chalk.green('\nHappy coding! šŸš€ Your admin dashboard is ready!'));
178
+ } catch (error) {
179
+ spinner.fail('Failed to create project!');
180
+ console.error('Error:', error);
181
+ process.exit(1);
182
+ }
183
+
184
+ })
@@ -0,0 +1,91 @@
1
+ const e = {
2
+ schema: {
3
+ // Test 1: Basic date picker
4
+ testDate: {
5
+ type: "DateSelectorElement",
6
+ label: "Test Date",
7
+ placeholder: "Select a date",
8
+ pickerType: "date",
9
+ rules: ["required"]
10
+ },
11
+ // Test 2: Date range
12
+ testDateRange: {
13
+ type: "DateSelectorElement",
14
+ label: "Test Date Range",
15
+ placeholder: "Select date range",
16
+ pickerType: "date",
17
+ range: !0
18
+ },
19
+ // Test 3: DateTime picker
20
+ testDateTime: {
21
+ type: "DateSelectorElement",
22
+ label: "Test DateTime",
23
+ placeholder: "Select date and time",
24
+ pickerType: "datetime",
25
+ timePickerInline: !0
26
+ },
27
+ // Test 4: DateTime range
28
+ testDateTimeRange: {
29
+ type: "DateSelectorElement",
30
+ label: "Test DateTime Range",
31
+ placeholder: "Select date time range",
32
+ pickerType: "datetime",
33
+ range: !0,
34
+ timePickerInline: !0
35
+ },
36
+ // Test 5: Month picker
37
+ testMonth: {
38
+ type: "DateSelectorElement",
39
+ label: "Test Month",
40
+ placeholder: "Select month",
41
+ pickerType: "month",
42
+ locale: "id"
43
+ },
44
+ // Test 6: Month range
45
+ testMonthRange: {
46
+ type: "DateSelectorElement",
47
+ label: "Test Month Range",
48
+ placeholder: "Select month range",
49
+ pickerType: "month",
50
+ range: !0,
51
+ locale: "id"
52
+ },
53
+ // Test 7: Year picker (using date picker with year navigation)
54
+ testYear: {
55
+ type: "DateSelectorElement",
56
+ label: "Test Year",
57
+ placeholder: "Select year",
58
+ pickerType: "year",
59
+ yearRange: [2020, 2030]
60
+ },
61
+ // Test 8: Year range (using date range picker with year navigation)
62
+ testYearRange: {
63
+ type: "DateSelectorElement",
64
+ label: "Test Year Range",
65
+ placeholder: "Select year range",
66
+ pickerType: "year",
67
+ range: !0,
68
+ yearRange: [2020, 2030]
69
+ },
70
+ // Test 9: Custom format
71
+ testCustomFormat: {
72
+ type: "DateSelectorElement",
73
+ label: "Test Custom Format",
74
+ placeholder: "Select date",
75
+ pickerType: "date",
76
+ displayFormat: "DD-MM-YYYY"
77
+ },
78
+ // Test 10: Disabled
79
+ testDisabled: {
80
+ type: "DateSelectorElement",
81
+ label: "Test Disabled",
82
+ placeholder: "This is disabled",
83
+ pickerType: "date",
84
+ disabled: !0,
85
+ default: "2024-01-01"
86
+ }
87
+ }
88
+ };
89
+ export {
90
+ e as dateSelectorTestSchema
91
+ };
Binary file