@bwg-ui/core 1.2.11 → 1.2.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/chunks/{MenuReport-CXsmjSvg.cjs → MenuReport-Bqeps5fC.cjs} +1 -1
- package/dist/chunks/{MenuReport-Dgq2wH6w.js → MenuReport-CozV1tpR.js} +28 -28
- package/dist/chunks/common-components-B-zgrX-L.cjs +1028 -0
- package/dist/chunks/common-components-XA2KG7Pl.js +30179 -0
- package/dist/chunks/{layout-components-yyItu5pi.js → layout-components-MrnKV5g7.js} +548 -478
- package/dist/chunks/layout-components-bb0cWC3I.cjs +35 -0
- package/dist/components/common/BwgGrid.d.ts +1 -1
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts +9 -3
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.d.ts +1 -1
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +122 -122
- package/dist/components/guide/BwgPracticeGuide.d.ts +6 -0
- package/dist/components/guide/BwgPracticeGuide.d.ts.map +1 -0
- package/dist/components/guide/BwgPracticeGuideS00.d.ts +6 -0
- package/dist/components/guide/BwgPracticeGuideS00.d.ts.map +1 -0
- package/dist/components/guide/BwgPracticeGuideS01.d.ts +6 -0
- package/dist/components/guide/BwgPracticeGuideS01.d.ts.map +1 -0
- package/dist/components/guide/CMHldyCfg.d.ts +3 -0
- package/dist/components/guide/CMHldyCfg.d.ts.map +1 -0
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.d.ts +2 -0
- package/dist/components/guide/index.d.ts.map +1 -1
- package/dist/components/guide/index.js +645 -5
- package/dist/components/layout/BwgCoreLogin.d.ts +38 -0
- package/dist/components/layout/BwgCoreLogin.d.ts.map +1 -0
- package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.d.ts +1 -0
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +13 -11
- package/dist/components/pages/auth/CMAuthMstrM01.d.ts +1 -2
- package/dist/components/pages/auth/CMAuthMstrM01.d.ts.map +1 -1
- package/dist/components/pages/auth/CMRoleMstrM01.d.ts +2 -1
- package/dist/components/pages/auth/CMRoleMstrM01.d.ts.map +1 -1
- package/dist/components/pages/rsrc/CMFileMstrM01.d.ts +2 -1
- package/dist/components/pages/rsrc/CMFileMstrM01.d.ts.map +1 -1
- package/dist/components/pages/rsrc/CMMenuMstrM01.d.ts +2 -1
- package/dist/components/pages/rsrc/CMMenuMstrM01.d.ts.map +1 -1
- package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts +2 -1
- package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -1
- package/dist/components/pages/rsrc/CMPrgrMstrM01.d.ts +2 -1
- package/dist/components/pages/rsrc/CMPrgrMstrM01.d.ts.map +1 -1
- package/dist/components/pages/syst/CMSystCfgM01.d.ts +2 -1
- package/dist/components/pages/syst/CMSystCfgM01.d.ts.map +1 -1
- package/dist/components/pages/syst/CMSystCodeM01.d.ts +2 -1
- package/dist/components/pages/syst/CMSystCodeM01.d.ts.map +1 -1
- package/dist/components/pages/types.d.ts +5 -0
- package/dist/components/pages/types.d.ts.map +1 -0
- package/dist/components/pages/user/CMUserMstrM01.d.ts +2 -1
- package/dist/components/pages/user/CMUserMstrM01.d.ts.map +1 -1
- package/dist/components/popup/SearchHolidayP01.d.ts +4 -0
- package/dist/components/popup/SearchHolidayP01.d.ts.map +1 -0
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.d.ts +1 -0
- package/dist/components/popup/index.d.ts.map +1 -1
- package/dist/components/popup/index.js +4 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +256 -238
- package/dist/stores/favoriteStore.d.ts +10 -9
- package/dist/stores/favoriteStore.d.ts.map +1 -1
- package/dist/stores/index.cjs +2 -2
- package/dist/stores/index.d.ts +4 -0
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +1129 -631
- package/dist/stores/loginStore.d.ts +64 -0
- package/dist/stores/loginStore.d.ts.map +1 -0
- package/dist/stores/menuModelStore.d.ts +1 -1
- package/dist/stores/menuViewStore.d.ts +1 -0
- package/dist/stores/menuViewStore.d.ts.map +1 -1
- package/dist/stores/systemStore.d.ts +32 -0
- package/dist/stores/systemStore.d.ts.map +1 -0
- package/dist/stores/userStore.d.ts +5 -5
- package/dist/stores/userStore.d.ts.map +1 -1
- package/dist/utils/apiUtils.d.ts +27 -60
- package/dist/utils/apiUtils.d.ts.map +1 -1
- package/dist/utils/gwUtils.d.ts +3 -2
- package/dist/utils/gwUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +3 -7
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1169 -1196
- package/dist/utils/serviceConfig.d.ts +1 -0
- package/dist/utils/serviceConfig.d.ts.map +1 -1
- package/dist/utils/userUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/common-components-Bp95qOup.js +0 -16236
- package/dist/chunks/common-components-CoRIM-Z-.cjs +0 -183
- package/dist/chunks/layout-components-hCEUMfz3.cjs +0 -35
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { HrInfo, UserInfo } from './userStore';
|
|
2
|
+
/**
|
|
3
|
+
* 로그인 설정 및 콜백 정의
|
|
4
|
+
*/
|
|
5
|
+
export type LoginConfig = {
|
|
6
|
+
/** 쿠키 설정
|
|
7
|
+
* enabled: 쿠키 사용 여부
|
|
8
|
+
* days: 쿠키 유지 일수(기본 30일)
|
|
9
|
+
*/
|
|
10
|
+
rememberCookie?: {
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
days?: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* 공통 로그인 서비스 대체 함수
|
|
16
|
+
* @param payload 로그인 파라미터
|
|
17
|
+
* @returns 로그인 응답
|
|
18
|
+
*/
|
|
19
|
+
loginApi?: (payload: any) => Promise<any>;
|
|
20
|
+
/**
|
|
21
|
+
* 공통코드 조회 서비스 대체 함수
|
|
22
|
+
* @returns 공통코드 응답
|
|
23
|
+
*/
|
|
24
|
+
fetchCommonCodes?: () => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* 로그인 성공 후 처리 함수
|
|
27
|
+
* @param ctx 로그인 응답 컨텍스트
|
|
28
|
+
* @returns 로그인 성공 후 처리
|
|
29
|
+
*/
|
|
30
|
+
onAfterLogin?: (response: {
|
|
31
|
+
userInfo: UserInfo;
|
|
32
|
+
hrInfo: HrInfo;
|
|
33
|
+
}, navigate: (to: string) => void) => void;
|
|
34
|
+
/**
|
|
35
|
+
* 로그인 실패 처리 함수
|
|
36
|
+
* @param err 오류 정보
|
|
37
|
+
* @returns 로그인 실패 처리
|
|
38
|
+
*/
|
|
39
|
+
onError?: (err: unknown) => void;
|
|
40
|
+
};
|
|
41
|
+
/** CapsLock 감지 훅 */
|
|
42
|
+
export declare function useCapsLock(): {
|
|
43
|
+
capsOn: boolean;
|
|
44
|
+
onKeyDown: (e: any) => void;
|
|
45
|
+
};
|
|
46
|
+
export declare function useLogin(config: LoginConfig): {
|
|
47
|
+
loading: boolean;
|
|
48
|
+
capsOn: boolean;
|
|
49
|
+
onKeyDown: (e: any) => void;
|
|
50
|
+
prefills: {
|
|
51
|
+
id: string | null | undefined;
|
|
52
|
+
pswr: undefined;
|
|
53
|
+
};
|
|
54
|
+
doLogin: (values: {
|
|
55
|
+
id: string;
|
|
56
|
+
pswr: string;
|
|
57
|
+
remember?: boolean;
|
|
58
|
+
}, navigate: (to: string) => void) => Promise<{
|
|
59
|
+
user: any;
|
|
60
|
+
response: any;
|
|
61
|
+
}>;
|
|
62
|
+
};
|
|
63
|
+
export declare function useLogout(): () => void;
|
|
64
|
+
//# sourceMappingURL=loginStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginStore.d.ts","sourceRoot":"","sources":["../../src/stores/loginStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAU7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,EACD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAC3B,IAAI,CAAC;IACV;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,oBAAoB;AACpB,wBAAgB,WAAW;;mBAES,GAAG;EAKtC;AAKD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW;;;mBAVR,GAAG;;;;;sBAgCzB;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,YAC9C,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;;;;EA2EnC;AAKD,wBAAgB,SAAS,eAexB"}
|
|
@@ -34,6 +34,7 @@ type MenuViewState = {
|
|
|
34
34
|
tabProtectFlag: Record<string, boolean>;
|
|
35
35
|
tabParams: Record<string, Record<string, any>>;
|
|
36
36
|
componentLabelMap: Record<string, string>;
|
|
37
|
+
clearMenuViewStore: () => void;
|
|
37
38
|
openTabFromMenu: (menuItem: MenuItem, params?: Record<string, any>) => void;
|
|
38
39
|
openTabByMenuId: (menuId: string, params?: Record<string, any>) => void;
|
|
39
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuViewStore.d.ts","sourceRoot":"","sources":["../../src/stores/menuViewStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQlC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAGD,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QACvB,QAAQ,CAAC,EAAE;YACT,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAGD,KAAK,aAAa,GAAG;IAGnB,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAExC,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEhC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,CAAC;IAElC,IAAI,EAAE,OAAO,EAAE,CAAC;IAEhB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"menuViewStore.d.ts","sourceRoot":"","sources":["../../src/stores/menuViewStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface SystemCodeInfo {
|
|
2
|
+
sysCd: string | null;
|
|
3
|
+
appItCd: string | null;
|
|
4
|
+
appCd: string | null;
|
|
5
|
+
systemNm: string | null;
|
|
6
|
+
appNm: string | null;
|
|
7
|
+
}
|
|
8
|
+
export interface SystemStoreState {
|
|
9
|
+
systemMap: SystemCodeInfo[];
|
|
10
|
+
fetchSystemMap: () => Promise<void>;
|
|
11
|
+
setSystemMap: (list: SystemCodeInfo[]) => void;
|
|
12
|
+
/** 조건에 따라 필터링하여 배열 반환 */
|
|
13
|
+
filterSystemMap: (criteria: Partial<SystemCodeInfo>) => SystemCodeInfo[];
|
|
14
|
+
getBySysCd: (sysCd: string) => SystemCodeInfo[];
|
|
15
|
+
getByAppItCd: (appItCd: string) => SystemCodeInfo[];
|
|
16
|
+
findByAppCd: (appCd: string) => SystemCodeInfo | undefined;
|
|
17
|
+
clearSystemMap: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare const useSystemStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<SystemStoreState>, "setState" | "persist"> & {
|
|
20
|
+
setState(partial: SystemStoreState | Partial<SystemStoreState> | ((state: SystemStoreState) => SystemStoreState | Partial<SystemStoreState>), replace?: false | undefined): unknown;
|
|
21
|
+
setState(state: SystemStoreState | ((state: SystemStoreState) => SystemStoreState), replace: true): unknown;
|
|
22
|
+
persist: {
|
|
23
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SystemStoreState, SystemStoreState, unknown>>) => void;
|
|
24
|
+
clearStorage: () => void;
|
|
25
|
+
rehydrate: () => Promise<void> | void;
|
|
26
|
+
hasHydrated: () => boolean;
|
|
27
|
+
onHydrate: (fn: (state: SystemStoreState) => void) => () => void;
|
|
28
|
+
onFinishHydration: (fn: (state: SystemStoreState) => void) => () => void;
|
|
29
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<SystemStoreState, SystemStoreState, unknown>>;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=systemStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemStore.d.ts","sourceRoot":"","sources":["../../src/stores/systemStore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC/C,yBAAyB;IACzB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,cAAc,EAAE,CAAC;IAEzE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;IAEhD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;IAEpD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;IAE3D,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;EAka1B,CAAC"}
|
|
@@ -22,9 +22,9 @@ export interface HrInfo {
|
|
|
22
22
|
export interface UserStore {
|
|
23
23
|
user: UserInfo | null;
|
|
24
24
|
hrInfo: HrInfo | null;
|
|
25
|
-
isLoggedIn: boolean;
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
isLoggedIn: () => boolean;
|
|
26
|
+
setLoginUser: (user: UserInfo, hrInfo?: HrInfo) => void;
|
|
27
|
+
clearLoginUser: () => void;
|
|
28
28
|
updateUser: (userData: Partial<UserInfo>, hrInfoData: Partial<HrInfo>) => void;
|
|
29
29
|
}
|
|
30
30
|
export declare const useUserStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<UserStore>, "setState" | "persist"> & {
|
|
@@ -34,7 +34,7 @@ export declare const useUserStore: import('zustand').UseBoundStore<Omit<import('
|
|
|
34
34
|
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<UserStore, {
|
|
35
35
|
user: UserInfo | null;
|
|
36
36
|
hrInfo: HrInfo | null;
|
|
37
|
-
isLoggedIn: boolean;
|
|
37
|
+
isLoggedIn: () => boolean;
|
|
38
38
|
}, unknown>>) => void;
|
|
39
39
|
clearStorage: () => void;
|
|
40
40
|
rehydrate: () => Promise<void> | void;
|
|
@@ -44,7 +44,7 @@ export declare const useUserStore: import('zustand').UseBoundStore<Omit<import('
|
|
|
44
44
|
getOptions: () => Partial<import('zustand/middleware').PersistOptions<UserStore, {
|
|
45
45
|
user: UserInfo | null;
|
|
46
46
|
hrInfo: HrInfo | null;
|
|
47
|
-
isLoggedIn: boolean;
|
|
47
|
+
isLoggedIn: () => boolean;
|
|
48
48
|
}, unknown>>;
|
|
49
49
|
};
|
|
50
50
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userStore.d.ts","sourceRoot":"","sources":["../../src/stores/userStore.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"userStore.d.ts","sourceRoot":"","sources":["../../src/stores/userStore.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAGD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,CACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KACxB,IAAI,CAAC;CACX;AAGD,eAAO,MAAM,YAAY;;;;;;;8BAVL,OAAO;;;;;;;;;;8BAAP,OAAO;;;EAyD1B,CAAC"}
|
package/dist/utils/apiUtils.d.ts
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import { AxiosResponse } from 'axios';
|
|
2
|
-
/**
|
|
3
|
-
* 클라이언트 IP 설정 (초기화 시에만 사용)
|
|
4
|
-
* @param ip - 클라이언트 IP 주소
|
|
5
|
-
*/
|
|
6
|
-
export declare const setClientIp: (ip?: string) => Promise<void>;
|
|
7
|
-
/**
|
|
8
|
-
* 클라이언트 IP 가져오기 (읽기 전용)
|
|
9
|
-
* @returns 클라이언트 IP 주소 또는 null
|
|
10
|
-
*/
|
|
11
|
-
export declare const getClientIp: () => string | null;
|
|
12
|
-
/**
|
|
13
|
-
* 서버에서 실제 클라이언트 IP 확인 (보안 강화)
|
|
14
|
-
* @returns Promise<string> - 서버가 확인한 실제 IP
|
|
15
|
-
*/
|
|
16
|
-
export declare const verifyClientIp: () => Promise<string>;
|
|
17
2
|
export interface ApiResponse<T = any> {
|
|
18
3
|
success: boolean;
|
|
19
4
|
data?: T;
|
|
@@ -34,6 +19,28 @@ export interface ApiOptions {
|
|
|
34
19
|
retryCount?: number;
|
|
35
20
|
retryDelay?: number;
|
|
36
21
|
}
|
|
22
|
+
export interface PermissionInfo {
|
|
23
|
+
commonButtons: Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
type: 'primary' | 'default' | 'dashed' | 'link' | 'text';
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
visible?: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
customButtonGroups: {
|
|
31
|
+
[groupId: string]: {
|
|
32
|
+
[buttonId: string]: {
|
|
33
|
+
label: string;
|
|
34
|
+
type: 'primary' | 'default' | 'dashed' | 'link' | 'text';
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
visible?: boolean;
|
|
37
|
+
isHeader?: boolean;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
hasAccess: boolean;
|
|
42
|
+
errorMessage?: string;
|
|
43
|
+
}
|
|
37
44
|
/**
|
|
38
45
|
* 사용자 정의 API 에러 클래스
|
|
39
46
|
* @param {string} message - 기본 에러 메시지 (basicMsg)
|
|
@@ -48,27 +55,12 @@ export declare class ApiError extends Error {
|
|
|
48
55
|
errorType?: string;
|
|
49
56
|
constructor(message: string, detailMsg: string, response?: AxiosResponse, msgCd?: string, errorType?: string);
|
|
50
57
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* @param data - 요청 데이터 (GET 요청 시 params로 사용)
|
|
55
|
-
* @param options - 옵션 파라미터 (선택사항)
|
|
56
|
-
* @returns Promise<ApiResponse<T>>
|
|
57
|
-
*/
|
|
58
|
-
export declare const callService: <T = any>(trxCd: string, data?: any, options?: ApiOptions) => Promise<T>;
|
|
59
|
-
/**
|
|
60
|
-
* Tomcat WAS와 통신하는 범용 API 호출 함수
|
|
61
|
-
* @param trxCd - 거래코드드
|
|
62
|
-
* @param data - 요청 데이터 (GET 요청 시 params로 사용)
|
|
63
|
-
* @param options - 옵션 파라미터 (선택사항)
|
|
64
|
-
* @returns Promise<ApiResponse<T>>
|
|
65
|
-
*/
|
|
66
|
-
export declare const callService_SYSCD: <T = any>(_sysCd: string, trxCd: string, data?: any, options?: ApiOptions) => Promise<T>;
|
|
58
|
+
export declare const setClientIp: (ip?: string) => Promise<void>;
|
|
59
|
+
export declare const getClientIp: () => string | null;
|
|
60
|
+
export declare const verifyClientIp: () => Promise<string>;
|
|
67
61
|
export declare const apiGet: <T = any>(trxCd: string, params?: any, options?: ApiOptions) => Promise<T>;
|
|
68
|
-
export declare const
|
|
69
|
-
export declare const
|
|
70
|
-
export declare const apiDelete: <T = any>(trxCd: string, data?: any, options?: ApiOptions) => Promise<T>;
|
|
71
|
-
export declare const apiPatch: <T = any>(trxCd: string, data?: any, options?: ApiOptions) => Promise<T>;
|
|
62
|
+
export declare const callService: <T = any>(trxCd: string, data?: any, options?: ApiOptions, appCd?: string) => Promise<T>;
|
|
63
|
+
export declare const callServiceBySysCd: <T = any>(trxCd: string, data?: any, options?: ApiOptions, appCd?: string) => Promise<T>;
|
|
72
64
|
/**
|
|
73
65
|
* 권한 확인 서비스
|
|
74
66
|
* @param userId 사용자 ID
|
|
@@ -77,29 +69,4 @@ export declare const apiPatch: <T = any>(trxCd: string, data?: any, options?: Ap
|
|
|
77
69
|
* @returns 권한 정보
|
|
78
70
|
*/
|
|
79
71
|
export declare const getPermissionService: (userId: string, menuId: string, popupId?: string) => Promise<any>;
|
|
80
|
-
/**
|
|
81
|
-
* 권한 정보 타입
|
|
82
|
-
*/
|
|
83
|
-
export interface PermissionInfo {
|
|
84
|
-
commonButtons: Array<{
|
|
85
|
-
id: string;
|
|
86
|
-
label: string;
|
|
87
|
-
type: 'primary' | 'default' | 'dashed' | 'link' | 'text';
|
|
88
|
-
disabled?: boolean;
|
|
89
|
-
visible?: boolean;
|
|
90
|
-
}>;
|
|
91
|
-
customButtonGroups: {
|
|
92
|
-
[groupId: string]: {
|
|
93
|
-
[buttonId: string]: {
|
|
94
|
-
label: string;
|
|
95
|
-
type: 'primary' | 'default' | 'dashed' | 'link' | 'text';
|
|
96
|
-
disabled?: boolean;
|
|
97
|
-
visible?: boolean;
|
|
98
|
-
isHeader?: boolean;
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
hasAccess: boolean;
|
|
103
|
-
errorMessage?: string;
|
|
104
|
-
}
|
|
105
72
|
//# sourceMappingURL=apiUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/apiUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/gwUtils.d.ts
CHANGED
|
@@ -12,12 +12,13 @@ export interface SubmitGwApprovalOptions {
|
|
|
12
12
|
openDraft?: boolean;
|
|
13
13
|
draftUrlBase?: string;
|
|
14
14
|
windowFeatures?: string;
|
|
15
|
+
fetchFilesTrxCd?: string;
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* 업로드(SFTP) → 서비스호출 → 기안창 오픈까지 한 번에 처리하는 공통 함수
|
|
18
19
|
* @param data 서비스 호출에 포함될 데이터(aprvKey 포함 가능)
|
|
19
|
-
* @param
|
|
20
|
+
* @param fileGrpKey 업로드할 파일그룹 키
|
|
20
21
|
* @param options 동작 옵션
|
|
21
22
|
*/
|
|
22
|
-
export declare const submitGwApproval: (data?: Record<string, any> | null,
|
|
23
|
+
export declare const submitGwApproval: (data?: Record<string, any> | null, fileGrpKey?: string | null, options?: SubmitGwApprovalOptions) => Promise<any>;
|
|
23
24
|
//# sourceMappingURL=gwUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,iBAwGjD,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"gwUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gwUtils.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,GAAG,iBAwGjD,CAAC;AAGF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,aAAa,MAAM,GAAG,IAAI,EAC1B,UAAU,uBAAuB,iBA2GlC,CAAC"}
|
package/dist/utils/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ie=require("axios"),N=require("../chunks/common-components-CoRIM-Z-.cjs"),$=require("dayjs"),k=require("antd"),_=require("../stores/index.cjs"),Te={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101"};let z={};function ke(e){z=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function ce(e){return z[e]&&z[e].trim()!==""?z[e]:Te[e]}function ue(){const e={};for(const t of Object.keys(Te))e[t]=ce(t);return e}function Ue(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=ue();for(const[t,r]of Object.entries(e)){const o=z[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const Ee=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:ue,getServiceCode:ce,logServiceCodeConfig:Ue,setServiceCodeOverrides:ke},Symbol.toStringTag,{value:"Module"})),le=()=>_.useUserStore.getState().user?.crprCd||null,de=()=>{const e=_.useUserStore.getState().user;return _.useUserStore.getState().hrInfo?.empNo||e?.userId||null},fe=()=>_.useUserStore.getState().user?.userNm||null,Oe=()=>_.useUserStore.getState().user?.userDvsn||null,Ie=()=>_.useUserStore.getState().user?.emplNo||null,he=()=>{const e=_.useUserStore.getState().hrInfo,t=_.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},me=()=>_.useUserStore.getState().user?.dprtNm||null,W=()=>_.useUserStore.getState().user?.roleList||null,Ne=e=>{const t=W();return t?t.includes(e):!1},Ye=e=>{const t=W();return t?e.some(r=>t.includes(r)):!1},Ae=e=>{const t=W();return t?e.every(r=>t.includes(r)):!1},Be=()=>_.useUserStore.getState().isLoggedIn,P=()=>_.useUserStore.getState().user,Pe=()=>P()!==null,Le=()=>{const e=fe(),t=de();return e||t||null},Re=()=>{const e=me(),t=he();return e||(t?String(t):null)},L=()=>_.useUserStore.getState().hrInfo,Fe=()=>L()?.jbpsCd||null,He=()=>L()?.jbgdCd||null,je=()=>L()?.jbdtCd||null,ze=()=>L()?.jbkdCd||null,Ve=()=>L()?.wkplCd||null,We=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:le,getDepartmentInfo:Re,getDisplayName:Le,getDprtCd:he,getDprtNm:me,getEmplNo:Ie,getHrInfo:L,getJbdtCd:je,getJbgdCd:He,getJbkdCd:ze,getJbpsCd:Fe,getRoleList:W,getUserDvsn:Oe,getUserId:de,getUserInfo:P,getUserNm:fe,getWkplCd:Ve,hasAllRoles:Ae,hasAnyRole:Ye,hasRole:Ne,hasUserInfo:Pe,isLoggedIn:Be},Symbol.toStringTag,{value:"Module"}));var G={exports:{}};function Rr(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var J={exports:{}};const Fr={},Hr=Object.freeze(Object.defineProperty({__proto__:null,default:Fr},Symbol.toStringTag,{value:"Module"})),jr=N.getAugmentedNamespace(Hr);var zr=J.exports,xe;function qe(){return xe||(xe=1,(function(e,t){(function(r,o){e.exports=o()})(zr,function(){var r=r||(function(o,l){var m;if(typeof window<"u"&&window.crypto&&(m=window.crypto),typeof self<"u"&&self.crypto&&(m=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(m=globalThis.crypto),!m&&typeof window<"u"&&window.msCrypto&&(m=window.msCrypto),!m&&typeof N.commonjsGlobal<"u"&&N.commonjsGlobal.crypto&&(m=N.commonjsGlobal.crypto),!m&&typeof Rr=="function")try{m=jr}catch{}var S=function(){if(m){if(typeof m.getRandomValues=="function")try{return m.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof m.randomBytes=="function")try{return m.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},M=Object.create||(function(){function n(){}return function(i){var h;return n.prototype=i,h=new n,n.prototype=null,h}})(),g={},v=g.lib={},p=v.Base=(function(){return{extend:function(n){var i=M(this);return n&&i.mixIn(n),(!i.hasOwnProperty("init")||this.init===i.init)&&(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),f=v.WordArray=p.extend({init:function(n,i){n=this.words=n||[],i!=l?this.sigBytes=i:this.sigBytes=n.length*4},toString:function(n){return(n||a).stringify(this)},concat:function(n){var i=this.words,h=n.words,y=this.sigBytes,C=n.sigBytes;if(this.clamp(),y%4)for(var x=0;x<C;x++){var b=h[x>>>2]>>>24-x%4*8&255;i[y+x>>>2]|=b<<24-(y+x)%4*8}else for(var D=0;D<C;D+=4)i[y+D>>>2]=h[D>>>2];return this.sigBytes+=C,this},clamp:function(){var n=this.words,i=this.sigBytes;n[i>>>2]&=4294967295<<32-i%4*8,n.length=o.ceil(i/4)},clone:function(){var n=p.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var i=[],h=0;h<n;h+=4)i.push(S());return new f.init(i,n)}}),c=g.enc={},a=c.Hex={stringify:function(n){for(var i=n.words,h=n.sigBytes,y=[],C=0;C<h;C++){var x=i[C>>>2]>>>24-C%4*8&255;y.push((x>>>4).toString(16)),y.push((x&15).toString(16))}return y.join("")},parse:function(n){for(var i=n.length,h=[],y=0;y<i;y+=2)h[y>>>3]|=parseInt(n.substr(y,2),16)<<24-y%8*4;return new f.init(h,i/2)}},u=c.Latin1={stringify:function(n){for(var i=n.words,h=n.sigBytes,y=[],C=0;C<h;C++){var x=i[C>>>2]>>>24-C%4*8&255;y.push(String.fromCharCode(x))}return y.join("")},parse:function(n){for(var i=n.length,h=[],y=0;y<i;y++)h[y>>>2]|=(n.charCodeAt(y)&255)<<24-y%4*8;return new f.init(h,i)}},s=c.Utf8={stringify:function(n){try{return decodeURIComponent(escape(u.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return u.parse(unescape(encodeURIComponent(n)))}},d=v.BufferedBlockAlgorithm=p.extend({reset:function(){this._data=new f.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var i,h=this._data,y=h.words,C=h.sigBytes,x=this.blockSize,b=x*4,D=C/b;n?D=o.ceil(D):D=o.max((D|0)-this._minBufferSize,0);var U=D*x,E=o.min(U*4,C);if(U){for(var j=0;j<U;j+=x)this._doProcessBlock(y,j);i=y.splice(0,U),h.sigBytes-=E}return new f.init(i,E)},clone:function(){var n=p.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});v.Hasher=d.extend({cfg:p.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var i=this._doFinalize();return i},blockSize:16,_createHelper:function(n){return function(i,h){return new n.init(h).finalize(i)}},_createHmacHelper:function(n){return function(i,h){return new w.HMAC.init(n,h).finalize(i)}}});var w=g.algo={};return g})(Math);return r})})(J)),J.exports}var Vr=G.exports,Me;function Wr(){return Me||(Me=1,(function(e,t){(function(r,o){e.exports=o(qe())})(Vr,function(r){return(function(o){var l=r,m=l.lib,S=m.WordArray,M=m.Hasher,g=l.algo,v=[],p=[];(function(){function a(w){for(var n=o.sqrt(w),i=2;i<=n;i++)if(!(w%i))return!1;return!0}function u(w){return(w-(w|0))*4294967296|0}for(var s=2,d=0;d<64;)a(s)&&(d<8&&(v[d]=u(o.pow(s,1/2))),p[d]=u(o.pow(s,1/3)),d++),s++})();var f=[],c=g.SHA256=M.extend({_doReset:function(){this._hash=new S.init(v.slice(0))},_doProcessBlock:function(a,u){for(var s=this._hash.words,d=s[0],w=s[1],n=s[2],i=s[3],h=s[4],y=s[5],C=s[6],x=s[7],b=0;b<64;b++){if(b<16)f[b]=a[u+b]|0;else{var D=f[b-15],U=(D<<25|D>>>7)^(D<<14|D>>>18)^D>>>3,E=f[b-2],j=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10;f[b]=U+f[b-7]+j+f[b-16]}var Yr=h&y^~h&C,Ar=d&w^d&n^w&n,Br=(d<<30|d>>>2)^(d<<19|d>>>13)^(d<<10|d>>>22),Pr=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),Ce=x+Pr+Yr+p[b]+f[b],Lr=Br+Ar;x=C,C=y,y=h,h=i+Ce|0,i=n,n=w,w=d,d=Ce+Lr|0}s[0]=s[0]+d|0,s[1]=s[1]+w|0,s[2]=s[2]+n|0,s[3]=s[3]+i|0,s[4]=s[4]+h|0,s[5]=s[5]+y|0,s[6]=s[6]+C|0,s[7]=s[7]+x|0},_doFinalize:function(){var a=this._data,u=a.words,s=this._nDataBytes*8,d=a.sigBytes*8;return u[d>>>5]|=128<<24-d%32,u[(d+64>>>9<<4)+14]=o.floor(s/4294967296),u[(d+64>>>9<<4)+15]=s,a.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var a=M.clone.call(this);return a._hash=this._hash.clone(),a}});l.SHA256=M._createHelper(c),l.HmacSHA256=M._createHmacHelper(c)})(Math),r.SHA256})})(G)),G.exports}var qr=Wr();const Kr=N.getDefaultExportFromCjs(qr);var Z={exports:{}},Gr=Z.exports,be;function Jr(){return be||(be=1,(function(e,t){(function(r,o){e.exports=o(qe())})(Gr,function(r){return(function(){var o=r,l=o.lib,m=l.WordArray,S=o.enc;S.Base64={stringify:function(g){var v=g.words,p=g.sigBytes,f=this._map;g.clamp();for(var c=[],a=0;a<p;a+=3)for(var u=v[a>>>2]>>>24-a%4*8&255,s=v[a+1>>>2]>>>24-(a+1)%4*8&255,d=v[a+2>>>2]>>>24-(a+2)%4*8&255,w=u<<16|s<<8|d,n=0;n<4&&a+n*.75<p;n++)c.push(f.charAt(w>>>6*(3-n)&63));var i=f.charAt(64);if(i)for(;c.length%4;)c.push(i);return c.join("")},parse:function(g){var v=g.length,p=this._map,f=this._reverseMap;if(!f){f=this._reverseMap=[];for(var c=0;c<p.length;c++)f[p.charCodeAt(c)]=c}var a=p.charAt(64);if(a){var u=g.indexOf(a);u!==-1&&(v=u)}return M(g,v,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function M(g,v,p){for(var f=[],c=0,a=0;a<v;a++)if(a%4){var u=p[g.charCodeAt(a-1)]<<a%4*2,s=p[g.charCodeAt(a)]>>>6-a%4*2,d=u|s;f[c>>>2]|=d<<24-c%4*8,c++}return m.create(f,c)}})(),r.enc.Base64})})(Z)),Z.exports}var Zr=Jr();const Xr=N.getDefaultExportFromCjs(Zr);var X={exports:{}},Qr=X.exports,De;function eo(){return De||(De=1,(function(e,t){(function(r,o){e.exports=o()})(Qr,(function(){return function(r,o,l){r=r||{};var m=o.prototype,S={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function M(v,p,f,c){return m.fromToBase(v,p,f,c)}l.en.relativeTime=S,m.fromToBase=function(v,p,f,c,a){for(var u,s,d,w=f.$locale().relativeTime||S,n=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],i=n.length,h=0;h<i;h+=1){var y=n[h];y.d&&(u=c?l(v).diff(f,y.d,!0):f.diff(v,y.d,!0));var C=(r.rounding||Math.round)(Math.abs(u));if(d=u>0,C<=y.r||!y.r){C<=1&&h>0&&(y=n[h-1]);var x=w[y.l];a&&(C=a(""+C)),s=typeof x=="string"?x.replace("%d",C):x(C,p,y.l,d);break}}if(p)return s;var b=d?w.future:w.past;return typeof b=="function"?b(s):b.replace("%s",s)},m.to=function(v,p){return M(v,p,this,!0)},m.from=function(v,p){return M(v,p,this)};var g=function(v){return v.$u?l.utc():l()};m.toNow=function(v){return this.to(g(this),v)},m.fromNow=function(v){return this.from(g(this),v)}}}))})(X)),X.exports}var to=eo();const ro=N.getDefaultExportFromCjs(to);var Q={exports:{}},oo=Q.exports,_e;function so(){return _e||(_e=1,(function(e,t){(function(r,o){e.exports=o()})(oo,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(l,m,S){var M,g=function(c,a,u){u===void 0&&(u={});var s=new Date(c),d=(function(w,n){n===void 0&&(n={});var i=n.timeZoneName||"short",h=w+"|"+i,y=o[h];return y||(y=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:w,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),o[h]=y),y})(a,u);return d.formatToParts(s)},v=function(c,a){for(var u=g(c,a),s=[],d=0;d<u.length;d+=1){var w=u[d],n=w.type,i=w.value,h=r[n];h>=0&&(s[h]=parseInt(i,10))}var y=s[3],C=y===24?0:y,x=s[0]+"-"+s[1]+"-"+s[2]+" "+C+":"+s[4]+":"+s[5]+":000",b=+c;return(S.utc(x).valueOf()-(b-=b%1e3))/6e4},p=m.prototype;p.tz=function(c,a){c===void 0&&(c=M);var u,s=this.utcOffset(),d=this.toDate(),w=d.toLocaleString("en-US",{timeZone:c}),n=Math.round((d-new Date(w))/1e3/60),i=15*-Math.round(d.getTimezoneOffset()/15)-n;if(!Number(i))u=this.utcOffset(0,a);else if(u=S(w,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(i,!0),a){var h=u.utcOffset();u=u.add(s-h,"minute")}return u.$x.$timezone=c,u},p.offsetName=function(c){var a=this.$x.$timezone||S.tz.guess(),u=g(this.valueOf(),a,{timeZoneName:c}).find((function(s){return s.type.toLowerCase()==="timezonename"}));return u&&u.value};var f=p.startOf;p.startOf=function(c,a){if(!this.$x||!this.$x.$timezone)return f.call(this,c,a);var u=S(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return f.call(u,c,a).tz(this.$x.$timezone,!0)},S.tz=function(c,a,u){var s=u&&a,d=u||a||M,w=v(+S(),d);if(typeof c!="string")return S(c).tz(d);var n=(function(C,x,b){var D=C-60*x*1e3,U=v(D,b);if(x===U)return[D,x];var E=v(D-=60*(U-x)*1e3,b);return U===E?[D,U]:[C-60*Math.min(U,E)*1e3,Math.max(U,E)]})(S.utc(c,s).valueOf(),w,d),i=n[0],h=n[1],y=S(i).utcOffset(h);return y.$x.$timezone=d,y},S.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},S.tz.setDefault=function(c){M=c}}}))})(Q)),Q.exports}var no=so();const ao=N.getDefaultExportFromCjs(no);var ee={exports:{}},io=ee.exports,$e;function co(){return $e||($e=1,(function(e,t){(function(r,o){e.exports=o()})(io,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,l=/([+-]|\d\d)/g;return function(m,S,M){var g=S.prototype;M.utc=function(s){var d={date:s,utc:!0,args:arguments};return new S(d)},g.utc=function(s){var d=M(this.toDate(),{locale:this.$L,utc:!0});return s?d.add(this.utcOffset(),r):d},g.local=function(){return M(this.toDate(),{locale:this.$L,utc:!1})};var v=g.parse;g.parse=function(s){s.utc&&(this.$u=!0),this.$utils().u(s.$offset)||(this.$offset=s.$offset),v.call(this,s)};var p=g.init;g.init=function(){if(this.$u){var s=this.$d;this.$y=s.getUTCFullYear(),this.$M=s.getUTCMonth(),this.$D=s.getUTCDate(),this.$W=s.getUTCDay(),this.$H=s.getUTCHours(),this.$m=s.getUTCMinutes(),this.$s=s.getUTCSeconds(),this.$ms=s.getUTCMilliseconds()}else p.call(this)};var f=g.utcOffset;g.utcOffset=function(s,d){var w=this.$utils().u;if(w(s))return this.$u?0:w(this.$offset)?f.call(this):this.$offset;if(typeof s=="string"&&(s=(function(y){y===void 0&&(y="");var C=y.match(o);if(!C)return null;var x=(""+C[0]).match(l)||["-",0,0],b=x[0],D=60*+x[1]+ +x[2];return D===0?0:b==="+"?D:-D})(s),s===null))return this;var n=Math.abs(s)<=16?60*s:s,i=this;if(d)return i.$offset=n,i.$u=s===0,i;if(s!==0){var h=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(i=this.local().add(n+h,r)).$offset=n,i.$x.$localOffset=h}else i=this.utc();return i};var c=g.format;g.format=function(s){var d=s||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,d)},g.valueOf=function(){var s=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*s},g.isUTC=function(){return!!this.$u},g.toISOString=function(){return this.toDate().toISOString()},g.toString=function(){return this.toDate().toUTCString()};var a=g.toDate;g.toDate=function(s){return s==="s"&&this.$offset?M(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():a.call(this)};var u=g.diff;g.diff=function(s,d,w){if(s&&this.$u===s.$u)return u.call(this,s,d,w);var n=this.local(),i=M(s).local();return u.call(n,i,d,w)}}}))})(ee)),ee.exports}var uo=co();const lo=N.getDefaultExportFromCjs(uo),Ke="ui_theme",Ge=e=>typeof e=="string",Je=e=>typeof e=="number"&&!isNaN(e),Ze=e=>typeof e=="boolean",Xe=e=>typeof e=="function",Qe=e=>e!==null&&typeof e=="object",et=e=>Array.isArray(e),tt=e=>e===null,rt=e=>e===void 0,ot=e=>e==null,st=(e,t)=>{let r=0;return(...o)=>{const l=Date.now();l-r>=t&&(r=l,e(...o))}},nt=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},at=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},q=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},it=()=>q()==="mobile",ct=()=>q()==="tablet",ut=()=>q()==="desktop",lt=()=>"#"+Math.floor(Math.random()*16777215).toString(16),K=e=>!e||e.length===0,dt=e=>[...new Set(e)],ft=e=>{if(!K(e))return Math.max(...e)},ht=e=>{if(!K(e))return Math.min(...e)},mt=e=>{if(!K(e))return e.reduce((t,r)=>t+r,0)/e.length},gt=e=>e.reduce((t,r)=>t+r,0),pt=(e,t)=>e.filter(t).length,yt=e=>[...e].reverse(),vt=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},wt=(e,t)=>Math.random()*(t-e)+e,St=(e,t,r)=>Math.min(Math.max(e,t),r),Ct=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),xt=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},Mt=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},bt=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},Dt=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},_t=(e,t,r=30)=>{const o=new Date;o.setTime(o.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${o.toUTCString()};path=/`},$t=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let l=r[o];for(;l.charAt(0)===" ";)l=l.substring(1,l.length);if(l.indexOf(t)===0)return l.substring(t.length,l.length)}return null},Tt=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},ge=e=>typeof e!="string"?!e:e.trim().length===0,kt=(e,t)=>ge(e)?t:e||"",Ut=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),Et=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Ot=e=>{try{return new URL(e),!0}catch{return!1}},It=(e,t,r=" ")=>e.padStart(t,r),Nt=(e,t,r=" ")=>e.padEnd(t,r),pe=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},fo=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),re=(e=32)=>{const r=fo().replace(/-/g,"");return e>=32?r+pe(e-32,"0123456789abcdef"):r.substring(0,e)};async function Yt(e){return Kr(e).toString(Xr)}$.extend(ro);$.extend(lo);$.extend(ao);$.locale("ko");const Y="YYYYMMDD",At=()=>$(),ye=(e=Y)=>$().format(e),Bt=e=>$(e,Y,!0).isValid(),Pt=e=>$(e,"YYYY",!0).isValid(),Lt=e=>$(e,"YYYYMM",!0).isValid(),Rt=e=>$(e,"YYYYMMDDHHmmss",!0).isValid(),Ft=(e,t="CM")=>{let r="";return t=="CM"?r="YYYYMMDD":t=="C"?r="YYYY.MM.DD":t=="H"?r="YYYY년 MM월 DD일":t=="D"?r="YYYY-MM-DD":t=="S"?r="YYYY/MM/DD":t=="M"?r="YYYY-MM":t=="YM"?r="YYYY년 MM월":t=="DT"?r="YYYY-MM-DD HH:mm:ss":t=="T"?r="HH:mm:ss":t=="HM"&&(r="HH:mm"),$(e).format(r)},Ht=(e,t="month")=>$(e).endOf(t).format(Y),jt=(e,t="month")=>$(e).startOf(t).format(Y),zt=(e,t)=>$(e).add(t,"month").format(Y),Vt=(e,t)=>$(e).add(t,"day").format(Y),Wt=(e,t)=>$(e).diff(t,"day"),qt=(e=Y)=>{const t=$(e),r=$();let o=r.year()-t.year();return(r.month()<t.month()||r.month()===t.month()&&r.date()<t.date())&&o--,o},Kt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_DATE_FORMAT:Y,THEME_COOKIE_NAME:Ke,addDays:Vt,addMonths:zt,arrAverage:mt,arrCount:pt,arrMax:ft,arrMin:ht,arrReverse:yt,arrSum:gt,arrUnique:dt,clamp:St,clearSessionStorage:Dt,copyToClipboard:at,datetimeFormat:Ft,debounce:nt,deleteCookie:Tt,diffDays:Wt,duplicates:vt,encryptSha256:Yt,generateRandomColor:lt,generateRandomString:pe,generateUID:re,getAge:qt,getCookie:$t,getCurrentDate:At,getCurrentDateString:ye,getDeviceType:q,getLastDateByDiv:Ht,getSessionStorage:Mt,getStartDateByDiv:jt,isArray:et,isBoolean:Ze,isDesktop:ut,isEmpty:ge,isEmptyArray:K,isFunction:Xe,isMobile:it,isNull:tt,isNullOrUndefined:ot,isNumber:Je,isObject:Qe,isSafeEmpty:kt,isString:Ge,isTablet:ct,isUndefined:rt,isValidDate:Bt,isValidDateTime:Rt,isValidEmail:Et,isValidUrl:Ot,isValidYear:Pt,isValidYearMonth:Lt,padLeft:It,padRight:Nt,random:wt,removeSessionStorage:bt,round:Ct,setCookie:_t,setSessionStorage:xt,throttle:st,toCamelCase:Ut},Symbol.toStringTag,{value:"Module"})),F=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let Gt=[],Jt=[];function Zt(e){e.devHosts&&(Gt=e.devHosts),e.prodHosts&&(Jt=e.prodHosts)}function Xt(){if(typeof window<"u"&&window.location)return window.location.hostname}const ve=(()=>{const e=Xt();return!!(e&&Gt.includes(e))})(),we=(()=>{const e=Xt();return!!(e&&Jt.includes(e))})();function Qt(){return F?"X":ve?"D":we?"P":"X"}const er=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Zt,getEnvCode:Qt,isDev:ve,isLocal:F,isProd:we},Symbol.toStringTag,{value:"Module"})),O={duration:4.5,placement:"topRight"};class R{constructor(){}static getInstance(){return R.instance||(R.instance=new R),R.instance}showBwgError(t){const{message:r,description:o,duration:l=O.duration,placement:m=O.placement}=t;k.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:l,placement:m,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){k.notification.success({message:`${t}`,description:r,duration:o||O.duration,placement:O.placement})}showInfo(t,r,o){k.notification.info({message:`${t}`,description:r,duration:o||O.duration,placement:O.placement})}showWarning(t,r,o){k.notification.warning({message:`${t}`,description:r,duration:o||O.duration,placement:O.placement})}showError(t,r,o){k.notification.error({message:`${t}`,description:r,duration:o||O.duration,placement:O.placement})}destroy(){k.notification.destroy()}close(t){k.notification.destroy()}}const A=R.getInstance(),oe=e=>{A.showBwgError(e)},tr=(e,t,r)=>{A.showSuccess(e,t,r)},se=(e,t,r)=>{A.showInfo(e,t,r)},ne=(e,t,r)=>{A.showWarning(e,t,r)},rr=(e,t,r)=>{A.showError(e,t,r)},or=()=>{A.destroy()},sr=e=>{A.close(e)},nr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:sr,destroyNotifications:or,notiBwgError:oe,notiError:rr,notiInfo:se,notiSuccess:tr,notiWarning:ne,notificationService:A},Symbol.toStringTag,{value:"Module"}));let I=null;const ae=async e=>{if(I===null)if(e===void 0)try{let r=(await ie.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),I=r}catch(t){console.warn("IP 가져오기 실패:",t),I="unknown"}else I=e},ar=()=>I,ir=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),I||"unknown");class T extends Error{constructor(t,r,o,l,m){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=l,this.errorType=m,Error.captureStackTrace&&Error.captureStackTrace(this,T)}}const te={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},V=ie.create({timeout:te.timeout,withCredentials:te.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":re()}});V.interceptors.request.use(e=>{e.showLoading&&!e.isPopup&&_.useLoadingStore.getState().showLoading(),e.showLoading&&e.isPopup&&_.usePopupLoadingStore.getState().showLoading();let t="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?t=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(t=e.params.header.trxCd||"UNKNOWN")}catch(o){console.warn("trxCd/guid 추출 실패:",o)}e.trxCd=t,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${P()?.userId}]`);const r=localStorage.getItem("accessToken");return r&&(e.headers.Authorization=`Bearer ${r}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));V.interceptors.response.use(e=>{e.config.showLoading&&!e.config.isPopup&&_.useLoadingStore.getState().hideLoading(),e.config.isPopup&&_.usePopupLoadingStore.getState().hideLoading();let t="UNKNOWN",r="UNKNOWN";const o=new Date().getTime();try{e.config.trxCd&&(t=e.config.trxCd),e.config.guid?r=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(t=e.data.header.trxCd,r=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(t=e.config.data.header.trxCd||"UNKNOWN",r=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(t=e.config.params.header.trxCd||"UNKNOWN",r=e.config.params.header.guid||"UNKNOWN")}catch(m){console.warn("trxCd/guid 추출 실패:",m)}let l=0;return e.config.requestStartTime&&(l=o-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${l}ms)`),e},async e=>{if(e.config&&e.config.showLoading&&!e.config.isPopup&&_.useLoadingStore.getState().hideLoading(),e.config&&e.config.isPopup&&_.usePopupLoadingStore.getState().hideLoading(),console.error("❌ API 응답 에러:",e),F&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const t=localStorage.getItem("refreshToken");if(t)try{const r=await ie.post("/auth/refresh",{refreshToken:t});if(r.data.accessToken){localStorage.setItem("accessToken",r.data.accessToken);const o=e.config;if(o)return o.headers.Authorization=`Bearer ${r.data.accessToken}`,V(o)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const B=async(e,t,r)=>{try{const o={...te,...r},{activeMenuId:l}=_.useMenuViewStore.getState();if(I===null){const f=Date.now();await ae();const c=Date.now();console.log(`[INFO] IP 조회 소요시간: ${c-f}ms`)}const m={method:o.method,url:"/api/service",timeout:o.timeout,withCredentials:o.withCredentials,showLoading:o.showLoading,isPopup:o.isPopup};o.headers&&(m.headers=o.headers);const S=I||"unknown",M=__APP_CD__,g=__SYS_CD__,v={header:{trxCd:e,userInfo:P(),clientIp:S,domainId:"DEFAULT",appCd:M,sysCd:g,screenId:l},data:t};o.method==="GET"?m.params=v||o.params:(m.data=v||o.data,o.params&&(m.params=o.params));let p;for(let f=0;f<=(o.retryCount||0);f++)try{const c=await V(m);if(c.data.header?.resCd==0){for(const a in c.data)if(a!=="header")return c.data[a];return{}}else{const a=c.data.header,u=a?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",s=a?.msgs?.detailMsgs||u,d=a?.msgCd,w=a?.msgs?.type;throw new T(u,s,c,d,w)}}catch(c){if(c.isAxiosError&&c.response){const a=c,u=a.response,s=u.data,d=s?.header?.msgs?.basicMsg||a.message||"서버에서 오류가 발생했습니다.",w=s?.header?.msgs?.detailMsgs||(typeof u.data=="string"?u.data:JSON.stringify(u.data))||d,n=s?.header?.msgCd,i=s?.header?.msgs?.type;p=new T(d,w,u,n,i)}else p=c;if(c.isAxiosError&&ur(c)&&f<(o.retryCount||0)){await lr(o.retryDelay||1e3);continue}break}if(p){if(o.showError){const f=p instanceof T?p.message:"요청 처리 중 오류가 발생했습니다.",c=p instanceof T?p.msgCd:"요청 처리 중 오류가 발생했습니다.",a=p instanceof T?p.detailMsg:p.message,u=p instanceof T?p.errorType:"";c?.startsWith("BXM")?oe({message:f,description:a,duration:5}):u=="I"?se(f,a,5):ne(f,a,5)}throw p}throw new Error("알 수 없는 API 오류가 발생했습니다.")}catch(o){throw console.error("callService 최종 에러:",o),o}},cr=async(e,t,r,o)=>{try{const l={...te,...o},{activeMenuId:m}=_.useMenuViewStore.getState();if(I===null){const c=Date.now();await ae();const a=Date.now();console.log(`[INFO] IP 조회 소요시간: ${a-c}ms`)}const S={method:l.method,url:"/api/"+e+"/service",timeout:l.timeout,withCredentials:l.withCredentials,showLoading:l.showLoading,isPopup:l.isPopup};l.headers&&(S.headers=l.headers);const M=I||"unknown",g=__APP_CD__,v=__SYS_CD__,p={header:{trxCd:t,userInfo:P(),clientIp:M,domainId:"DEFAULT",appCd:g,sysCd:v,screenId:m},data:r};F&&console.log("__BWG_LOCAL__ 테스트 입니다. ",F),l.method==="GET"?S.params=p||l.params:(S.data=p||l.data,l.params&&(S.params=l.params));let f;for(let c=0;c<=(l.retryCount||0);c++)try{const a=await V(S);if(a.data.header?.resCd==0){for(const u in a.data)if(u!=="header")return a.data[u];return{}}else{const u=a.data.header,s=u?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",d=u?.msgs?.detailMsgs||s,w=u?.msgCd,n=u?.msgs?.type;throw new T(s,d,a,w,n)}}catch(a){if(a.isAxiosError&&a.response){const u=a,s=u.response,d=s.data,w=d?.header?.msgs?.basicMsg||u.message||"서버에서 오류가 발생했습니다.",n=d?.header?.msgs?.detailMsgs||(typeof s.data=="string"?s.data:JSON.stringify(s.data))||w,i=d?.header?.msgCd,h=d?.header?.msgs?.type;f=new T(w,n,s,i,h)}else f=a;if(a.isAxiosError&&ur(a)&&c<(l.retryCount||0)){await lr(l.retryDelay||1e3);continue}break}if(f){if(l.showError){const c=f instanceof T?f.message:"요청 처리 중 오류가 발생했습니다.",a=f instanceof T?f.msgCd:"요청 처리 중 오류가 발생했습니다.",u=f instanceof T?f.detailMsg:f.message,s=f instanceof T?f.errorType:"";a?.startsWith("BXM")?oe({message:c,description:u,duration:5}):s=="I"?se(c,u,5):ne(c,u,5)}throw f}throw new Error("알 수 없는 API 오류가 발생했습니다.")}catch(l){throw console.error("callService 최종 에러:",l),l}},ur=e=>!e.response||e.response.status>=500&&e.response.status<600,lr=e=>new Promise(t=>setTimeout(t,e)),dr=(e,t,r)=>B(e,t,{...r,method:"GET"}),fr=(e,t,r)=>B(e,t,{...r,method:"POST"}),hr=(e,t,r)=>B(e,t,{...r,method:"PUT"}),mr=(e,t,r)=>B(e,t,{...r,method:"DELETE"}),gr=(e,t,r)=>B(e,t,{...r,method:"PATCH"}),pr=async(e,t,r)=>{try{const o=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!o.ok)throw new Error(`권한 확인 실패: ${o.status}`);return await o.json()}catch(o){throw console.error("권한 확인 서비스 오류:",o),o}},yr=Object.freeze(Object.defineProperty({__proto__:null,ApiError:T,apiDelete:mr,apiGet:dr,apiPatch:gr,apiPost:fr,apiPut:hr,callService:B,callService_SYSCD:cr,getClientIp:ar,getPermissionService:pr,setClientIp:ae,verifyClientIp:ir},Symbol.toStringTag,{value:"Module"})),vr=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),l=URL.createObjectURL(o),m=document.createElement("a");m.href=l,m.download=t,document.body.appendChild(m),m.click(),document.body.removeChild(m),URL.revokeObjectURL(l)};async function wr(e){try{return await B("SCMFILE00101",{crprCd:P()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let o;if(r.sub&&(o=r.sub[0]),console.log(r),console.log(o),!o.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!o.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const l=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(l,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const Sr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:wr,downloadFile:vr},Symbol.toStringTag,{value:"Module"})),Se=(e,t=3)=>{k.message.success({content:e,duration:t})},H=(e,t=5)=>{k.message.error({content:e,duration:t})},Cr=(e,t=4)=>{k.message.warning({content:e,duration:t})},xr=(e,t=3)=>{k.message.info({content:e,duration:t})},Mr=(e="처리중...")=>k.message.loading({content:e,duration:0}),br=e=>{k.message.destroy(e)},Dr=()=>{k.message.destroy()},_r=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;H(r)},$r=(e="저장")=>{Se(`${e}이 완료되었습니다.`)},Tr=(e="저장")=>{H(`${e} 중 오류가 발생했습니다.`)},kr=e=>{H(`이미 사용중인 ${e}입니다.`)},Ur=e=>{H(`${e}을(를) 입력해주세요.`)},Er=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:Dr,closeMessage:br,showApiError:_r,showDuplicateError:kr,showError:H,showInfo:xr,showLoading:Mr,showRequiredError:Ur,showSaveError:Tr,showSaveSuccess:$r,showSuccess:Se,showWarning:Cr},Symbol.toStringTag,{value:"Module"})),Or={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},Ir=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(S,M)=>{const g=new FormData;Object.entries(t).forEach(([f,c])=>{g.append(f,c)});const v=S.originFileObj;g.append("file",v);const p=await fetch("/api/gw-sftp",{method:"POST",body:g});return p.ok?(console.log(e),e.map(f=>f===S?{...f,status:"success",percent:100}:f)):S.status="done",{index:M,response:p,fileName:v.name}}),o=await Promise.all(r),l=o.filter(S=>S.response.ok).length,m=o.length-l;if(l===o.length)return alert(`${l}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${l}개 파일 업로드가 완료되었습니다.`,successCount:l,failCount:m};if(l>0){const S=`${l}개 성공, ${m}개 실패`;return alert(S),{result:"partial",message:S,successCount:l,failCount:m}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:l,failCount:m}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},ho=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",connInfo:l={},openDraft:m=!0,draftUrlBase:S="https://dev.bwg.co.kr:5510",windowFeatures:M="width=1000,height=600"}=r||{},g=e??{},v=Array.isArray(t)?t:void 0;if(v&&Array.isArray(v)&&v.length>0){const c=await Ir(v);if(!c||c.result!=="success")throw new Error(c?.message||"파일 업로드 실패")}const p={crprCd:le(),aprvKey:g.aprvKey||re(),sysCd:__SYS_CD__,draftDt:ye("YYYYMMDD"),fileInfoList:v,connInfo:l,...g},f=await B(o,p);if(m&&g?.aprvKey){const c=`${S}?key=${g.aprvKey}&docTitle=${g.docTitle}`;window.open(c,"_blank",M)}return f},mo=yr,go=Kt,po=er,yo=Sr,vo=Er,wo=nr,So=Ee,Co=We,Nr={...yr,...Kt,...er,...Sr,...Er,...nr,...Ee,...We,realFormat:Or};exports.ApiError=T;exports.COMMON_DATE_FORMAT=Y;exports.THEME_COOKIE_NAME=Ke;exports.addDays=Vt;exports.addMonths=zt;exports.apiDelete=mr;exports.apiGet=dr;exports.apiPatch=gr;exports.apiPost=fr;exports.apiPut=hr;exports.apiUtils=mo;exports.arrAverage=mt;exports.arrCount=pt;exports.arrMax=ft;exports.arrMin=ht;exports.arrReverse=yt;exports.arrSum=gt;exports.arrUnique=dt;exports.bwgUtils=Nr;exports.callService=B;exports.callService_SYSCD=cr;exports.clamp=St;exports.clearSessionStorage=Dt;exports.closeAllMessages=Dr;exports.closeMessage=br;exports.closeNotification=sr;exports.commonUtils=go;exports.configureEnvUtils=Zt;exports.copyToClipboard=at;exports.datetimeFormat=Ft;exports.debounce=nt;exports.default=Nr;exports.deleteCookie=Tt;exports.destroyNotifications=or;exports.diffDays=Wt;exports.downloadByFileKey=wr;exports.downloadFile=vr;exports.duplicates=vt;exports.encryptSha256=Yt;exports.envUtils=po;exports.fileUtils=yo;exports.generateRandomColor=lt;exports.generateRandomString=pe;exports.generateUID=re;exports.getAge=qt;exports.getAllServiceCodes=ue;exports.getClientIp=ar;exports.getCookie=$t;exports.getCrprCd=le;exports.getCurrentDate=At;exports.getCurrentDateString=ye;exports.getDepartmentInfo=Re;exports.getDeviceType=q;exports.getDisplayName=Le;exports.getDprtCd=he;exports.getDprtNm=me;exports.getEmplNo=Ie;exports.getEnvCode=Qt;exports.getHrInfo=L;exports.getJbdtCd=je;exports.getJbgdCd=He;exports.getJbkdCd=ze;exports.getJbpsCd=Fe;exports.getLastDateByDiv=Ht;exports.getPermissionService=pr;exports.getRoleList=W;exports.getServiceCode=ce;exports.getSessionStorage=Mt;exports.getStartDateByDiv=jt;exports.getUserDvsn=Oe;exports.getUserId=de;exports.getUserInfo=P;exports.getUserNm=fe;exports.getWkplCd=Ve;exports.hasAllRoles=Ae;exports.hasAnyRole=Ye;exports.hasRole=Ne;exports.hasUserInfo=Pe;exports.isArray=et;exports.isBoolean=Ze;exports.isDesktop=ut;exports.isDev=ve;exports.isEmpty=ge;exports.isEmptyArray=K;exports.isFunction=Xe;exports.isLocal=F;exports.isLoggedIn=Be;exports.isMobile=it;exports.isNull=tt;exports.isNullOrUndefined=ot;exports.isNumber=Je;exports.isObject=Qe;exports.isProd=we;exports.isSafeEmpty=kt;exports.isString=Ge;exports.isTablet=ct;exports.isUndefined=rt;exports.isValidDate=Bt;exports.isValidDateTime=Rt;exports.isValidEmail=Et;exports.isValidUrl=Ot;exports.isValidYear=Pt;exports.isValidYearMonth=Lt;exports.logServiceCodeConfig=Ue;exports.messageUtils=vo;exports.notiBwgError=oe;exports.notiError=rr;exports.notiInfo=se;exports.notiSuccess=tr;exports.notiWarning=ne;exports.notificationService=A;exports.notificationUtils=wo;exports.padLeft=It;exports.padRight=Nt;exports.random=wt;exports.realFormat=Or;exports.removeSessionStorage=bt;exports.round=Ct;exports.serviceUtils=So;exports.setClientIp=ae;exports.setCookie=_t;exports.setServiceCodeOverrides=ke;exports.setSessionStorage=xt;exports.showApiError=_r;exports.showDuplicateError=kr;exports.showError=H;exports.showInfo=xr;exports.showLoading=Mr;exports.showRequiredError=Ur;exports.showSaveError=Tr;exports.showSaveSuccess=$r;exports.showSuccess=Se;exports.showWarning=Cr;exports.submitGwApproval=ho;exports.throttle=st;exports.toCamelCase=Ut;exports.uploadFilesViaSftp=Ir;exports.userUtils=Co;exports.verifyClientIp=ir;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("antd"),$=require("../stores/index.cjs"),ne=require("axios"),I=require("../chunks/common-components-B-zgrX-L.cjs"),D=require("dayjs"),ke=Object.freeze(Object.defineProperty({__proto__:null,get ApiError(){return O},get apiGet(){return Dr},get callService(){return B},get callServiceBySysCd(){return Tr},get getClientIp(){return Ce},get getPermissionService(){return kr},get setClientIp(){return we},get verifyClientIp(){return $r}},Symbol.toStringTag,{value:"Module"})),Ue={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101",SYST_CODE:"SCMSYST00101"};let j={};function Ee(e){j=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function se(e){return j[e]&&j[e].trim()!==""?j[e]:Ue[e]}function ae(){const e={};for(const t of Object.keys(Ue))e[t]=se(t);return e}function Ie(){console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");const e=ae();for(const[t,r]of Object.entries(e)){const o=j[t]?"Provider 설정":"기본값";console.log(` ${t}: ${r} (${o})`)}}const Ne=Object.freeze(Object.defineProperty({__proto__:null,getAllServiceCodes:ae,getServiceCode:se,logServiceCodeConfig:Ie,setServiceCodeOverrides:Ee},Symbol.toStringTag,{value:"Module"})),z=()=>$.useUserStore.getState().user?.crprCd||null,ie=()=>{const e=$.useUserStore.getState().user;return $.useUserStore.getState().hrInfo?.empNo||e?.userId||null},ce=()=>$.useUserStore.getState().user?.userNm||null,Ye=()=>$.useUserStore.getState().user?.userDvsn||null,Oe=()=>$.useUserStore.getState().user?.emplNo||null,ue=()=>{const e=$.useUserStore.getState().hrInfo,t=$.useUserStore.getState().user;return e?.deptCd||t?.dprtCd||null},le=()=>$.useUserStore.getState().user?.dprtNm||null,V=()=>$.useUserStore.getState().user?.roleList||null,Ae=e=>{const t=V();return t?t.includes(e):!1},Be=e=>{const t=V();return t?e.some(r=>t.includes(r)):!1},Re=e=>{const t=V();return t?e.every(r=>t.includes(r)):!1},Pe=()=>$.useUserStore.getState().isLoggedIn(),F=()=>$.useUserStore.getState().user,Fe=()=>F()!==null,He=()=>{const e=ce(),t=ie();return e||t||null},Le=()=>{const e=le(),t=ue();return e||(t?String(t):null)},R=()=>$.useUserStore.getState().hrInfo,je=()=>R()?.jbpsCd||null,ze=()=>R()?.jbgdCd||null,Ve=()=>R()?.jbdtCd||null,qe=()=>R()?.jbkdCd||null,We=()=>R()?.wkplCd||null,Ke=Object.freeze(Object.defineProperty({__proto__:null,getCrprCd:z,getDepartmentInfo:Le,getDisplayName:He,getDprtCd:ue,getDprtNm:le,getEmplNo:Oe,getHrInfo:R,getJbdtCd:Ve,getJbgdCd:ze,getJbkdCd:qe,getJbpsCd:je,getRoleList:V,getUserDvsn:Ye,getUserId:ie,getUserInfo:F,getUserNm:ce,getWkplCd:We,hasAllRoles:Re,hasAnyRole:Be,hasRole:Ae,hasUserInfo:Fe,isLoggedIn:Pe},Symbol.toStringTag,{value:"Module"}));var K={exports:{}};function Or(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var G={exports:{}};const Ar={},Br=Object.freeze(Object.defineProperty({__proto__:null,default:Ar},Symbol.toStringTag,{value:"Module"})),Rr=I.getAugmentedNamespace(Br);var Pr=G.exports,be;function Ge(){return be||(be=1,(function(e,t){(function(r,o){e.exports=o()})(Pr,function(){var r=r||(function(o,u){var l;if(typeof window<"u"&&window.crypto&&(l=window.crypto),typeof self<"u"&&self.crypto&&(l=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(l=globalThis.crypto),!l&&typeof window<"u"&&window.msCrypto&&(l=window.msCrypto),!l&&typeof I.commonjsGlobal<"u"&&I.commonjsGlobal.crypto&&(l=I.commonjsGlobal.crypto),!l&&typeof Or=="function")try{l=Rr}catch{}var p=function(){if(l){if(typeof l.getRandomValues=="function")try{return l.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof l.randomBytes=="function")try{return l.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},b=Object.create||(function(){function n(){}return function(a){var i;return n.prototype=a,i=new n,n.prototype=null,i}})(),g={},y=g.lib={},S=y.Base=(function(){return{extend:function(n){var a=b(this);return n&&a.mixIn(n),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var n=this.extend();return n.init.apply(n,arguments),n},init:function(){},mixIn:function(n){for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a]);n.hasOwnProperty("toString")&&(this.toString=n.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),v=y.WordArray=S.extend({init:function(n,a){n=this.words=n||[],a!=u?this.sigBytes=a:this.sigBytes=n.length*4},toString:function(n){return(n||f).stringify(this)},concat:function(n){var a=this.words,i=n.words,d=this.sigBytes,C=n.sigBytes;if(this.clamp(),d%4)for(var x=0;x<C;x++){var M=i[x>>>2]>>>24-x%4*8&255;a[d+x>>>2]|=M<<24-(d+x)%4*8}else for(var _=0;_<C;_+=4)a[d+_>>>2]=i[_>>>2];return this.sigBytes+=C,this},clamp:function(){var n=this.words,a=this.sigBytes;n[a>>>2]&=4294967295<<32-a%4*8,n.length=o.ceil(a/4)},clone:function(){var n=S.clone.call(this);return n.words=this.words.slice(0),n},random:function(n){for(var a=[],i=0;i<n;i+=4)a.push(p());return new v.init(a,n)}}),h=g.enc={},f=h.Hex={stringify:function(n){for(var a=n.words,i=n.sigBytes,d=[],C=0;C<i;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push((x>>>4).toString(16)),d.push((x&15).toString(16))}return d.join("")},parse:function(n){for(var a=n.length,i=[],d=0;d<a;d+=2)i[d>>>3]|=parseInt(n.substr(d,2),16)<<24-d%8*4;return new v.init(i,a/2)}},m=h.Latin1={stringify:function(n){for(var a=n.words,i=n.sigBytes,d=[],C=0;C<i;C++){var x=a[C>>>2]>>>24-C%4*8&255;d.push(String.fromCharCode(x))}return d.join("")},parse:function(n){for(var a=n.length,i=[],d=0;d<a;d++)i[d>>>2]|=(n.charCodeAt(d)&255)<<24-d%4*8;return new v.init(i,a)}},s=h.Utf8={stringify:function(n){try{return decodeURIComponent(escape(m.stringify(n)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(n){return m.parse(unescape(encodeURIComponent(n)))}},c=y.BufferedBlockAlgorithm=S.extend({reset:function(){this._data=new v.init,this._nDataBytes=0},_append:function(n){typeof n=="string"&&(n=s.parse(n)),this._data.concat(n),this._nDataBytes+=n.sigBytes},_process:function(n){var a,i=this._data,d=i.words,C=i.sigBytes,x=this.blockSize,M=x*4,_=C/M;n?_=o.ceil(_):_=o.max((_|0)-this._minBufferSize,0);var k=_*x,U=o.min(k*4,C);if(k){for(var L=0;L<k;L+=x)this._doProcessBlock(d,L);a=d.splice(0,k),i.sigBytes-=U}return new v.init(a,U)},clone:function(){var n=S.clone.call(this);return n._data=this._data.clone(),n},_minBufferSize:0});y.Hasher=c.extend({cfg:S.extend(),init:function(n){this.cfg=this.cfg.extend(n),this.reset()},reset:function(){c.reset.call(this),this._doReset()},update:function(n){return this._append(n),this._process(),this},finalize:function(n){n&&this._append(n);var a=this._doFinalize();return a},blockSize:16,_createHelper:function(n){return function(a,i){return new n.init(i).finalize(a)}},_createHmacHelper:function(n){return function(a,i){return new w.HMAC.init(n,i).finalize(a)}}});var w=g.algo={};return g})(Math);return r})})(G)),G.exports}var Fr=K.exports,Me;function Hr(){return Me||(Me=1,(function(e,t){(function(r,o){e.exports=o(Ge())})(Fr,function(r){return(function(o){var u=r,l=u.lib,p=l.WordArray,b=l.Hasher,g=u.algo,y=[],S=[];(function(){function f(w){for(var n=o.sqrt(w),a=2;a<=n;a++)if(!(w%a))return!1;return!0}function m(w){return(w-(w|0))*4294967296|0}for(var s=2,c=0;c<64;)f(s)&&(c<8&&(y[c]=m(o.pow(s,1/2))),S[c]=m(o.pow(s,1/3)),c++),s++})();var v=[],h=g.SHA256=b.extend({_doReset:function(){this._hash=new p.init(y.slice(0))},_doProcessBlock:function(f,m){for(var s=this._hash.words,c=s[0],w=s[1],n=s[2],a=s[3],i=s[4],d=s[5],C=s[6],x=s[7],M=0;M<64;M++){if(M<16)v[M]=f[m+M]|0;else{var _=v[M-15],k=(_<<25|_>>>7)^(_<<14|_>>>18)^_>>>3,U=v[M-2],L=(U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10;v[M]=k+v[M-7]+L+v[M-16]}var Ur=i&d^~i&C,Er=c&w^c&n^w&n,Ir=(c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22),Nr=(i<<26|i>>>6)^(i<<21|i>>>11)^(i<<7|i>>>25),xe=x+Nr+Ur+S[M]+v[M],Yr=Ir+Er;x=C,C=d,d=i,i=a+xe|0,a=n,n=w,w=c,c=xe+Yr|0}s[0]=s[0]+c|0,s[1]=s[1]+w|0,s[2]=s[2]+n|0,s[3]=s[3]+a|0,s[4]=s[4]+i|0,s[5]=s[5]+d|0,s[6]=s[6]+C|0,s[7]=s[7]+x|0},_doFinalize:function(){var f=this._data,m=f.words,s=this._nDataBytes*8,c=f.sigBytes*8;return m[c>>>5]|=128<<24-c%32,m[(c+64>>>9<<4)+14]=o.floor(s/4294967296),m[(c+64>>>9<<4)+15]=s,f.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var f=b.clone.call(this);return f._hash=this._hash.clone(),f}});u.SHA256=b._createHelper(h),u.HmacSHA256=b._createHmacHelper(h)})(Math),r.SHA256})})(K)),K.exports}var Lr=Hr();const jr=I.getDefaultExportFromCjs(Lr);var J={exports:{}},zr=J.exports,_e;function Vr(){return _e||(_e=1,(function(e,t){(function(r,o){e.exports=o(Ge())})(zr,function(r){return(function(){var o=r,u=o.lib,l=u.WordArray,p=o.enc;p.Base64={stringify:function(g){var y=g.words,S=g.sigBytes,v=this._map;g.clamp();for(var h=[],f=0;f<S;f+=3)for(var m=y[f>>>2]>>>24-f%4*8&255,s=y[f+1>>>2]>>>24-(f+1)%4*8&255,c=y[f+2>>>2]>>>24-(f+2)%4*8&255,w=m<<16|s<<8|c,n=0;n<4&&f+n*.75<S;n++)h.push(v.charAt(w>>>6*(3-n)&63));var a=v.charAt(64);if(a)for(;h.length%4;)h.push(a);return h.join("")},parse:function(g){var y=g.length,S=this._map,v=this._reverseMap;if(!v){v=this._reverseMap=[];for(var h=0;h<S.length;h++)v[S.charCodeAt(h)]=h}var f=S.charAt(64);if(f){var m=g.indexOf(f);m!==-1&&(y=m)}return b(g,y,v)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function b(g,y,S){for(var v=[],h=0,f=0;f<y;f++)if(f%4){var m=S[g.charCodeAt(f-1)]<<f%4*2,s=S[g.charCodeAt(f)]>>>6-f%4*2,c=m|s;v[h>>>2]|=c<<24-h%4*8,h++}return l.create(v,h)}})(),r.enc.Base64})})(J)),J.exports}var qr=Vr();const Wr=I.getDefaultExportFromCjs(qr);var Z={exports:{}},Kr=Z.exports,$e;function Gr(){return $e||($e=1,(function(e,t){(function(r,o){e.exports=o()})(Kr,(function(){return function(r,o,u){r=r||{};var l=o.prototype,p={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function b(y,S,v,h){return l.fromToBase(y,S,v,h)}u.en.relativeTime=p,l.fromToBase=function(y,S,v,h,f){for(var m,s,c,w=v.$locale().relativeTime||p,n=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],a=n.length,i=0;i<a;i+=1){var d=n[i];d.d&&(m=h?u(y).diff(v,d.d,!0):v.diff(y,d.d,!0));var C=(r.rounding||Math.round)(Math.abs(m));if(c=m>0,C<=d.r||!d.r){C<=1&&i>0&&(d=n[i-1]);var x=w[d.l];f&&(C=f(""+C)),s=typeof x=="string"?x.replace("%d",C):x(C,S,d.l,c);break}}if(S)return s;var M=c?w.future:w.past;return typeof M=="function"?M(s):M.replace("%s",s)},l.to=function(y,S){return b(y,S,this,!0)},l.from=function(y,S){return b(y,S,this)};var g=function(y){return y.$u?u.utc():u()};l.toNow=function(y){return this.to(g(this),y)},l.fromNow=function(y){return this.from(g(this),y)}}}))})(Z)),Z.exports}var Jr=Gr();const Zr=I.getDefaultExportFromCjs(Jr);var X={exports:{}},Xr=X.exports,De;function Qr(){return De||(De=1,(function(e,t){(function(r,o){e.exports=o()})(Xr,(function(){var r={year:0,month:1,day:2,hour:3,minute:4,second:5},o={};return function(u,l,p){var b,g=function(h,f,m){m===void 0&&(m={});var s=new Date(h),c=(function(w,n){n===void 0&&(n={});var a=n.timeZoneName||"short",i=w+"|"+a,d=o[i];return d||(d=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:w,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:a}),o[i]=d),d})(f,m);return c.formatToParts(s)},y=function(h,f){for(var m=g(h,f),s=[],c=0;c<m.length;c+=1){var w=m[c],n=w.type,a=w.value,i=r[n];i>=0&&(s[i]=parseInt(a,10))}var d=s[3],C=d===24?0:d,x=s[0]+"-"+s[1]+"-"+s[2]+" "+C+":"+s[4]+":"+s[5]+":000",M=+h;return(p.utc(x).valueOf()-(M-=M%1e3))/6e4},S=l.prototype;S.tz=function(h,f){h===void 0&&(h=b);var m,s=this.utcOffset(),c=this.toDate(),w=c.toLocaleString("en-US",{timeZone:h}),n=Math.round((c-new Date(w))/1e3/60),a=15*-Math.round(c.getTimezoneOffset()/15)-n;if(!Number(a))m=this.utcOffset(0,f);else if(m=p(w,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(a,!0),f){var i=m.utcOffset();m=m.add(s-i,"minute")}return m.$x.$timezone=h,m},S.offsetName=function(h){var f=this.$x.$timezone||p.tz.guess(),m=g(this.valueOf(),f,{timeZoneName:h}).find((function(s){return s.type.toLowerCase()==="timezonename"}));return m&&m.value};var v=S.startOf;S.startOf=function(h,f){if(!this.$x||!this.$x.$timezone)return v.call(this,h,f);var m=p(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return v.call(m,h,f).tz(this.$x.$timezone,!0)},p.tz=function(h,f,m){var s=m&&f,c=m||f||b,w=y(+p(),c);if(typeof h!="string")return p(h).tz(c);var n=(function(C,x,M){var _=C-60*x*1e3,k=y(_,M);if(x===k)return[_,x];var U=y(_-=60*(k-x)*1e3,M);return k===U?[_,k]:[C-60*Math.min(k,U)*1e3,Math.max(k,U)]})(p.utc(h,s).valueOf(),w,c),a=n[0],i=n[1],d=p(a).utcOffset(i);return d.$x.$timezone=c,d},p.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},p.tz.setDefault=function(h){b=h}}}))})(X)),X.exports}var eo=Qr();const to=I.getDefaultExportFromCjs(eo);var Q={exports:{}},ro=Q.exports,Te;function oo(){return Te||(Te=1,(function(e,t){(function(r,o){e.exports=o()})(ro,(function(){var r="minute",o=/[+-]\d\d(?::?\d\d)?/g,u=/([+-]|\d\d)/g;return function(l,p,b){var g=p.prototype;b.utc=function(s){var c={date:s,utc:!0,args:arguments};return new p(c)},g.utc=function(s){var c=b(this.toDate(),{locale:this.$L,utc:!0});return s?c.add(this.utcOffset(),r):c},g.local=function(){return b(this.toDate(),{locale:this.$L,utc:!1})};var y=g.parse;g.parse=function(s){s.utc&&(this.$u=!0),this.$utils().u(s.$offset)||(this.$offset=s.$offset),y.call(this,s)};var S=g.init;g.init=function(){if(this.$u){var s=this.$d;this.$y=s.getUTCFullYear(),this.$M=s.getUTCMonth(),this.$D=s.getUTCDate(),this.$W=s.getUTCDay(),this.$H=s.getUTCHours(),this.$m=s.getUTCMinutes(),this.$s=s.getUTCSeconds(),this.$ms=s.getUTCMilliseconds()}else S.call(this)};var v=g.utcOffset;g.utcOffset=function(s,c){var w=this.$utils().u;if(w(s))return this.$u?0:w(this.$offset)?v.call(this):this.$offset;if(typeof s=="string"&&(s=(function(d){d===void 0&&(d="");var C=d.match(o);if(!C)return null;var x=(""+C[0]).match(u)||["-",0,0],M=x[0],_=60*+x[1]+ +x[2];return _===0?0:M==="+"?_:-_})(s),s===null))return this;var n=Math.abs(s)<=16?60*s:s,a=this;if(c)return a.$offset=n,a.$u=s===0,a;if(s!==0){var i=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(n+i,r)).$offset=n,a.$x.$localOffset=i}else a=this.utc();return a};var h=g.format;g.format=function(s){var c=s||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,c)},g.valueOf=function(){var s=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*s},g.isUTC=function(){return!!this.$u},g.toISOString=function(){return this.toDate().toISOString()},g.toString=function(){return this.toDate().toUTCString()};var f=g.toDate;g.toDate=function(s){return s==="s"&&this.$offset?b(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var m=g.diff;g.diff=function(s,c,w){if(s&&this.$u===s.$u)return m.call(this,s,c,w);var n=this.local(),a=b(s).local();return m.call(n,a,c,w)}}}))})(Q)),Q.exports}var no=oo();const so=I.getDefaultExportFromCjs(no),Je="ui_theme",Ze=e=>typeof e=="string",Xe=e=>typeof e=="number"&&!isNaN(e),Qe=e=>typeof e=="boolean",et=e=>typeof e=="function",tt=e=>e!==null&&typeof e=="object",rt=e=>Array.isArray(e),ot=e=>e===null,nt=e=>e===void 0,st=e=>e==null,at=(e,t)=>{let r=0;return(...o)=>{const u=Date.now();u-r>=t&&(r=u,e(...o))}},it=(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=setTimeout(()=>e(...o),t)}},ct=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Error copying to clipboard:",t),!1}},q=()=>{const e=window.innerWidth;return e<768?"mobile":e<1024?"tablet":"desktop"},ut=()=>q()==="mobile",lt=()=>q()==="tablet",dt=()=>q()==="desktop",ft=()=>"#"+Math.floor(Math.random()*16777215).toString(16),W=e=>!e||e.length===0,ht=e=>[...new Set(e)],mt=e=>{if(!W(e))return Math.max(...e)},gt=e=>{if(!W(e))return Math.min(...e)},pt=e=>{if(!W(e))return e.reduce((t,r)=>t+r,0)/e.length},yt=e=>e.reduce((t,r)=>t+r,0),vt=(e,t)=>e.filter(t).length,St=e=>[...e].reverse(),wt=e=>{const t=new Set,r=new Set;return e.forEach(o=>{t.has(o)?r.add(o):t.add(o)}),Array.from(r)},Ct=(e,t)=>Math.random()*(t-e)+e,xt=(e,t,r)=>Math.min(Math.max(e,t),r),bt=(e,t=0)=>Math.round(e*Math.pow(10,t))/Math.pow(10,t),Mt=(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch(r){console.error("Error saving to sessionStorage:",r)}},_t=(e,t)=>{try{const r=sessionStorage.getItem(e);return r?JSON.parse(r):t||null}catch(r){return console.error("Error reading from sessionStorage:",r),t||null}},$t=e=>{try{sessionStorage.removeItem(e)}catch(t){console.error("Error removing from sessionStorage:",t)}},Dt=()=>{try{sessionStorage.clear()}catch(e){console.error("Error clearing sessionStorage:",e)}},Tt=(e,t,r=30)=>{const o=new Date;o.setTime(o.getTime()+r*24*60*60*1e3),document.cookie=`${e}=${t};expires=${o.toUTCString()};path=/`},kt=e=>{const t=e+"=",r=document.cookie.split(";");for(let o=0;o<r.length;o++){let u=r[o];for(;u.charAt(0)===" ";)u=u.substring(1,u.length);if(u.indexOf(t)===0)return u.substring(t.length,u.length)}return null},Ut=e=>{document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`},de=e=>typeof e!="string"?!e:e.trim().length===0,Et=(e,t)=>de(e)?t:e||"",It=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),Nt=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Yt=e=>{try{return new URL(e),!0}catch{return!1}},Ot=(e,t,r=" ")=>e.padStart(t,r),At=(e,t,r=" ")=>e.padEnd(t,r),fe=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},ao=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),te=(e=32)=>{const r=ao().replace(/-/g,"");return e>=32?r+fe(e-32,"0123456789abcdef"):r.substring(0,e)};async function Bt(e){return jr(e).toString(Wr)}D.extend(Zr);D.extend(so);D.extend(to);D.locale("ko");const N="YYYYMMDD",Rt=()=>D(),he=(e=N)=>D().format(e),Pt=e=>D(e,N,!0).isValid(),Ft=e=>D(e,"YYYY",!0).isValid(),Ht=e=>D(e,"YYYYMM",!0).isValid(),Lt=e=>D(e,"YYYYMMDDHHmmss",!0).isValid(),jt=(e,t="CM")=>{let r="";return t=="CM"?r="YYYYMMDD":t=="C"?r="YYYY.MM.DD":t=="H"?r="YYYY년 MM월 DD일":t=="D"?r="YYYY-MM-DD":t=="S"?r="YYYY/MM/DD":t=="M"?r="YYYY-MM":t=="YM"?r="YYYY년 MM월":t=="DT"?r="YYYY-MM-DD HH:mm:ss":t=="T"?r="HH:mm:ss":t=="HM"&&(r="HH:mm"),D(e).format(r)},zt=(e,t="month")=>D(e).endOf(t).format(N),Vt=(e,t="month")=>D(e).startOf(t).format(N),qt=(e,t)=>D(e).add(t,"month").format(N),Wt=(e,t)=>D(e).add(t,"day").format(N),Kt=(e,t)=>D(e).diff(t,"day"),Gt=(e=N)=>{const t=D(e),r=D();let o=r.year()-t.year();return(r.month()<t.month()||r.month()===t.month()&&r.date()<t.date())&&o--,o},Jt=Object.freeze(Object.defineProperty({__proto__:null,COMMON_DATE_FORMAT:N,THEME_COOKIE_NAME:Je,addDays:Wt,addMonths:qt,arrAverage:pt,arrCount:vt,arrMax:mt,arrMin:gt,arrReverse:St,arrSum:yt,arrUnique:ht,clamp:xt,clearSessionStorage:Dt,copyToClipboard:ct,datetimeFormat:jt,debounce:it,deleteCookie:Ut,diffDays:Kt,duplicates:wt,encryptSha256:Bt,generateRandomColor:ft,generateRandomString:fe,generateUID:te,getAge:Gt,getCookie:kt,getCurrentDate:Rt,getCurrentDateString:he,getDeviceType:q,getLastDateByDiv:zt,getSessionStorage:_t,getStartDateByDiv:Vt,isArray:rt,isBoolean:Qe,isDesktop:dt,isEmpty:de,isEmptyArray:W,isFunction:et,isMobile:ut,isNull:ot,isNullOrUndefined:st,isNumber:Xe,isObject:tt,isSafeEmpty:Et,isString:Ze,isTablet:lt,isUndefined:nt,isValidDate:Pt,isValidDateTime:Lt,isValidEmail:Nt,isValidUrl:Yt,isValidYear:Ft,isValidYearMonth:Ht,padLeft:Ot,padRight:At,random:Ct,removeSessionStorage:$t,round:bt,setCookie:Tt,setSessionStorage:Mt,throttle:at,toCamelCase:It},Symbol.toStringTag,{value:"Module"})),re=(()=>{try{if((void 0).DEV)return!0}catch{}return!1})();let Zt=[],Xt=[];function Qt(e){e.devHosts&&(Zt=e.devHosts),e.prodHosts&&(Xt=e.prodHosts)}function er(){if(typeof window<"u"&&window.location)return window.location.hostname}const me=(()=>{const e=er();return!!(e&&Zt.includes(e))})(),ge=(()=>{const e=er();return!!(e&&Xt.includes(e))})();function tr(){return re?"X":me?"D":ge?"P":"X"}const rr=Object.freeze(Object.defineProperty({__proto__:null,configureEnvUtils:Qt,getEnvCode:tr,isDev:me,isLocal:re,isProd:ge},Symbol.toStringTag,{value:"Module"})),or=(e,t,r="text/plain")=>{const o=new Blob([e],{type:r}),u=URL.createObjectURL(o),l=document.createElement("a");l.href=u,l.download=t,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(u)};async function nr(e){try{return await B("SCMFILE00101",{crprCd:F()?.crprCd,sysCd:__SYS_CD__,fileKey:e}).then(r=>{let o;if(r.sub&&(o=r.sub[0]),console.log(r),console.log(o),!o.lgclFileNm)throw console.error("논리파일명이 없습니다."),new Error("논리 파일명 누락");if(!o.filePath)throw console.error("파일 경로가 없습니다."),new Error("파일 경로 누락");const u=`api/download?filePath=${encodeURIComponent(o.filePath)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;return window.open(u,"_blank"),{success:!0,message:"파일 다운로드 요청 성공"}})}catch(t){throw console.error("downloadByFileKey 함수 실행 중 오류 발생:",t),t}}const sr=Object.freeze(Object.defineProperty({__proto__:null,downloadByFileKey:nr,downloadFile:or},Symbol.toStringTag,{value:"Module"})),pe=(e,t=3)=>{T.message.success({content:e,duration:t})},H=(e,t=5)=>{T.message.error({content:e,duration:t})},ar=(e,t=4)=>{T.message.warning({content:e,duration:t})},ir=(e,t=3)=>{T.message.info({content:e,duration:t})},cr=(e="처리중...")=>T.message.loading({content:e,duration:0}),ur=e=>{T.message.destroy(e)},lr=()=>{T.message.destroy()},dr=(e,t="처리 중 오류가 발생했습니다.")=>{const r=e?.response?.data?.message||e?.message||t;H(r)},fr=(e="저장")=>{pe(`${e}이 완료되었습니다.`)},hr=(e="저장")=>{H(`${e} 중 오류가 발생했습니다.`)},mr=e=>{H(`이미 사용중인 ${e}입니다.`)},gr=e=>{H(`${e}을(를) 입력해주세요.`)},pr=Object.freeze(Object.defineProperty({__proto__:null,closeAllMessages:lr,closeMessage:ur,showApiError:dr,showDuplicateError:mr,showError:H,showInfo:ir,showLoading:cr,showRequiredError:gr,showSaveError:hr,showSaveSuccess:fr,showSuccess:pe,showWarning:ar},Symbol.toStringTag,{value:"Module"})),E={duration:4.5,placement:"topRight"};class P{constructor(){}static getInstance(){return P.instance||(P.instance=new P),P.instance}showBwgError(t){const{message:r,description:o,duration:u=E.duration,placement:l=E.placement}=t;T.notification.error({message:`${r}`,description:o||"오류가 발생했습니다. 다시 시도해주세요.",duration:u,placement:l,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,o){T.notification.success({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showInfo(t,r,o){T.notification.info({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showWarning(t,r,o){T.notification.warning({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}showError(t,r,o){T.notification.error({message:`${t}`,description:r,duration:o||E.duration,placement:E.placement})}destroy(){T.notification.destroy()}close(t){T.notification.destroy()}}const Y=P.getInstance(),ye=e=>{Y.showBwgError(e)},yr=(e,t,r)=>{Y.showSuccess(e,t,r)},ve=(e,t,r)=>{Y.showInfo(e,t,r)},Se=(e,t,r)=>{Y.showWarning(e,t,r)},vr=(e,t,r)=>{Y.showError(e,t,r)},Sr=()=>{Y.destroy()},wr=e=>{Y.close(e)},Cr=Object.freeze(Object.defineProperty({__proto__:null,closeNotification:wr,destroyNotifications:Sr,notiBwgError:ye,notiError:vr,notiInfo:ve,notiSuccess:yr,notiWarning:Se,notificationService:Y},Symbol.toStringTag,{value:"Module"})),xr={left:"left",near:"left",right:"right",far:"right",center:"center",number:"#,##0",number2:"#,##0.00",number3:"#,##0.##",number4:"#,##0.000",number5:"#,##0.#####",editNumber:{type:"number",editFormat:"#,##0"},editNumber2:{type:"number",editFormat:"#,##0.00"},editNumber3:{type:"number",editFormat:"#,##0.##"},editNumber4:{type:"number",editFormat:"#,##0.000"},editNumber5:{type:"number",editFormat:"#,##0.###"},editYmd:{type:"date",datetimeFormat:"yyyyMMdd",autoclose:!0,maxDate:"99991231",minDate:"19000101",showButtons:!1,mask:{editMask:"9999-99-99"}},editYm:{type:"btdate",datetimeFormat:"yyyyMM",btOptions:{startView:1,minViewMode:1,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0,mask:{editMask:"9999-99"}}},editYy:{type:"btdate",datetimeFormat:"yyyy",btOptions:{startView:2,minViewMode:2,todayBtn:"linked",language:"ko",todayHighlight:!0,autoclose:!0}},formatYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",formatYm:"([0-9]{4})([0-9]{2});$1-$2",formatYy:"([0-9]{4});$1",lookup:{type:"dropdown",domainOnly:!0},lookupReadOnly:{type:"dropdown",readOnly:!0},maskCard:{type:"text",mask:"0000-0000-0000-0000"},formatMaskCard:"([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4});$1-$2-$3-$4",maskBsnsNo:{type:"text",mask:"000-00-00000"},formatMaskBsnsNo:"([0-9]{3})([0-9]{2})([0-9]{5});$1-$2-$3",maskRsdn:{type:"text",mask:"000000-0000000"},formatMaskRsdn:"([0-9]{6})([0-9]{7});$1-$2",formatMaskRsdn2:"([0-9]{6})([0-9])([0-9]{6});$1-$2******",maskRsdn2:{type:"text",mask:"999999-9999999"},maskYmd:{type:"text",mask:"0000-00-00"},formatMaskYmd:"([0-9]{4})([0-9]{2})([0-9]{2});$1-$2-$3",maskYm:{type:"text",mask:"0000-00"},formatMaskYm:"([0-9]{4})([0-9]{2});$1-$2",maskYmdHms:{type:"text",mask:"0000-00-00 00:00:00"},formatYmdHms:"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2});$1-$2-$3 $4:$5:$6",maskHm:{type:"text",mask:"00:00"},formatHm:"([0-9]{2})([0-9]{2});$1:$2",maskHms:{type:"text",mask:"00:00:00"},formatHms:"([0-9]{2})([0-9]{2})([0-9]{2});$1:$2:$3",checkY:{type:"check",trueValues:"Y",falseValues:"N"},checkN:{type:"check",trueValues:"N",falseValues:"Y"},check1:{type:"check",trueValues:"1",falseValues:"0"},checkTrue:{type:"check",trueValues:"true",falseValues:"false"},checkT:{type:"check",trueValues:"T",falseValues:"F"},checkYdisabled:{type:"check",editable:!1,trueValues:"Y",falseValues:"N"},checkNdisabled:{type:"check",editable:!1,trueValues:"N",falseValues:"Y"},check1disabled:{type:"check",editable:!1,trueValues:"1",falseValues:"0"},count:{suffix:" 건",expression:"count"},count2:{prefix:"총 ",suffix:" 건",expression:"count"},datacount:{suffix:" 건",expression:"datacount"},sum:{numberFormat:"#,##0",expression:"sum"},sum2:{numberFormat:"#,##0.##",expression:"sum"},sum3:{numberFormat:"#,##0.00",expression:"sum"},avg:{numberFormat:"#,##0",expression:"avg"},avg2:{numberFormat:"#,##0.##",expression:"avg"},avg4:{numberFormat:"#,##0.####",expression:"avg"},min:{expression:"min"},max:{expression:"max"},date:{type:"date",mask:{editMask:"9999-99-99",placeHolder:"____-__-__",includedFormat:!0},datetimeFormat:"yyyy-MM-dd",textAlignment:"center",yearNavigation:!0},dateStyle:{datetimeFormat:"yyyy-MM-dd",textAlignment:"center"},maskDateFull:{type:"text",mask:"0000-00-00 00:00:00",textAlignment:"center"},bg_gray01:{background:"#cdcdcd"}},br=async e=>{if(e.map(t=>{t.status="uploading",t.percent=10,console.log(t)}),!e||!Array.isArray(e)||e.length===0){alert("업로드할 파일을 선택해주세요.");return}try{const t={remoteDir:"/home/krxuser/bkrx/files/testForGW",useOriginalName:"true"},r=e.map(async(p,b)=>{const g=new FormData;Object.entries(t).forEach(([v,h])=>{g.append(v,h)});const y=p.originFileObj;g.append("file",y);const S=await fetch("/api/gw-sftp",{method:"POST",body:g});return S.ok?(console.log(e),e.map(v=>v===p?{...v,status:"success",percent:100}:v)):p.status="done",{index:b,response:S,fileName:y.name}}),o=await Promise.all(r),u=o.filter(p=>p.response.ok).length,l=o.length-u;if(u===o.length)return alert(`${u}개 파일 업로드가 완료되었습니다.`),{result:"success",message:`${u}개 파일 업로드가 완료되었습니다.`,successCount:u,failCount:l};if(u>0){const p=`${u}개 성공, ${l}개 실패`;return alert(p),{result:"partial",message:p,successCount:u,failCount:l}}return alert("모든 파일 업로드에 실패했습니다."),{result:"error",message:"모든 파일 업로드에 실패했습니다.",successCount:u,failCount:l}}catch{return alert("파일 업로드 중 오류가 발생했습니다."),{result:"error",message:"파일 업로드 중 오류가 발생했습니다."}}},io=async(e,t,r)=>{const{trxCd:o="SCMINTF00102",connInfo:u={},openDraft:l=!0,draftUrlBase:p="https://dev.bwg.co.kr:5510",windowFeatures:b="width=1000,height=600",fetchFilesTrxCd:g="SCMFILE00101"}=r||{},y=e??{},S=y.aprvKey||te(),v=y.docTitle||"제목없음",h=await B("SCMINTF00101",{crprCd:z(),sysCd:__SYS_CD__,aprvKey:S});if(Array.isArray(h?.sub)&&h.sub.length>=1){if(console.log("이미 승인된 기안입니다."),l){const c=`${p}?key=${S}&docTitle=${v}`;window.open(c,"_blank",b)}return{skipped:!0,alreadyDrafted:!0,draftedRes:h}}let f;if(t){const c=await B(g,{crprCd:z(),sysCd:__SYS_CD__,fileGrpKey:t}),w=Array.isArray(c?.sub)?c.sub.filter(i=>i?.filePath&&i?.lgclFileNm).map(i=>({filePath:i.filePath,lgclFileNm:i.lgclFileNm})):[];console.log("@@ files",w);const n=w.map(async({filePath:i,lgclFileNm:d})=>{const C=`/api/download?filePath=${encodeURIComponent(i)}&logicalName=${encodeURIComponent(d)}`,x=await fetch(C,{method:"GET"});if(!x.ok)throw new Error(`다운로드 실패: ${d}`);const M=await x.blob();return{originFileObj:new File([M],d,{type:M.type||"application/octet-stream"}),name:d,status:"ready"}}),a=await Promise.all(n);if(w.length){const i=await br(a);if(!i||i.result!=="success")throw new Error(i?.message||"파일 업로드 실패");f=a}}const m={...y,crprCd:z(),aprvKey:S,sysCd:__SYS_CD__,draftDt:he("YYYYMMDD"),docTitle:v,fileInfoList:f,connInfo:u},s=await B(o,m);if(l&&m?.aprvKey){const c=`${p}?key=${m.aprvKey}&docTitle=${m.docTitle}`;window.open(c,"_blank",b)}return s},co=ke,uo=Jt,lo=rr,fo=sr,ho=pr,mo=Cr,go=Ne,po=Ke,Mr={...ke,...Jt,...rr,...sr,...pr,...Cr,...Ne,...Ke,realFormat:xr};class O extends Error{constructor(t,r,o,u,l){super(t),this.name="ApiError",this.detailMsg=r,this.response=o,this.msgCd=u,this.errorType=l,Error.captureStackTrace&&Error.captureStackTrace(this,O)}}let A=null;const oe={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,isPopup:!1,showError:!0,retryCount:0,retryDelay:1e3},ee=ne.create({timeout:oe.timeout,withCredentials:oe.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8","Apm-Guid":te()}});ee.interceptors.request.use(e=>{e.showLoading&&!e.isPopup&&$.useLoadingStore.getState().showLoading(),e.showLoading&&e.isPopup&&$.usePopupLoadingStore.getState().showLoading();let t="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?t=e.data.header.trxCd||"UNKNOWN":e.params&&e.params.header&&(t=e.params.header.trxCd||"UNKNOWN")}catch(o){console.warn("trxCd/guid 추출 실패:",o)}e.trxCd=t,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${F()?.userId}]`);const r=localStorage.getItem("accessToken");return r&&(e.headers.Authorization=`Bearer ${r}`),e.headers["Content-Type"]="application/json; charset=UTF-8",e.headers.Accept="application/json; charset=UTF-8",e},e=>(console.error("❌ 요청 인터셉터 에러:",e),Promise.reject(e)));ee.interceptors.response.use(e=>{e.config.showLoading&&!e.config.isPopup&&$.useLoadingStore.getState().hideLoading(),e.config.isPopup&&$.usePopupLoadingStore.getState().hideLoading();let t="UNKNOWN",r="UNKNOWN";const o=new Date().getTime();try{e.config.trxCd&&(t=e.config.trxCd),e.config.guid?r=e.config.guid:e.data&&e.data.header&&e.data.header.trxCd?(t=e.data.header.trxCd,r=e.data.header.guid||"UNKNOWN"):e.config.data&&e.config.data.header?(t=e.config.data.header.trxCd||"UNKNOWN",r=e.config.data.header.guid||"UNKNOWN"):e.config.params&&e.config.params.header&&(t=e.config.params.header.trxCd||"UNKNOWN",r=e.config.params.header.guid||"UNKNOWN")}catch(l){console.warn("trxCd/guid 추출 실패:",l)}let u=0;return e.config.requestStartTime&&(u=o-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${u}ms)`),e},async e=>{if(e.config&&e.config.showLoading&&!e.config.isPopup&&$.useLoadingStore.getState().hideLoading(),e.config&&e.config.isPopup&&$.usePopupLoadingStore.getState().hideLoading(),console.error("❌ API 응답 에러:",e),re&&console.error("🚨 Error Details:",{message:e.message,status:e.response?.status,statusText:e.response?.statusText,data:e.response?.data,config:{url:e.config?.url,method:e.config?.method,baseURL:e.config?.baseURL}}),e.response?.status===401){const t=localStorage.getItem("refreshToken");if(t)try{const r=await ne.post("/auth/refresh",{refreshToken:t});if(r.data.accessToken){localStorage.setItem("accessToken",r.data.accessToken);const o=e.config;if(o)return o.headers.Authorization=`Bearer ${r.data.accessToken}`,ee(o)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const yo=async()=>{if(A===null){const e=Date.now();await we();const t=Date.now();console.log(`[INFO] IP 조회 소요시간: ${t-e}ms`)}},vo=(e,t,r,o)=>{const{activeMenuId:u}=$.useMenuViewStore.getState();return{header:{trxCd:e,userInfo:F(),clientIp:r,domainId:"DEFAULT",sysCd:o.sysCd,appItDd:o.appItCd,appCd:o.appCd,screenId:u},data:t}},So=(e,t,r)=>{const o={method:t.method,url:e,timeout:t.timeout,withCredentials:t.withCredentials,showLoading:t.showLoading,isPopup:t.isPopup,headers:{...t.headers||{}}};return t.method==="GET"?(o.params=r||t.params,t.params&&(o.params=t.params)):(o.data=r||t.data,t.params&&(o.params=t.params)),o},wo=async(e,t)=>{let r;const o=t.retryCount||0,u=t.retryDelay||1e3;for(let l=0;l<=o;l++)try{const p=await ee(e);if(p.data?.header?.resCd==0)return xo(p.data);const b=p.data?.header||{},g=b?.msgs?.basicMsg||"요청 처리 중 오류가 발생했습니다.",y=b?.msgs?.detailMsgs||g,S=b?.msgCd,v=b?.msgs?.type;throw new O(g,y,p,S,v)}catch(p){if(r=Co(p),p?.isAxiosError&&Mo(p)&&l<o){await _o(u);continue}break}throw r?(bo(r,t),r):new Error("알 수 없는 API 오류가 발생했습니다.")},Co=e=>{if(e?.isAxiosError&&e.response){const t=e,r=t.response,o=r.data,u=o?.header?.msgs?.basicMsg||t.message||"서버에서 오류가 발생했습니다.",l=o?.header?.msgs?.detailMsgs||(typeof r.data=="string"?r.data:JSON.stringify(r.data))||u,p=o?.header?.msgCd,b=o?.header?.msgs?.type;return new O(u,l,r,p,b)}return e instanceof O,e},xo=e=>{if(!e||typeof e!="object")return{};for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t!=="header")return e[t];return{}},bo=(e,t)=>{if(!t.showError)return;const r=e instanceof O,o=r?e.message:"요청 처리 중 오류가 발생했습니다.",u=r?e.msgCd:"요청 처리 중 오류가 발생했습니다.",l=r?e.detailMsg:e.message,p=r?e.errorType:"";u&&u.startsWith?.("BXM")?ye({message:o,description:l,duration:5}):p==="I"?ve(o,l,5):Se(o,l,5)},_r=async(e,t,r,o,u)=>{console.log("## callService 호출"),console.log(`## 전역 :: ${__SYS_CD__} | ${__APP_CD__} | ${u} | ${t}`);const l=$.useSystemCode().findByAppCd(u??__APP_CD__);if(!l||!l.sysCd)return console.error("해당 앱코드는 존재하지 않습니다.",u),Promise.reject(new Error("해당 앱코드는 존재하지 않습니다."));await yo();const p={...oe,...o},b=vo(t,r,Ce()||"unknown",l),g=So(e,p,b);try{return await wo(g,p)}catch(y){throw console.error("callService 최종 에러:",y),y}},Mo=e=>!e.response||e.response.status>=500&&e.response.status<600,_o=e=>new Promise(t=>setTimeout(t,e)),we=async e=>{if(A===null)if(e===void 0)try{let r=(await ne.get("/api/ip")).data.trim();r=r.replace(/\s+/g,""),A=r}catch(t){console.warn("IP 가져오기 실패:",t),A="unknown"}else A=e},Ce=()=>A,$r=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),A||"unknown"),Dr=(e,t,r)=>B(e,t,{...r,method:"GET"}),B=async(e,t,r,o)=>_r("/api/service",e,t,r,o),Tr=async(e,t,r,o)=>_r(`/api/${__SYS_CD__}/service`,e,t,r,o),kr=async(e,t,r)=>{try{const o=await fetch("/api/permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:e,menuId:t,popupId:r})});if(!o.ok)throw new Error(`권한 확인 실패: ${o.status}`);return await o.json()}catch(o){throw console.error("권한 확인 서비스 오류:",o),o}};exports.ApiError=O;exports.COMMON_DATE_FORMAT=N;exports.THEME_COOKIE_NAME=Je;exports.addDays=Wt;exports.addMonths=qt;exports.apiGet=Dr;exports.apiUtils=co;exports.arrAverage=pt;exports.arrCount=vt;exports.arrMax=mt;exports.arrMin=gt;exports.arrReverse=St;exports.arrSum=yt;exports.arrUnique=ht;exports.bwgUtils=Mr;exports.callService=B;exports.callServiceBySysCd=Tr;exports.clamp=xt;exports.clearSessionStorage=Dt;exports.closeAllMessages=lr;exports.closeMessage=ur;exports.closeNotification=wr;exports.commonUtils=uo;exports.configureEnvUtils=Qt;exports.copyToClipboard=ct;exports.datetimeFormat=jt;exports.debounce=it;exports.default=Mr;exports.deleteCookie=Ut;exports.destroyNotifications=Sr;exports.diffDays=Kt;exports.downloadByFileKey=nr;exports.downloadFile=or;exports.duplicates=wt;exports.encryptSha256=Bt;exports.envUtils=lo;exports.fileUtils=fo;exports.generateRandomColor=ft;exports.generateRandomString=fe;exports.generateUID=te;exports.getAge=Gt;exports.getAllServiceCodes=ae;exports.getClientIp=Ce;exports.getCookie=kt;exports.getCrprCd=z;exports.getCurrentDate=Rt;exports.getCurrentDateString=he;exports.getDepartmentInfo=Le;exports.getDeviceType=q;exports.getDisplayName=He;exports.getDprtCd=ue;exports.getDprtNm=le;exports.getEmplNo=Oe;exports.getEnvCode=tr;exports.getHrInfo=R;exports.getJbdtCd=Ve;exports.getJbgdCd=ze;exports.getJbkdCd=qe;exports.getJbpsCd=je;exports.getLastDateByDiv=zt;exports.getPermissionService=kr;exports.getRoleList=V;exports.getServiceCode=se;exports.getSessionStorage=_t;exports.getStartDateByDiv=Vt;exports.getUserDvsn=Ye;exports.getUserId=ie;exports.getUserInfo=F;exports.getUserNm=ce;exports.getWkplCd=We;exports.hasAllRoles=Re;exports.hasAnyRole=Be;exports.hasRole=Ae;exports.hasUserInfo=Fe;exports.isArray=rt;exports.isBoolean=Qe;exports.isDesktop=dt;exports.isDev=me;exports.isEmpty=de;exports.isEmptyArray=W;exports.isFunction=et;exports.isLocal=re;exports.isLoggedIn=Pe;exports.isMobile=ut;exports.isNull=ot;exports.isNullOrUndefined=st;exports.isNumber=Xe;exports.isObject=tt;exports.isProd=ge;exports.isSafeEmpty=Et;exports.isString=Ze;exports.isTablet=lt;exports.isUndefined=nt;exports.isValidDate=Pt;exports.isValidDateTime=Lt;exports.isValidEmail=Nt;exports.isValidUrl=Yt;exports.isValidYear=Ft;exports.isValidYearMonth=Ht;exports.logServiceCodeConfig=Ie;exports.messageUtils=ho;exports.notiBwgError=ye;exports.notiError=vr;exports.notiInfo=ve;exports.notiSuccess=yr;exports.notiWarning=Se;exports.notificationService=Y;exports.notificationUtils=mo;exports.padLeft=Ot;exports.padRight=At;exports.random=Ct;exports.realFormat=xr;exports.removeSessionStorage=$t;exports.round=bt;exports.serviceUtils=go;exports.setClientIp=we;exports.setCookie=Tt;exports.setServiceCodeOverrides=Ee;exports.setSessionStorage=Mt;exports.showApiError=dr;exports.showDuplicateError=mr;exports.showError=H;exports.showInfo=ir;exports.showLoading=cr;exports.showRequiredError=gr;exports.showSaveError=hr;exports.showSaveSuccess=fr;exports.showSuccess=pe;exports.showWarning=ar;exports.submitGwApproval=io;exports.throttle=at;exports.toCamelCase=It;exports.uploadFilesViaSftp=br;exports.userUtils=po;exports.verifyClientIp=$r;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -385,17 +385,13 @@ export declare const bwgUtils: {
|
|
|
385
385
|
addDays: (date: string | Date | import('dayjs').Dayjs, offset: number) => string;
|
|
386
386
|
diffDays: (date1: string | Date | import('dayjs').Dayjs, date2: string | Date | import('dayjs').Dayjs) => number;
|
|
387
387
|
getAge: (birthDate?: string) => number;
|
|
388
|
+
ApiError: typeof apiUtilsModule.ApiError;
|
|
388
389
|
setClientIp: (ip?: string) => Promise<void>;
|
|
389
390
|
getClientIp: () => string | null;
|
|
390
391
|
verifyClientIp: () => Promise<string>;
|
|
391
|
-
ApiError: typeof apiUtilsModule.ApiError;
|
|
392
|
-
callService: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
393
|
-
callService_SYSCD: <T = any>(_sysCd: string, trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
394
392
|
apiGet: <T = any>(trxCd: string, params?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
apiDelete: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
398
|
-
apiPatch: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions) => Promise<T>;
|
|
393
|
+
callService: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions, appCd?: string) => Promise<T>;
|
|
394
|
+
callServiceBySysCd: <T = any>(trxCd: string, data?: any, options?: apiUtilsModule.ApiOptions, appCd?: string) => Promise<T>;
|
|
399
395
|
getPermissionService: (userId: string, menuId: string, popupId?: string) => Promise<any>;
|
|
400
396
|
};
|
|
401
397
|
export default bwgUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAG1B,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,kBAAkB,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,uBAAuB,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAG/C,eAAO,MAAM,QAAQ,uBAAiB,CAAC;AACvC,eAAO,MAAM,WAAW,0BAAoB,CAAC;AAC7C,eAAO,MAAM,QAAQ,uBAAiB,CAAC;AACvC,eAAO,MAAM,SAAS,wBAAkB,CAAC;AACzC,eAAO,MAAM,YAAY,2BAAqB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,gCAA0B,CAAC;AACzD,eAAO,MAAM,YAAY,4BAAsB,CAAC;AAChD,eAAO,MAAM,SAAS,wBAAkB,CAAC;AAGzC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|