spotlibs-components 0.1.9 → 0.1.11

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 (88) hide show
  1. package/dist/{chunk-J3F77MZN.mjs → chunk-F6KSEYVB.mjs} +4 -35
  2. package/dist/chunk-F6KSEYVB.mjs.map +1 -0
  3. package/dist/chunk-UFE7HFT2.mjs +60 -0
  4. package/dist/chunk-UFE7HFT2.mjs.map +1 -0
  5. package/dist/chunk-YOSPWY5K.mjs +36 -0
  6. package/dist/chunk-YOSPWY5K.mjs.map +1 -0
  7. package/dist/{atoms → components/atoms}/icons/index.mjs +2 -1
  8. package/dist/components/index.d.mts +449 -0
  9. package/dist/components/index.mjs +7241 -0
  10. package/dist/components/index.mjs.map +1 -0
  11. package/dist/components/mui/index.d.mts +23 -0
  12. package/dist/components/mui/index.mjs +27 -0
  13. package/dist/components/mui/index.mjs.map +1 -0
  14. package/dist/components/types.d.mts +4 -0
  15. package/dist/{types-qsnVqq6_.d.mts → types-BkrxwBFm.d.mts} +443 -292
  16. package/dist/utils/index.d.mts +186 -0
  17. package/dist/utils/index.mjs +477 -0
  18. package/dist/utils/index.mjs.map +1 -0
  19. package/package.json +17 -2
  20. package/src/utils/admin-kuota-nasional/constant.js +95 -0
  21. package/src/utils/asset.js +10 -0
  22. package/src/utils/booleanUtils.js +19 -0
  23. package/src/utils/briguna-digital/constant.js +12 -0
  24. package/src/utils/compress.js +24 -0
  25. package/src/utils/compressImage.js +20 -0
  26. package/src/utils/constants.js +20 -0
  27. package/src/utils/cookies.js +102 -0
  28. package/src/utils/crypto.js +104 -0
  29. package/src/utils/decodeString.js +17 -0
  30. package/src/utils/disableFormElements.js +19 -0
  31. package/src/utils/excelUtils.js +60 -0
  32. package/src/utils/exception.js +86 -0
  33. package/src/utils/formatString.js +151 -0
  34. package/src/utils/formatters/account.js +98 -0
  35. package/src/utils/formatters/currency.js +125 -0
  36. package/src/utils/formatters/date.js +219 -0
  37. package/src/utils/formatters/index.js +47 -0
  38. package/src/utils/formatters/string.js +114 -0
  39. package/src/utils/generateImportExcel.js +546 -0
  40. package/src/utils/generateTimestamp.js +4 -0
  41. package/src/utils/handleApiError.js +17 -0
  42. package/src/utils/index.js +92 -0
  43. package/src/utils/json.js +55 -0
  44. package/src/utils/localStorage.js +8 -0
  45. package/src/utils/logger.js +46 -0
  46. package/src/utils/schema/globalSchema.js +10 -0
  47. package/src/utils/signature.js +75 -0
  48. package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
  49. package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
  50. package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
  51. package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
  52. package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
  53. package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
  54. package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
  55. package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
  56. package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
  57. package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
  58. package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
  59. package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
  60. package/src/utils/status.js +160 -0
  61. package/src/utils/store/adminKuotaNasional.js +7 -0
  62. package/src/utils/store/authStore.js +13 -0
  63. package/src/utils/store/bankGaransiStore.js +10 -0
  64. package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
  65. package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
  66. package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
  67. package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
  68. package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
  69. package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
  70. package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
  71. package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
  72. package/src/utils/store/prognosaRMStore.js +30 -0
  73. package/src/utils/store/restrukStore.js +26 -0
  74. package/src/utils/store/verificationAccessLink.js +11 -0
  75. package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
  76. package/src/utils/stringUtils.js +226 -0
  77. package/src/utils/tipeBank.js +14 -0
  78. package/dist/chunk-J3F77MZN.mjs.map +0 -1
  79. package/dist/index.css +0 -32
  80. package/dist/index.css.map +0 -1
  81. package/dist/index.d.mts +0 -1726
  82. package/dist/index.mjs +0 -18584
  83. package/dist/index.mjs.map +0 -1
  84. package/dist/types.d.mts +0 -4
  85. /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
  86. /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
  87. /package/dist/{types.mjs → components/types.mjs} +0 -0
  88. /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
@@ -0,0 +1,141 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { create } from "zustand"
3
+
4
+ export const defaultSubFasilitasKreditValue = {
5
+ id_sub_fasilitas: null,
6
+ kategori_pengajuan: null,
7
+ jenis_fasilitas: null,
8
+ fasilitas: null,
9
+ group_usaha: [],
10
+ list_rekening_pinjaman: [],
11
+ plafond_pengajuan: '',
12
+ plafond_rekomendasi: '',
13
+ exposure_semula: '',
14
+ exposure_menjadi: '',
15
+ baki_debit: '',
16
+ jangka_waktu_fasilitas: '',
17
+ tanggal_jatuh_tempo: '',
18
+ provisi_kredit: '',
19
+ penalty: '',
20
+ biaya_administrasi: '',
21
+ review_suku_bunga: '',
22
+ suku_bunga: '',
23
+ servicing_fee: '',
24
+ commitment_fee: '',
25
+ perjanjian_kredit: '',
26
+ bentuk_kredit: '',
27
+ objek_dibiayai: '',
28
+ alasan_permohonan_kredit: '',
29
+ agunan: '',
30
+ tujuan: '',
31
+ catatan: '',
32
+ list_of_kbli: null,
33
+ }
34
+
35
+ export const defaultValueFormFasilitasKredit = {
36
+ joint_borrower: 'Tidak',
37
+ sub_limit: 'Tidak',
38
+ kategori_pengajuan: null,
39
+ jenis_fasilitas: null,
40
+ fasilitas: null,
41
+ group_usaha: [],
42
+ list_rekening_pinjaman: [],
43
+ currency: '',
44
+ nominal_currency: '',
45
+ sumber_info_currency: '',
46
+ plafond_pengajuan: '',
47
+ plafond_rekomendasi: '',
48
+ exposure_semula: '',
49
+ exposure_menjadi: '',
50
+ baki_debit: '',
51
+ jenis_kredit: 'Bilateral',
52
+ jangka_waktu_fasilitas: '',
53
+ tanggal_jatuh_tempo: '',
54
+ provisi_kredit: '',
55
+ penalty: '',
56
+ biaya_administrasi: '',
57
+ review_suku_bunga: '',
58
+ suku_bunga: '',
59
+ servicing_fee: '',
60
+ commitment_fee: '',
61
+ perjanjian_kredit: '',
62
+ bentuk_kredit: '',
63
+ objek_dibiayai: '',
64
+ alasan_permohonan_kredit: '',
65
+ agunan: '',
66
+ tujuan: '',
67
+ catatan: '',
68
+ list_of_kbli: null,
69
+ sub_fasilitas: [defaultSubFasilitasKreditValue],
70
+ }
71
+
72
+ export const defaultValueNewKategoriPengajuan = ['Debitur Baru', 'Fasilitas Baru']
73
+
74
+ export const defaultValueFacilityDependsKategoriPengajuan = ['Kredit Investasi (KI)', 'KMK', 'Term Loan Facility (TLF)', ]
75
+
76
+ export const defaultValueForbiddenFacility = ['Kredit Jangka Pendek (KJP)', 'KMK Konstruksi', 'KMK Buyer Financing', 'CashColl']
77
+
78
+ const useFasilitasKreditKorporasiStore = create((set) => ({
79
+ dataDefaultFasilitasKreditForm: defaultValueFormFasilitasKredit,
80
+ dataDefaultSubFasilitasKreditForm: defaultSubFasilitasKreditValue,
81
+ dataPerusahaan: [],
82
+ dataDropdownKorporasi: {
83
+ jenisFasilitas: [],
84
+ jenisKredit: [],
85
+ kategoriPengajuan: [],
86
+ reviewSukuBunga: [],
87
+ perjanjianKredit: [],
88
+ bentukKredit: [],
89
+ cashLoan: [],
90
+ nonCashLoan: []
91
+ },
92
+ dataCIFByVCIF: [],
93
+ dataPinjamanByCIF: [],
94
+ dataLabelCurrency: '-',
95
+ dataHandleDisabled: {
96
+ dataNewKategoriPengajuan: defaultValueNewKategoriPengajuan,
97
+ dataFacilityDependsKategoriPengajuan: defaultValueFacilityDependsKategoriPengajuan,
98
+ dataForbiddenFacility: defaultValueForbiddenFacility,
99
+ },
100
+ dataDropdownKBLI: {
101
+ kbli_1: [],
102
+ kbli_2: [],
103
+ kbli_3: [],
104
+ kbli_4: [],
105
+ kbli_5: []
106
+ },
107
+ flagSubLimit: false,
108
+ setDataDropdownKorporasi: (data) => set({ dataDropdownKorporasi: data }),
109
+ setDataPerusahaan: (data) => set({dataPerusahaan: data}),
110
+ setDataCIFByVCIF: (data) => set({dataCIFByVCIF: data}),
111
+ setDataPinjamanByCIF: (data) => set({dataPinjamanByCIF: data}),
112
+ setDataLabelCurrency: (data) => set({dataLabelCurrency: data}),
113
+ setDataDropdownKBLI: (data) => set({dataDropdownKBLI: data}),
114
+ setFlagSubLimit: (data) => set({flagSubLimit: data}),
115
+ clearAllStore: () => set({
116
+ dataPerusahaan: [],
117
+ dataDropdownKorporasi: {
118
+ jenisFasilitas: [],
119
+ jenisKredit: [],
120
+ kategoriPengajuan: [],
121
+ reviewSukuBunga: [],
122
+ perjanjianKredit: [],
123
+ bentukKredit: [],
124
+ cashLoan: [],
125
+ nonCashLoan: []
126
+ },
127
+ dataCIFByVCIF: [],
128
+ dataPinjamanByCIF: [],
129
+ dataLabelCurrency: '-',
130
+ dataDropdownKBLI: {
131
+ kbli_1: [],
132
+ kbli_2: [],
133
+ kbli_3: [],
134
+ kbli_4: [],
135
+ kbli_5: []
136
+ },
137
+ flagSubLimit: false,
138
+ })
139
+ }))
140
+
141
+ export default useFasilitasKreditKorporasiStore
@@ -0,0 +1,53 @@
1
+ import { create } from "zustand"
2
+
3
+ export const tablePropertyUtils = {
4
+ tableListHeader: ['No', 'Nama Debitur', 'No. Rekening', 'CIF', 'Maker', 'Status', 'Aksi'],
5
+ tableLimitDataDropdown: [10, 25, 50],
6
+ statusPengajuanStyle: [{
7
+ status: 1,
8
+ description: 'Menunggu Approval',
9
+ approvalDescription: 'Menunggu Approval',
10
+ backGroundColor: '#EAF5FF',
11
+ textColor: '#00529C'
12
+ },
13
+ {
14
+ status: 2,
15
+ description: 'Disetujui',
16
+ approvalDescription: 'Disetujui',
17
+ backGroundColor: '#E0FAEC',
18
+ textColor: '#27AE60'
19
+ },{
20
+ status: 3,
21
+ description: 'Dikembalikan',
22
+ approvalDescription: 'Dikembalikan ke RM',
23
+ backGroundColor: '#FFF5D9',
24
+ textColor: '#E8C046'
25
+ }
26
+ ]
27
+ }
28
+
29
+ export const dialogDetailStyle = [{
30
+ status: 2,
31
+ backgroundColor: '#E0FAEC',
32
+ iconColor: '#27AE60',
33
+ },
34
+ {
35
+ status: 3,
36
+ backgroundColor: '#FFF5D9',
37
+ iconColor: '#E8C046'
38
+ },
39
+ ]
40
+
41
+ const useMigrasiMandiriStore = create((set) => ({
42
+ dataSession: null,
43
+ tablePropertyUtils: tablePropertyUtils,
44
+ dialogDetailStyle: dialogDetailStyle,
45
+ dataMigrasiMandiriResponse: null,
46
+ setDataMigrasiMandiriResponse: (data) => set({ dataMigrasiMandiriResponse: data}),
47
+ setDataSession: (data) => set({ dataSession: data }),
48
+ resetDataStore: () => set({
49
+ dataMigrasiMandiriResponse: null
50
+ })
51
+ }))
52
+
53
+ export default useMigrasiMandiriStore
@@ -0,0 +1,34 @@
1
+ import { create } from 'zustand';
2
+
3
+ export const useLeadsStore = create((set) => ({
4
+ filter: {
5
+ kanwil: null,
6
+ cabang: null,
7
+ tanggal_awal: null,
8
+ tanggal_akhir: null,
9
+ status: null,
10
+ channel: null
11
+ },
12
+ listData: null,
13
+ summaryData: null,
14
+ listGenerate: null,
15
+ setFilter: (newFilter) =>
16
+ set((state) => ({ filter: { ...state.filter, ...newFilter } })),
17
+ setListData: (listData) => set({ listData }),
18
+ setSummaryData: (summaryData) => set({ summaryData }),
19
+ setListGenerate: (listGenerate) => set({ listGenerate }),
20
+ resetFilter: () =>
21
+ set({
22
+ filter: {
23
+ kanwil: null,
24
+ cabang: null,
25
+ tanggal_awal: null,
26
+ tanggal_akhir: null,
27
+ status: null,
28
+ channel: null
29
+ },
30
+ listData: null,
31
+ summaryData: null,
32
+ listGenerate: null
33
+ }),
34
+ }));
@@ -0,0 +1,21 @@
1
+ import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+
4
+ export const usePrakarsaBankGaransiStore = create(
5
+ persist(
6
+ (set) => ({
7
+ selectedPrakarsaBG: {},
8
+ setSelectedPrakarsaBG: (data) =>
9
+ set((state) => ({
10
+ selectedPrakarsaBG: {
11
+ ...state.selectedPrakarsaBG,
12
+ ...data,
13
+ },
14
+ })),
15
+ resetSelectedPrakarsaBG: () => set({ selectedPrakarsaBG: {} }),
16
+ }),
17
+ {
18
+ name: "prakarsaBankGaransi-storage",
19
+ }
20
+ )
21
+ );
@@ -0,0 +1,9 @@
1
+ import { create } from "zustand";
2
+
3
+ export const useSettingPrognosaROStore = create((set) => ({
4
+ intrakomForm: null,
5
+ ekstrakomForm: null,
6
+ setIntrakomForm: (data) => set({ intrakomForm: data }),
7
+ setEkstrakomForm: (data) => set({ ekstrakomForm: data }),
8
+ clearAll: () => set({ intrakomForm: null, ekstrakomForm: null }),
9
+ }));
@@ -0,0 +1,30 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { create } from "zustand";
3
+
4
+ const usePrognosaRMStore = create((set) => ({
5
+ dataPrognosaRM: [],
6
+ isPage: null,
7
+ isLimit: null,
8
+ isOptionKanwil: [],
9
+ isKanwil: null,
10
+ isOptionKanca: [],
11
+ isKanca: null,
12
+ isStatus: null,
13
+ detailPrognosaRM: null,
14
+ flagApproval: false,
15
+ flagBack: true,
16
+
17
+ setDataPrognosaRM: (data) => set({ dataPrognosaRM: data }),
18
+ setIsPage: (data) => set({ isPage: data }),
19
+ setIsLimit: (data) => set({ isLimit: data }),
20
+ setIsOptionKanwil: (data) => set({ isOptionKanwil: data }),
21
+ setIsKanwil: (data) => set({ isKanwil: data }),
22
+ setIsOptionKanca: (data) => set({ isOptionKanca: data }),
23
+ setIsKanca: (data) => set({ isKanca: data }),
24
+ setIsStatus: (data) => set({ isStatus: data }),
25
+ setDetailPrognosaRM: (data) => set({ detailPrognosaRM: data }),
26
+ setFlagApproval: (data) => set({ flagApproval: data }),
27
+ setFlagBack: (data) => set({ flagBack: data }),
28
+ }));
29
+
30
+ export default usePrognosaRMStore;
@@ -0,0 +1,26 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { create } from "zustand";
3
+
4
+ const useRestrukStore = create((set) => ({
5
+ tabRestruk: [],
6
+ dataStatisRestruk: [],
7
+ dataPengajuanRestruk: [],
8
+ dataJSONStatis: [],
9
+ isBack: false,
10
+ isStatus: {},
11
+ isRestrukS1: [],
12
+ dataPaymentCode: [],
13
+ listDataPengajuan: null,
14
+
15
+ setTabRestruk: (data) => set({ tabRestruk: data }),
16
+ setDataStatisRestruk: (data) => set({ dataStatisRestruk: data }),
17
+ setDataPengajuanRestruk: (data) => set({ dataPengajuanRestruk: data }),
18
+ setDataJSONStatis: (data) => set({ dataJSONStatis: data }),
19
+ setIsBack: (data) => set({ isBack: data }),
20
+ setIsStatus: (data) => set({ isStatus: data }),
21
+ setIsRestrukS1: (data) => set({ isRestrukS1: data }),
22
+ setPaymentCode: (data) => set({ dataPaymentCode: data }),
23
+ setListDataPengajuan: (data) => set({ listDataPengajuan: data })
24
+ }));
25
+
26
+ export default useRestrukStore;
@@ -0,0 +1,11 @@
1
+ import { create } from "zustand";
2
+
3
+ const useVerificationAccessLinkStore = create((set) => ({
4
+
5
+ accessData: null,
6
+
7
+ setAccessData: (data) => set({ accessData: data }),
8
+
9
+ }));
10
+
11
+ export default useVerificationAccessLinkStore;
@@ -0,0 +1,22 @@
1
+ import { create } from "zustand";
2
+ import { persist } from "zustand/middleware";
3
+
4
+ export const useWarkatBgWholesaleStore = create(
5
+ persist(
6
+ (set) => ({
7
+ selectedWarkatBgWholesale: {},
8
+ setSelectedWarkatBgWholesale: (data) =>
9
+ set((state) => ({
10
+ selectedWarkatBgWholesale: {
11
+ ...state.selectedWarkatBgWholesale,
12
+ ...data,
13
+ },
14
+ })),
15
+ resetSelectedWarkatBgWholesale: () =>
16
+ set({ selectedWarkatBgWholesale: {} }),
17
+ }),
18
+ {
19
+ name: "warkatBgWholesale-storage",
20
+ }
21
+ )
22
+ );
@@ -0,0 +1,226 @@
1
+ export function matchWiths(targetStr, values = []) {
2
+ return values.some((v) => targetStr.includes(v));
3
+ }
4
+
5
+ export const toCurrency = (money) => {
6
+ const num = Number(money);
7
+ return new Intl.NumberFormat('id-ID', { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }).format(num || 0);
8
+ };
9
+
10
+ export const digitFormatter = (value) => {
11
+ const num = Number(value);
12
+ return new Intl.NumberFormat('id-ID', { minimumFractionDigits: 0 }).format(num || 0);
13
+ };
14
+
15
+ export const npwpFormatter = (value) => {
16
+ if (!value) return;
17
+ const npwp = value
18
+ .toString()
19
+ .replace(/\D/g, '')
20
+ .replace(/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})(\d{3})/, '$1.$2.$3-$4.$5.$6');
21
+ return npwp;
22
+ };
23
+
24
+ export const rekeningFormatter = (value) => {
25
+ if (!value) return;
26
+ const rekening = value
27
+ .toString()
28
+ .replace(/\D/g, '')
29
+ .replace(/(\d{4})(\d{2})(\d{6})(\d{2})(\d{1})/, '$1-$2-$3-$4-$5');
30
+ return rekening;
31
+ };
32
+
33
+ export const needToHide = (descModified, typeHide) => {
34
+ const tempArr = descModified.split('');
35
+ let len = tempArr.length - 3;
36
+
37
+ if (typeHide === 'email') {
38
+ len = tempArr.indexOf('@');
39
+ }
40
+
41
+ tempArr.splice(3 - tempArr.length, len - 3, ...'*'.repeat(len - 3).split(''));
42
+ descModified = tempArr.join('');
43
+
44
+ return descModified;
45
+ };
46
+
47
+ export const fileToBase64 = (file) => {
48
+ // eslint-disable-next-line no-undef
49
+ return new Promise((resolve) => {
50
+ let fileInfo;
51
+ let baseURL = '';
52
+ // Make new FileReader
53
+ let reader = new FileReader();
54
+
55
+ // Convert the file to base64 text
56
+ reader.readAsDataURL(file);
57
+
58
+ // on reader load somthing...
59
+ reader.onload = () => {
60
+ baseURL = reader.result;
61
+ resolve(baseURL);
62
+ };
63
+ console.log(fileInfo);
64
+ });
65
+ };
66
+
67
+ export const dateDashToSlashFormatter = (value) => {
68
+ const date = new Date(value);
69
+
70
+ const year = date.getFullYear();
71
+ const month = String(date.getMonth() + 1).padStart(2, '0');
72
+ const day = String(date.getDate()).padStart(2, '0');
73
+
74
+ const formattedDate = `${year}-${month}-${day}`;
75
+
76
+
77
+ return formattedDate;
78
+ };
79
+
80
+ export const date7DigitsToSlashFormatter = (value) => {
81
+ const actualDate = value.substring(1);
82
+
83
+ const day = actualDate.substring(0, 2);
84
+ const month = actualDate.substring(2, 4);
85
+ const yearLastTwoDigits = actualDate.substring(4, 8);
86
+ const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
87
+ const year = yearPrefix + yearLastTwoDigits;
88
+
89
+ const formattedDate = `${day}/${month}/${year}`;
90
+
91
+ return formattedDate;
92
+ };
93
+
94
+ export const date7DigitsToDashFormatter = (value) => {
95
+ const actualDate = value.substring(1);
96
+
97
+ const day = actualDate.slice(0, 2);
98
+ const month = actualDate.slice(2, 4);
99
+ const yearLastTwoDigits = actualDate.slice(4, 8);
100
+ const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
101
+ const year = yearPrefix + yearLastTwoDigits;
102
+
103
+ const formattedDate = `${year}-${month}-${day}`;
104
+
105
+ return formattedDate;
106
+ };
107
+
108
+ export const dateObjectToDashFormatter = (value) => {
109
+ const date = new Date(value);
110
+
111
+ const year = date.getFullYear();
112
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // getMonth() mengembalikan bulan dari 0-11, jadi tambahkan 1 dan tambahkan leading zero
113
+ const day = String(date.getDate()).padStart(2, '0'); // getDate() mengembalikan hari dari 1-31, tambahkan leading zero
114
+
115
+ const formattedDate = `${year}-${month}-${day}`;
116
+
117
+ return formattedDate
118
+ };
119
+
120
+ // dari 31/12/2024 ke 12-31-2024
121
+ export const dateYearToDateFirst = (value) => {
122
+ const [year, month, day] = value.split("-");
123
+ return `${day}-${month}-${year}`;
124
+ };
125
+
126
+ // dari 19/07/2024 ke 2024-07-19
127
+ export const dateSlashToDashYearFirst = (value) => {
128
+ const [day, month, year] = value.split("/");
129
+ const formattedDate = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
130
+
131
+ return formattedDate;
132
+ };
133
+
134
+ // Konversi dari 2024-07-26 ke 26-07-2024
135
+ export const dateDashYearFirstToDateFirst = (value) => {
136
+ if (!value) return;
137
+ const [year, month, day] = value.split("-");
138
+ return `${day}-${month}-${year}`;
139
+ };
140
+
141
+ // Konversi 2025-01-13 16:39:39 ke 13-01-2025 16:39
142
+ export const dateTimeHourMinute = (value) => {
143
+ const date = new Date(value);
144
+
145
+ const day = String(date.getDate()).padStart(2, '0');
146
+ const month = String(date.getMonth() + 1).padStart(2, '0');
147
+ const year = date.getFullYear();
148
+ const hours = String(date.getHours()).padStart(2, '0');
149
+ const minutes = String(date.getMinutes()).padStart(2, '0');
150
+
151
+ return `${day}-${month}-${year} ${hours}:${minutes}`;
152
+ };
153
+
154
+ // Konversi 0041125 ke 04-11-2025
155
+ export const date7DigitsToSlashDateFirstFormatter = (value) => {
156
+ const actualDate = value.substring(1);
157
+
158
+ const day = actualDate.slice(0, 2);
159
+ const month = actualDate.slice(2, 4);
160
+ const yearLastTwoDigits = actualDate.slice(4, 8);
161
+ const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
162
+ const year = yearPrefix + yearLastTwoDigits;
163
+
164
+ const formattedDate = `${day}-${month}-${year}`;
165
+
166
+ return formattedDate;
167
+ };
168
+
169
+ // Konversi 2025-03-10 ke 10-03-2025
170
+ export const dateSlashToSlashDateFirstFormatter = (value) => {
171
+ const [year, month, day] = value.split("-");
172
+ const formattedDate = `${day}-${month}-${year}`;
173
+
174
+ return formattedDate;
175
+ };
176
+ // Konversi New Date ke 31032025
177
+ export const formatDateToDDMMYYYY = (date) => {
178
+ const day = String(date.getDate()).padStart(2, "0");
179
+ const month = String(date.getMonth() + 1).padStart(2, "0");
180
+ const year = date.getFullYear();
181
+ return `${day}${month}${year}`;
182
+ };
183
+
184
+ // Konversi New Date ke 31/03/2025
185
+ export const formatDateToDDSlashMMSlashYYYY = (date) => {
186
+ const day = date.getDate();
187
+ const month = date.getMonth() + 1;
188
+ const year = date.getFullYear();
189
+
190
+ const dayStr = (day < 10 ? "0" : "") + day;
191
+ const monthStr = (month < 10 ? "0" : "") + month;
192
+
193
+ return `${dayStr}/${monthStr}/${year}`;
194
+ };
195
+
196
+ //Konversi 2024-02-01 ke 01/02/2024
197
+ export const dateDashToSlash = (value) => {
198
+ const date = new Date(value);
199
+
200
+ const year = date.getFullYear();
201
+ const month = String(date.getMonth() + 1).padStart(2, '0');
202
+ const day = String(date.getDate()).padStart(2, '0');
203
+
204
+ return `${day}/${month}/${year}`;
205
+ };
206
+
207
+ // Konversi dari ddmmyy ke dd/mm/yyyy
208
+ export const ddmmyyToSlashDate = (value) => {
209
+ if (!value || value.length !== 6) return "";
210
+ const day = value.substring(0, 2);
211
+ const month = value.substring(2, 4);
212
+ const yearSuffix = value.substring(4, 6);
213
+ const year = parseInt(yearSuffix, 10) >= 70 ? "19" + yearSuffix : "20" + yearSuffix;
214
+ return `${day}/${month}/${year}`;
215
+ };
216
+
217
+ // Konversi YYYY-MM-DD ke DD/MM/YYYY
218
+ export const formatDateDashReverseToSlash = (value) => {
219
+ const parts = value.split('-');
220
+ if (parts.length === 3) {
221
+ const [year, month, day] = parts;
222
+ return `${day}/${month}/${year}`;
223
+ }
224
+
225
+ return value;
226
+ };
@@ -0,0 +1,14 @@
1
+ export const getTipeBankKorporasi = (data) => {
2
+ const adaInduk = data?.some(item => item.status_perusahaan === "Induk");
3
+ const dataInduk = data?.filter(item => item.status_perusahaan === "Induk");
4
+ let tipeBank = '';
5
+
6
+ // Menampilkan hasil
7
+ if (adaInduk) {
8
+ tipeBank = dataInduk[0]?.tipe_bank
9
+ } else {
10
+ tipeBank = data?.find(item => item.tipe_bank === "B")?.tipe_bank || "A";
11
+ }
12
+
13
+ return tipeBank
14
+ }