diff --git a/resources/js/components/admin/finance/cash/CashTransactionFormModal.vue b/resources/js/components/admin/finance/cash/CashTransactionFormModal.vue
index b14fb56..4c32f5e 100644
--- a/resources/js/components/admin/finance/cash/CashTransactionFormModal.vue
+++ b/resources/js/components/admin/finance/cash/CashTransactionFormModal.vue
@@ -18,8 +18,8 @@ import {
FieldLabel,
FieldSet,
} from '@/components/ui/field';
-import ImageUploadField from '@/components/ui/image-upload-field/ImageUploadField.vue';
-import { RupiahInput } from '@/components/ui/rupiah-input';
+import ImageUploadField from '@/components/form/image-upload-field/ImageUploadField.vue';
+import { RupiahInput } from '@/components/form/rupiah-input';
import { Textarea } from '@/components/ui/textarea';
import { useFormDialog } from '@/composables/useFormDialog';
import { FIELD_LIMITS } from '@/lib/field-limits';
diff --git a/resources/js/components/admin/finance/employee-advances/EmployeeAdvanceFormModal.vue b/resources/js/components/admin/finance/employee-advances/EmployeeAdvanceFormModal.vue
index 560dbe5..401e886 100644
--- a/resources/js/components/admin/finance/employee-advances/EmployeeAdvanceFormModal.vue
+++ b/resources/js/components/admin/finance/employee-advances/EmployeeAdvanceFormModal.vue
@@ -19,8 +19,8 @@ import {
FieldLabel,
FieldSet,
} from '@/components/ui/field';
-import ImageUploadField from '@/components/ui/image-upload-field/ImageUploadField.vue';
-import { RupiahInput } from '@/components/ui/rupiah-input';
+import ImageUploadField from '@/components/form/image-upload-field/ImageUploadField.vue';
+import { RupiahInput } from '@/components/form/rupiah-input';
import { Textarea } from '@/components/ui/textarea';
import { useFormDialog } from '@/composables/useFormDialog';
import { FIELD_LIMITS } from '@/lib/field-limits';
diff --git a/resources/js/components/admin/finance/expenses/ExpenseFormModal.vue b/resources/js/components/admin/finance/expenses/ExpenseFormModal.vue
index 3b25a53..9fd0f2a 100644
--- a/resources/js/components/admin/finance/expenses/ExpenseFormModal.vue
+++ b/resources/js/components/admin/finance/expenses/ExpenseFormModal.vue
@@ -18,8 +18,8 @@ import {
FieldLabel,
FieldSet,
} from '@/components/ui/field';
-import { ImageUploadField } from '@/components/ui/image-upload-field';
-import { RupiahInput } from '@/components/ui/rupiah-input';
+import { ImageUploadField } from '@/components/form/image-upload-field';
+import { RupiahInput } from '@/components/form/rupiah-input';
import { Textarea } from '@/components/ui/textarea';
import { useFormDialog } from '@/composables/useFormDialog';
import { FIELD_LIMITS } from '@/lib/field-limits';
diff --git a/resources/js/components/admin/finance/payroll/PayrollAdjustmentModal.vue b/resources/js/components/admin/finance/payroll/PayrollAdjustmentModal.vue
index a0da410..f0c15b9 100644
--- a/resources/js/components/admin/finance/payroll/PayrollAdjustmentModal.vue
+++ b/resources/js/components/admin/finance/payroll/PayrollAdjustmentModal.vue
@@ -20,7 +20,7 @@ import {
} from '@/components/ui/field';
import { Label } from '@/components/ui/label';
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
-import { RupiahInput } from '@/components/ui/rupiah-input';
+import { RupiahInput } from '@/components/form/rupiah-input';
import { Textarea } from '@/components/ui/textarea';
import { FIELD_LIMITS } from '@/lib/field-limits';
import { parseRupiah } from '@/lib/rupiah';
diff --git a/resources/js/components/admin/hr/EmployeeForm.vue b/resources/js/components/admin/hr/EmployeeForm.vue
index 9c94884..330f4db 100644
--- a/resources/js/components/admin/hr/EmployeeForm.vue
+++ b/resources/js/components/admin/hr/EmployeeForm.vue
@@ -14,9 +14,9 @@ import {
} from '@/components/ui/field';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
-import { PhoneNumberInput } from '@/components/ui/phone-number-input';
+import { PhoneNumberInput } from '@/components/form/phone-number-input';
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
-import { RupiahInput } from '@/components/ui/rupiah-input';
+import { RupiahInput } from '@/components/form/rupiah-input';
import {
Select,
SelectContent,
diff --git a/resources/js/components/admin/manage/cuttings/CuttingPosForm.vue b/resources/js/components/admin/manage/cuttings/CuttingPosForm.vue
index 1711581..0011322 100644
--- a/resources/js/components/admin/manage/cuttings/CuttingPosForm.vue
+++ b/resources/js/components/admin/manage/cuttings/CuttingPosForm.vue
@@ -1,9 +1,6 @@
+
+
+
+
diff --git a/resources/js/components/form/decimal-input/index.ts b/resources/js/components/form/decimal-input/index.ts
new file mode 100644
index 0000000..bf54283
--- /dev/null
+++ b/resources/js/components/form/decimal-input/index.ts
@@ -0,0 +1 @@
+export { default as DecimalInput } from './DecimalInput.vue';
diff --git a/resources/js/components/ui/image-upload-field/ImageUploadField.vue b/resources/js/components/form/image-upload-field/ImageUploadField.vue
similarity index 100%
rename from resources/js/components/ui/image-upload-field/ImageUploadField.vue
rename to resources/js/components/form/image-upload-field/ImageUploadField.vue
diff --git a/resources/js/components/ui/image-upload-field/MultipleImageUploadField.vue b/resources/js/components/form/image-upload-field/MultipleImageUploadField.vue
similarity index 100%
rename from resources/js/components/ui/image-upload-field/MultipleImageUploadField.vue
rename to resources/js/components/form/image-upload-field/MultipleImageUploadField.vue
diff --git a/resources/js/components/ui/image-upload-field/index.ts b/resources/js/components/form/image-upload-field/index.ts
similarity index 100%
rename from resources/js/components/ui/image-upload-field/index.ts
rename to resources/js/components/form/image-upload-field/index.ts
diff --git a/resources/js/components/form/number-input/NumberInput.vue b/resources/js/components/form/number-input/NumberInput.vue
new file mode 100644
index 0000000..3386c42
--- /dev/null
+++ b/resources/js/components/form/number-input/NumberInput.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
diff --git a/resources/js/components/form/number-input/index.ts b/resources/js/components/form/number-input/index.ts
new file mode 100644
index 0000000..f26e178
--- /dev/null
+++ b/resources/js/components/form/number-input/index.ts
@@ -0,0 +1 @@
+export { default as NumberInput } from './NumberInput.vue';
diff --git a/resources/js/components/ui/phone-number-input/PhoneNumberInput.vue b/resources/js/components/form/phone-number-input/PhoneNumberInput.vue
similarity index 100%
rename from resources/js/components/ui/phone-number-input/PhoneNumberInput.vue
rename to resources/js/components/form/phone-number-input/PhoneNumberInput.vue
diff --git a/resources/js/components/ui/phone-number-input/index.ts b/resources/js/components/form/phone-number-input/index.ts
similarity index 100%
rename from resources/js/components/ui/phone-number-input/index.ts
rename to resources/js/components/form/phone-number-input/index.ts
diff --git a/resources/js/components/ui/rupiah-input/RupiahInput.vue b/resources/js/components/form/rupiah-input/RupiahInput.vue
similarity index 100%
rename from resources/js/components/ui/rupiah-input/RupiahInput.vue
rename to resources/js/components/form/rupiah-input/RupiahInput.vue
diff --git a/resources/js/components/ui/rupiah-input/index.ts b/resources/js/components/form/rupiah-input/index.ts
similarity index 100%
rename from resources/js/components/ui/rupiah-input/index.ts
rename to resources/js/components/form/rupiah-input/index.ts
diff --git a/resources/js/pages/admin/account/Profile.vue b/resources/js/pages/admin/account/Profile.vue
index a1c2dfa..fc2c8b0 100644
--- a/resources/js/pages/admin/account/Profile.vue
+++ b/resources/js/pages/admin/account/Profile.vue
@@ -13,7 +13,7 @@ import {
FieldSet,
} from '@/components/ui/field';
import { Input } from '@/components/ui/input';
-import { PhoneNumberInput } from '@/components/ui/phone-number-input';
+import { PhoneNumberInput } from '@/components/form/phone-number-input';
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
import { Textarea } from '@/components/ui/textarea';
import AccountLayout from '@/layouts/AccountLayout.vue';