spotlibs-components 0.1.10 → 0.1.12
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/{chunk-OGJBPTUP.mjs → chunk-F6KSEYVB.mjs} +3 -3
- package/dist/{chunk-OGJBPTUP.mjs.map → chunk-F6KSEYVB.mjs.map} +1 -1
- package/dist/chunk-UFE7HFT2.mjs +60 -0
- package/dist/chunk-UFE7HFT2.mjs.map +1 -0
- package/dist/{chunk-NXFLMH2Q.mjs → chunk-YOSPWY5K.mjs} +3 -4
- package/dist/{chunk-NXFLMH2Q.mjs.map → chunk-YOSPWY5K.mjs.map} +1 -1
- package/dist/{atoms → components/atoms}/icons/index.mjs +2 -2
- package/dist/components/index.d.mts +449 -0
- package/dist/components/index.mjs +7053 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/{mui → components/mui}/index.mjs +1 -1
- package/dist/components/types.d.mts +4 -0
- package/dist/{types-B0iF5xX8.d.mts → types-D1akE7ak.d.mts} +334 -245
- package/dist/utils/index.d.mts +106 -0
- package/dist/utils/index.mjs +477 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +13 -2
- package/src/utils/admin-kuota-nasional/constant.d.ts +23 -0
- package/src/utils/admin-kuota-nasional/constant.js +95 -0
- package/src/utils/asset.d.ts +1 -0
- package/src/utils/asset.js +10 -0
- package/src/utils/booleanUtils.d.ts +2 -0
- package/src/utils/booleanUtils.js +19 -0
- package/src/utils/briguna-digital/constant.d.ts +2 -0
- package/src/utils/briguna-digital/constant.js +12 -0
- package/src/utils/compress.d.ts +2 -0
- package/src/utils/compress.js +24 -0
- package/src/utils/compressImage.d.ts +6 -0
- package/src/utils/compressImage.js +20 -0
- package/src/utils/constants.d.ts +5 -0
- package/src/utils/constants.js +20 -0
- package/src/utils/cookies.d.ts +19 -0
- package/src/utils/cookies.js +102 -0
- package/src/utils/crypto.d.ts +5 -0
- package/src/utils/crypto.js +104 -0
- package/src/utils/decodeString.d.ts +1 -0
- package/src/utils/decodeString.js +17 -0
- package/src/utils/disableFormElements.d.ts +5 -0
- package/src/utils/disableFormElements.js +19 -0
- package/src/utils/excelUtils.d.ts +25 -0
- package/src/utils/excelUtils.js +60 -0
- package/src/utils/exception.d.ts +19 -0
- package/src/utils/exception.js +86 -0
- package/src/utils/formatString.d.ts +25 -0
- package/src/utils/formatString.js +151 -0
- package/src/utils/formatters/account.d.ts +2 -0
- package/src/utils/formatters/account.js +98 -0
- package/src/utils/formatters/currency.d.ts +20 -0
- package/src/utils/formatters/currency.js +125 -0
- package/src/utils/formatters/date.d.ts +12 -0
- package/src/utils/formatters/date.js +219 -0
- package/src/utils/formatters/index.d.ts +47 -0
- package/src/utils/formatters/index.js +47 -0
- package/src/utils/formatters/string.d.ts +6 -0
- package/src/utils/formatters/string.js +114 -0
- package/src/utils/generateImportExcel.d.ts +35 -0
- package/src/utils/generateImportExcel.js +546 -0
- package/src/utils/generateTimestamp.d.ts +1 -0
- package/src/utils/generateTimestamp.js +4 -0
- package/src/utils/handleApiError.d.ts +1 -0
- package/src/utils/handleApiError.js +17 -0
- package/src/utils/index.d.ts +104 -0
- package/src/utils/index.js +92 -0
- package/src/utils/json.d.ts +4 -0
- package/src/utils/json.js +55 -0
- package/src/utils/localStorage.d.ts +1 -0
- package/src/utils/localStorage.js +8 -0
- package/src/utils/logger.d.ts +4 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/schema/globalSchema.d.ts +8 -0
- package/src/utils/schema/globalSchema.js +10 -0
- package/src/utils/signature.d.ts +10 -0
- package/src/utils/signature.js +75 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.d.ts +5 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.d.ts +2 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
- package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
- package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
- package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
- package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
- package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
- package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
- package/src/utils/status.d.ts +37 -0
- package/src/utils/status.js +160 -0
- package/src/utils/store/adminKuotaNasional.js +7 -0
- package/src/utils/store/authStore.js +13 -0
- package/src/utils/store/bankGaransiStore.js +10 -0
- package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
- package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
- package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
- package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
- package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
- package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
- package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
- package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
- package/src/utils/store/prognosaRMStore.js +30 -0
- package/src/utils/store/restrukStore.js +26 -0
- package/src/utils/store/verificationAccessLink.js +11 -0
- package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
- package/src/utils/stringUtils.d.ts +22 -0
- package/src/utils/stringUtils.js +226 -0
- package/src/utils/tipeBank.d.ts +3 -0
- package/src/utils/tipeBank.js +14 -0
- package/dist/index.css +0 -32
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -1726
- package/dist/index.mjs +0 -18560
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -4
- /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
- /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
- /package/dist/{mui → components/mui}/index.d.mts +0 -0
- /package/dist/{mui → components/mui}/index.mjs.map +0 -0
- /package/dist/{types.mjs → components/types.mjs} +0 -0
- /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// Formatters - Currency
|
|
2
|
+
declare function formatCurrency(
|
|
3
|
+
value: number | string | null | undefined,
|
|
4
|
+
options?: {
|
|
5
|
+
locale?: string;
|
|
6
|
+
currency?: string;
|
|
7
|
+
minFractionDigits?: number;
|
|
8
|
+
maxFractionDigits?: number;
|
|
9
|
+
}
|
|
10
|
+
): string;
|
|
11
|
+
declare function formatRupiah(value: number | string | null | undefined): string;
|
|
12
|
+
declare function formatNominal(
|
|
13
|
+
value: number | string | null | undefined,
|
|
14
|
+
options?: {
|
|
15
|
+
locale?: string;
|
|
16
|
+
minFractionDigits?: number;
|
|
17
|
+
maxFractionDigits?: number;
|
|
18
|
+
decimalSeparator?: string;
|
|
19
|
+
}
|
|
20
|
+
): string;
|
|
21
|
+
declare function formatDigit(value: number | string): string;
|
|
22
|
+
|
|
23
|
+
// Formatters - Account
|
|
24
|
+
declare function formatAccountNumber(value: string | null | undefined): string;
|
|
25
|
+
declare function formatNPWP(value: string | null | undefined): string;
|
|
26
|
+
|
|
27
|
+
// Formatters - Date
|
|
28
|
+
declare function toYearFirstDash(value: Date | string): string;
|
|
29
|
+
declare function toDateFirstSlash(value: Date | string): string;
|
|
30
|
+
declare function formatDateToDDSlashMMSlashYYYY(date: Date): string;
|
|
31
|
+
declare function formatDateToDDMMYYYY(date: Date): string;
|
|
32
|
+
declare function yearFirstDashToDateFirstDash(value: string): string;
|
|
33
|
+
declare function yearFirstDashToDateFirstSlash(value: string): string;
|
|
34
|
+
declare function dateFirstSlashToYearFirstDash(value: string): string;
|
|
35
|
+
declare function sevenDigitToDateFirstSlash(value: string): string;
|
|
36
|
+
declare function sevenDigitToYearFirstDash(value: string): string;
|
|
37
|
+
declare function sevenDigitToDateFirstDash(value: string): string;
|
|
38
|
+
declare function toDateTimeHourMinute(value: string): string;
|
|
39
|
+
declare function ddmmyyToSlashDate(value: string): string;
|
|
40
|
+
|
|
41
|
+
// Formatters - String
|
|
42
|
+
declare function formatResponseDesc(desc: string): string;
|
|
43
|
+
declare function titleCase(str: string): string;
|
|
44
|
+
declare function snakeToCamelWithSpace(snakeStr: string): string;
|
|
45
|
+
declare function stringToBoolean(str: string): boolean | undefined;
|
|
46
|
+
declare function matchWiths(targetStr: string, values?: string[]): boolean;
|
|
47
|
+
declare function maskString(value: string, type?: string): string;
|
|
48
|
+
|
|
49
|
+
// JSON
|
|
50
|
+
declare function parseJSON(value: string): unknown;
|
|
51
|
+
declare function jsonToStringLimiter(value?: unknown): string | null;
|
|
52
|
+
declare function errorState(name: string, errors: unknown): unknown;
|
|
53
|
+
declare function ascendingStringify(obj: unknown): string;
|
|
54
|
+
|
|
55
|
+
// Asset
|
|
56
|
+
declare function callAsset(uri?: string): string;
|
|
57
|
+
|
|
58
|
+
// Boolean Utils
|
|
59
|
+
declare function checkRoleUser(roles: string[], listRole: string[]): boolean;
|
|
60
|
+
declare function toggleUsingDummyWbenchEndpoint(status: boolean): boolean;
|
|
61
|
+
|
|
62
|
+
// Constants
|
|
63
|
+
declare const NOT_AUTHORIZE_RESPONSE_CODE: string[];
|
|
64
|
+
declare const PUBLIC_PATHS: string[];
|
|
65
|
+
declare const COOKIE_MAX_SIZE: number;
|
|
66
|
+
declare const CLIENT_PUBLIC_API_ROUTES: string[];
|
|
67
|
+
declare const CLIENT_ALLOWED_ORIGINS: Array<string | RegExp>;
|
|
68
|
+
|
|
69
|
+
// Disable Form
|
|
70
|
+
declare function disableFormElements(selector: string): void;
|
|
71
|
+
declare function disableFormBuilder(
|
|
72
|
+
fields: Array<Record<string, unknown> | null>,
|
|
73
|
+
roleAccess: boolean
|
|
74
|
+
): Array<Record<string, unknown> | null>;
|
|
75
|
+
|
|
76
|
+
// Generate Timestamp
|
|
77
|
+
declare function generateVcifId(): string;
|
|
78
|
+
|
|
79
|
+
// LocalStorage
|
|
80
|
+
declare function getLocalStorageItem(key: string): unknown;
|
|
81
|
+
|
|
82
|
+
// Tipe Bank
|
|
83
|
+
declare function getTipeBankKorporasi(
|
|
84
|
+
data: Array<{ status_perusahaan: string; tipe_bank: string }>
|
|
85
|
+
): string;
|
|
86
|
+
|
|
87
|
+
// Exception
|
|
88
|
+
declare const HEADER_EXCEPTION: string;
|
|
89
|
+
declare const ACCESS_EXCEPTION: string;
|
|
90
|
+
declare const PARAMETER_EXCEPTION: string;
|
|
91
|
+
declare const NOTFOUND_EXCEPTION: string;
|
|
92
|
+
declare const INVALIDRULE_EXCEPTION: string;
|
|
93
|
+
declare const THIRDPARTY_EXCEPTION: string;
|
|
94
|
+
declare const WAITING_EXCEPTION: string;
|
|
95
|
+
declare const UNSUPPORTED_EXCEPTION: string;
|
|
96
|
+
declare const RUNTIME_EXCEPTION: string;
|
|
97
|
+
declare const EXCEPTION_MESSAGES: Record<string, string>;
|
|
98
|
+
declare class ApiException extends Error {
|
|
99
|
+
responseCode: string;
|
|
100
|
+
responseDesc: string;
|
|
101
|
+
constructor(responseCode: string, responseDesc?: string);
|
|
102
|
+
}
|
|
103
|
+
declare function isExceptionCode(responseCode: string): boolean;
|
|
104
|
+
declare function getExceptionMessage(responseCode: string): string;
|
|
105
|
+
|
|
106
|
+
export { ACCESS_EXCEPTION, ApiException, CLIENT_ALLOWED_ORIGINS, CLIENT_PUBLIC_API_ROUTES, COOKIE_MAX_SIZE, EXCEPTION_MESSAGES, HEADER_EXCEPTION, INVALIDRULE_EXCEPTION, NOTFOUND_EXCEPTION, NOT_AUTHORIZE_RESPONSE_CODE, PARAMETER_EXCEPTION, PUBLIC_PATHS, RUNTIME_EXCEPTION, THIRDPARTY_EXCEPTION, UNSUPPORTED_EXCEPTION, WAITING_EXCEPTION, ascendingStringify, callAsset, checkRoleUser, dateFirstSlashToYearFirstDash, ddmmyyToSlashDate, disableFormBuilder, disableFormElements, errorState, formatAccountNumber, formatCurrency, formatDateToDDMMYYYY, formatDateToDDSlashMMSlashYYYY, formatDigit, formatNPWP, formatNominal, formatResponseDesc, formatRupiah, generateVcifId, getExceptionMessage, getLocalStorageItem, getTipeBankKorporasi, isExceptionCode, jsonToStringLimiter, maskString, matchWiths, parseJSON, sevenDigitToDateFirstDash, sevenDigitToDateFirstSlash, sevenDigitToYearFirstDash, snakeToCamelWithSpace, stringToBoolean, titleCase, toDateFirstSlash, toDateTimeHourMinute, toYearFirstDash, toggleUsingDummyWbenchEndpoint, yearFirstDashToDateFirstDash, yearFirstDashToDateFirstSlash };
|
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export { ascendingStringify, callAsset, errorState, jsonToStringLimiter, parseJSON } from '../chunk-UFE7HFT2.mjs';
|
|
3
|
+
import { __spreadProps, __spreadValues } from '../chunk-YOSPWY5K.mjs';
|
|
4
|
+
|
|
5
|
+
// src/utils/formatters/account.js
|
|
6
|
+
function formatAccountNumber(value) {
|
|
7
|
+
if (!value) return "";
|
|
8
|
+
const filteredValue = value.toString().replace(/[^0-9]/g, "");
|
|
9
|
+
if (filteredValue.length > 14) {
|
|
10
|
+
return filteredValue.replace(
|
|
11
|
+
/(\d{4})(\d{2})(\d{6})(\d{2})(\d{1})/,
|
|
12
|
+
"$1-$2-$3-$4-$5"
|
|
13
|
+
);
|
|
14
|
+
} else if (filteredValue.length > 12) {
|
|
15
|
+
return filteredValue.replace(
|
|
16
|
+
/(\d{4})(\d{2})(\d{6})(\d{1})/,
|
|
17
|
+
"$1-$2-$3-$4"
|
|
18
|
+
);
|
|
19
|
+
} else if (filteredValue.length > 6) {
|
|
20
|
+
return filteredValue.replace(
|
|
21
|
+
/(\d{4})(\d{2})(\d{1})/,
|
|
22
|
+
"$1-$2-$3"
|
|
23
|
+
);
|
|
24
|
+
} else if (filteredValue.length > 4) {
|
|
25
|
+
return filteredValue.replace(/(\d{4})(\d{1})/, "$1-$2");
|
|
26
|
+
}
|
|
27
|
+
return filteredValue;
|
|
28
|
+
}
|
|
29
|
+
function formatNPWP(value) {
|
|
30
|
+
if (!value) return "";
|
|
31
|
+
const filteredValue = value.toString().replace(/\D/g, "");
|
|
32
|
+
if (filteredValue.length > 15) {
|
|
33
|
+
return filteredValue.replace(
|
|
34
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})(\d{4})/,
|
|
35
|
+
"$1.$2.$3.$4-$5.$6"
|
|
36
|
+
);
|
|
37
|
+
} else if (filteredValue.length > 12) {
|
|
38
|
+
return filteredValue.replace(
|
|
39
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})/,
|
|
40
|
+
"$1.$2.$3.$4-$5"
|
|
41
|
+
);
|
|
42
|
+
} else if (filteredValue.length > 9) {
|
|
43
|
+
return filteredValue.replace(
|
|
44
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})/,
|
|
45
|
+
"$1.$2.$3.$4"
|
|
46
|
+
);
|
|
47
|
+
} else if (filteredValue.length > 6) {
|
|
48
|
+
return filteredValue.replace(
|
|
49
|
+
/(\d{2})(\d{3})(\d{1})/,
|
|
50
|
+
"$1.$2.$3"
|
|
51
|
+
);
|
|
52
|
+
} else if (filteredValue.length > 2) {
|
|
53
|
+
return filteredValue.replace(
|
|
54
|
+
/(\d{2})(\d{3})/,
|
|
55
|
+
"$1.$2"
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
return filteredValue;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// src/utils/formatters/currency.js
|
|
62
|
+
var formatCurrency = (value, {
|
|
63
|
+
locale = "id-ID",
|
|
64
|
+
currency = "IDR",
|
|
65
|
+
minFractionDigits = 0,
|
|
66
|
+
maxFractionDigits = 0
|
|
67
|
+
} = {}) => {
|
|
68
|
+
if (value === void 0 || value === null) return "";
|
|
69
|
+
const num = Number(value);
|
|
70
|
+
if (isNaN(num)) return String(value);
|
|
71
|
+
const formattedValue = new Intl.NumberFormat(locale, {
|
|
72
|
+
style: "currency",
|
|
73
|
+
currency,
|
|
74
|
+
minimumFractionDigits: minFractionDigits,
|
|
75
|
+
maximumFractionDigits: maxFractionDigits
|
|
76
|
+
}).format(num);
|
|
77
|
+
return formattedValue.replace(/\s/g, "");
|
|
78
|
+
};
|
|
79
|
+
var formatRupiah = (value) => {
|
|
80
|
+
return formatCurrency(value);
|
|
81
|
+
};
|
|
82
|
+
var formatNominal = (value, {
|
|
83
|
+
locale = "id-ID",
|
|
84
|
+
minFractionDigits = 0,
|
|
85
|
+
maxFractionDigits = 0,
|
|
86
|
+
decimalSeparator = ","
|
|
87
|
+
} = {}) => {
|
|
88
|
+
if (value === void 0 || value === null || value === "") return "";
|
|
89
|
+
let numberValue;
|
|
90
|
+
if (typeof value === "number") {
|
|
91
|
+
numberValue = value;
|
|
92
|
+
} else if (typeof value === "string") {
|
|
93
|
+
if (value.includes(",")) {
|
|
94
|
+
numberValue = Number(value.replace(/\./g, "").replace(",", "."));
|
|
95
|
+
} else {
|
|
96
|
+
numberValue = Number(value);
|
|
97
|
+
}
|
|
98
|
+
} else {
|
|
99
|
+
return String(value);
|
|
100
|
+
}
|
|
101
|
+
if (isNaN(numberValue)) return String(value);
|
|
102
|
+
const formatted = numberValue.toLocaleString(locale, {
|
|
103
|
+
minimumFractionDigits: minFractionDigits,
|
|
104
|
+
maximumFractionDigits: maxFractionDigits
|
|
105
|
+
});
|
|
106
|
+
return formatted.replace(/,/g, decimalSeparator);
|
|
107
|
+
};
|
|
108
|
+
var formatDigit = (value) => {
|
|
109
|
+
const num = Number(value);
|
|
110
|
+
return new Intl.NumberFormat("id-ID", { minimumFractionDigits: 0 }).format(
|
|
111
|
+
num || 0
|
|
112
|
+
);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// src/utils/formatters/date.js
|
|
116
|
+
var toYearFirstDash = (value) => {
|
|
117
|
+
const date = new Date(value);
|
|
118
|
+
const year = date.getFullYear();
|
|
119
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
120
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
121
|
+
return `${year}-${month}-${day}`;
|
|
122
|
+
};
|
|
123
|
+
var toDateFirstSlash = (value) => {
|
|
124
|
+
const date = new Date(value);
|
|
125
|
+
const year = date.getFullYear();
|
|
126
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
127
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
128
|
+
return `${day}/${month}/${year}`;
|
|
129
|
+
};
|
|
130
|
+
var formatDateToDDSlashMMSlashYYYY = (date) => {
|
|
131
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
132
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
133
|
+
const year = date.getFullYear();
|
|
134
|
+
return `${day}/${month}/${year}`;
|
|
135
|
+
};
|
|
136
|
+
var formatDateToDDMMYYYY = (date) => {
|
|
137
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
138
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
139
|
+
const year = date.getFullYear();
|
|
140
|
+
return `${day}${month}${year}`;
|
|
141
|
+
};
|
|
142
|
+
var yearFirstDashToDateFirstDash = (value) => {
|
|
143
|
+
if (!value) return "";
|
|
144
|
+
const [year, month, day] = value.split("-");
|
|
145
|
+
return `${day}-${month}-${year}`;
|
|
146
|
+
};
|
|
147
|
+
var yearFirstDashToDateFirstSlash = (value) => {
|
|
148
|
+
if (!value) return "";
|
|
149
|
+
const parts = value.split("-");
|
|
150
|
+
if (parts.length === 3) {
|
|
151
|
+
const [year, month, day] = parts;
|
|
152
|
+
return `${day}/${month}/${year}`;
|
|
153
|
+
}
|
|
154
|
+
return value;
|
|
155
|
+
};
|
|
156
|
+
var dateFirstSlashToYearFirstDash = (value) => {
|
|
157
|
+
if (!value) return "";
|
|
158
|
+
const [day, month, year] = value.split("/");
|
|
159
|
+
return `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
|
|
160
|
+
};
|
|
161
|
+
var sevenDigitToDateFirstSlash = (value) => {
|
|
162
|
+
if (!value) return "";
|
|
163
|
+
const actualDate = value.substring(1);
|
|
164
|
+
const day = actualDate.substring(0, 2);
|
|
165
|
+
const month = actualDate.substring(2, 4);
|
|
166
|
+
const yearLastTwoDigits = actualDate.substring(4, 8);
|
|
167
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
168
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
169
|
+
return `${day}/${month}/${year}`;
|
|
170
|
+
};
|
|
171
|
+
var sevenDigitToYearFirstDash = (value) => {
|
|
172
|
+
if (!value) return "";
|
|
173
|
+
const actualDate = value.substring(1);
|
|
174
|
+
const day = actualDate.slice(0, 2);
|
|
175
|
+
const month = actualDate.slice(2, 4);
|
|
176
|
+
const yearLastTwoDigits = actualDate.slice(4, 8);
|
|
177
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
178
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
179
|
+
return `${year}-${month}-${day}`;
|
|
180
|
+
};
|
|
181
|
+
var sevenDigitToDateFirstDash = (value) => {
|
|
182
|
+
if (!value) return "";
|
|
183
|
+
const actualDate = value.substring(1);
|
|
184
|
+
const day = actualDate.slice(0, 2);
|
|
185
|
+
const month = actualDate.slice(2, 4);
|
|
186
|
+
const yearLastTwoDigits = actualDate.slice(4, 8);
|
|
187
|
+
const yearPrefix = parseInt(yearLastTwoDigits, 10) >= 70 ? "19" : "20";
|
|
188
|
+
const year = yearPrefix + yearLastTwoDigits;
|
|
189
|
+
return `${day}-${month}-${year}`;
|
|
190
|
+
};
|
|
191
|
+
var toDateTimeHourMinute = (value) => {
|
|
192
|
+
if (!value) return "";
|
|
193
|
+
const date = new Date(value);
|
|
194
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
195
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
196
|
+
const year = date.getFullYear();
|
|
197
|
+
const hours = String(date.getHours()).padStart(2, "0");
|
|
198
|
+
const minutes = String(date.getMinutes()).padStart(2, "0");
|
|
199
|
+
return `${day}-${month}-${year} ${hours}:${minutes}`;
|
|
200
|
+
};
|
|
201
|
+
var ddmmyyToSlashDate = (value) => {
|
|
202
|
+
if (!value || value.length !== 6) return "";
|
|
203
|
+
const day = value.substring(0, 2);
|
|
204
|
+
const month = value.substring(2, 4);
|
|
205
|
+
const yearSuffix = value.substring(4, 6);
|
|
206
|
+
const year = parseInt(yearSuffix, 10) >= 70 ? "19" + yearSuffix : "20" + yearSuffix;
|
|
207
|
+
return `${day}/${month}/${year}`;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
// src/utils/formatters/string.js
|
|
211
|
+
var formatResponseDesc = (desc) => {
|
|
212
|
+
if (!desc) return "";
|
|
213
|
+
return desc.replace(/_(\w)/g, (_match, p1) => " " + p1.toUpperCase()).replace(/brispot/gi, "BRISPOT");
|
|
214
|
+
};
|
|
215
|
+
var titleCase = (str) => {
|
|
216
|
+
if (!str) return "";
|
|
217
|
+
return str.toLowerCase().split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
218
|
+
};
|
|
219
|
+
function snakeToCamelWithSpace(snakeStr) {
|
|
220
|
+
if (!snakeStr) return "";
|
|
221
|
+
return snakeStr.toLowerCase().replace(/_([a-z])/g, (_match, letter) => ` ${letter.toUpperCase()}`).replace(/^([a-z])/, (_, letter) => letter.toUpperCase());
|
|
222
|
+
}
|
|
223
|
+
var stringToBoolean = (str) => {
|
|
224
|
+
if (str === "true" || str === "false") {
|
|
225
|
+
return str === "true";
|
|
226
|
+
}
|
|
227
|
+
return void 0;
|
|
228
|
+
};
|
|
229
|
+
function matchWiths(targetStr, values = []) {
|
|
230
|
+
if (!targetStr) return false;
|
|
231
|
+
return values.some((v) => targetStr.includes(v));
|
|
232
|
+
}
|
|
233
|
+
var maskString = (value, type) => {
|
|
234
|
+
if (!value) return "";
|
|
235
|
+
const tempArr = value.split("");
|
|
236
|
+
let len = tempArr.length - 3;
|
|
237
|
+
if (type === "email") {
|
|
238
|
+
len = tempArr.indexOf("@");
|
|
239
|
+
}
|
|
240
|
+
tempArr.splice(3 - tempArr.length, len - 3, ..."*".repeat(len - 3).split(""));
|
|
241
|
+
return tempArr.join("");
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// src/utils/booleanUtils.js
|
|
245
|
+
var checkRoleUser = (roles, listRole) => {
|
|
246
|
+
let result = false;
|
|
247
|
+
if (Array.isArray(roles) && Array.isArray(listRole)) {
|
|
248
|
+
if (roles.length !== 0 && listRole.length !== 0) {
|
|
249
|
+
for (let data of roles) {
|
|
250
|
+
if (listRole.includes(data)) {
|
|
251
|
+
result = true;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return result;
|
|
257
|
+
};
|
|
258
|
+
var toggleUsingDummyWbenchEndpoint = (status) => {
|
|
259
|
+
return status === true;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
// src/utils/constants.js
|
|
263
|
+
var NOT_AUTHORIZE_RESPONSE_CODE = ["X0", "X1", "X2"];
|
|
264
|
+
var PUBLIC_PATHS = ["/auth/v1/login"];
|
|
265
|
+
var COOKIE_MAX_SIZE = 2e3;
|
|
266
|
+
var CLIENT_PUBLIC_API_ROUTES = [
|
|
267
|
+
"/api/auth/login",
|
|
268
|
+
"/api/auth/requestOtp",
|
|
269
|
+
"/api/auth/logout"
|
|
270
|
+
];
|
|
271
|
+
var CLIENT_ALLOWED_ORIGINS = [
|
|
272
|
+
"http://localhost:3000",
|
|
273
|
+
"http://localhost:3001",
|
|
274
|
+
"http://127.0.0.1:3000",
|
|
275
|
+
"http://127.0.0.1:3001",
|
|
276
|
+
/\.bri\.co\.id$/
|
|
277
|
+
];
|
|
278
|
+
|
|
279
|
+
// src/utils/disableFormElements.js
|
|
280
|
+
var disableFormElements = (selector) => {
|
|
281
|
+
const formElements = document.querySelectorAll(selector);
|
|
282
|
+
formElements.forEach((element) => {
|
|
283
|
+
element.disabled = true;
|
|
284
|
+
element.readOnly = true;
|
|
285
|
+
});
|
|
286
|
+
};
|
|
287
|
+
var disableFormBuilder = (fields, roleAccess) => {
|
|
288
|
+
return fields.map((field) => {
|
|
289
|
+
if (!field) return null;
|
|
290
|
+
return __spreadProps(__spreadValues({}, field), {
|
|
291
|
+
isDisabled: roleAccess ? true : field.isDisabled
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
// src/utils/generateTimestamp.js
|
|
297
|
+
function generateVcifId() {
|
|
298
|
+
const timestamp = Date.now();
|
|
299
|
+
return `VCIF${timestamp}`;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// src/utils/localStorage.js
|
|
303
|
+
function getLocalStorageItem(key) {
|
|
304
|
+
const value = localStorage.getItem(key);
|
|
305
|
+
try {
|
|
306
|
+
return JSON.parse(value);
|
|
307
|
+
} catch (err) {
|
|
308
|
+
return value;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// src/utils/tipeBank.js
|
|
313
|
+
var getTipeBankKorporasi = (data) => {
|
|
314
|
+
var _a, _b;
|
|
315
|
+
const adaInduk = data == null ? void 0 : data.some((item) => item.status_perusahaan === "Induk");
|
|
316
|
+
const dataInduk = data == null ? void 0 : data.filter((item) => item.status_perusahaan === "Induk");
|
|
317
|
+
let tipeBank = "";
|
|
318
|
+
if (adaInduk) {
|
|
319
|
+
tipeBank = (_a = dataInduk[0]) == null ? void 0 : _a.tipe_bank;
|
|
320
|
+
} else {
|
|
321
|
+
tipeBank = ((_b = data == null ? void 0 : data.find((item) => item.tipe_bank === "B")) == null ? void 0 : _b.tipe_bank) || "A";
|
|
322
|
+
}
|
|
323
|
+
return tipeBank;
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
// src/utils/exception.js
|
|
327
|
+
var HEADER_EXCEPTION = "X0";
|
|
328
|
+
var ACCESS_EXCEPTION = "X1";
|
|
329
|
+
var PARAMETER_EXCEPTION = "01";
|
|
330
|
+
var NOTFOUND_EXCEPTION = "02";
|
|
331
|
+
var INVALIDRULE_EXCEPTION = "03";
|
|
332
|
+
var THIRDPARTY_EXCEPTION = "04";
|
|
333
|
+
var WAITING_EXCEPTION = "05";
|
|
334
|
+
var UNSUPPORTED_EXCEPTION = "06";
|
|
335
|
+
var RUNTIME_EXCEPTION = "99";
|
|
336
|
+
var EXCEPTION_MESSAGES = {
|
|
337
|
+
[HEADER_EXCEPTION]: "Invalid request header",
|
|
338
|
+
[ACCESS_EXCEPTION]: "Access denied",
|
|
339
|
+
[PARAMETER_EXCEPTION]: "Invalid parameter",
|
|
340
|
+
[NOTFOUND_EXCEPTION]: "Data not found",
|
|
341
|
+
[INVALIDRULE_EXCEPTION]: "Validation rule failed",
|
|
342
|
+
[THIRDPARTY_EXCEPTION]: "Third-party service failure",
|
|
343
|
+
[WAITING_EXCEPTION]: "Process in progress, please wait",
|
|
344
|
+
[UNSUPPORTED_EXCEPTION]: "Unsupported operation",
|
|
345
|
+
[RUNTIME_EXCEPTION]: "Internal system error"
|
|
346
|
+
};
|
|
347
|
+
var ApiException = class extends Error {
|
|
348
|
+
constructor(responseCode, responseDesc) {
|
|
349
|
+
const desc = responseDesc || EXCEPTION_MESSAGES[responseCode] || "An unexpected error occurred";
|
|
350
|
+
super(`[${responseCode}] ${desc}`);
|
|
351
|
+
this.name = "ApiException";
|
|
352
|
+
this.responseCode = responseCode;
|
|
353
|
+
this.responseDesc = desc;
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
function isExceptionCode(responseCode) {
|
|
357
|
+
return Object.keys(EXCEPTION_MESSAGES).includes(responseCode);
|
|
358
|
+
}
|
|
359
|
+
function getExceptionMessage(responseCode) {
|
|
360
|
+
return EXCEPTION_MESSAGES[responseCode] || "An unexpected error occurred";
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// src/utils/formatString.js
|
|
364
|
+
var formatCurrency2 = (value, country = "id-ID", curr = "IDR", minFrac = 0, maxFrac = 0) => {
|
|
365
|
+
if (value === void 0 || value === null) return "";
|
|
366
|
+
let formattedValue = new Intl.NumberFormat(country, {
|
|
367
|
+
style: "currency",
|
|
368
|
+
currency: curr,
|
|
369
|
+
minimumFractionDigits: minFrac,
|
|
370
|
+
maximumFractionDigits: maxFrac
|
|
371
|
+
}).format(value);
|
|
372
|
+
return formattedValue.replace(/\s/g, "");
|
|
373
|
+
};
|
|
374
|
+
var formatResponseDesc2 = (desc) => {
|
|
375
|
+
return desc.replace(/_(\w)/g, (_match, p1) => " " + p1.toUpperCase()).replace(/brispot/gi, "BRISPOT");
|
|
376
|
+
};
|
|
377
|
+
function dashedAccount(value) {
|
|
378
|
+
const filteredValue = value == null ? void 0 : value.replace(
|
|
379
|
+
/[A-Za-z\s!@#$%^&*_+{}()=`"[\]:;<>,?~\\|\\/-]/g,
|
|
380
|
+
""
|
|
381
|
+
);
|
|
382
|
+
if ((filteredValue == null ? void 0 : filteredValue.length) > 14) {
|
|
383
|
+
const dashedValue = filteredValue.replace(
|
|
384
|
+
/(\d{4})(\d{2})(\d{6})(\d{2})(\d{1})/g,
|
|
385
|
+
"$1-$2-$3-$4-$5"
|
|
386
|
+
);
|
|
387
|
+
return dashedValue != null ? dashedValue : "";
|
|
388
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 12) {
|
|
389
|
+
const dashedValue = filteredValue.replace(
|
|
390
|
+
/(\d{4})(\d{2})(\d{6})(\d{1})/g,
|
|
391
|
+
"$1-$2-$3-$4"
|
|
392
|
+
);
|
|
393
|
+
return dashedValue != null ? dashedValue : "";
|
|
394
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 6) {
|
|
395
|
+
const dashedValue = filteredValue.replace(
|
|
396
|
+
/(\d{4})(\d{2})(\d{1})/g,
|
|
397
|
+
"$1-$2-$3"
|
|
398
|
+
);
|
|
399
|
+
return dashedValue != null ? dashedValue : "";
|
|
400
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 4) {
|
|
401
|
+
const dashedValue = filteredValue.replace(/(\d{4})(\d{1})/g, "$1-$2");
|
|
402
|
+
return dashedValue != null ? dashedValue : "";
|
|
403
|
+
} else {
|
|
404
|
+
return filteredValue != null ? filteredValue : "";
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
var formatNominal2 = (value, locale = "id-ID", minFrac = 0, maxFrac = 0, commaSeparator = ",") => {
|
|
408
|
+
if (value === void 0 || value === null || value === "") return "";
|
|
409
|
+
let numberValue;
|
|
410
|
+
if (typeof value === "number") {
|
|
411
|
+
numberValue = value;
|
|
412
|
+
} else if (typeof value === "string") {
|
|
413
|
+
if (value.includes(",")) {
|
|
414
|
+
numberValue = Number(value.replace(/\./g, "").replace(",", "."));
|
|
415
|
+
} else {
|
|
416
|
+
numberValue = Number(value);
|
|
417
|
+
}
|
|
418
|
+
} else {
|
|
419
|
+
return value;
|
|
420
|
+
}
|
|
421
|
+
if (isNaN(numberValue)) return value;
|
|
422
|
+
const formatted = numberValue.toLocaleString(locale, {
|
|
423
|
+
minimumFractionDigits: minFrac,
|
|
424
|
+
maximumFractionDigits: maxFrac
|
|
425
|
+
});
|
|
426
|
+
return formatted.replace(/,/g, commaSeparator);
|
|
427
|
+
};
|
|
428
|
+
var titleCase2 = (str) => {
|
|
429
|
+
return str.toLowerCase().split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
430
|
+
};
|
|
431
|
+
var stringToBoolean2 = (str) => {
|
|
432
|
+
if (str === "true" || str === "false") {
|
|
433
|
+
return str === "true";
|
|
434
|
+
} else {
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
};
|
|
438
|
+
function dashedNPWP(value) {
|
|
439
|
+
const filteredValue = value == null ? void 0 : value.replace(/[^\d]/g, "");
|
|
440
|
+
if ((filteredValue == null ? void 0 : filteredValue.length) > 15) {
|
|
441
|
+
const dashedValue = filteredValue.replace(
|
|
442
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})(\d{4})/,
|
|
443
|
+
"$1.$2.$3.$4-$5.$6"
|
|
444
|
+
);
|
|
445
|
+
return dashedValue != null ? dashedValue : "";
|
|
446
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 12) {
|
|
447
|
+
const dashedValue = filteredValue.replace(
|
|
448
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})(\d{3})/,
|
|
449
|
+
"$1.$2.$3.$4-$5"
|
|
450
|
+
);
|
|
451
|
+
return dashedValue != null ? dashedValue : "";
|
|
452
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 9) {
|
|
453
|
+
const dashedValue = filteredValue.replace(
|
|
454
|
+
/(\d{2})(\d{3})(\d{3})(\d{1})/,
|
|
455
|
+
"$1.$2.$3.$4"
|
|
456
|
+
);
|
|
457
|
+
return dashedValue != null ? dashedValue : "";
|
|
458
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 6) {
|
|
459
|
+
const dashedValue = filteredValue.replace(
|
|
460
|
+
/(\d{2})(\d{3})(\d{1})/,
|
|
461
|
+
"$1.$2.$3"
|
|
462
|
+
);
|
|
463
|
+
return dashedValue != null ? dashedValue : "";
|
|
464
|
+
} else if ((filteredValue == null ? void 0 : filteredValue.length) > 2) {
|
|
465
|
+
const dashedValue = filteredValue.replace(
|
|
466
|
+
/(\d{2})(\d{3})/,
|
|
467
|
+
"$1.$2"
|
|
468
|
+
);
|
|
469
|
+
return dashedValue != null ? dashedValue : "";
|
|
470
|
+
} else {
|
|
471
|
+
return filteredValue != null ? filteredValue : "";
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export { ACCESS_EXCEPTION, ApiException, CLIENT_ALLOWED_ORIGINS, CLIENT_PUBLIC_API_ROUTES, COOKIE_MAX_SIZE, EXCEPTION_MESSAGES, HEADER_EXCEPTION, INVALIDRULE_EXCEPTION, NOTFOUND_EXCEPTION, NOT_AUTHORIZE_RESPONSE_CODE, PARAMETER_EXCEPTION, PUBLIC_PATHS, RUNTIME_EXCEPTION, THIRDPARTY_EXCEPTION, UNSUPPORTED_EXCEPTION, WAITING_EXCEPTION, checkRoleUser, dashedAccount, dashedNPWP, dateFirstSlashToYearFirstDash, ddmmyyToSlashDate, disableFormBuilder, disableFormElements, formatAccountNumber, formatCurrency, formatCurrency2 as formatCurrencyLegacy, formatDateToDDMMYYYY, formatDateToDDSlashMMSlashYYYY, formatDigit, formatNPWP, formatNominal, formatNominal2 as formatNominalLegacy, formatResponseDesc, formatResponseDesc2 as formatResponseDescLegacy, formatRupiah, generateVcifId, getExceptionMessage, getLocalStorageItem, getTipeBankKorporasi, isExceptionCode, maskString, matchWiths, sevenDigitToDateFirstDash, sevenDigitToDateFirstSlash, sevenDigitToYearFirstDash, snakeToCamelWithSpace, stringToBoolean, stringToBoolean2 as stringToBooleanLegacy, titleCase, titleCase2 as titleCaseLegacy, toDateFirstSlash, toDateTimeHourMinute, toYearFirstDash, toggleUsingDummyWbenchEndpoint, yearFirstDashToDateFirstDash, yearFirstDashToDateFirstSlash };
|
|
476
|
+
//# sourceMappingURL=index.mjs.map
|
|
477
|
+
//# sourceMappingURL=index.mjs.map
|