@skyworx/dynamic-ui 1.0.19 → 1.0.20
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.
- package/dist/index.d.ts +214 -0
- package/dist/types/components/base/DCodeAlertModal.vue.d.ts +2 -0
- package/dist/types/components/base/DCodeAuthOverlay.vue.d.ts +2 -0
- package/dist/types/components/base/DCodeAutoComplete.vue.d.ts +89 -0
- package/dist/types/components/base/DCodeBadge.vue.d.ts +33 -0
- package/dist/types/components/base/DCodeBarCustom.vue.d.ts +28 -0
- package/dist/types/components/base/DCodeBeforeAfter.vue.d.ts +21 -0
- package/dist/types/components/base/DCodeButton.vue.d.ts +45 -0
- package/dist/types/components/base/DCodeButtonGroup.vue.d.ts +79 -0
- package/dist/types/components/base/DCodeCard.vue.d.ts +30 -0
- package/dist/types/components/base/DCodeCardCheckboxList.vue.d.ts +64 -0
- package/dist/types/components/base/DCodeCardList.vue.d.ts +147 -0
- package/dist/types/components/base/DCodeCardSelect.vue.d.ts +39 -0
- package/dist/types/components/base/DCodeChart.vue.d.ts +46 -0
- package/dist/types/components/base/DCodeCheckbox.vue.d.ts +27 -0
- package/dist/types/components/base/DCodeClearButton.vue.d.ts +15 -0
- package/dist/types/components/base/DCodeColorPicker.vue.d.ts +50 -0
- package/dist/types/components/base/DCodeCurrencyField.vue.d.ts +34 -0
- package/dist/types/components/base/DCodeDatePicker.backup.vue.d.ts +55 -0
- package/dist/types/components/base/DCodeDatePicker.vue.d.ts +59 -0
- package/dist/types/components/base/DCodeDateTimePicker.backup.vue.d.ts +52 -0
- package/dist/types/components/base/DCodeDateTimePicker.vue.d.ts +60 -0
- package/dist/types/components/base/DCodeDialog.vue.d.ts +45 -0
- package/dist/types/components/base/DCodeDialogCloseBtn.vue.d.ts +9 -0
- package/dist/types/components/base/DCodeDrawer.vue.d.ts +31 -0
- package/dist/types/components/base/DCodeDropzone.vue.d.ts +35 -0
- package/dist/types/components/base/DCodeDynamicCollapse.vue.d.ts +190 -0
- package/dist/types/components/base/DCodeDynamicUploadList.vue.d.ts +155 -0
- package/dist/types/components/base/DCodeFieldDiff.vue.d.ts +7 -0
- package/dist/types/components/base/DCodeFileField.vue.d.ts +48 -0
- package/dist/types/components/base/DCodeFileResult.vue.d.ts +38 -0
- package/dist/types/components/base/DCodeIconDropdown.vue.d.ts +32 -0
- package/dist/types/components/base/DCodeImageCropperDialog.vue.d.ts +33 -0
- package/dist/types/components/base/DCodeImageField.vue.d.ts +71 -0
- package/dist/types/components/base/DCodeImageResult.vue.d.ts +32 -0
- package/dist/types/components/base/DCodeInfiniteAutoComplete.vue.d.ts +100 -0
- package/dist/types/components/base/DCodeLabel.vue.d.ts +11 -0
- package/dist/types/components/base/DCodeListLabels.vue.d.ts +6 -0
- package/dist/types/components/base/DCodeMapField.vue.d.ts +50 -0
- package/dist/types/components/base/DCodeMonthPicker.vue.d.ts +49 -0
- package/dist/types/components/base/DCodeMultiSelect.vue.d.ts +71 -0
- package/dist/types/components/base/DCodeOtpInput.vue.d.ts +43 -0
- package/dist/types/components/base/DCodePagination.vue.d.ts +24 -0
- package/dist/types/components/base/DCodePdfViewer.vue.d.ts +19 -0
- package/dist/types/components/base/DCodePercentField.vue.d.ts +39 -0
- package/dist/types/components/base/DCodePercentage.vue.d.ts +27 -0
- package/dist/types/components/base/DCodePermissionMenu.vue.d.ts +83 -0
- package/dist/types/components/base/DCodeProgress.vue.d.ts +33 -0
- package/dist/types/components/base/DCodeProgressBar.vue.d.ts +9 -0
- package/dist/types/components/base/DCodeRadio.vue.d.ts +47 -0
- package/dist/types/components/base/DCodeRadioCustom.vue.d.ts +56 -0
- package/dist/types/components/base/DCodeRangeField.vue.d.ts +43 -0
- package/dist/types/components/base/DCodeRiskEvaluation.vue.d.ts +12 -0
- package/dist/types/components/base/DCodeRobotList.vue.d.ts +68 -0
- package/dist/types/components/base/DCodeSearchDialog.vue.d.ts +94 -0
- package/dist/types/components/base/DCodeSegment.vue.d.ts +42 -0
- package/dist/types/components/base/DCodeSegmentGroup.vue.d.ts +36 -0
- package/dist/types/components/base/DCodeSelect.vue.d.ts +54 -0
- package/dist/types/components/base/DCodeSlider.vue.d.ts +58 -0
- package/dist/types/components/base/DCodeStaticImage.vue.d.ts +75 -0
- package/dist/types/components/base/DCodeStaticLabel.vue.d.ts +43 -0
- package/dist/types/components/base/DCodeSwitch.vue.d.ts +38 -0
- package/dist/types/components/base/DCodeTextEditor.vue.d.ts +29 -0
- package/dist/types/components/base/DCodeTextField.vue.d.ts +76 -0
- package/dist/types/components/base/DCodeTextarea.vue.d.ts +42 -0
- package/dist/types/components/base/DCodeTimePicker.vue.d.ts +51 -0
- package/dist/types/components/base/DCodeTimelineWithIcons.vue.d.ts +55 -0
- package/dist/types/components/base/DCodeTreePermissions.vue.d.ts +18 -0
- package/dist/types/components/base/DCodeUploadFile.vue.d.ts +12 -0
- package/dist/types/components/base/DCodeWizard.vue.d.ts +109 -0
- package/dist/types/components/base/DCodeWorkflowBpmn.vue.d.ts +79 -0
- package/dist/types/components/base/DCodeWorkflowDiagram.vue.d.ts +30 -0
- package/dist/types/components/base/datatable/DataTable.vue.d.ts +177 -0
- package/dist/types/components/base/datatable/DynamicFilterField.vue.d.ts +52 -0
- package/dist/types/components/dynamic/DynamicForm.vue.d.ts +41 -0
- package/dist/types/components/dynamic/DynamicFormField.vue.d.ts +37 -0
- package/dist/types/components/dynamic/DynamicWizard.vue.d.ts +42 -0
- package/dist/types/components/dynamic/NavigationBackButton.vue.d.ts +21 -0
- package/dist/types/components/dynamic/dialogs/DynamicFormDialogs.vue.d.ts +2 -0
- package/dist/types/components/dynamic/loading-screen/LayoutResolving.vue.d.ts +7 -0
- package/dist/types/components/dynamic/loading-screen/LoadingStatus.vue.d.ts +19 -0
- package/dist/types/components/dynamic/loading-screen/Skeleton.vue.d.ts +2 -0
- package/dist/types/components/dynamic/loading-screen/SkeletonTable.vue.d.ts +9 -0
- package/dist/types/components/dynamic/sections/DynamicFormSection.vue.d.ts +10 -0
- package/dist/types/components/dynamic/sections/DynamicTableSection.vue.d.ts +10 -0
- package/dist/types/components/dynamic/sections/DynamicWizardSection.vue.d.ts +6 -0
- package/dist/types/components/dynamic/sections/SectionSkeleton.vue.d.ts +9 -0
- package/dist/types/components/features/AutoLayoutSkeleton.vue.d.ts +2 -0
- package/dist/types/components/features/Breadcrumb.vue.d.ts +23 -0
- package/dist/types/components/features/CardSummary.vue.d.ts +15 -0
- package/dist/types/components/features/DashboardActivityCard.vue.d.ts +20 -0
- package/dist/types/components/features/DashboardFeaturesCard.vue.d.ts +19 -0
- package/dist/types/components/features/DashboardInsightsCard.vue.d.ts +21 -0
- package/dist/types/components/features/DataFilterSheet.vue.d.ts +24 -0
- package/dist/types/components/features/LanguageSwitcher.vue.d.ts +2 -0
- package/dist/types/components/features/Modal.vue.d.ts +29 -0
- package/dist/types/components/features/Pagination.vue.d.ts +12 -0
- package/dist/types/components/features/ScrollToTop.vue.d.ts +2 -0
- package/dist/types/components/features/SessionTimeoutModal.vue.d.ts +12 -0
- package/dist/types/components/features/ThemeSwitcher.vue.d.ts +2 -0
- package/dist/types/components/ui/alert/Alert.vue.d.ts +18 -0
- package/dist/types/components/ui/alert/AlertDescription.vue.d.ts +16 -0
- package/dist/types/components/ui/alert/AlertTitle.vue.d.ts +16 -0
- package/dist/types/components/ui/alert/index.d.ts +8 -0
- package/dist/types/components/ui/avatar/Avatar.vue.d.ts +22 -0
- package/dist/types/components/ui/avatar/AvatarFallback.vue.d.ts +13 -0
- package/dist/types/components/ui/avatar/AvatarImage.vue.d.ts +13 -0
- package/dist/types/components/ui/avatar/index.d.ts +9 -0
- package/dist/types/components/ui/badge/Badge.vue.d.ts +18 -0
- package/dist/types/components/ui/badge/index.d.ts +6 -0
- package/dist/types/components/ui/button/Button.vue.d.ts +22 -0
- package/dist/types/components/ui/button/index.d.ts +7 -0
- package/dist/types/components/ui/button-group/ButtonGroup.vue.d.ts +18 -0
- package/dist/types/components/ui/button-group/ButtonGroupSeparator.vue.d.ts +9 -0
- package/dist/types/components/ui/button-group/ButtonGroupText.vue.d.ts +21 -0
- package/dist/types/components/ui/button-group/index.d.ts +8 -0
- package/dist/types/components/ui/calendar/Calendar.vue.d.ts +13 -0
- package/dist/types/components/ui/calendar/CalendarCell.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarCellTrigger.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarGrid.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarGridBody.vue.d.ts +13 -0
- package/dist/types/components/ui/calendar/CalendarGridHead.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarGridRow.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarHeadCell.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarHeader.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarHeading.vue.d.ts +18 -0
- package/dist/types/components/ui/calendar/CalendarNextButton.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/CalendarPrevButton.vue.d.ts +17 -0
- package/dist/types/components/ui/calendar/index.d.ts +12 -0
- package/dist/types/components/ui/card/Card.vue.d.ts +16 -0
- package/dist/types/components/ui/card/CardContent.vue.d.ts +16 -0
- package/dist/types/components/ui/card/CardDescription.vue.d.ts +16 -0
- package/dist/types/components/ui/card/CardFooter.vue.d.ts +16 -0
- package/dist/types/components/ui/card/CardHeader.vue.d.ts +16 -0
- package/dist/types/components/ui/card/CardTitle.vue.d.ts +16 -0
- package/dist/types/components/ui/card/index.d.ts +6 -0
- package/dist/types/components/ui/checkbox/Checkbox.vue.d.ts +21 -0
- package/dist/types/components/ui/checkbox/index.d.ts +1 -0
- package/dist/types/components/ui/dialog/Dialog.vue.d.ts +17 -0
- package/dist/types/components/ui/dialog/DialogClose.vue.d.ts +13 -0
- package/dist/types/components/ui/dialog/DialogContent.vue.d.ts +34 -0
- package/dist/types/components/ui/dialog/DialogDescription.vue.d.ts +17 -0
- package/dist/types/components/ui/dialog/DialogFooter.vue.d.ts +16 -0
- package/dist/types/components/ui/dialog/DialogHeader.vue.d.ts +16 -0
- package/dist/types/components/ui/dialog/DialogScrollContent.vue.d.ts +31 -0
- package/dist/types/components/ui/dialog/DialogTitle.vue.d.ts +17 -0
- package/dist/types/components/ui/dialog/DialogTrigger.vue.d.ts +13 -0
- package/dist/types/components/ui/dialog/index.d.ts +9 -0
- package/dist/types/components/ui/input/Input.vue.d.ts +12 -0
- package/dist/types/components/ui/input/index.d.ts +1 -0
- package/dist/types/components/ui/label/Label.vue.d.ts +17 -0
- package/dist/types/components/ui/label/index.d.ts +1 -0
- package/dist/types/components/ui/pagination/Pagination.vue.d.ts +24 -0
- package/dist/types/components/ui/pagination/PaginationContent.vue.d.ts +24 -0
- package/dist/types/components/ui/pagination/PaginationEllipsis.vue.d.ts +17 -0
- package/dist/types/components/ui/pagination/PaginationFirst.vue.d.ts +21 -0
- package/dist/types/components/ui/pagination/PaginationItem.vue.d.ts +22 -0
- package/dist/types/components/ui/pagination/PaginationLast.vue.d.ts +21 -0
- package/dist/types/components/ui/pagination/PaginationNext.vue.d.ts +21 -0
- package/dist/types/components/ui/pagination/PaginationPrevious.vue.d.ts +21 -0
- package/dist/types/components/ui/pagination/index.d.ts +8 -0
- package/dist/types/components/ui/popover/Popover.vue.d.ts +17 -0
- package/dist/types/components/ui/popover/PopoverContent.vue.d.ts +34 -0
- package/dist/types/components/ui/popover/PopoverTrigger.vue.d.ts +13 -0
- package/dist/types/components/ui/popover/index.d.ts +4 -0
- package/dist/types/components/ui/range-calendar/RangeCalendar.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarCell.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarCellTrigger.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarGrid.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarGridBody.vue.d.ts +13 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarGridHead.vue.d.ts +13 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarGridRow.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarHeadCell.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarHeader.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarHeading.vue.d.ts +18 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarNextButton.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/RangeCalendarPrevButton.vue.d.ts +17 -0
- package/dist/types/components/ui/range-calendar/index.d.ts +12 -0
- package/dist/types/components/ui/select/Select.vue.d.ts +20 -0
- package/dist/types/components/ui/select/SelectContent.vue.d.ts +27 -0
- package/dist/types/components/ui/select/SelectGroup.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectItem.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectItemText.vue.d.ts +13 -0
- package/dist/types/components/ui/select/SelectLabel.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectScrollDownButton.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectScrollUpButton.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectSeparator.vue.d.ts +7 -0
- package/dist/types/components/ui/select/SelectTrigger.vue.d.ts +17 -0
- package/dist/types/components/ui/select/SelectValue.vue.d.ts +13 -0
- package/dist/types/components/ui/select/index.d.ts +11 -0
- package/dist/types/components/ui/separator/Separator.vue.d.ts +10 -0
- package/dist/types/components/ui/separator/index.d.ts +1 -0
- package/dist/types/components/ui/sheet/Sheet.vue.d.ts +17 -0
- package/dist/types/components/ui/sheet/SheetClose.vue.d.ts +13 -0
- package/dist/types/components/ui/sheet/SheetContent.vue.d.ts +33 -0
- package/dist/types/components/ui/sheet/SheetDescription.vue.d.ts +17 -0
- package/dist/types/components/ui/sheet/SheetFooter.vue.d.ts +16 -0
- package/dist/types/components/ui/sheet/SheetHeader.vue.d.ts +16 -0
- package/dist/types/components/ui/sheet/SheetTitle.vue.d.ts +17 -0
- package/dist/types/components/ui/sheet/SheetTrigger.vue.d.ts +13 -0
- package/dist/types/components/ui/sheet/index.d.ts +13 -0
- package/dist/types/components/ui/stepper/Stepper.vue.d.ts +33 -0
- package/dist/types/components/ui/stepper/StepperDescription.vue.d.ts +17 -0
- package/dist/types/components/ui/stepper/StepperIndicator.vue.d.ts +19 -0
- package/dist/types/components/ui/stepper/StepperItem.vue.d.ts +19 -0
- package/dist/types/components/ui/stepper/StepperSeparator.vue.d.ts +7 -0
- package/dist/types/components/ui/stepper/StepperTitle.vue.d.ts +17 -0
- package/dist/types/components/ui/stepper/StepperTrigger.vue.d.ts +17 -0
- package/dist/types/components/ui/stepper/index.d.ts +7 -0
- package/dist/types/components/ui/switch/Switch.vue.d.ts +21 -0
- package/dist/types/components/ui/switch/index.d.ts +1 -0
- package/dist/types/components/ui/tab-wizard/TabWizard.vue.d.ts +82 -0
- package/dist/types/components/ui/tab-wizard/TabWizardContent.vue.d.ts +22 -0
- package/dist/types/components/ui/tab-wizard/TabWizardForm.vue.d.ts +16 -0
- package/dist/types/components/ui/tab-wizard/index.d.ts +4 -0
- package/dist/types/components/ui/textarea/Textarea.vue.d.ts +12 -0
- package/dist/types/components/ui/textarea/index.d.ts +1 -0
- package/dist/types/components/ui/tooltip/Tooltip.vue.d.ts +17 -0
- package/dist/types/components/ui/tooltip/TooltipContent.vue.d.ts +25 -0
- package/dist/types/components/ui/tooltip/TooltipProvider.vue.d.ts +13 -0
- package/dist/types/components/ui/tooltip/TooltipTrigger.vue.d.ts +13 -0
- package/dist/types/components/ui/tooltip/index.d.ts +4 -0
- package/dist/types/composables/dynamic-form/actions/useFormActions.d.ts +10 -0
- package/dist/types/composables/dynamic-form/logic/operators.d.ts +1 -0
- package/dist/types/composables/dynamic-form/logic/useFormLogic.d.ts +29 -0
- package/dist/types/composables/dynamic-form/mapping/useFormMapping.d.ts +3 -0
- package/dist/types/composables/dynamic-form/navigation/navigation.types.d.ts +80 -0
- package/dist/types/composables/dynamic-form/navigation/useFormNavigation.d.ts +93 -0
- package/dist/types/composables/dynamic-form/state/useFormState.d.ts +2 -0
- package/dist/types/composables/dynamic-form/table/useFormTable.d.ts +43 -0
- package/dist/types/composables/dynamic-form/types/form.types.d.ts +203 -0
- package/dist/types/composables/dynamic-form/useDynamicForm.d.ts +228 -0
- package/dist/types/composables/dynamic-form/utils/form.utils.d.ts +21 -0
- package/dist/types/composables/dynamic-form/validation/useFormValidation.d.ts +3 -0
- package/dist/types/composables/dynamic-form/watcher/useFormWatcher.d.ts +4 -0
- package/dist/types/composables/useAlertTheme.d.ts +15 -0
- package/dist/types/composables/useAuthOverlay.d.ts +91 -0
- package/dist/types/composables/useMenuMetadata.d.ts +7 -0
- package/dist/types/composables/useSmoothCaret.d.ts +21 -0
- package/dist/types/composables/useTemplateDownload.d.ts +40 -0
- package/dist/types/composables/useToast.d.ts +93 -0
- package/dist/types/composables/vue3-toastify-shim.d.ts +13 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/locales/en.d.ts +609 -0
- package/dist/types/locales/id.d.ts +894 -0
- package/dist/types/locales/kr.d.ts +611 -0
- package/dist/types/pages/AutoLayoutDatatable.vue.d.ts +34 -0
- package/dist/types/pages/AutoLayoutForm.vue.d.ts +31 -0
- package/dist/types/stores/ui.d.ts +26 -0
- package/dist/types/types/api-request.d.ts +5 -0
- package/dist/types/types/base-props.d.ts +12 -0
- package/dist/types/types/dynamic.types.d.ts +44 -0
- package/dist/types/types/form.d.ts +797 -0
- package/dist/types/types/index.d.ts +149 -0
- package/dist/types/utils/action.utils.d.ts +2 -0
- package/dist/types/utils/action.utils.test.d.ts +1 -0
- package/dist/types/utils/datePIckerColor.d.ts +8 -0
- package/dist/types/utils/download.utils.d.ts +30 -0
- package/dist/types/utils/download.utils.test.d.ts +1 -0
- package/dist/types/utils/formdata.utils.d.ts +32 -0
- package/dist/types/utils/formdata.utils.test.d.ts +1 -0
- package/dist/types/utils/helpers.d.ts +38 -0
- package/dist/types/utils/inFlightFetch.d.ts +1 -0
- package/dist/types/utils/inFlightFetch.test.d.ts +1 -0
- package/dist/types/utils/permission.d.ts +17 -0
- package/dist/types/utils/range.utils.d.ts +22 -0
- package/dist/types/utils/range.utils.test.d.ts +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
export interface User {
|
|
2
|
+
id: number;
|
|
3
|
+
email: string;
|
|
4
|
+
name: string;
|
|
5
|
+
role: string | 'admin' | 'manager' | 'staff';
|
|
6
|
+
avatar?: string;
|
|
7
|
+
username?: string;
|
|
8
|
+
menu?: any[];
|
|
9
|
+
}
|
|
10
|
+
export interface LoginCredentials {
|
|
11
|
+
email: string;
|
|
12
|
+
password: string;
|
|
13
|
+
}
|
|
14
|
+
export interface AuthResponse {
|
|
15
|
+
token: string;
|
|
16
|
+
user: User;
|
|
17
|
+
}
|
|
18
|
+
export interface Customer {
|
|
19
|
+
id: string;
|
|
20
|
+
customerId: string;
|
|
21
|
+
name: string;
|
|
22
|
+
email: string;
|
|
23
|
+
phone: string;
|
|
24
|
+
accountNumber: string;
|
|
25
|
+
balance: number;
|
|
26
|
+
status: 'active' | 'inactive' | 'blocked';
|
|
27
|
+
createdAt: string;
|
|
28
|
+
address: string;
|
|
29
|
+
idNumber: string;
|
|
30
|
+
}
|
|
31
|
+
export interface Transaction {
|
|
32
|
+
id: string;
|
|
33
|
+
transactionId: string;
|
|
34
|
+
type: 'credit' | 'debit';
|
|
35
|
+
amount: number;
|
|
36
|
+
description: string;
|
|
37
|
+
status: 'success' | 'pending' | 'failed';
|
|
38
|
+
timestamp: string;
|
|
39
|
+
accountNumber: string;
|
|
40
|
+
customerName: string;
|
|
41
|
+
reference?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface DashboardSummary {
|
|
44
|
+
totalCustomers: number;
|
|
45
|
+
totalBalance: number;
|
|
46
|
+
todayTransactions: number;
|
|
47
|
+
failedTransactions: number;
|
|
48
|
+
customerGrowth: number;
|
|
49
|
+
balanceGrowth: number;
|
|
50
|
+
transactionGrowth: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ChartData {
|
|
53
|
+
labels: string[];
|
|
54
|
+
datasets: {
|
|
55
|
+
label: string;
|
|
56
|
+
data: number[];
|
|
57
|
+
backgroundColor?: string | string[];
|
|
58
|
+
borderColor?: string | string[];
|
|
59
|
+
borderWidth?: number;
|
|
60
|
+
tension?: number;
|
|
61
|
+
fill?: boolean;
|
|
62
|
+
}[];
|
|
63
|
+
}
|
|
64
|
+
export interface TableColumn {
|
|
65
|
+
key: string;
|
|
66
|
+
label: string;
|
|
67
|
+
align?: 'left' | 'center' | 'right';
|
|
68
|
+
width?: string;
|
|
69
|
+
format?: (value: any) => string;
|
|
70
|
+
sortable?: boolean;
|
|
71
|
+
type?: 'text' | 'badge' | any;
|
|
72
|
+
condition?: {
|
|
73
|
+
value: any;
|
|
74
|
+
color?: string;
|
|
75
|
+
variant?: string;
|
|
76
|
+
label?: string;
|
|
77
|
+
labelID?: string;
|
|
78
|
+
labelEN?: string;
|
|
79
|
+
labelKR?: string;
|
|
80
|
+
class?: string;
|
|
81
|
+
logic?: any;
|
|
82
|
+
conditionRule?: any;
|
|
83
|
+
}[];
|
|
84
|
+
keyCheckbox?: string;
|
|
85
|
+
keyPayload?: string;
|
|
86
|
+
propsCustom?: any[];
|
|
87
|
+
buttons?: any[];
|
|
88
|
+
props?: Record<string, any>;
|
|
89
|
+
isHidden?: boolean;
|
|
90
|
+
custom?: {
|
|
91
|
+
type?: string;
|
|
92
|
+
propsCustom?: any[];
|
|
93
|
+
props?: Record<string, any>;
|
|
94
|
+
buttons?: any[];
|
|
95
|
+
[key: string]: any;
|
|
96
|
+
};
|
|
97
|
+
[key: string]: any;
|
|
98
|
+
}
|
|
99
|
+
export interface SortConfig {
|
|
100
|
+
key: string;
|
|
101
|
+
direction: 'asc' | 'desc';
|
|
102
|
+
}
|
|
103
|
+
export interface PaginationConfig {
|
|
104
|
+
currentPage: number;
|
|
105
|
+
perPage: number;
|
|
106
|
+
totalItems: number;
|
|
107
|
+
totalPages: number;
|
|
108
|
+
}
|
|
109
|
+
export interface ApiResponse<T> {
|
|
110
|
+
success: boolean;
|
|
111
|
+
data: T;
|
|
112
|
+
message?: string;
|
|
113
|
+
error?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface Notification {
|
|
116
|
+
id: string;
|
|
117
|
+
type: 'info' | 'success' | 'warning' | 'error';
|
|
118
|
+
title: string;
|
|
119
|
+
message: string;
|
|
120
|
+
read: boolean;
|
|
121
|
+
timestamp: string;
|
|
122
|
+
}
|
|
123
|
+
export interface MenuItem {
|
|
124
|
+
id: string;
|
|
125
|
+
label: string;
|
|
126
|
+
icon: string;
|
|
127
|
+
route: string;
|
|
128
|
+
badge?: number;
|
|
129
|
+
children?: MenuItem[];
|
|
130
|
+
}
|
|
131
|
+
export interface DatatableConfig {
|
|
132
|
+
id: number;
|
|
133
|
+
code: string;
|
|
134
|
+
titleID: string;
|
|
135
|
+
titleEN: string;
|
|
136
|
+
titleKR?: string;
|
|
137
|
+
descriptionID: string;
|
|
138
|
+
descriptionEN: string;
|
|
139
|
+
descriptionKR?: string;
|
|
140
|
+
pagination: boolean;
|
|
141
|
+
action?: any[];
|
|
142
|
+
actionGlobal?: any[];
|
|
143
|
+
headers: any[];
|
|
144
|
+
filter?: any[];
|
|
145
|
+
filters?: any[];
|
|
146
|
+
endpoint?: any;
|
|
147
|
+
endpointGlobal?: any;
|
|
148
|
+
payload?: any;
|
|
149
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export type Tone = "primary" | "emerald" | "amber" | "violet" | "destructive";
|
|
3
|
+
export declare function applyVueDatePickerToneForced(tone: Tone, styleId?: string): void;
|
|
4
|
+
export declare function useVueDatePickerToneForced(toneRef: Ref<Tone>, styleId?: string): void;
|
|
5
|
+
/** ✅ Button shadcn: tone -> variant */
|
|
6
|
+
export type ShadcnVariant = "default" | "outline" | "destructive" | "outline-destructive" | "emerald" | "amber" | "violet" | "outline-emerald" | "outline-amber" | "outline-violet";
|
|
7
|
+
export declare function getSelectVariantByTone(tone: Tone): ShadcnVariant;
|
|
8
|
+
export declare function getCancelVariantByTone(tone: Tone): ShadcnVariant;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Download helpers shared by DataTable and useFormActions.
|
|
3
|
+
*
|
|
4
|
+
* Why this exists: a host `apiUrl` may resolve with a bare Blob, in which case response
|
|
5
|
+
* headers (notably Content-Disposition) are gone and the filename is unrecoverable. So when
|
|
6
|
+
* a download comes back as JSON we cannot trust the MIME type alone to tell a real file
|
|
7
|
+
* from an error envelope - we look at the payload shape instead.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Reads at most `limit` bytes from a blob and parses them as JSON.
|
|
11
|
+
* Returns null when the blob is not JSON, is truncated mid-structure, or is empty.
|
|
12
|
+
*/
|
|
13
|
+
export declare const parseJsonHead: (blob: Blob, limit?: number) => Promise<any | null>;
|
|
14
|
+
/**
|
|
15
|
+
* True when parsed JSON looks like an API error envelope rather than exported data.
|
|
16
|
+
*
|
|
17
|
+
* Array roots are always treated as data - exports are commonly arrays of records.
|
|
18
|
+
* Objects qualify when they carry an explicit failure flag or an error key, or when
|
|
19
|
+
* they are small enough and have a `message` (typical `{ message: "..." }` envelope).
|
|
20
|
+
*/
|
|
21
|
+
export declare const isErrorEnvelope: (data: any) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Best-effort human readable message from an error envelope.
|
|
24
|
+
*/
|
|
25
|
+
export declare const errorEnvelopeMessage: (data: any, fallback: string) => string;
|
|
26
|
+
/**
|
|
27
|
+
* True when the server (or schema) already declared this response as a downloadable file,
|
|
28
|
+
* so a JSON body must not be second-guessed as an error.
|
|
29
|
+
*/
|
|
30
|
+
export declare const serverSaidFile: (headerFilename: string | null | undefined, contentDisposition: string | null | undefined, responseType?: string) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multipart helpers shared by DataTable and useDynamicForm.
|
|
3
|
+
*
|
|
4
|
+
* Why this exists: endpoints that take a file reject a JSON body with HTTP 415.
|
|
5
|
+
* `JSON.stringify(new File(...))` yields `{}`, so the upload is lost even when the
|
|
6
|
+
* server tolerates the content type. Any payload holding a File/Blob must be
|
|
7
|
+
* wrapped in FormData before it reaches `apiUrl`, and the Content-Type header must
|
|
8
|
+
* be dropped so the browser can append its own multipart boundary.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Robust check for File/Blob objects, even if proxied or from different contexts.
|
|
12
|
+
* Also matches plain descriptors such as `{ name, size }` sent by third-party inputs.
|
|
13
|
+
*/
|
|
14
|
+
export declare const isFileObject: (val: any) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* True when any top-level value in the payload is a File/Blob, meaning the request
|
|
17
|
+
* has to go out as multipart instead of JSON.
|
|
18
|
+
*/
|
|
19
|
+
export declare const hasFile: (payload: Record<string, any> | null | undefined) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Flattens a payload into FormData. Nullish values are dropped; arrays are appended
|
|
22
|
+
* once per element so repeated keys stay repeated, matching how `apiUrl` serialises
|
|
23
|
+
* JSON arrays.
|
|
24
|
+
*/
|
|
25
|
+
export declare const toFormData: (payload: Record<string, any>) => FormData;
|
|
26
|
+
/**
|
|
27
|
+
* Wraps the payload in FormData when it carries a file and the method can carry a
|
|
28
|
+
* body, otherwise returns it untouched. Content-Type is dropped from `config` so the
|
|
29
|
+
* host does not force a boundary-less JSON content type. Headers are copied rather
|
|
30
|
+
* than mutated in place, because `config` often originates from a schema prop.
|
|
31
|
+
*/
|
|
32
|
+
export declare const buildMultipartBody: (payload: Record<string, any>, apiMethod: string | undefined, config: Record<string, any>) => Record<string, any> | FormData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const formatCurrency: (amount: number) => string;
|
|
2
|
+
/**
|
|
3
|
+
* Enhanced currency formatter using currency.js
|
|
4
|
+
* Supports IDR, USD, EUR
|
|
5
|
+
*/
|
|
6
|
+
export declare const formatByCurrency: (value: any, currencyCode?: string) => string;
|
|
7
|
+
export declare const formatTanggalIndonesia: (date: Date | string | number, withDay?: boolean) => string;
|
|
8
|
+
export declare const formatDate: (date: string | Date, format?: "short" | "long" | "time" | "datetime", locale?: string) => string;
|
|
9
|
+
export declare const formatCustomDate: (date: string | Date, formatStr: string) => string;
|
|
10
|
+
export declare const formatAccountNumber: (accountNumber: string) => string;
|
|
11
|
+
export declare const generateId: () => string;
|
|
12
|
+
export declare const debounce: <T extends (...args: any[]) => any>(func: T, delay: number) => ((...args: Parameters<T>) => void);
|
|
13
|
+
export declare const isValidEmail: (email: string) => boolean;
|
|
14
|
+
export declare const calculatePercentageChange: (current: number, previous: number) => number;
|
|
15
|
+
export declare const getInitials: (name: string) => string;
|
|
16
|
+
export declare const sleep: (ms: number) => Promise<void>;
|
|
17
|
+
export declare const storage: {
|
|
18
|
+
get: <T>(key: string) => T | null;
|
|
19
|
+
set: <T>(key: string, value: T) => void;
|
|
20
|
+
remove: (key: string) => void;
|
|
21
|
+
clear: () => void;
|
|
22
|
+
};
|
|
23
|
+
export declare const cloneDeep: <T>(val: T) => T;
|
|
24
|
+
export declare const copyToClipboard: (text: string) => Promise<void>;
|
|
25
|
+
export type FieldSize = "sm" | "default" | "lg";
|
|
26
|
+
export type Rounded = "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
27
|
+
export declare const roundedClass: (r?: Rounded | string) => string;
|
|
28
|
+
export declare const fieldSizeClass: (s?: FieldSize) => "h-8 px-2.5 text-sm" | "h-11 px-3.5 text-base" | "h-10 px-3 text-sm";
|
|
29
|
+
export declare const resolveLucideIcon: (iconName: string | undefined | null, lucideIcons: Record<string, any>) => any;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve a menu icon string to a Lucide component.
|
|
32
|
+
*
|
|
33
|
+
* Accepts Lucide names ("Home", "user-cog") as well as legacy MDI font classes
|
|
34
|
+
* ("mdi-view-dashboard", "mdi mdi-account-group") and maps them to their closest
|
|
35
|
+
* Lucide equivalent. Returns `null` when nothing matches, so callers can fall back
|
|
36
|
+
* (e.g. to a monogram) instead of rendering an empty box.
|
|
37
|
+
*/
|
|
38
|
+
export declare const resolveMenuIcon: (iconName: string | undefined | null, lucideIcons: Record<string, any>) => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function shareDetailGet(method: string, url: string, params: any, run: () => Promise<any>): Promise<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function getUserData(): any;
|
|
2
|
+
/**
|
|
3
|
+
* Get user permissions/menu from localStorage
|
|
4
|
+
*/
|
|
5
|
+
export declare function getUserPermissions(): any;
|
|
6
|
+
/**
|
|
7
|
+
* Check if user has access to a specific route
|
|
8
|
+
*/
|
|
9
|
+
export declare function hasRouteAccess(routePath: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check if user has access to a specific action on a route
|
|
12
|
+
*/
|
|
13
|
+
export declare function hasActionAccess(routePath: string, actionCode: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Check if route exists in user menu structure (regardless of permission)
|
|
16
|
+
*/
|
|
17
|
+
export declare function routeExistsInMenu(routePath: string): boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const RANGE_SEPARATOR = " - ";
|
|
2
|
+
export declare const hasRangeSeparator: (value: unknown) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Split a serialized range ("10 - 20") into its two sides.
|
|
5
|
+
* A plain value with no separator is treated as the lower bound.
|
|
6
|
+
*/
|
|
7
|
+
export declare const parseRange: (value: unknown) => [string, string];
|
|
8
|
+
/**
|
|
9
|
+
* Join the two bounds back into the single string the API stores.
|
|
10
|
+
* Returns null when both sides are empty so the field clears instead of
|
|
11
|
+
* submitting "".
|
|
12
|
+
*/
|
|
13
|
+
export declare const formatRange: (from: unknown, to: unknown) => string | null;
|
|
14
|
+
export declare const isRangeInverted: (from: unknown, to: unknown) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether to raise the order error. `isRangeInverted` answers a mathematical
|
|
17
|
+
* question, this answers the product one: an inverted range is only a mistake
|
|
18
|
+
* when the field opts into the guard, because "21 - 10" is a legitimate value
|
|
19
|
+
* for a window, a scoring band or a delta. Off by default, and a rangeRule that
|
|
20
|
+
* predates the flag is treated as off so no saved schema starts failing.
|
|
21
|
+
*/
|
|
22
|
+
export declare const shouldFlagInvertedRange: (from: unknown, to: unknown, enforceOrder?: boolean) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyworx/dynamic-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "Vue 3 Dynamic UI Component Library - Compatible with Vue, React, Angular, and any other framework via Web Components",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"build:types": "vue-tsc -p tsconfig.build.json && node scripts/gen-types-entry.mjs",
|
|
31
31
|
"build:webcomponent": "cross-env BUILD_MODE=webcomponent vite build --outDir dist/webcomponents",
|
|
32
32
|
"build:all": "npm run build:lib && npm run build:webcomponent",
|
|
33
|
+
"prepublishOnly": "npm run build",
|
|
33
34
|
"preview": "vite preview",
|
|
34
35
|
"docs:dev": "vitepress dev docs",
|
|
35
36
|
"docs:build": "vitepress build docs",
|