@bwg-ui/core 1.1.9 → 1.1.10
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/{BwgLargeUploader-DsaIHpYz.js → BwgLargeUploader-B5EtYKUz.js} +844 -810
- package/dist/chunks/{BwgLargeUploader-DsaIHpYz.js.map → BwgLargeUploader-B5EtYKUz.js.map} +1 -1
- package/dist/chunks/BwgLargeUploader-BPJcShgF.cjs +3 -0
- package/dist/chunks/{BwgLargeUploader-1yDku10l.cjs.map → BwgLargeUploader-BPJcShgF.cjs.map} +1 -1
- package/dist/chunks/{FileUtils-CmK-zHC5.cjs → FileUtils-BweAWoJt.cjs} +2 -2
- package/dist/chunks/{FileUtils-CmK-zHC5.cjs.map → FileUtils-BweAWoJt.cjs.map} +1 -1
- package/dist/chunks/{FileUtils-DsA-Sw37.js → FileUtils-CaU9Bzu2.js} +2 -2
- package/dist/chunks/{FileUtils-DsA-Sw37.js.map → FileUtils-CaU9Bzu2.js.map} +1 -1
- package/dist/chunks/{SSOHandler-DNvCpRTu.js → SSOHandler-C72Do3RD.js} +4 -4
- package/dist/chunks/{SSOHandler-DNvCpRTu.js.map → SSOHandler-C72Do3RD.js.map} +1 -1
- package/dist/chunks/{SSOHandler-Qm_2PekO.cjs → SSOHandler-ColywAGZ.cjs} +2 -2
- package/dist/chunks/{SSOHandler-Qm_2PekO.cjs.map → SSOHandler-ColywAGZ.cjs.map} +1 -1
- package/dist/chunks/{SearchBoxContext-CzDzVCVm.js → SearchBoxContext-CY4tAQcg.js} +2 -2
- package/dist/chunks/{SearchBoxContext-CzDzVCVm.js.map → SearchBoxContext-CY4tAQcg.js.map} +1 -1
- package/dist/chunks/{SearchBoxContext-mcPWk862.cjs → SearchBoxContext-DDBY44Wr.cjs} +2 -2
- package/dist/chunks/{SearchBoxContext-mcPWk862.cjs.map → SearchBoxContext-DDBY44Wr.cjs.map} +1 -1
- package/dist/chunks/{UtilsContext-DczQBfFi.cjs → UtilsContext-C4tlOndT.cjs} +2 -2
- package/dist/chunks/{UtilsContext-DczQBfFi.cjs.map → UtilsContext-C4tlOndT.cjs.map} +1 -1
- package/dist/chunks/{UtilsContext-BKUZmmKx.js → UtilsContext-JSHHfnWl.js} +4 -4
- package/dist/chunks/{UtilsContext-BKUZmmKx.js.map → UtilsContext-JSHHfnWl.js.map} +1 -1
- package/dist/chunks/{codeStore-rU4v3QIA.js → codeStore-IIp25egq.js} +2 -2
- package/dist/chunks/{codeStore-rU4v3QIA.js.map → codeStore-IIp25egq.js.map} +1 -1
- package/dist/chunks/{codeStore-BG8S_mdS.cjs → codeStore-KPL92rcv.cjs} +2 -2
- package/dist/chunks/{codeStore-BG8S_mdS.cjs.map → codeStore-KPL92rcv.cjs.map} +1 -1
- package/dist/chunks/envUtils-C9Gf5aek.js.map +1 -1
- package/dist/chunks/envUtils-CduTHoHu.cjs.map +1 -1
- package/dist/chunks/{menuViewStore-w4fLSR6N.cjs → menuViewStore-DuS0VmkB.cjs} +2 -2
- package/dist/chunks/{menuViewStore-w4fLSR6N.cjs.map → menuViewStore-DuS0VmkB.cjs.map} +1 -1
- package/dist/chunks/{menuViewStore-BhfgX53f.js → menuViewStore-OKcSQq-s.js} +2 -2
- package/dist/chunks/{menuViewStore-BhfgX53f.js.map → menuViewStore-OKcSQq-s.js.map} +1 -1
- package/dist/chunks/{popupStore-BGubYHZh.cjs → popupStore-BEoWGajT.cjs} +2 -2
- package/dist/chunks/{popupStore-BGubYHZh.cjs.map → popupStore-BEoWGajT.cjs.map} +1 -1
- package/dist/chunks/{popupStore-BJ_IYrdY.js → popupStore-D8RI04bU.js} +2 -2
- package/dist/chunks/{popupStore-BJ_IYrdY.js.map → popupStore-D8RI04bU.js.map} +1 -1
- package/dist/chunks/serviceConfig-9dHegQIK.cjs +3 -0
- package/dist/chunks/serviceConfig-9dHegQIK.cjs.map +1 -0
- package/dist/chunks/serviceConfig-Dhe7neaj.js +709 -0
- package/dist/chunks/serviceConfig-Dhe7neaj.js.map +1 -0
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/BwgUploader.d.ts +10 -0
- package/dist/components/core/BwgUploader.d.ts.map +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +9 -9
- package/dist/provider/contexts/UtilsContext.d.ts +6 -6
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +2 -2
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +5 -5
- package/dist/utils/apiUtils.d.ts +20 -6
- package/dist/utils/apiUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/notificationUtils.d.ts +3 -2
- package/dist/utils/notificationUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/BwgLargeUploader-1yDku10l.cjs +0 -3
- package/dist/chunks/serviceConfig-Cc8jfw_Y.cjs +0 -3
- package/dist/chunks/serviceConfig-Cc8jfw_Y.cjs.map +0 -1
- package/dist/chunks/serviceConfig-lAlRNVIw.js +0 -670
- package/dist/chunks/serviceConfig-lAlRNVIw.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as u } from "./jsx-runtime-Dpn_P65e.js";
|
|
2
2
|
import { useEffect as m, createContext as i, useContext as S, useRef as x } from "react";
|
|
3
|
-
import { an as f } from "./serviceConfig-
|
|
3
|
+
import { an as f } from "./serviceConfig-Dhe7neaj.js";
|
|
4
4
|
const s = {
|
|
5
5
|
// 권한 관련
|
|
6
6
|
AUTH_BTNS: "SCMSIGN00202",
|
|
@@ -85,4 +85,4 @@ export {
|
|
|
85
85
|
D as e,
|
|
86
86
|
M as u
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=SearchBoxContext-
|
|
88
|
+
//# sourceMappingURL=SearchBoxContext-CY4tAQcg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBoxContext-
|
|
1
|
+
{"version":3,"file":"SearchBoxContext-CY4tAQcg.js","sources":["../../src/provider/contexts/ServiceCodeContext.tsx","../../src/provider/contexts/SearchBoxContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useEffect } from 'react';\r\nimport { ServiceCodeKey, setServiceCodeOverrides } from '../../utils/serviceConfig';\r\n\r\n// 서비스코드 설정을 위한 Context 타입\r\ninterface ServiceCodeContextType {\r\n serviceCodes: Partial<Record<ServiceCodeKey, string>>;\r\n getServiceCode: (key: ServiceCodeKey) => string;\r\n}\r\n\r\n// 기본 서비스코드 정의\r\nconst DEFAULT_SERVICE_CODES = {\r\n // 권한 관련\r\n AUTH_BTNS: 'SCMSIGN00202', // 버튼 권한 조회\r\n AUTH_MENU: 'SCMSIGN00201', // 메뉴 권한 조회\r\n SRCH_CODE: 'SCMSIGN00301', // 코드 조회\r\n \r\n // 팝업 관련\r\n SRCH_POPU: 'SCMPOPU00101', // 팝업 조회\r\n \r\n // 즐겨찾기 관련\r\n AUTH_BMRK: 'SCMBMRK00101', // 즐겨찾기 관리\r\n} as const;\r\n\r\n// Context 생성\r\nconst ServiceCodeContext = createContext<ServiceCodeContextType | null>(null);\r\n\r\n// Provider Props 타입\r\ninterface ServiceCodeProviderProps {\r\n children: ReactNode;\r\n /**\r\n * 서비스코드 오버라이드 설정\r\n * 외부 프로젝트에서 기본 서비스코드를 재정의할 수 있습니다.\r\n * \r\n * @example\r\n * ```tsx\r\n * <ServiceCodeProvider\r\n * serviceCodes={{\r\n * AUTH_BTNS: 'CUSTOM_AUTH_BTNS_CODE',\r\n * AUTH_MENU: 'CUSTOM_AUTH_MENU_CODE',\r\n * SRCH_CODE: 'CUSTOM_SRCH_CODE',\r\n * SRCH_POPU: 'CUSTOM_SRCH_POPU_CODE',\r\n * AUTH_BMRK: 'CUSTOM_AUTH_BMRK_CODE',\r\n * }}\r\n * >\r\n * {children}\r\n * </ServiceCodeProvider>\r\n * ```\r\n * \r\n * @description\r\n * - AUTH_BTNS: 버튼 권한 조회 서비스코드\r\n * - AUTH_MENU: 메뉴 권한 조회 서비스코드 \r\n * - SRCH_CODE: 코드 조회 서비스코드\r\n * - SRCH_POPU: 팝업 조회 서비스코드\r\n * - AUTH_BMRK: 즐겨찾기 관리 서비스코드\r\n * \r\n * 설정하지 않은 서비스코드는 기본값을 사용합니다.\r\n */\r\n serviceCodes?: Partial<Record<ServiceCodeKey, string>>;\r\n}\r\n\r\n/**\r\n * 서비스코드 Provider 컴포넌트\r\n * 외부 프로젝트에서 서비스코드를 설정할 수 있도록 함\r\n * \r\n * @example\r\n * ```tsx\r\n * import { ServiceCodeProvider } from '@bwg/core/provider';\r\n * \r\n * function App() {\r\n * return (\r\n * <ServiceCodeProvider\r\n * serviceCodes={{\r\n * AUTH_BTNS: 'CUSTOM_AUTH_BTNS_CODE',\r\n * AUTH_MENU: 'CUSTOM_AUTH_MENU_CODE',\r\n * }}\r\n * >\r\n * <YourApp />\r\n * </ServiceCodeProvider>\r\n * );\r\n * }\r\n * ```\r\n */\r\nexport const ServiceCodeProvider: React.FC<ServiceCodeProviderProps> = ({\r\n children,\r\n serviceCodes = {},\r\n}) => {\r\n // serviceCodes가 변경될 때마다 serviceConfig.ts의 오버라이드를 업데이트\r\n useEffect(() => {\r\n setServiceCodeOverrides(serviceCodes);\r\n }, [serviceCodes]);\r\n\r\n // 서비스코드 가져오기 함수\r\n const getServiceCode = (key: ServiceCodeKey): string => {\r\n // 1. Provider에서 설정된 값 우선 확인\r\n if (serviceCodes[key] && serviceCodes[key]!.trim() !== '') {\r\n console.log(`🔧 Provider 설정 사용: ${key} = ${serviceCodes[key]}`);\r\n return serviceCodes[key]!;\r\n }\r\n\r\n // 2. 기본값 사용\r\n const defaultValue = DEFAULT_SERVICE_CODES[key];\r\n console.log(`🔧 기본값 사용: ${key} = ${defaultValue}`);\r\n return defaultValue;\r\n };\r\n\r\n const contextValue: ServiceCodeContextType = {\r\n serviceCodes,\r\n getServiceCode,\r\n };\r\n\r\n return (\r\n <ServiceCodeContext.Provider value={contextValue}>\r\n {children}\r\n </ServiceCodeContext.Provider>\r\n );\r\n};\r\n\r\n/**\r\n * 서비스코드 Context를 사용하는 Hook\r\n * \r\n * @example\r\n * ```tsx\r\n * const { getServiceCode, serviceCodes } = useServiceCode();\r\n * const authBtnsCode = getServiceCode('AUTH_BTNS');\r\n * ```\r\n */\r\nexport const useServiceCode = (): ServiceCodeContextType => {\r\n const context = useContext(ServiceCodeContext);\r\n if (!context) {\r\n throw new Error('useServiceCode must be used within a ServiceCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n/**\r\n * 특정 서비스코드를 가져오는 Hook\r\n * \r\n * @param key - 서비스코드 키\r\n * @returns 실제 서비스코드 값\r\n * \r\n * @example\r\n * ```tsx\r\n * const authBtnsCode = useServiceCodeValue('AUTH_BTNS');\r\n * const authMenuCode = useServiceCodeValue('AUTH_MENU');\r\n * ```\r\n */\r\nexport const useServiceCodeValue = (key: ServiceCodeKey): string => {\r\n const { getServiceCode } = useServiceCode();\r\n return getServiceCode(key);\r\n};\r\n\r\n/**\r\n * 모든 서비스코드를 가져오는 Hook\r\n * \r\n * @returns 모든 서비스코드 객체\r\n * \r\n * @example\r\n * ```tsx\r\n * const allServiceCodes = useAllServiceCodes();\r\n * console.log(allServiceCodes.AUTH_BTNS); // 'SCMSIGN00202' 또는 커스텀 값\r\n * ```\r\n */\r\nexport const useAllServiceCodes = (): Record<ServiceCodeKey, string> => {\r\n const { getServiceCode } = useServiceCode();\r\n const result = {} as Record<ServiceCodeKey, string>;\r\n \r\n for (const key of Object.keys(DEFAULT_SERVICE_CODES) as ServiceCodeKey[]) {\r\n result[key] = getServiceCode(key);\r\n }\r\n \r\n return result;\r\n};\r\n\r\n/**\r\n * 서비스코드 설정을 로그로 출력하는 Hook\r\n * 개발 시 현재 설정된 서비스코드를 확인할 수 있습니다.\r\n * \r\n * @example\r\n * ```tsx\r\n * useLogServiceCodeConfig();\r\n * // 콘솔에 현재 설정된 모든 서비스코드가 출력됩니다.\r\n * ```\r\n */\r\nexport const useLogServiceCodeConfig = (): void => {\r\n const { getServiceCode } = useServiceCode();\r\n \r\n console.log('🔧 bwg-core 서비스코드 설정:');\r\n console.log('📋 Provider 설정 > 기본값 순서로 확인');\r\n \r\n for (const key of Object.keys(DEFAULT_SERVICE_CODES) as ServiceCodeKey[]) {\r\n const value = getServiceCode(key);\r\n console.log(` ${key}: ${value}`);\r\n }\r\n};\r\n\r\n// 타입 내보내기\r\nexport type { ServiceCodeKey };\r\n","import React, { createContext, useContext, useRef, ReactNode } from 'react';\r\nimport { SearchBoxRef } from '../../components/common/SearchBox';\r\n\r\n// SearchBox Context 타입\r\ninterface SearchBoxContextType {\r\n searchBoxRef: React.RefObject<SearchBoxRef> | null;\r\n getFormData: () => any;\r\n setFormData: (data: any) => void;\r\n resetForm: () => void;\r\n validateForm: () => Promise<any>;\r\n}\r\n\r\n// Context 생성\r\nconst SearchBoxContext = createContext<SearchBoxContextType | null>(null);\r\n\r\n// Provider Props\r\ninterface SearchBoxProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\n// Provider 컴포넌트\r\nexport const SearchBoxProvider: React.FC<SearchBoxProviderProps> = ({\r\n children,\r\n}) => {\r\n const searchBoxRef = useRef<SearchBoxRef>(null);\r\n\r\n const getFormData = () => {\r\n return searchBoxRef.current?.getFormData() || {};\r\n };\r\n\r\n const setFormData = (data: any) => {\r\n searchBoxRef.current?.setFormData(data);\r\n };\r\n\r\n const resetForm = () => {\r\n searchBoxRef.current?.resetForm();\r\n };\r\n\r\n const validateForm = async () => {\r\n return (\r\n (await searchBoxRef.current?.validateForm()) || {\r\n success: false,\r\n error: null,\r\n }\r\n );\r\n };\r\n\r\n const value: SearchBoxContextType = {\r\n searchBoxRef,\r\n getFormData,\r\n setFormData,\r\n resetForm,\r\n validateForm,\r\n };\r\n\r\n return (\r\n <SearchBoxContext.Provider value={value}>\r\n {children}\r\n </SearchBoxContext.Provider>\r\n );\r\n};\r\n\r\n// Hook\r\nexport const useSearchBox = () => {\r\n const context = useContext(SearchBoxContext);\r\n if (!context) {\r\n throw new Error('useSearchBox must be used within a SearchBoxProvider');\r\n }\r\n return context;\r\n};\r\n"],"names":["DEFAULT_SERVICE_CODES","ServiceCodeContext","createContext","ServiceCodeProvider","children","serviceCodes","useEffect","setServiceCodeOverrides","contextValue","key","defaultValue","useServiceCode","context","useContext","useServiceCodeValue","getServiceCode","useAllServiceCodes","result","useLogServiceCodeConfig","value","SearchBoxContext","SearchBoxProvider","searchBoxRef","useRef","data","jsx","useSearchBox"],"mappings":";;;AAUA,MAAMA,IAAwB;AAAA;AAAA,EAE5B,WAAW;AAAA;AAAA,EACX,WAAW;AAAA;AAAA,EACX,WAAW;AAAA;AAAA;AAAA,EAGX,WAAW;AAAA;AAAA;AAAA,EAGX,WAAW;AAAA;AACb,GAGMC,IAAqBC,EAA6C,IAAI,GA0D/DC,IAA0D,CAAC;AAAA,EACtE,UAAAC;AAAA,EACA,cAAAC,IAAe,CAAA;AACjB,MAAM;AAEJ,EAAAC,EAAU,MAAM;AACd,IAAAC,EAAwBF,CAAY;AAAA,EACtC,GAAG,CAACA,CAAY,CAAC;AAgBjB,QAAMG,IAAuC;AAAA,IAC3C,cAAAH;AAAA,IACA,gBAfqB,CAACI,MAAgC;AAEtD,UAAIJ,EAAaI,CAAG,KAAKJ,EAAaI,CAAG,EAAG,KAAA,MAAW;AACrD,uBAAQ,IAAI,sBAAsBA,CAAG,MAAMJ,EAAaI,CAAG,CAAC,EAAE,GACvDJ,EAAaI,CAAG;AAIzB,YAAMC,IAAeV,EAAsBS,CAAG;AAC9C,qBAAQ,IAAI,cAAcA,CAAG,MAAMC,CAAY,EAAE,GAC1CA;AAAA,IACT;AAAA,EAIE;AAGF,+BACGT,EAAmB,UAAnB,EAA4B,OAAOO,GACjC,UAAAJ,GACH;AAEJ,GAWaO,IAAiB,MAA8B;AAC1D,QAAMC,IAAUC,EAAWZ,CAAkB;AAC7C,MAAI,CAACW;AACH,UAAM,IAAI,MAAM,0DAA0D;AAE5E,SAAOA;AACT,GAcaE,IAAsB,CAACL,MAAgC;AAClE,QAAM,EAAE,gBAAAM,EAAA,IAAmBJ,EAAA;AAC3B,SAAOI,EAAeN,CAAG;AAC3B,GAaaO,IAAqB,MAAsC;AACtE,QAAM,EAAE,gBAAAD,EAAA,IAAmBJ,EAAA,GACrBM,IAAS,CAAA;AAEf,aAAWR,KAAO,OAAO,KAAKT,CAAqB;AACjD,IAAAiB,EAAOR,CAAG,IAAIM,EAAeN,CAAG;AAGlC,SAAOQ;AACT,GAYaC,IAA0B,MAAY;AACjD,QAAM,EAAE,gBAAAH,EAAA,IAAmBJ,EAAA;AAE3B,UAAQ,IAAI,uBAAuB,GACnC,QAAQ,IAAI,6BAA6B;AAEzC,aAAWF,KAAO,OAAO,KAAKT,CAAqB,GAAuB;AACxE,UAAMmB,IAAQJ,EAAeN,CAAG;AAChC,YAAQ,IAAI,KAAKA,CAAG,KAAKU,CAAK,EAAE;AAAA,EAClC;AACF,GCpLMC,IAAmBlB,EAA2C,IAAI,GAQ3DmB,IAAsD,CAAC;AAAA,EAClE,UAAAjB;AACF,MAAM;AACJ,QAAMkB,IAAeC,EAAqB,IAAI,GAuBxCJ,IAA8B;AAAA,IAClC,cAAAG;AAAA,IACA,aAvBkB,MACXA,EAAa,SAAS,YAAA,KAAiB,CAAA;AAAA,IAuB9C,aApBkB,CAACE,MAAc;AACjC,MAAAF,EAAa,SAAS,YAAYE,CAAI;AAAA,IACxC;AAAA,IAmBE,WAjBgB,MAAM;AACtB,MAAAF,EAAa,SAAS,UAAA;AAAA,IACxB;AAAA,IAgBE,cAdmB,YAEhB,MAAMA,EAAa,SAAS,kBAAmB;AAAA,MAC9C,SAAS;AAAA,MACT,OAAO;AAAA,IAAA;AAAA,EAUX;AAGF,SACEG,gBAAAA,EAAAA,IAACL,EAAiB,UAAjB,EAA0B,OAAAD,GACxB,UAAAf,EAAA,CACH;AAEJ,GAGasB,IAAe,MAAM;AAChC,QAAMd,IAAUC,EAAWO,CAAgB;AAC3C,MAAI,CAACR;AACH,UAAM,IAAI,MAAM,sDAAsD;AAExE,SAAOA;AACT;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const a=require("./jsx-runtime-CeSfJrVB.cjs"),c=require("react"),d=require("./serviceConfig-
|
|
2
|
-
//# sourceMappingURL=SearchBoxContext-
|
|
1
|
+
"use strict";const a=require("./jsx-runtime-CeSfJrVB.cjs"),c=require("react"),d=require("./serviceConfig-9dHegQIK.cjs"),u={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101"},S=c.createContext(null),x=({children:o,serviceCodes:e={}})=>{c.useEffect(()=>{d.setServiceCodeOverrides(e)},[e]);const i={serviceCodes:e,getServiceCode:r=>{if(e[r]&&e[r].trim()!=="")return console.log(`🔧 Provider 설정 사용: ${r} = ${e[r]}`),e[r];const s=u[r];return console.log(`🔧 기본값 사용: ${r} = ${s}`),s}};return a.jsxRuntimeExports.jsx(S.Provider,{value:i,children:o})},n=()=>{const o=c.useContext(S);if(!o)throw new Error("useServiceCode must be used within a ServiceCodeProvider");return o},g=o=>{const{getServiceCode:e}=n();return e(o)},m=()=>{const{getServiceCode:o}=n(),e={};for(const t of Object.keys(u))e[t]=o(t);return e},f=()=>{const{getServiceCode:o}=n();console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");for(const e of Object.keys(u)){const t=o(e);console.log(` ${e}: ${t}`)}},l=c.createContext(null),P=({children:o})=>{const e=c.useRef(null),C={searchBoxRef:e,getFormData:()=>e.current?.getFormData()||{},setFormData:v=>{e.current?.setFormData(v)},resetForm:()=>{e.current?.resetForm()},validateForm:async()=>await e.current?.validateForm()||{success:!1,error:null}};return a.jsxRuntimeExports.jsx(l.Provider,{value:C,children:o})},F=()=>{const o=c.useContext(l);if(!o)throw new Error("useSearchBox must be used within a SearchBoxProvider");return o};exports.SearchBoxProvider=P;exports.ServiceCodeProvider=x;exports.useAllServiceCodes=m;exports.useLogServiceCodeConfig=f;exports.useSearchBox=F;exports.useServiceCode=n;exports.useServiceCodeValue=g;
|
|
2
|
+
//# sourceMappingURL=SearchBoxContext-DDBY44Wr.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBoxContext-
|
|
1
|
+
{"version":3,"file":"SearchBoxContext-DDBY44Wr.cjs","sources":["../../src/provider/contexts/ServiceCodeContext.tsx","../../src/provider/contexts/SearchBoxContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useEffect } from 'react';\r\nimport { ServiceCodeKey, setServiceCodeOverrides } from '../../utils/serviceConfig';\r\n\r\n// 서비스코드 설정을 위한 Context 타입\r\ninterface ServiceCodeContextType {\r\n serviceCodes: Partial<Record<ServiceCodeKey, string>>;\r\n getServiceCode: (key: ServiceCodeKey) => string;\r\n}\r\n\r\n// 기본 서비스코드 정의\r\nconst DEFAULT_SERVICE_CODES = {\r\n // 권한 관련\r\n AUTH_BTNS: 'SCMSIGN00202', // 버튼 권한 조회\r\n AUTH_MENU: 'SCMSIGN00201', // 메뉴 권한 조회\r\n SRCH_CODE: 'SCMSIGN00301', // 코드 조회\r\n \r\n // 팝업 관련\r\n SRCH_POPU: 'SCMPOPU00101', // 팝업 조회\r\n \r\n // 즐겨찾기 관련\r\n AUTH_BMRK: 'SCMBMRK00101', // 즐겨찾기 관리\r\n} as const;\r\n\r\n// Context 생성\r\nconst ServiceCodeContext = createContext<ServiceCodeContextType | null>(null);\r\n\r\n// Provider Props 타입\r\ninterface ServiceCodeProviderProps {\r\n children: ReactNode;\r\n /**\r\n * 서비스코드 오버라이드 설정\r\n * 외부 프로젝트에서 기본 서비스코드를 재정의할 수 있습니다.\r\n * \r\n * @example\r\n * ```tsx\r\n * <ServiceCodeProvider\r\n * serviceCodes={{\r\n * AUTH_BTNS: 'CUSTOM_AUTH_BTNS_CODE',\r\n * AUTH_MENU: 'CUSTOM_AUTH_MENU_CODE',\r\n * SRCH_CODE: 'CUSTOM_SRCH_CODE',\r\n * SRCH_POPU: 'CUSTOM_SRCH_POPU_CODE',\r\n * AUTH_BMRK: 'CUSTOM_AUTH_BMRK_CODE',\r\n * }}\r\n * >\r\n * {children}\r\n * </ServiceCodeProvider>\r\n * ```\r\n * \r\n * @description\r\n * - AUTH_BTNS: 버튼 권한 조회 서비스코드\r\n * - AUTH_MENU: 메뉴 권한 조회 서비스코드 \r\n * - SRCH_CODE: 코드 조회 서비스코드\r\n * - SRCH_POPU: 팝업 조회 서비스코드\r\n * - AUTH_BMRK: 즐겨찾기 관리 서비스코드\r\n * \r\n * 설정하지 않은 서비스코드는 기본값을 사용합니다.\r\n */\r\n serviceCodes?: Partial<Record<ServiceCodeKey, string>>;\r\n}\r\n\r\n/**\r\n * 서비스코드 Provider 컴포넌트\r\n * 외부 프로젝트에서 서비스코드를 설정할 수 있도록 함\r\n * \r\n * @example\r\n * ```tsx\r\n * import { ServiceCodeProvider } from '@bwg/core/provider';\r\n * \r\n * function App() {\r\n * return (\r\n * <ServiceCodeProvider\r\n * serviceCodes={{\r\n * AUTH_BTNS: 'CUSTOM_AUTH_BTNS_CODE',\r\n * AUTH_MENU: 'CUSTOM_AUTH_MENU_CODE',\r\n * }}\r\n * >\r\n * <YourApp />\r\n * </ServiceCodeProvider>\r\n * );\r\n * }\r\n * ```\r\n */\r\nexport const ServiceCodeProvider: React.FC<ServiceCodeProviderProps> = ({\r\n children,\r\n serviceCodes = {},\r\n}) => {\r\n // serviceCodes가 변경될 때마다 serviceConfig.ts의 오버라이드를 업데이트\r\n useEffect(() => {\r\n setServiceCodeOverrides(serviceCodes);\r\n }, [serviceCodes]);\r\n\r\n // 서비스코드 가져오기 함수\r\n const getServiceCode = (key: ServiceCodeKey): string => {\r\n // 1. Provider에서 설정된 값 우선 확인\r\n if (serviceCodes[key] && serviceCodes[key]!.trim() !== '') {\r\n console.log(`🔧 Provider 설정 사용: ${key} = ${serviceCodes[key]}`);\r\n return serviceCodes[key]!;\r\n }\r\n\r\n // 2. 기본값 사용\r\n const defaultValue = DEFAULT_SERVICE_CODES[key];\r\n console.log(`🔧 기본값 사용: ${key} = ${defaultValue}`);\r\n return defaultValue;\r\n };\r\n\r\n const contextValue: ServiceCodeContextType = {\r\n serviceCodes,\r\n getServiceCode,\r\n };\r\n\r\n return (\r\n <ServiceCodeContext.Provider value={contextValue}>\r\n {children}\r\n </ServiceCodeContext.Provider>\r\n );\r\n};\r\n\r\n/**\r\n * 서비스코드 Context를 사용하는 Hook\r\n * \r\n * @example\r\n * ```tsx\r\n * const { getServiceCode, serviceCodes } = useServiceCode();\r\n * const authBtnsCode = getServiceCode('AUTH_BTNS');\r\n * ```\r\n */\r\nexport const useServiceCode = (): ServiceCodeContextType => {\r\n const context = useContext(ServiceCodeContext);\r\n if (!context) {\r\n throw new Error('useServiceCode must be used within a ServiceCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n/**\r\n * 특정 서비스코드를 가져오는 Hook\r\n * \r\n * @param key - 서비스코드 키\r\n * @returns 실제 서비스코드 값\r\n * \r\n * @example\r\n * ```tsx\r\n * const authBtnsCode = useServiceCodeValue('AUTH_BTNS');\r\n * const authMenuCode = useServiceCodeValue('AUTH_MENU');\r\n * ```\r\n */\r\nexport const useServiceCodeValue = (key: ServiceCodeKey): string => {\r\n const { getServiceCode } = useServiceCode();\r\n return getServiceCode(key);\r\n};\r\n\r\n/**\r\n * 모든 서비스코드를 가져오는 Hook\r\n * \r\n * @returns 모든 서비스코드 객체\r\n * \r\n * @example\r\n * ```tsx\r\n * const allServiceCodes = useAllServiceCodes();\r\n * console.log(allServiceCodes.AUTH_BTNS); // 'SCMSIGN00202' 또는 커스텀 값\r\n * ```\r\n */\r\nexport const useAllServiceCodes = (): Record<ServiceCodeKey, string> => {\r\n const { getServiceCode } = useServiceCode();\r\n const result = {} as Record<ServiceCodeKey, string>;\r\n \r\n for (const key of Object.keys(DEFAULT_SERVICE_CODES) as ServiceCodeKey[]) {\r\n result[key] = getServiceCode(key);\r\n }\r\n \r\n return result;\r\n};\r\n\r\n/**\r\n * 서비스코드 설정을 로그로 출력하는 Hook\r\n * 개발 시 현재 설정된 서비스코드를 확인할 수 있습니다.\r\n * \r\n * @example\r\n * ```tsx\r\n * useLogServiceCodeConfig();\r\n * // 콘솔에 현재 설정된 모든 서비스코드가 출력됩니다.\r\n * ```\r\n */\r\nexport const useLogServiceCodeConfig = (): void => {\r\n const { getServiceCode } = useServiceCode();\r\n \r\n console.log('🔧 bwg-core 서비스코드 설정:');\r\n console.log('📋 Provider 설정 > 기본값 순서로 확인');\r\n \r\n for (const key of Object.keys(DEFAULT_SERVICE_CODES) as ServiceCodeKey[]) {\r\n const value = getServiceCode(key);\r\n console.log(` ${key}: ${value}`);\r\n }\r\n};\r\n\r\n// 타입 내보내기\r\nexport type { ServiceCodeKey };\r\n","import React, { createContext, useContext, useRef, ReactNode } from 'react';\r\nimport { SearchBoxRef } from '../../components/common/SearchBox';\r\n\r\n// SearchBox Context 타입\r\ninterface SearchBoxContextType {\r\n searchBoxRef: React.RefObject<SearchBoxRef> | null;\r\n getFormData: () => any;\r\n setFormData: (data: any) => void;\r\n resetForm: () => void;\r\n validateForm: () => Promise<any>;\r\n}\r\n\r\n// Context 생성\r\nconst SearchBoxContext = createContext<SearchBoxContextType | null>(null);\r\n\r\n// Provider Props\r\ninterface SearchBoxProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\n// Provider 컴포넌트\r\nexport const SearchBoxProvider: React.FC<SearchBoxProviderProps> = ({\r\n children,\r\n}) => {\r\n const searchBoxRef = useRef<SearchBoxRef>(null);\r\n\r\n const getFormData = () => {\r\n return searchBoxRef.current?.getFormData() || {};\r\n };\r\n\r\n const setFormData = (data: any) => {\r\n searchBoxRef.current?.setFormData(data);\r\n };\r\n\r\n const resetForm = () => {\r\n searchBoxRef.current?.resetForm();\r\n };\r\n\r\n const validateForm = async () => {\r\n return (\r\n (await searchBoxRef.current?.validateForm()) || {\r\n success: false,\r\n error: null,\r\n }\r\n );\r\n };\r\n\r\n const value: SearchBoxContextType = {\r\n searchBoxRef,\r\n getFormData,\r\n setFormData,\r\n resetForm,\r\n validateForm,\r\n };\r\n\r\n return (\r\n <SearchBoxContext.Provider value={value}>\r\n {children}\r\n </SearchBoxContext.Provider>\r\n );\r\n};\r\n\r\n// Hook\r\nexport const useSearchBox = () => {\r\n const context = useContext(SearchBoxContext);\r\n if (!context) {\r\n throw new Error('useSearchBox must be used within a SearchBoxProvider');\r\n }\r\n return context;\r\n};\r\n"],"names":["DEFAULT_SERVICE_CODES","ServiceCodeContext","createContext","ServiceCodeProvider","children","serviceCodes","useEffect","setServiceCodeOverrides","contextValue","key","defaultValue","useServiceCode","context","useContext","useServiceCodeValue","getServiceCode","useAllServiceCodes","result","useLogServiceCodeConfig","value","SearchBoxContext","SearchBoxProvider","searchBoxRef","useRef","data","jsx","useSearchBox"],"mappings":"wHAUMA,EAAwB,CAE5B,UAAW,eACX,UAAW,eACX,UAAW,eAGX,UAAW,eAGX,UAAW,cACb,EAGMC,EAAqBC,EAAAA,cAA6C,IAAI,EA0D/DC,EAA0D,CAAC,CACtE,SAAAC,EACA,aAAAC,EAAe,CAAA,CACjB,IAAM,CAEJC,EAAAA,UAAU,IAAM,CACdC,EAAAA,wBAAwBF,CAAY,CACtC,EAAG,CAACA,CAAY,CAAC,EAgBjB,MAAMG,EAAuC,CAC3C,aAAAH,EACA,eAfsBI,GAAgC,CAEtD,GAAIJ,EAAaI,CAAG,GAAKJ,EAAaI,CAAG,EAAG,KAAA,IAAW,GACrD,eAAQ,IAAI,sBAAsBA,CAAG,MAAMJ,EAAaI,CAAG,CAAC,EAAE,EACvDJ,EAAaI,CAAG,EAIzB,MAAMC,EAAeV,EAAsBS,CAAG,EAC9C,eAAQ,IAAI,cAAcA,CAAG,MAAMC,CAAY,EAAE,EAC1CA,CACT,CAIE,EAGF,+BACGT,EAAmB,SAAnB,CAA4B,MAAOO,EACjC,SAAAJ,EACH,CAEJ,EAWaO,EAAiB,IAA8B,CAC1D,MAAMC,EAAUC,EAAAA,WAAWZ,CAAkB,EAC7C,GAAI,CAACW,EACH,MAAM,IAAI,MAAM,0DAA0D,EAE5E,OAAOA,CACT,EAcaE,EAAuBL,GAAgC,CAClE,KAAM,CAAE,eAAAM,CAAA,EAAmBJ,EAAA,EAC3B,OAAOI,EAAeN,CAAG,CAC3B,EAaaO,EAAqB,IAAsC,CACtE,KAAM,CAAE,eAAAD,CAAA,EAAmBJ,EAAA,EACrBM,EAAS,CAAA,EAEf,UAAWR,KAAO,OAAO,KAAKT,CAAqB,EACjDiB,EAAOR,CAAG,EAAIM,EAAeN,CAAG,EAGlC,OAAOQ,CACT,EAYaC,EAA0B,IAAY,CACjD,KAAM,CAAE,eAAAH,CAAA,EAAmBJ,EAAA,EAE3B,QAAQ,IAAI,uBAAuB,EACnC,QAAQ,IAAI,6BAA6B,EAEzC,UAAWF,KAAO,OAAO,KAAKT,CAAqB,EAAuB,CACxE,MAAMmB,EAAQJ,EAAeN,CAAG,EAChC,QAAQ,IAAI,KAAKA,CAAG,KAAKU,CAAK,EAAE,CAClC,CACF,ECpLMC,EAAmBlB,EAAAA,cAA2C,IAAI,EAQ3DmB,EAAsD,CAAC,CAClE,SAAAjB,CACF,IAAM,CACJ,MAAMkB,EAAeC,EAAAA,OAAqB,IAAI,EAuBxCJ,EAA8B,CAClC,aAAAG,EACA,YAvBkB,IACXA,EAAa,SAAS,YAAA,GAAiB,CAAA,EAuB9C,YApBmBE,GAAc,CACjCF,EAAa,SAAS,YAAYE,CAAI,CACxC,EAmBE,UAjBgB,IAAM,CACtBF,EAAa,SAAS,UAAA,CACxB,EAgBE,aAdmB,SAEhB,MAAMA,EAAa,SAAS,gBAAmB,CAC9C,QAAS,GACT,MAAO,IAAA,CAUX,EAGF,OACEG,EAAAA,kBAAAA,IAACL,EAAiB,SAAjB,CAA0B,MAAAD,EACxB,SAAAf,CAAA,CACH,CAEJ,EAGasB,EAAe,IAAM,CAChC,MAAMd,EAAUC,EAAAA,WAAWO,CAAgB,EAC3C,GAAI,CAACR,EACH,MAAM,IAAI,MAAM,sDAAsD,EAExE,OAAOA,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const u=require("react"),b=require("./popupStore-
|
|
2
|
-
//# sourceMappingURL=UtilsContext-
|
|
1
|
+
"use strict";const u=require("react"),b=require("./popupStore-BEoWGajT.cjs"),y=require("./jsx-runtime-CeSfJrVB.cjs"),L=require("./codeStore-KPL92rcv.cjs"),o=require("./commonUtils-DaFg0y7C.cjs"),i=require("./serviceConfig-9dHegQIK.cjs"),x=()=>!1,E=()=>{const{popups:e,activePopupId:r,setActivePopup:s,closePopup:m,openPopup:c}=b.usePopupStore(),l=u.useCallback(async(d,g,C)=>{try{await c(d,g,C)}catch(p){throw console.error("팝업 열기 실패:",p),p}},[c]);return{popups:e,activePopupId:r,setActivePopup:s,closePopup:m,showPopup:l,isPopup:e.length>0}},D=u.createContext(void 0),S=({children:e})=>{const{codeData:r,isLoading:s,error:m,lastUpdated:c,getCodeList:l,getCodeListByOption:d,getCodeName:g,getCodeColor:C,getCodeByOption:p,getAvailableGroupCodes:U,getGridLookup:f,fetchCommonCodes:P}=L.useCodeStore(),v={codeData:r,isLoading:s,error:m,lastUpdated:c,getCodeList:l,getCodeListByOption:d,getCodeName:g,getCodeColor:C,getCodeByOption:p,getAvailableGroupCodes:U,getGridLookup:f,refreshCodes:P};return y.jsxRuntimeExports.jsx(D.Provider,{value:v,children:e})},a=()=>{const e=u.useContext(D);if(e===void 0)throw new Error("useCommonCode must be used within a CommonCodeProvider");return e},A=()=>{const{getCodeList:e,isLoading:r,error:s}=a();return{getCodeList:e,isLoading:r,error:s}},I=()=>{const{getCodeName:e,isLoading:r,error:s}=a();return{getCodeName:e,isLoading:r,error:s}},N=()=>{const{getCodeColor:e,isLoading:r,error:s}=a();return{getCodeColor:e,isLoading:r,error:s}},T=()=>{const{getCodeListByOption:e,isLoading:r,error:s}=a();return{getCodeListByOption:e,isLoading:r,error:s}},G=()=>{const{getGridLookup:e,isLoading:r,error:s}=a();return{getGridLookup:e,isLoading:r,error:s}},k={...o.dateUtils,...i.stringUtils,isEmptyArray:o.isEmptyArray,isNotEmptyArray:o.isNotEmptyArray,unique:o.unique,shuffle:o.shuffle,sortBy:o.sortBy,max:o.max,min:o.min,average:o.average,sum:o.sum,randomFromArray:o.randomFromArray,flattenArray:o.flattenArray,...o.objectUtils,debounce:o.debounce,throttle:o.throttle,setLocalStorage:o.setLocalStorage,getLocalStorage:o.getLocalStorage,formatNumber:o.formatNumber,formatCurrency:o.formatCurrency,copyToClipboard:o.copyToClipboard,isMobile:o.isMobile,isDesktop:o.isDesktop,callService:i.callService,apiGet:i.apiGet,apiPost:i.apiPost,apiPut:i.apiPut,apiDelete:i.apiDelete,apiPatch:i.apiPatch},h=u.createContext(void 0),q=({children:e})=>y.jsxRuntimeExports.jsx(h.Provider,{value:{utils:k},children:e}),n=()=>{const e=u.useContext(h);if(e===void 0)throw new Error("useUtils must be used within a UtilsProvider");return e.utils},t=(e,r,s)=>e&&typeof e[r]=="function"?e[r]:s||(()=>{}),w=()=>{const e=n();return{formatDate:t(e,"formatDate"),formatDateKorean:t(e,"formatDateKorean"),getCurrentDate:t(e,"getCurrentDate"),getCurrentDateString:t(e,"getCurrentDateString"),getRelativeTime:t(e,"getRelativeTime"),isToday:t(e,"isToday"),isThisWeek:t(e,"isThisWeek"),isThisMonth:t(e,"isThisMonth"),getDateDiff:t(e,"getDateDiff"),calculateAge:t(e,"calculateAge")}},B=()=>{const e=n();return{isEmpty:t(e,"isEmpty"),isNotEmpty:t(e,"isNotEmpty"),truncate:t(e,"truncate"),capitalize:t(e,"capitalize"),formatPhoneNumber:t(e,"formatPhoneNumber"),isValidEmail:t(e,"isValidEmail"),removeHtmlTags:t(e,"removeHtmlTags"),generateUID:t(e,"generateUID"),generateShortUID:t(e,"generateShortUID"),generateLongUID:t(e,"generateLongUID"),generateNumericUID:t(e,"generateNumericUID"),generateAlphanumericUID:t(e,"generateAlphanumericUID"),generateGUID:t(e,"generateGUID"),generateGUIDWithoutHyphens:t(e,"generateGUIDWithoutHyphens"),generateTimestampUID:t(e,"generateTimestampUID"),generateCustomUID:t(e,"generateCustomUID"),encryptSha256:t(e,"encryptSha256"),bxmEncrypt:t(e,"bxmEncrypt"),bxmDecrypt:t(e,"bxmDecrypt"),simpleEncrypt:t(e,"simpleEncrypt"),simpleDecrypt:t(e,"simpleDecrypt"),md5Hash:t(e,"md5Hash"),sha256Hash:t(e,"sha256Hash"),base64Encode:t(e,"base64Encode"),base64Decode:t(e,"base64Decode")}},H=()=>{const e=n();return{isEmptyArray:t(e,"isEmptyArray"),isNotEmptyArray:t(e,"isNotEmptyArray"),unique:t(e,"unique"),shuffle:t(e,"shuffle"),sortBy:t(e,"sortBy"),max:t(e,"max"),min:t(e,"min"),average:t(e,"average"),sum:t(e,"sum")}},M=()=>{const e=n();return{debounce:t(e,"debounce"),throttle:t(e,"throttle"),setLocalStorage:t(e,"setLocalStorage"),getLocalStorage:t(e,"getLocalStorage"),formatNumber:t(e,"formatNumber"),formatCurrency:t(e,"formatCurrency"),copyToClipboard:t(e,"copyToClipboard"),isMobile:t(e,"isMobile"),isDesktop:t(e,"isDesktop")}},R=()=>{const e=n();return{callService:t(e,"callService"),apiGet:t(e,"apiGet"),apiPost:t(e,"apiPost"),apiPut:t(e,"apiPut"),apiDelete:t(e,"apiDelete"),apiPatch:t(e,"apiPatch")}};exports.CommonCodeProvider=S;exports.UtilsProvider=q;exports.useApiUtils=R;exports.useArrayUtils=H;exports.useCodeColor=N;exports.useCodeList=A;exports.useCodeListByOption=T;exports.useCodeName=I;exports.useCommonCode=a;exports.useCommonUtils=M;exports.useDateUtils=w;exports.useGridLookup=G;exports.usePopup=E;exports.usePopupContext=x;exports.useStringUtils=B;exports.useUtils=n;
|
|
2
|
+
//# sourceMappingURL=UtilsContext-C4tlOndT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilsContext-DczQBfFi.cjs","sources":["../../src/provider/hooks/usePopup.ts","../../src/provider/contexts/CommonCodeContext.tsx","../../src/provider/contexts/UtilsContext.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport { usePopupStore, type PopupConfig } from '../../stores/popupStore';\r\n\r\n/**\r\n * 팝업 컨텍스트를 감지하는 훅\r\n * 팝업 내부에서 사용하면 true, 일반 페이지에서는 false 반환\r\n */\r\nexport const usePopupContext = (): boolean => {\r\n // 팝업 내부에서만 true를 반환하도록 수정\r\n // 현재는 팝업이 열려있으면 모든 컴포넌트가 팝업으로 인식되는 문제가 있음\r\n // 임시로 false 반환 (수동으로 isPopup prop 사용 권장)\r\n return false;\r\n};\r\n\r\n/**\r\n * 팝업 데이터와 이벤트를 관리하는 훅\r\n */\r\nexport const usePopup = () => {\r\n const { popups, activePopupId, setActivePopup, closePopup, openPopup } =\r\n usePopupStore();\r\n\r\n // 팝업 열기 함수\r\n const showPopup = useCallback(\r\n async (popupCode: string, popParams?: any, config?: PopupConfig) => {\r\n try {\r\n await openPopup(popupCode, popParams, config);\r\n } catch (error) {\r\n console.error('팝업 열기 실패:', error);\r\n throw error;\r\n }\r\n },\r\n [openPopup]\r\n );\r\n\r\n return {\r\n popups,\r\n activePopupId,\r\n setActivePopup,\r\n closePopup,\r\n showPopup,\r\n isPopup: popups.length > 0,\r\n };\r\n};\r\n","import { useCodeStore, type CommonCodeContextType } from '../../stores/codeStore';\r\nimport { createContext, useContext, ReactNode } from 'react';\r\n\r\n// 공통코드 컨텍스트 생성\r\nconst CommonCodeContext = createContext<CommonCodeContextType | undefined>(\r\n undefined\r\n);\r\n\r\n// 공통코드 컨텍스트 프로바이더 컴포넌트\r\ninterface CommonCodeProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const CommonCodeProvider: React.FC<CommonCodeProviderProps> = ({\r\n children,\r\n}) => {\r\n const {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n fetchCommonCodes,\r\n } = useCodeStore();\r\n\r\n const contextValue: CommonCodeContextType = {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n refreshCodes: fetchCommonCodes,\r\n };\r\n\r\n return (\r\n <CommonCodeContext.Provider value={contextValue}>\r\n {children}\r\n </CommonCodeContext.Provider>\r\n );\r\n};\r\n\r\n// 공통코드 컨텍스트 사용 훅\r\nexport const useCommonCode = (): CommonCodeContextType => {\r\n const context = useContext(CommonCodeContext);\r\n if (context === undefined) {\r\n throw new Error('useCommonCode must be used within a CommonCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n// 편의 훅들 (Fast Refresh 호환성을 위해 매개변수 없는 함수로 변경)\r\nexport const useCodeList = () => {\r\n const { getCodeList, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeList,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeName = () => {\r\n const { getCodeName, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeName,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeColor = () => {\r\n const { getCodeColor, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeColor,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeListByOption = () => {\r\n const { getCodeListByOption, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeListByOption,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useGridLookup = () => {\r\n const { getGridLookup, isLoading, error } = useCommonCode();\r\n return {\r\n getGridLookup,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n","import React, { createContext, useContext } from \"react\";\r\nimport type { ReactNode } from \"react\";\r\nimport * as dateUtils from \"../../utils/dateUtils\";\r\nimport * as stringUtils from \"../../utils/stringUtils\";\r\nimport * as arrayUtils from \"../../utils/arrayUtils\";\r\nimport * as objectUtils from \"../../utils/objectUtils\";\r\nimport * as commonUtils from \"../../utils/commonUtils\";\r\nimport * as apiUtils from \"../../utils/apiUtils\";\r\n\r\n// 모든 유틸리티 함수들을 하나의 객체로 결합 (충돌하는 함수명은 별칭 사용)\r\nconst utils = {\r\n // 날짜 유틸리티\r\n ...dateUtils,\r\n // 문자열 유틸리티\r\n ...stringUtils,\r\n // 배열 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n isEmptyArray: arrayUtils.isEmptyArray,\r\n isNotEmptyArray: arrayUtils.isNotEmptyArray,\r\n unique: arrayUtils.unique,\r\n shuffle: arrayUtils.shuffle,\r\n sortBy: arrayUtils.sortBy,\r\n max: arrayUtils.max,\r\n min: arrayUtils.min,\r\n average: arrayUtils.average,\r\n sum: arrayUtils.sum,\r\n randomFromArray: arrayUtils.randomFromArray,\r\n flattenArray: arrayUtils.flattenArray,\r\n // 객체 유틸리티\r\n ...objectUtils,\r\n // 일반 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n debounce: commonUtils.debounce,\r\n throttle: commonUtils.throttle,\r\n setLocalStorage: commonUtils.setLocalStorage,\r\n getLocalStorage: commonUtils.getLocalStorage,\r\n formatNumber: commonUtils.formatNumber,\r\n formatCurrency: commonUtils.formatCurrency,\r\n copyToClipboard: commonUtils.copyToClipboard,\r\n isMobile: commonUtils.isMobile,\r\n isDesktop: commonUtils.isDesktop,\r\n // API 유틸리티\r\n callService: apiUtils.callService,\r\n apiGet: apiUtils.apiGet,\r\n apiPost: apiUtils.apiPost,\r\n apiPut: apiUtils.apiPut,\r\n apiDelete: apiUtils.apiDelete,\r\n apiPatch: apiUtils.apiPatch,\r\n};\r\n\r\n// Context 타입 정의\r\ninterface UtilsContextType {\r\n utils: typeof utils;\r\n}\r\n\r\n// Context 생성\r\nconst UtilsContext = createContext<UtilsContextType | undefined>(undefined);\r\n\r\n// Provider 컴포넌트\r\ninterface UtilsProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const UtilsProvider: React.FC<UtilsProviderProps> = ({ children }) => {\r\n return (\r\n <UtilsContext.Provider value={{ utils }}>{children}</UtilsContext.Provider>\r\n );\r\n};\r\n\r\n// Hook for using utils\r\nexport const useUtils = () => {\r\n const context = useContext(UtilsContext);\r\n if (context === undefined) {\r\n throw new Error(\"useUtils must be used within a UtilsProvider\");\r\n }\r\n return context.utils;\r\n};\r\n\r\n// 안전한 함수 가져오기 헬퍼\r\nconst safeGet = (obj: any, key: string, fallback?: any) => {\r\n return obj && typeof obj[key] === \"function\"\r\n ? obj[key]\r\n : fallback || (() => {});\r\n};\r\n\r\n// 개별 유틸리티 훅들 (선택사항)\r\nexport const useDateUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n formatDate: safeGet(utils, \"formatDate\"),\r\n formatDateKorean: safeGet(utils, \"formatDateKorean\"),\r\n getCurrentDate: safeGet(utils, \"getCurrentDate\"),\r\n getCurrentDateString: safeGet(utils, \"getCurrentDateString\"),\r\n getRelativeTime: safeGet(utils, \"getRelativeTime\"),\r\n isToday: safeGet(utils, \"isToday\"),\r\n isThisWeek: safeGet(utils, \"isThisWeek\"),\r\n isThisMonth: safeGet(utils, \"isThisMonth\"),\r\n getDateDiff: safeGet(utils, \"getDateDiff\"),\r\n calculateAge: safeGet(utils, \"calculateAge\"),\r\n };\r\n};\r\n\r\nexport const useStringUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmpty: safeGet(utils, \"isEmpty\"),\r\n isNotEmpty: safeGet(utils, \"isNotEmpty\"),\r\n truncate: safeGet(utils, \"truncate\"),\r\n capitalize: safeGet(utils, \"capitalize\"),\r\n formatPhoneNumber: safeGet(utils, \"formatPhoneNumber\"),\r\n isValidEmail: safeGet(utils, \"isValidEmail\"),\r\n removeHtmlTags: safeGet(utils, \"removeHtmlTags\"),\r\n // UID 생성 함수들\r\n generateUID: safeGet(utils, \"generateUID\"),\r\n generateShortUID: safeGet(utils, \"generateShortUID\"),\r\n generateLongUID: safeGet(utils, \"generateLongUID\"),\r\n generateNumericUID: safeGet(utils, \"generateNumericUID\"),\r\n generateAlphanumericUID: safeGet(utils, \"generateAlphanumericUID\"),\r\n generateGUID: safeGet(utils, \"generateGUID\"),\r\n generateGUIDWithoutHyphens: safeGet(utils, \"generateGUIDWithoutHyphens\"),\r\n generateTimestampUID: safeGet(utils, \"generateTimestampUID\"),\r\n generateCustomUID: safeGet(utils, \"generateCustomUID\"),\r\n // 암호화 관련 함수들\r\n encryptSha256: safeGet(utils, \"encryptSha256\"),\r\n bxmEncrypt: safeGet(utils, \"bxmEncrypt\"),\r\n bxmDecrypt: safeGet(utils, \"bxmDecrypt\"),\r\n simpleEncrypt: safeGet(utils, \"simpleEncrypt\"),\r\n simpleDecrypt: safeGet(utils, \"simpleDecrypt\"),\r\n md5Hash: safeGet(utils, \"md5Hash\"),\r\n sha256Hash: safeGet(utils, \"sha256Hash\"),\r\n base64Encode: safeGet(utils, \"base64Encode\"),\r\n base64Decode: safeGet(utils, \"base64Decode\"),\r\n };\r\n};\r\n\r\nexport const useArrayUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmptyArray: safeGet(utils, \"isEmptyArray\"),\r\n isNotEmptyArray: safeGet(utils, \"isNotEmptyArray\"),\r\n unique: safeGet(utils, \"unique\"),\r\n shuffle: safeGet(utils, \"shuffle\"),\r\n sortBy: safeGet(utils, \"sortBy\"),\r\n max: safeGet(utils, \"max\"),\r\n min: safeGet(utils, \"min\"),\r\n average: safeGet(utils, \"average\"),\r\n sum: safeGet(utils, \"sum\"),\r\n };\r\n};\r\n\r\nexport const useCommonUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n debounce: safeGet(utils, \"debounce\"),\r\n throttle: safeGet(utils, \"throttle\"),\r\n setLocalStorage: safeGet(utils, \"setLocalStorage\"),\r\n getLocalStorage: safeGet(utils, \"getLocalStorage\"),\r\n formatNumber: safeGet(utils, \"formatNumber\"),\r\n formatCurrency: safeGet(utils, \"formatCurrency\"),\r\n copyToClipboard: safeGet(utils, \"copyToClipboard\"),\r\n isMobile: safeGet(utils, \"isMobile\"),\r\n isDesktop: safeGet(utils, \"isDesktop\"),\r\n };\r\n};\r\n\r\nexport const useApiUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n callService: safeGet(utils, \"callService\"),\r\n apiGet: safeGet(utils, \"apiGet\"),\r\n apiPost: safeGet(utils, \"apiPost\"),\r\n apiPut: safeGet(utils, \"apiPut\"),\r\n apiDelete: safeGet(utils, \"apiDelete\"),\r\n apiPatch: safeGet(utils, \"apiPatch\"),\r\n };\r\n};\r\n"],"names":["usePopupContext","usePopup","popups","activePopupId","setActivePopup","closePopup","openPopup","usePopupStore","showPopup","useCallback","popupCode","popParams","config","error","CommonCodeContext","createContext","CommonCodeProvider","children","codeData","isLoading","lastUpdated","getCodeList","getCodeListByOption","getCodeName","getCodeColor","getCodeByOption","getAvailableGroupCodes","getGridLookup","fetchCommonCodes","useCodeStore","contextValue","useCommonCode","context","useContext","useCodeList","useCodeName","useCodeColor","useCodeListByOption","useGridLookup","utils","dateUtils","stringUtils","arrayUtils.isEmptyArray","arrayUtils.isNotEmptyArray","arrayUtils.unique","arrayUtils.shuffle","arrayUtils.sortBy","arrayUtils.max","arrayUtils.min","arrayUtils.average","arrayUtils.sum","arrayUtils.randomFromArray","arrayUtils.flattenArray","objectUtils","commonUtils.debounce","commonUtils.throttle","commonUtils.setLocalStorage","commonUtils.getLocalStorage","commonUtils.formatNumber","commonUtils.formatCurrency","commonUtils.copyToClipboard","commonUtils.isMobile","commonUtils.isDesktop","apiUtils.callService","apiUtils.apiGet","apiUtils.apiPost","apiUtils.apiPut","apiUtils.apiDelete","apiUtils.apiPatch","UtilsContext","UtilsProvider","jsx","useUtils","safeGet","obj","key","fallback","useDateUtils","useStringUtils","useArrayUtils","useCommonUtils","useApiUtils"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UtilsContext-C4tlOndT.cjs","sources":["../../src/provider/hooks/usePopup.ts","../../src/provider/contexts/CommonCodeContext.tsx","../../src/provider/contexts/UtilsContext.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport { usePopupStore, type PopupConfig } from '../../stores/popupStore';\r\n\r\n/**\r\n * 팝업 컨텍스트를 감지하는 훅\r\n * 팝업 내부에서 사용하면 true, 일반 페이지에서는 false 반환\r\n */\r\nexport const usePopupContext = (): boolean => {\r\n // 팝업 내부에서만 true를 반환하도록 수정\r\n // 현재는 팝업이 열려있으면 모든 컴포넌트가 팝업으로 인식되는 문제가 있음\r\n // 임시로 false 반환 (수동으로 isPopup prop 사용 권장)\r\n return false;\r\n};\r\n\r\n/**\r\n * 팝업 데이터와 이벤트를 관리하는 훅\r\n */\r\nexport const usePopup = () => {\r\n const { popups, activePopupId, setActivePopup, closePopup, openPopup } =\r\n usePopupStore();\r\n\r\n // 팝업 열기 함수\r\n const showPopup = useCallback(\r\n async (popupCode: string, popParams?: any, config?: PopupConfig) => {\r\n try {\r\n await openPopup(popupCode, popParams, config);\r\n } catch (error) {\r\n console.error('팝업 열기 실패:', error);\r\n throw error;\r\n }\r\n },\r\n [openPopup]\r\n );\r\n\r\n return {\r\n popups,\r\n activePopupId,\r\n setActivePopup,\r\n closePopup,\r\n showPopup,\r\n isPopup: popups.length > 0,\r\n };\r\n};\r\n","import { useCodeStore, type CommonCodeContextType } from '../../stores/codeStore';\r\nimport { createContext, useContext, ReactNode } from 'react';\r\n\r\n// 공통코드 컨텍스트 생성\r\nconst CommonCodeContext = createContext<CommonCodeContextType | undefined>(\r\n undefined\r\n);\r\n\r\n// 공통코드 컨텍스트 프로바이더 컴포넌트\r\ninterface CommonCodeProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const CommonCodeProvider: React.FC<CommonCodeProviderProps> = ({\r\n children,\r\n}) => {\r\n const {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n fetchCommonCodes,\r\n } = useCodeStore();\r\n\r\n const contextValue: CommonCodeContextType = {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n refreshCodes: fetchCommonCodes,\r\n };\r\n\r\n return (\r\n <CommonCodeContext.Provider value={contextValue}>\r\n {children}\r\n </CommonCodeContext.Provider>\r\n );\r\n};\r\n\r\n// 공통코드 컨텍스트 사용 훅\r\nexport const useCommonCode = (): CommonCodeContextType => {\r\n const context = useContext(CommonCodeContext);\r\n if (context === undefined) {\r\n throw new Error('useCommonCode must be used within a CommonCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n// 편의 훅들 (Fast Refresh 호환성을 위해 매개변수 없는 함수로 변경)\r\nexport const useCodeList = () => {\r\n const { getCodeList, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeList,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeName = () => {\r\n const { getCodeName, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeName,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeColor = () => {\r\n const { getCodeColor, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeColor,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeListByOption = () => {\r\n const { getCodeListByOption, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeListByOption,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useGridLookup = () => {\r\n const { getGridLookup, isLoading, error } = useCommonCode();\r\n return {\r\n getGridLookup,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n","import React, { createContext, useContext } from \"react\";\r\nimport type { ReactNode } from \"react\";\r\nimport * as dateUtils from \"../../utils/dateUtils\";\r\nimport * as stringUtils from \"../../utils/stringUtils\";\r\nimport * as arrayUtils from \"../../utils/arrayUtils\";\r\nimport * as objectUtils from \"../../utils/objectUtils\";\r\nimport * as commonUtils from \"../../utils/commonUtils\";\r\nimport * as apiUtils from \"../../utils/apiUtils\";\r\n\r\n// 모든 유틸리티 함수들을 하나의 객체로 결합 (충돌하는 함수명은 별칭 사용)\r\nconst utils = {\r\n // 날짜 유틸리티\r\n ...dateUtils,\r\n // 문자열 유틸리티\r\n ...stringUtils,\r\n // 배열 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n isEmptyArray: arrayUtils.isEmptyArray,\r\n isNotEmptyArray: arrayUtils.isNotEmptyArray,\r\n unique: arrayUtils.unique,\r\n shuffle: arrayUtils.shuffle,\r\n sortBy: arrayUtils.sortBy,\r\n max: arrayUtils.max,\r\n min: arrayUtils.min,\r\n average: arrayUtils.average,\r\n sum: arrayUtils.sum,\r\n randomFromArray: arrayUtils.randomFromArray,\r\n flattenArray: arrayUtils.flattenArray,\r\n // 객체 유틸리티\r\n ...objectUtils,\r\n // 일반 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n debounce: commonUtils.debounce,\r\n throttle: commonUtils.throttle,\r\n setLocalStorage: commonUtils.setLocalStorage,\r\n getLocalStorage: commonUtils.getLocalStorage,\r\n formatNumber: commonUtils.formatNumber,\r\n formatCurrency: commonUtils.formatCurrency,\r\n copyToClipboard: commonUtils.copyToClipboard,\r\n isMobile: commonUtils.isMobile,\r\n isDesktop: commonUtils.isDesktop,\r\n // API 유틸리티\r\n callService: apiUtils.callService,\r\n apiGet: apiUtils.apiGet,\r\n apiPost: apiUtils.apiPost,\r\n apiPut: apiUtils.apiPut,\r\n apiDelete: apiUtils.apiDelete,\r\n apiPatch: apiUtils.apiPatch,\r\n};\r\n\r\n// Context 타입 정의\r\ninterface UtilsContextType {\r\n utils: typeof utils;\r\n}\r\n\r\n// Context 생성\r\nconst UtilsContext = createContext<UtilsContextType | undefined>(undefined);\r\n\r\n// Provider 컴포넌트\r\ninterface UtilsProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const UtilsProvider: React.FC<UtilsProviderProps> = ({ children }) => {\r\n return (\r\n <UtilsContext.Provider value={{ utils }}>{children}</UtilsContext.Provider>\r\n );\r\n};\r\n\r\n// Hook for using utils\r\nexport const useUtils = () => {\r\n const context = useContext(UtilsContext);\r\n if (context === undefined) {\r\n throw new Error(\"useUtils must be used within a UtilsProvider\");\r\n }\r\n return context.utils;\r\n};\r\n\r\n// 안전한 함수 가져오기 헬퍼\r\nconst safeGet = (obj: any, key: string, fallback?: any) => {\r\n return obj && typeof obj[key] === \"function\"\r\n ? obj[key]\r\n : fallback || (() => {});\r\n};\r\n\r\n// 개별 유틸리티 훅들 (선택사항)\r\nexport const useDateUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n formatDate: safeGet(utils, \"formatDate\"),\r\n formatDateKorean: safeGet(utils, \"formatDateKorean\"),\r\n getCurrentDate: safeGet(utils, \"getCurrentDate\"),\r\n getCurrentDateString: safeGet(utils, \"getCurrentDateString\"),\r\n getRelativeTime: safeGet(utils, \"getRelativeTime\"),\r\n isToday: safeGet(utils, \"isToday\"),\r\n isThisWeek: safeGet(utils, \"isThisWeek\"),\r\n isThisMonth: safeGet(utils, \"isThisMonth\"),\r\n getDateDiff: safeGet(utils, \"getDateDiff\"),\r\n calculateAge: safeGet(utils, \"calculateAge\"),\r\n };\r\n};\r\n\r\nexport const useStringUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmpty: safeGet(utils, \"isEmpty\"),\r\n isNotEmpty: safeGet(utils, \"isNotEmpty\"),\r\n truncate: safeGet(utils, \"truncate\"),\r\n capitalize: safeGet(utils, \"capitalize\"),\r\n formatPhoneNumber: safeGet(utils, \"formatPhoneNumber\"),\r\n isValidEmail: safeGet(utils, \"isValidEmail\"),\r\n removeHtmlTags: safeGet(utils, \"removeHtmlTags\"),\r\n // UID 생성 함수들\r\n generateUID: safeGet(utils, \"generateUID\"),\r\n generateShortUID: safeGet(utils, \"generateShortUID\"),\r\n generateLongUID: safeGet(utils, \"generateLongUID\"),\r\n generateNumericUID: safeGet(utils, \"generateNumericUID\"),\r\n generateAlphanumericUID: safeGet(utils, \"generateAlphanumericUID\"),\r\n generateGUID: safeGet(utils, \"generateGUID\"),\r\n generateGUIDWithoutHyphens: safeGet(utils, \"generateGUIDWithoutHyphens\"),\r\n generateTimestampUID: safeGet(utils, \"generateTimestampUID\"),\r\n generateCustomUID: safeGet(utils, \"generateCustomUID\"),\r\n // 암호화 관련 함수들\r\n encryptSha256: safeGet(utils, \"encryptSha256\"),\r\n bxmEncrypt: safeGet(utils, \"bxmEncrypt\"),\r\n bxmDecrypt: safeGet(utils, \"bxmDecrypt\"),\r\n simpleEncrypt: safeGet(utils, \"simpleEncrypt\"),\r\n simpleDecrypt: safeGet(utils, \"simpleDecrypt\"),\r\n md5Hash: safeGet(utils, \"md5Hash\"),\r\n sha256Hash: safeGet(utils, \"sha256Hash\"),\r\n base64Encode: safeGet(utils, \"base64Encode\"),\r\n base64Decode: safeGet(utils, \"base64Decode\"),\r\n };\r\n};\r\n\r\nexport const useArrayUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmptyArray: safeGet(utils, \"isEmptyArray\"),\r\n isNotEmptyArray: safeGet(utils, \"isNotEmptyArray\"),\r\n unique: safeGet(utils, \"unique\"),\r\n shuffle: safeGet(utils, \"shuffle\"),\r\n sortBy: safeGet(utils, \"sortBy\"),\r\n max: safeGet(utils, \"max\"),\r\n min: safeGet(utils, \"min\"),\r\n average: safeGet(utils, \"average\"),\r\n sum: safeGet(utils, \"sum\"),\r\n };\r\n};\r\n\r\nexport const useCommonUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n debounce: safeGet(utils, \"debounce\"),\r\n throttle: safeGet(utils, \"throttle\"),\r\n setLocalStorage: safeGet(utils, \"setLocalStorage\"),\r\n getLocalStorage: safeGet(utils, \"getLocalStorage\"),\r\n formatNumber: safeGet(utils, \"formatNumber\"),\r\n formatCurrency: safeGet(utils, \"formatCurrency\"),\r\n copyToClipboard: safeGet(utils, \"copyToClipboard\"),\r\n isMobile: safeGet(utils, \"isMobile\"),\r\n isDesktop: safeGet(utils, \"isDesktop\"),\r\n };\r\n};\r\n\r\nexport const useApiUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n callService: safeGet(utils, \"callService\"),\r\n apiGet: safeGet(utils, \"apiGet\"),\r\n apiPost: safeGet(utils, \"apiPost\"),\r\n apiPut: safeGet(utils, \"apiPut\"),\r\n apiDelete: safeGet(utils, \"apiDelete\"),\r\n apiPatch: safeGet(utils, \"apiPatch\"),\r\n };\r\n};\r\n"],"names":["usePopupContext","usePopup","popups","activePopupId","setActivePopup","closePopup","openPopup","usePopupStore","showPopup","useCallback","popupCode","popParams","config","error","CommonCodeContext","createContext","CommonCodeProvider","children","codeData","isLoading","lastUpdated","getCodeList","getCodeListByOption","getCodeName","getCodeColor","getCodeByOption","getAvailableGroupCodes","getGridLookup","fetchCommonCodes","useCodeStore","contextValue","useCommonCode","context","useContext","useCodeList","useCodeName","useCodeColor","useCodeListByOption","useGridLookup","utils","dateUtils","stringUtils","arrayUtils.isEmptyArray","arrayUtils.isNotEmptyArray","arrayUtils.unique","arrayUtils.shuffle","arrayUtils.sortBy","arrayUtils.max","arrayUtils.min","arrayUtils.average","arrayUtils.sum","arrayUtils.randomFromArray","arrayUtils.flattenArray","objectUtils","commonUtils.debounce","commonUtils.throttle","commonUtils.setLocalStorage","commonUtils.getLocalStorage","commonUtils.formatNumber","commonUtils.formatCurrency","commonUtils.copyToClipboard","commonUtils.isMobile","commonUtils.isDesktop","apiUtils.callService","apiUtils.apiGet","apiUtils.apiPost","apiUtils.apiPut","apiUtils.apiDelete","apiUtils.apiPatch","UtilsContext","UtilsProvider","jsx","useUtils","safeGet","obj","key","fallback","useDateUtils","useStringUtils","useArrayUtils","useCommonUtils","useApiUtils"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useCallback as P, createContext as g, useContext as d } from "react";
|
|
2
|
-
import { u as v } from "./popupStore-
|
|
2
|
+
import { u as v } from "./popupStore-D8RI04bU.js";
|
|
3
3
|
import { j as y } from "./jsx-runtime-Dpn_P65e.js";
|
|
4
|
-
import { u as L } from "./codeStore-
|
|
4
|
+
import { u as L } from "./codeStore-IIp25egq.js";
|
|
5
5
|
import { am as E, ap as S, ac as x, aI as A, aJ as I, ai as N, aF as T, aH as G, ad as k, aK as w, a6 as H, T as B, Z as M, Y as q, X as O, W as R, P as W, O as j, R as V, aL as F, aM as K, aN as z } from "./commonUtils-Cvx6_eK2.js";
|
|
6
|
-
import { S as J, Q, U as X, T as Y, R as Z, V as _, aq as $ } from "./serviceConfig-
|
|
6
|
+
import { S as J, Q, U as X, T as Y, R as Z, V as _, aq as $ } from "./serviceConfig-Dhe7neaj.js";
|
|
7
7
|
const ne = () => !1, ue = () => {
|
|
8
8
|
const { popups: e, activePopupId: o, setActivePopup: a, closePopup: u, openPopup: i } = v(), c = P(
|
|
9
9
|
async (m, p, l) => {
|
|
@@ -238,4 +238,4 @@ export {
|
|
|
238
238
|
ue as m,
|
|
239
239
|
r as u
|
|
240
240
|
};
|
|
241
|
-
//# sourceMappingURL=UtilsContext-
|
|
241
|
+
//# sourceMappingURL=UtilsContext-JSHHfnWl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilsContext-BKUZmmKx.js","sources":["../../src/provider/hooks/usePopup.ts","../../src/provider/contexts/CommonCodeContext.tsx","../../src/provider/contexts/UtilsContext.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport { usePopupStore, type PopupConfig } from '../../stores/popupStore';\r\n\r\n/**\r\n * 팝업 컨텍스트를 감지하는 훅\r\n * 팝업 내부에서 사용하면 true, 일반 페이지에서는 false 반환\r\n */\r\nexport const usePopupContext = (): boolean => {\r\n // 팝업 내부에서만 true를 반환하도록 수정\r\n // 현재는 팝업이 열려있으면 모든 컴포넌트가 팝업으로 인식되는 문제가 있음\r\n // 임시로 false 반환 (수동으로 isPopup prop 사용 권장)\r\n return false;\r\n};\r\n\r\n/**\r\n * 팝업 데이터와 이벤트를 관리하는 훅\r\n */\r\nexport const usePopup = () => {\r\n const { popups, activePopupId, setActivePopup, closePopup, openPopup } =\r\n usePopupStore();\r\n\r\n // 팝업 열기 함수\r\n const showPopup = useCallback(\r\n async (popupCode: string, popParams?: any, config?: PopupConfig) => {\r\n try {\r\n await openPopup(popupCode, popParams, config);\r\n } catch (error) {\r\n console.error('팝업 열기 실패:', error);\r\n throw error;\r\n }\r\n },\r\n [openPopup]\r\n );\r\n\r\n return {\r\n popups,\r\n activePopupId,\r\n setActivePopup,\r\n closePopup,\r\n showPopup,\r\n isPopup: popups.length > 0,\r\n };\r\n};\r\n","import { useCodeStore, type CommonCodeContextType } from '../../stores/codeStore';\r\nimport { createContext, useContext, ReactNode } from 'react';\r\n\r\n// 공통코드 컨텍스트 생성\r\nconst CommonCodeContext = createContext<CommonCodeContextType | undefined>(\r\n undefined\r\n);\r\n\r\n// 공통코드 컨텍스트 프로바이더 컴포넌트\r\ninterface CommonCodeProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const CommonCodeProvider: React.FC<CommonCodeProviderProps> = ({\r\n children,\r\n}) => {\r\n const {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n fetchCommonCodes,\r\n } = useCodeStore();\r\n\r\n const contextValue: CommonCodeContextType = {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n refreshCodes: fetchCommonCodes,\r\n };\r\n\r\n return (\r\n <CommonCodeContext.Provider value={contextValue}>\r\n {children}\r\n </CommonCodeContext.Provider>\r\n );\r\n};\r\n\r\n// 공통코드 컨텍스트 사용 훅\r\nexport const useCommonCode = (): CommonCodeContextType => {\r\n const context = useContext(CommonCodeContext);\r\n if (context === undefined) {\r\n throw new Error('useCommonCode must be used within a CommonCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n// 편의 훅들 (Fast Refresh 호환성을 위해 매개변수 없는 함수로 변경)\r\nexport const useCodeList = () => {\r\n const { getCodeList, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeList,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeName = () => {\r\n const { getCodeName, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeName,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeColor = () => {\r\n const { getCodeColor, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeColor,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeListByOption = () => {\r\n const { getCodeListByOption, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeListByOption,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useGridLookup = () => {\r\n const { getGridLookup, isLoading, error } = useCommonCode();\r\n return {\r\n getGridLookup,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n","import React, { createContext, useContext } from \"react\";\r\nimport type { ReactNode } from \"react\";\r\nimport * as dateUtils from \"../../utils/dateUtils\";\r\nimport * as stringUtils from \"../../utils/stringUtils\";\r\nimport * as arrayUtils from \"../../utils/arrayUtils\";\r\nimport * as objectUtils from \"../../utils/objectUtils\";\r\nimport * as commonUtils from \"../../utils/commonUtils\";\r\nimport * as apiUtils from \"../../utils/apiUtils\";\r\n\r\n// 모든 유틸리티 함수들을 하나의 객체로 결합 (충돌하는 함수명은 별칭 사용)\r\nconst utils = {\r\n // 날짜 유틸리티\r\n ...dateUtils,\r\n // 문자열 유틸리티\r\n ...stringUtils,\r\n // 배열 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n isEmptyArray: arrayUtils.isEmptyArray,\r\n isNotEmptyArray: arrayUtils.isNotEmptyArray,\r\n unique: arrayUtils.unique,\r\n shuffle: arrayUtils.shuffle,\r\n sortBy: arrayUtils.sortBy,\r\n max: arrayUtils.max,\r\n min: arrayUtils.min,\r\n average: arrayUtils.average,\r\n sum: arrayUtils.sum,\r\n randomFromArray: arrayUtils.randomFromArray,\r\n flattenArray: arrayUtils.flattenArray,\r\n // 객체 유틸리티\r\n ...objectUtils,\r\n // 일반 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n debounce: commonUtils.debounce,\r\n throttle: commonUtils.throttle,\r\n setLocalStorage: commonUtils.setLocalStorage,\r\n getLocalStorage: commonUtils.getLocalStorage,\r\n formatNumber: commonUtils.formatNumber,\r\n formatCurrency: commonUtils.formatCurrency,\r\n copyToClipboard: commonUtils.copyToClipboard,\r\n isMobile: commonUtils.isMobile,\r\n isDesktop: commonUtils.isDesktop,\r\n // API 유틸리티\r\n callService: apiUtils.callService,\r\n apiGet: apiUtils.apiGet,\r\n apiPost: apiUtils.apiPost,\r\n apiPut: apiUtils.apiPut,\r\n apiDelete: apiUtils.apiDelete,\r\n apiPatch: apiUtils.apiPatch,\r\n};\r\n\r\n// Context 타입 정의\r\ninterface UtilsContextType {\r\n utils: typeof utils;\r\n}\r\n\r\n// Context 생성\r\nconst UtilsContext = createContext<UtilsContextType | undefined>(undefined);\r\n\r\n// Provider 컴포넌트\r\ninterface UtilsProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const UtilsProvider: React.FC<UtilsProviderProps> = ({ children }) => {\r\n return (\r\n <UtilsContext.Provider value={{ utils }}>{children}</UtilsContext.Provider>\r\n );\r\n};\r\n\r\n// Hook for using utils\r\nexport const useUtils = () => {\r\n const context = useContext(UtilsContext);\r\n if (context === undefined) {\r\n throw new Error(\"useUtils must be used within a UtilsProvider\");\r\n }\r\n return context.utils;\r\n};\r\n\r\n// 안전한 함수 가져오기 헬퍼\r\nconst safeGet = (obj: any, key: string, fallback?: any) => {\r\n return obj && typeof obj[key] === \"function\"\r\n ? obj[key]\r\n : fallback || (() => {});\r\n};\r\n\r\n// 개별 유틸리티 훅들 (선택사항)\r\nexport const useDateUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n formatDate: safeGet(utils, \"formatDate\"),\r\n formatDateKorean: safeGet(utils, \"formatDateKorean\"),\r\n getCurrentDate: safeGet(utils, \"getCurrentDate\"),\r\n getCurrentDateString: safeGet(utils, \"getCurrentDateString\"),\r\n getRelativeTime: safeGet(utils, \"getRelativeTime\"),\r\n isToday: safeGet(utils, \"isToday\"),\r\n isThisWeek: safeGet(utils, \"isThisWeek\"),\r\n isThisMonth: safeGet(utils, \"isThisMonth\"),\r\n getDateDiff: safeGet(utils, \"getDateDiff\"),\r\n calculateAge: safeGet(utils, \"calculateAge\"),\r\n };\r\n};\r\n\r\nexport const useStringUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmpty: safeGet(utils, \"isEmpty\"),\r\n isNotEmpty: safeGet(utils, \"isNotEmpty\"),\r\n truncate: safeGet(utils, \"truncate\"),\r\n capitalize: safeGet(utils, \"capitalize\"),\r\n formatPhoneNumber: safeGet(utils, \"formatPhoneNumber\"),\r\n isValidEmail: safeGet(utils, \"isValidEmail\"),\r\n removeHtmlTags: safeGet(utils, \"removeHtmlTags\"),\r\n // UID 생성 함수들\r\n generateUID: safeGet(utils, \"generateUID\"),\r\n generateShortUID: safeGet(utils, \"generateShortUID\"),\r\n generateLongUID: safeGet(utils, \"generateLongUID\"),\r\n generateNumericUID: safeGet(utils, \"generateNumericUID\"),\r\n generateAlphanumericUID: safeGet(utils, \"generateAlphanumericUID\"),\r\n generateGUID: safeGet(utils, \"generateGUID\"),\r\n generateGUIDWithoutHyphens: safeGet(utils, \"generateGUIDWithoutHyphens\"),\r\n generateTimestampUID: safeGet(utils, \"generateTimestampUID\"),\r\n generateCustomUID: safeGet(utils, \"generateCustomUID\"),\r\n // 암호화 관련 함수들\r\n encryptSha256: safeGet(utils, \"encryptSha256\"),\r\n bxmEncrypt: safeGet(utils, \"bxmEncrypt\"),\r\n bxmDecrypt: safeGet(utils, \"bxmDecrypt\"),\r\n simpleEncrypt: safeGet(utils, \"simpleEncrypt\"),\r\n simpleDecrypt: safeGet(utils, \"simpleDecrypt\"),\r\n md5Hash: safeGet(utils, \"md5Hash\"),\r\n sha256Hash: safeGet(utils, \"sha256Hash\"),\r\n base64Encode: safeGet(utils, \"base64Encode\"),\r\n base64Decode: safeGet(utils, \"base64Decode\"),\r\n };\r\n};\r\n\r\nexport const useArrayUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmptyArray: safeGet(utils, \"isEmptyArray\"),\r\n isNotEmptyArray: safeGet(utils, \"isNotEmptyArray\"),\r\n unique: safeGet(utils, \"unique\"),\r\n shuffle: safeGet(utils, \"shuffle\"),\r\n sortBy: safeGet(utils, \"sortBy\"),\r\n max: safeGet(utils, \"max\"),\r\n min: safeGet(utils, \"min\"),\r\n average: safeGet(utils, \"average\"),\r\n sum: safeGet(utils, \"sum\"),\r\n };\r\n};\r\n\r\nexport const useCommonUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n debounce: safeGet(utils, \"debounce\"),\r\n throttle: safeGet(utils, \"throttle\"),\r\n setLocalStorage: safeGet(utils, \"setLocalStorage\"),\r\n getLocalStorage: safeGet(utils, \"getLocalStorage\"),\r\n formatNumber: safeGet(utils, \"formatNumber\"),\r\n formatCurrency: safeGet(utils, \"formatCurrency\"),\r\n copyToClipboard: safeGet(utils, \"copyToClipboard\"),\r\n isMobile: safeGet(utils, \"isMobile\"),\r\n isDesktop: safeGet(utils, \"isDesktop\"),\r\n };\r\n};\r\n\r\nexport const useApiUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n callService: safeGet(utils, \"callService\"),\r\n apiGet: safeGet(utils, \"apiGet\"),\r\n apiPost: safeGet(utils, \"apiPost\"),\r\n apiPut: safeGet(utils, \"apiPut\"),\r\n apiDelete: safeGet(utils, \"apiDelete\"),\r\n apiPatch: safeGet(utils, \"apiPatch\"),\r\n };\r\n};\r\n"],"names":["usePopupContext","usePopup","popups","activePopupId","setActivePopup","closePopup","openPopup","usePopupStore","showPopup","useCallback","popupCode","popParams","config","error","CommonCodeContext","createContext","CommonCodeProvider","children","codeData","isLoading","lastUpdated","getCodeList","getCodeListByOption","getCodeName","getCodeColor","getCodeByOption","getAvailableGroupCodes","getGridLookup","fetchCommonCodes","useCodeStore","contextValue","useCommonCode","context","useContext","useCodeList","useCodeName","useCodeColor","useCodeListByOption","useGridLookup","utils","dateUtils","stringUtils","arrayUtils.isEmptyArray","arrayUtils.isNotEmptyArray","arrayUtils.unique","arrayUtils.shuffle","arrayUtils.sortBy","arrayUtils.max","arrayUtils.min","arrayUtils.average","arrayUtils.sum","arrayUtils.randomFromArray","arrayUtils.flattenArray","objectUtils","commonUtils.debounce","commonUtils.throttle","commonUtils.setLocalStorage","commonUtils.getLocalStorage","commonUtils.formatNumber","commonUtils.formatCurrency","commonUtils.copyToClipboard","commonUtils.isMobile","commonUtils.isDesktop","apiUtils.callService","apiUtils.apiGet","apiUtils.apiPost","apiUtils.apiPut","apiUtils.apiDelete","apiUtils.apiPatch","UtilsContext","UtilsProvider","jsx","useUtils","safeGet","obj","key","fallback","useDateUtils","useStringUtils","useArrayUtils","useCommonUtils","useApiUtils"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UtilsContext-JSHHfnWl.js","sources":["../../src/provider/hooks/usePopup.ts","../../src/provider/contexts/CommonCodeContext.tsx","../../src/provider/contexts/UtilsContext.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport { usePopupStore, type PopupConfig } from '../../stores/popupStore';\r\n\r\n/**\r\n * 팝업 컨텍스트를 감지하는 훅\r\n * 팝업 내부에서 사용하면 true, 일반 페이지에서는 false 반환\r\n */\r\nexport const usePopupContext = (): boolean => {\r\n // 팝업 내부에서만 true를 반환하도록 수정\r\n // 현재는 팝업이 열려있으면 모든 컴포넌트가 팝업으로 인식되는 문제가 있음\r\n // 임시로 false 반환 (수동으로 isPopup prop 사용 권장)\r\n return false;\r\n};\r\n\r\n/**\r\n * 팝업 데이터와 이벤트를 관리하는 훅\r\n */\r\nexport const usePopup = () => {\r\n const { popups, activePopupId, setActivePopup, closePopup, openPopup } =\r\n usePopupStore();\r\n\r\n // 팝업 열기 함수\r\n const showPopup = useCallback(\r\n async (popupCode: string, popParams?: any, config?: PopupConfig) => {\r\n try {\r\n await openPopup(popupCode, popParams, config);\r\n } catch (error) {\r\n console.error('팝업 열기 실패:', error);\r\n throw error;\r\n }\r\n },\r\n [openPopup]\r\n );\r\n\r\n return {\r\n popups,\r\n activePopupId,\r\n setActivePopup,\r\n closePopup,\r\n showPopup,\r\n isPopup: popups.length > 0,\r\n };\r\n};\r\n","import { useCodeStore, type CommonCodeContextType } from '../../stores/codeStore';\r\nimport { createContext, useContext, ReactNode } from 'react';\r\n\r\n// 공통코드 컨텍스트 생성\r\nconst CommonCodeContext = createContext<CommonCodeContextType | undefined>(\r\n undefined\r\n);\r\n\r\n// 공통코드 컨텍스트 프로바이더 컴포넌트\r\ninterface CommonCodeProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const CommonCodeProvider: React.FC<CommonCodeProviderProps> = ({\r\n children,\r\n}) => {\r\n const {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n fetchCommonCodes,\r\n } = useCodeStore();\r\n\r\n const contextValue: CommonCodeContextType = {\r\n codeData,\r\n isLoading,\r\n error,\r\n lastUpdated,\r\n getCodeList,\r\n getCodeListByOption,\r\n getCodeName,\r\n getCodeColor,\r\n getCodeByOption,\r\n getAvailableGroupCodes,\r\n getGridLookup,\r\n refreshCodes: fetchCommonCodes,\r\n };\r\n\r\n return (\r\n <CommonCodeContext.Provider value={contextValue}>\r\n {children}\r\n </CommonCodeContext.Provider>\r\n );\r\n};\r\n\r\n// 공통코드 컨텍스트 사용 훅\r\nexport const useCommonCode = (): CommonCodeContextType => {\r\n const context = useContext(CommonCodeContext);\r\n if (context === undefined) {\r\n throw new Error('useCommonCode must be used within a CommonCodeProvider');\r\n }\r\n return context;\r\n};\r\n\r\n// 편의 훅들 (Fast Refresh 호환성을 위해 매개변수 없는 함수로 변경)\r\nexport const useCodeList = () => {\r\n const { getCodeList, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeList,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeName = () => {\r\n const { getCodeName, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeName,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeColor = () => {\r\n const { getCodeColor, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeColor,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useCodeListByOption = () => {\r\n const { getCodeListByOption, isLoading, error } = useCommonCode();\r\n return {\r\n getCodeListByOption,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n\r\nexport const useGridLookup = () => {\r\n const { getGridLookup, isLoading, error } = useCommonCode();\r\n return {\r\n getGridLookup,\r\n isLoading,\r\n error,\r\n };\r\n};\r\n","import React, { createContext, useContext } from \"react\";\r\nimport type { ReactNode } from \"react\";\r\nimport * as dateUtils from \"../../utils/dateUtils\";\r\nimport * as stringUtils from \"../../utils/stringUtils\";\r\nimport * as arrayUtils from \"../../utils/arrayUtils\";\r\nimport * as objectUtils from \"../../utils/objectUtils\";\r\nimport * as commonUtils from \"../../utils/commonUtils\";\r\nimport * as apiUtils from \"../../utils/apiUtils\";\r\n\r\n// 모든 유틸리티 함수들을 하나의 객체로 결합 (충돌하는 함수명은 별칭 사용)\r\nconst utils = {\r\n // 날짜 유틸리티\r\n ...dateUtils,\r\n // 문자열 유틸리티\r\n ...stringUtils,\r\n // 배열 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n isEmptyArray: arrayUtils.isEmptyArray,\r\n isNotEmptyArray: arrayUtils.isNotEmptyArray,\r\n unique: arrayUtils.unique,\r\n shuffle: arrayUtils.shuffle,\r\n sortBy: arrayUtils.sortBy,\r\n max: arrayUtils.max,\r\n min: arrayUtils.min,\r\n average: arrayUtils.average,\r\n sum: arrayUtils.sum,\r\n randomFromArray: arrayUtils.randomFromArray,\r\n flattenArray: arrayUtils.flattenArray,\r\n // 객체 유틸리티\r\n ...objectUtils,\r\n // 일반 유틸리티 (충돌하는 함수명은 별칭 사용)\r\n debounce: commonUtils.debounce,\r\n throttle: commonUtils.throttle,\r\n setLocalStorage: commonUtils.setLocalStorage,\r\n getLocalStorage: commonUtils.getLocalStorage,\r\n formatNumber: commonUtils.formatNumber,\r\n formatCurrency: commonUtils.formatCurrency,\r\n copyToClipboard: commonUtils.copyToClipboard,\r\n isMobile: commonUtils.isMobile,\r\n isDesktop: commonUtils.isDesktop,\r\n // API 유틸리티\r\n callService: apiUtils.callService,\r\n apiGet: apiUtils.apiGet,\r\n apiPost: apiUtils.apiPost,\r\n apiPut: apiUtils.apiPut,\r\n apiDelete: apiUtils.apiDelete,\r\n apiPatch: apiUtils.apiPatch,\r\n};\r\n\r\n// Context 타입 정의\r\ninterface UtilsContextType {\r\n utils: typeof utils;\r\n}\r\n\r\n// Context 생성\r\nconst UtilsContext = createContext<UtilsContextType | undefined>(undefined);\r\n\r\n// Provider 컴포넌트\r\ninterface UtilsProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport const UtilsProvider: React.FC<UtilsProviderProps> = ({ children }) => {\r\n return (\r\n <UtilsContext.Provider value={{ utils }}>{children}</UtilsContext.Provider>\r\n );\r\n};\r\n\r\n// Hook for using utils\r\nexport const useUtils = () => {\r\n const context = useContext(UtilsContext);\r\n if (context === undefined) {\r\n throw new Error(\"useUtils must be used within a UtilsProvider\");\r\n }\r\n return context.utils;\r\n};\r\n\r\n// 안전한 함수 가져오기 헬퍼\r\nconst safeGet = (obj: any, key: string, fallback?: any) => {\r\n return obj && typeof obj[key] === \"function\"\r\n ? obj[key]\r\n : fallback || (() => {});\r\n};\r\n\r\n// 개별 유틸리티 훅들 (선택사항)\r\nexport const useDateUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n formatDate: safeGet(utils, \"formatDate\"),\r\n formatDateKorean: safeGet(utils, \"formatDateKorean\"),\r\n getCurrentDate: safeGet(utils, \"getCurrentDate\"),\r\n getCurrentDateString: safeGet(utils, \"getCurrentDateString\"),\r\n getRelativeTime: safeGet(utils, \"getRelativeTime\"),\r\n isToday: safeGet(utils, \"isToday\"),\r\n isThisWeek: safeGet(utils, \"isThisWeek\"),\r\n isThisMonth: safeGet(utils, \"isThisMonth\"),\r\n getDateDiff: safeGet(utils, \"getDateDiff\"),\r\n calculateAge: safeGet(utils, \"calculateAge\"),\r\n };\r\n};\r\n\r\nexport const useStringUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmpty: safeGet(utils, \"isEmpty\"),\r\n isNotEmpty: safeGet(utils, \"isNotEmpty\"),\r\n truncate: safeGet(utils, \"truncate\"),\r\n capitalize: safeGet(utils, \"capitalize\"),\r\n formatPhoneNumber: safeGet(utils, \"formatPhoneNumber\"),\r\n isValidEmail: safeGet(utils, \"isValidEmail\"),\r\n removeHtmlTags: safeGet(utils, \"removeHtmlTags\"),\r\n // UID 생성 함수들\r\n generateUID: safeGet(utils, \"generateUID\"),\r\n generateShortUID: safeGet(utils, \"generateShortUID\"),\r\n generateLongUID: safeGet(utils, \"generateLongUID\"),\r\n generateNumericUID: safeGet(utils, \"generateNumericUID\"),\r\n generateAlphanumericUID: safeGet(utils, \"generateAlphanumericUID\"),\r\n generateGUID: safeGet(utils, \"generateGUID\"),\r\n generateGUIDWithoutHyphens: safeGet(utils, \"generateGUIDWithoutHyphens\"),\r\n generateTimestampUID: safeGet(utils, \"generateTimestampUID\"),\r\n generateCustomUID: safeGet(utils, \"generateCustomUID\"),\r\n // 암호화 관련 함수들\r\n encryptSha256: safeGet(utils, \"encryptSha256\"),\r\n bxmEncrypt: safeGet(utils, \"bxmEncrypt\"),\r\n bxmDecrypt: safeGet(utils, \"bxmDecrypt\"),\r\n simpleEncrypt: safeGet(utils, \"simpleEncrypt\"),\r\n simpleDecrypt: safeGet(utils, \"simpleDecrypt\"),\r\n md5Hash: safeGet(utils, \"md5Hash\"),\r\n sha256Hash: safeGet(utils, \"sha256Hash\"),\r\n base64Encode: safeGet(utils, \"base64Encode\"),\r\n base64Decode: safeGet(utils, \"base64Decode\"),\r\n };\r\n};\r\n\r\nexport const useArrayUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n isEmptyArray: safeGet(utils, \"isEmptyArray\"),\r\n isNotEmptyArray: safeGet(utils, \"isNotEmptyArray\"),\r\n unique: safeGet(utils, \"unique\"),\r\n shuffle: safeGet(utils, \"shuffle\"),\r\n sortBy: safeGet(utils, \"sortBy\"),\r\n max: safeGet(utils, \"max\"),\r\n min: safeGet(utils, \"min\"),\r\n average: safeGet(utils, \"average\"),\r\n sum: safeGet(utils, \"sum\"),\r\n };\r\n};\r\n\r\nexport const useCommonUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n debounce: safeGet(utils, \"debounce\"),\r\n throttle: safeGet(utils, \"throttle\"),\r\n setLocalStorage: safeGet(utils, \"setLocalStorage\"),\r\n getLocalStorage: safeGet(utils, \"getLocalStorage\"),\r\n formatNumber: safeGet(utils, \"formatNumber\"),\r\n formatCurrency: safeGet(utils, \"formatCurrency\"),\r\n copyToClipboard: safeGet(utils, \"copyToClipboard\"),\r\n isMobile: safeGet(utils, \"isMobile\"),\r\n isDesktop: safeGet(utils, \"isDesktop\"),\r\n };\r\n};\r\n\r\nexport const useApiUtils = () => {\r\n const utils = useUtils();\r\n return {\r\n callService: safeGet(utils, \"callService\"),\r\n apiGet: safeGet(utils, \"apiGet\"),\r\n apiPost: safeGet(utils, \"apiPost\"),\r\n apiPut: safeGet(utils, \"apiPut\"),\r\n apiDelete: safeGet(utils, \"apiDelete\"),\r\n apiPatch: safeGet(utils, \"apiPatch\"),\r\n };\r\n};\r\n"],"names":["usePopupContext","usePopup","popups","activePopupId","setActivePopup","closePopup","openPopup","usePopupStore","showPopup","useCallback","popupCode","popParams","config","error","CommonCodeContext","createContext","CommonCodeProvider","children","codeData","isLoading","lastUpdated","getCodeList","getCodeListByOption","getCodeName","getCodeColor","getCodeByOption","getAvailableGroupCodes","getGridLookup","fetchCommonCodes","useCodeStore","contextValue","useCommonCode","context","useContext","useCodeList","useCodeName","useCodeColor","useCodeListByOption","useGridLookup","utils","dateUtils","stringUtils","arrayUtils.isEmptyArray","arrayUtils.isNotEmptyArray","arrayUtils.unique","arrayUtils.shuffle","arrayUtils.sortBy","arrayUtils.max","arrayUtils.min","arrayUtils.average","arrayUtils.sum","arrayUtils.randomFromArray","arrayUtils.flattenArray","objectUtils","commonUtils.debounce","commonUtils.throttle","commonUtils.setLocalStorage","commonUtils.getLocalStorage","commonUtils.formatNumber","commonUtils.formatCurrency","commonUtils.copyToClipboard","commonUtils.isMobile","commonUtils.isDesktop","apiUtils.callService","apiUtils.apiGet","apiUtils.apiPost","apiUtils.apiPut","apiUtils.apiDelete","apiUtils.apiPatch","UtilsContext","UtilsProvider","jsx","useUtils","safeGet","obj","key","fallback","useDateUtils","useStringUtils","useArrayUtils","useCommonUtils","useApiUtils"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { create as D } from "zustand";
|
|
2
|
-
import { ap as S, V as H, am as _ } from "./serviceConfig-
|
|
2
|
+
import { ap as S, V as H, am as _ } from "./serviceConfig-Dhe7neaj.js";
|
|
3
3
|
const O = {
|
|
4
4
|
CACHE_SIZE_LIMIT: 1e3
|
|
5
5
|
}, t = {
|
|
@@ -447,4 +447,4 @@ export {
|
|
|
447
447
|
E as b,
|
|
448
448
|
$ as u
|
|
449
449
|
};
|
|
450
|
-
//# sourceMappingURL=codeStore-
|
|
450
|
+
//# sourceMappingURL=codeStore-IIp25egq.js.map
|