@bwg-ui/core 1.0.0 → 1.1.1
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/AuthContext-CXng9fj0.cjs +1 -0
- package/dist/chunks/AuthContext-Ei2P-z4d.js +52 -0
- package/dist/chunks/BwgLargeUploader-BOf905_l.cjs +2 -0
- package/dist/chunks/BwgLargeUploader-BeI8oV8y.js +3315 -0
- package/dist/chunks/FileUtils-BcnoJ2zn.js +140 -0
- package/dist/chunks/FileUtils-CCBueCSG.cjs +1 -0
- package/dist/chunks/PublicLayout-BiTPwkVq.cjs +35 -0
- package/dist/chunks/PublicLayout-g9WMtoZ0.js +138 -0
- package/dist/chunks/{QuickServiceToggle-y7esp1kp.js → SSOHandler-DVa4JKKb.js} +14831 -14630
- package/dist/chunks/SSOHandler-DiwKoTdN.cjs +183 -0
- package/dist/chunks/ScreenProtectContext-ofv2QgMp.cjs +1 -0
- package/dist/chunks/ScreenProtectContext-zByHldrr.js +114 -0
- package/dist/chunks/SearchBoxContext-B1nxG-Wd.cjs +1 -0
- package/dist/chunks/{ServiceCodeContext-CDZMr3Mm.js → SearchBoxContext-DhKP2pQj.js} +39 -39
- package/dist/chunks/{UtilsContext-B16Gh9LL.cjs → UtilsContext-CLJwXO1Q.cjs} +1 -1
- package/dist/chunks/{UtilsContext-BbfZYiMR.js → UtilsContext-CwVwmfrg.js} +9 -9
- package/dist/chunks/{codeStore-bxk_q1sl.js → codeStore-9alVvK1W.js} +1 -1
- package/dist/chunks/{codeStore-Dt6j826J.cjs → codeStore-B_4WPxpS.cjs} +1 -1
- package/dist/chunks/envUtils-C9Gf5aek.js +29 -0
- package/dist/chunks/envUtils-CduTHoHu.cjs +1 -0
- package/dist/chunks/menuStore-BwLORbDu.cjs +1 -0
- package/dist/chunks/{favoriteStore-CguRSEcH.js → menuStore-DXn19Xnr.js} +136 -123
- package/dist/chunks/{popupStore-CVD8SPTa.cjs → popupStore-D_-Wpcao.cjs} +1 -1
- package/dist/chunks/{popupStore-Dp_fqtim.js → popupStore-JBIRLYTL.js} +1 -1
- package/dist/chunks/{serviceConfig-BJBsdee_.js → serviceConfig-4iBLfLzF.js} +176 -205
- package/dist/chunks/serviceConfig-B5UJqk4b.cjs +2 -0
- package/dist/components/common/BwgCmptArea.d.ts +84 -6
- package/dist/components/common/BwgCol.d.ts +19 -0
- package/dist/components/common/BwgConfigProvider.d.ts +2 -1
- package/dist/components/common/BwgGrid.d.ts +9 -4
- package/dist/components/common/BwgInfoArea.d.ts +2 -1
- package/dist/components/common/BwgRow.d.ts +19 -0
- package/dist/components/common/BwgTitleBox.d.ts +5 -1
- package/dist/components/common/BwgView.d.ts +2 -13
- package/dist/components/common/SSOHandler.d.ts +2 -0
- package/dist/components/common/SearchBox.d.ts +59 -7
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.d.ts +19 -16
- package/dist/components/common/index.js +20 -17
- package/dist/components/core/BwgLargeUploader.d.ts +4 -1
- package/dist/components/core/BwgSearch.d.ts +4 -0
- package/dist/components/core/BwgUploader.d.ts +30 -7
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +1 -1
- package/dist/components/layout/ProgressOverlay.d.ts +10 -0
- package/dist/components/layout/ProtectLayout.d.ts +6 -0
- package/dist/components/layout/PublicLayout.d.ts +6 -0
- package/dist/components/layout/index.cjs +1 -0
- package/dist/components/layout/index.d.ts +3 -0
- package/dist/components/layout/index.js +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +304 -289
- package/dist/provider/contexts/AuthContext.d.ts +12 -0
- package/dist/provider/contexts/ScreenProtectContext.d.ts +21 -0
- package/dist/provider/contexts/index.d.ts +2 -0
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +25 -19
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +5 -5
- package/dist/styles/assets/images/backgrounds/krx_login_bg.png +0 -0
- package/dist/styles/assets/images/contents/icon/ico-lockscreen.svg +44 -0
- package/dist/styles/assets/images/logos/krx-logo-full.svg +35 -0
- package/dist/styles/components.css +130 -17
- package/dist/styles/global.css +19 -0
- package/dist/styles/layout.css +108 -35
- package/dist/styles/login.css +39 -33
- package/dist/styles/variables.css +221 -5
- package/dist/types/global.d.ts +2 -0
- package/dist/utils/FileUtils.d.ts +7 -0
- package/dist/utils/envUtils.d.ts +8 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +105 -103
- package/package.json +32 -5
- package/dist/chunks/BwgLargeUploader-ByN1XWV4.js +0 -809
- package/dist/chunks/BwgLargeUploader-CU0-MVk4.cjs +0 -1
- package/dist/chunks/QuickServiceToggle-CiCuWfCF.cjs +0 -183
- package/dist/chunks/ServiceCodeContext--ZnMtjzD.cjs +0 -1
- package/dist/chunks/favoriteStore-TgeeY32l.cjs +0 -1
- package/dist/chunks/messageUtils-9DXOwada.js +0 -117
- package/dist/chunks/messageUtils-RjJD_ArW.cjs +0 -1
- package/dist/chunks/serviceConfig-Cr2P4yr4.cjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const K=require("axios"),c=require("crypto-js"),I=require("antd"),We=require("zustand"),T=require("./envUtils-CduTHoHu.cjs"),w=e=>typeof e!="string"?!e:e.trim().length===0,j=(e,t)=>w(e)?t:e||"",He=e=>!w(e),q=(e,t,r="...")=>e.length<=t?e:e.substring(0,t)+r,H=e=>w(e)?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),F=e=>w(e)?e:e.split(" ").map(t=>H(t)).join(" "),z=e=>e.replace(/-([a-z])/g,t=>t[1].toUpperCase()),J=e=>e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`),V=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),Z=e=>{const r=e.replace(/\D/g,"").match(/^(\d{3})(\d{4})(\d{4})$/);return r?`${r[1]}-${r[2]}-${r[3]}`:e},X=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),Y=e=>{try{return new URL(e),!0}catch{return!1}},Q=e=>e.replace(/\D/g,""),ee=e=>e.replace(/[^a-zA-Z0-9가-힣\s]/g,""),te=e=>e.replace(/<[^>]*>/g,""),re=e=>e.replace(/\n/g,"<br>"),ne=e=>e.replace(/<br\s*\/?>/gi,`
|
|
2
|
+
`),se=(e,t)=>{const r=e.match(t);return r||[]},$e=(e,t)=>e.repeat(t),oe=(e,t,r=" ")=>e.padStart(t,r),ae=(e,t,r=" ")=>e.padEnd(t,r),ce=(e,t,r=" ")=>{const n=t-e.length;if(n<=0)return e;const o=Math.floor(n/2),s=n-o;return r.repeat(o)+e+r.repeat(s)},E=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="";for(let n=0;n<e;n++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},ie=e=>e.split("").reverse().join(""),ue=(e,t)=>(e.match(new RegExp(t,"g"))||[]).length,le=e=>e.trim().split(/\s+/).length,de=()=>"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)}),A=(e=32)=>{const r=de().replace(/-/g,"");return e>=32?r+E(e-32,"0123456789abcdef"):r.substring(0,e)},ge=()=>A(16),me=()=>A(64),pe=(e=16)=>E(e,"0123456789"),he=(e=16)=>E(e,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"),$=()=>de(),G=()=>$().replace(/-/g,""),fe=()=>{const e=Date.now().toString(36),t=E(8,"0123456789abcdef");return e+t},Se=(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")=>e.replace(/[X-Z]/g,()=>t.charAt(Math.floor(Math.random()*t.length))),ye=e=>{const t=c.SHA256(e);return c.enc.Base64.stringify(t)},O=()=>"abcdefghij1234567890!@#$%^&*();;",Ce=()=>"123456098765!@#$",Ie=e=>{if(!e)return"";try{const t=c.enc.Utf8.parse(O()),r=c.enc.Utf8.parse(Ce());return c.AES.encrypt(e,t,{iv:r,padding:c.pad.Pkcs7,mode:c.mode.CBC}).toString()}catch(t){return console.error("암호화 오류:",t),""}},Ue=e=>{if(!e)return"";try{const t=c.enc.Utf8.parse(O()),r=c.enc.Utf8.parse(Ce());return c.AES.decrypt(e,t,{iv:r,padding:c.pad.Pkcs7,mode:c.mode.CBC}).toString(c.enc.Utf8)}catch(t){return console.error("복호화 오류:",t),""}},Ne=(e,t)=>{if(!e)return"";try{const r=t||O();return c.AES.encrypt(e,r).toString()}catch(r){return console.error("간단한 암호화 오류:",r),""}},De=(e,t)=>{if(!e)return"";try{const r=t||O();return c.AES.decrypt(e,r).toString(c.enc.Utf8)}catch(r){return console.error("간단한 복호화 오류:",r),""}},ve=e=>e?c.MD5(e).toString():"",we=e=>e?c.SHA256(e).toString():"",Ee=e=>e?c.enc.Base64.stringify(c.enc.Utf8.parse(e)):"",be=e=>{if(!e)return"";try{return c.enc.Base64.parse(e).toString(c.enc.Utf8)}catch(t){return console.error("Base64 디코딩 오류:",t),""}},Ge=Object.freeze(Object.defineProperty({__proto__:null,base64Decode:be,base64Encode:Ee,br2nl:ne,bxmDecrypt:Ue,bxmEncrypt:Ie,capitalize:H,capitalizeWords:F,center:ce,countChar:ue,countWords:le,encryptSha256:ye,extractNumbers:Q,findPattern:se,formatPhoneNumber:Z,generateAlphanumericUID:he,generateCustomUID:Se,generateGUID:$,generateGUIDWithoutHyphens:G,generateLongUID:me,generateNumericUID:pe,generateRandomString:E,generateShortUID:ge,generateTimestampUID:fe,generateUID:A,isEmpty:w,isNotEmpty:He,isSafeEmpty:j,isValidEmail:X,isValidUrl:Y,md5Hash:ve,nl2br:re,padLeft:oe,padRight:ae,removeHtmlTags:te,removeSpecialChars:ee,repeat:$e,reverse:ie,sha256Hash:we,simpleDecrypt:De,simpleEncrypt:Ne,toCamelCase:z,toKebabCase:V,toSnakeCase:J,truncate:q},Symbol.toStringTag,{value:"Module"})),g={duration:4.5,placement:"topRight"};class D{static instance;constructor(){}static getInstance(){return D.instance||(D.instance=new D),D.instance}showBwgError(t){const{message:r,description:n,duration:o=g.duration,placement:s=g.placement}=t;I.notification.error({message:`${r}`,description:n||"오류가 발생했습니다. 다시 시도해주세요.",duration:o,placement:s,style:{borderLeft:"4px solid #ff4d4f",backgroundColor:"#fff2f0"}})}showSuccess(t,r,n){I.notification.success({message:`${t}`,description:r,duration:n||g.duration,placement:g.placement})}showInfo(t,r,n){I.notification.info({message:`${t}`,description:r,duration:n||g.duration,placement:g.placement})}showWarning(t,r,n){I.notification.warning({message:`${t}`,description:r,duration:n||g.duration,placement:g.placement})}showError(t,r,n){I.notification.error({message:`${t}`,description:r,duration:n||g.duration,placement:g.placement})}destroy(){I.notification.destroy()}close(t){I.notification.destroy()}}const y=D.getInstance(),Me=e=>{y.showBwgError(e)},Be=(e,t,r)=>{y.showSuccess(e,t,r)},Ke=(e,t,r)=>{y.showInfo(e,t,r)},je=(e,t,r)=>{y.showWarning(e,t,r)},qe=(e,t,r)=>{y.showError(e,t,r)},Fe=()=>{y.destroy()},ze=e=>{y.close(e)};(void 0).DEV;function Je(e,t){let r;try{r=e()}catch{return}return{getItem:o=>{var s;const h=d=>d===null?null:JSON.parse(d,void 0),m=(s=r.getItem(o))!=null?s:null;return m instanceof Promise?m.then(h):h(m)},setItem:(o,s)=>r.setItem(o,JSON.stringify(s,void 0)),removeItem:o=>r.removeItem(o)}}const k=e=>t=>{try{const r=e(t);return r instanceof Promise?r:{then(n){return k(n)(r)},catch(n){return this}}}catch(r){return{then(n){return this},catch(n){return k(n)(r)}}}},Ve=(e,t)=>(r,n,o)=>{let s={storage:Je(()=>localStorage),partialize:a=>a,version:0,merge:(a,N)=>({...N,...a}),...t},h=!1;const m=new Set,d=new Set;let u=s.storage;if(!u)return e((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...a)},n,o);const C=()=>{const a=s.partialize({...n()});return u.setItem(s.name,{state:a,version:s.version})},f=o.setState;o.setState=(a,N)=>(f(a,N),C());const S=e((...a)=>(r(...a),C()),n,o);o.getInitialState=()=>S;let U;const B=()=>{var a,N;if(!u)return;h=!1,m.forEach(i=>{var p;return i((p=n())!=null?p:S)});const P=((N=s.onRehydrateStorage)==null?void 0:N.call(s,(a=n())!=null?a:S))||void 0;return k(u.getItem.bind(u))(s.name).then(i=>{if(i)if(typeof i.version=="number"&&i.version!==s.version){if(s.migrate){const p=s.migrate(i.state,i.version);return p instanceof Promise?p.then(_=>[!0,_]):[!0,p]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,i.state];return[!1,void 0]}).then(i=>{var p;const[_,ke]=i;if(U=s.merge(ke,(p=n())!=null?p:S),r(U,!0),_)return C()}).then(()=>{P?.(U,void 0),U=n(),h=!0,d.forEach(i=>i(U))}).catch(i=>{P?.(void 0,i)})};return o.persist={setOptions:a=>{s={...s,...a},a.storage&&(u=a.storage)},clearStorage:()=>{u?.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>B(),hasHydrated:()=>h,onHydrate:a=>(m.add(a),()=>{m.delete(a)}),onFinishHydration:a=>(d.add(a),()=>{d.delete(a)})},s.skipHydration||B(),U||S},xe=Ve,l=We.create()(xe((e,t)=>({user:null,isLoggedIn:!1,login:r=>{e({user:r,isLoggedIn:!0}),console.log("사용자 로그인:",r)},logout:()=>{e({user:null,isLoggedIn:!1}),console.log("사용자 로그아웃")},updateUser:r=>{const n=t().user;n&&e({user:{...n,...r}})}}),{name:"user-storage",partialize:e=>({user:e.user,isLoggedIn:e.isLoggedIn})})),Ze=()=>l.getState().user?.crprCd||null,Te=()=>l.getState().user?.userId||null,Le=()=>l.getState().user?.userNm||null,Xe=()=>l.getState().user?.userDvsn||null,Ye=()=>l.getState().user?.emplNo||null,Pe=()=>l.getState().user?.dprtCd||null,Ae=()=>l.getState().user?.dprtNm||null,R=()=>l.getState().user?.roleList||null,Qe=e=>{const t=R();return t?t.includes(e):!1},et=e=>{const t=R();return t?e.some(r=>t.includes(r)):!1},tt=e=>{const t=R();return t?e.every(r=>t.includes(r)):!1},rt=()=>l.getState().isLoggedIn,M=()=>l.getState().user,nt=()=>M()!==null,st=()=>{const e=Le(),t=Te();return e||t||null},ot=()=>{const e=Ae(),t=Pe();return e||(t?String(t):null)};let L=null;const at=e=>{L===null&&(L=e)},ct=()=>L,it=async()=>(console.log("IP 검증 비활성화됨 (성능 최적화)"),L||"unknown"),W={method:"POST",timeout:3e4,withCredentials:!0,showLoading:!0,showError:!0,retryCount:3,retryDelay:1e3},v=K.create({timeout:W.timeout,withCredentials:W.withCredentials,headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json; charset=utf-8"}});T.isLocal&&(console.log("🔧 API Client Configuration:"),console.log(" - Timeout:",v.defaults.timeout),console.log(" - With Credentials:",v.defaults.withCredentials),console.log(" - Environment:",T.getEnvCode()));v.interceptors.request.use(e=>{let t="UNKNOWN",r="UNKNOWN";new Date().getTime();try{e.data&&e.data.header?(t=e.data.header.trxCd||"UNKNOWN",r=e.data.header.guid||"UNKNOWN"):e.params&&e.params.header&&(t=e.params.header.trxCd||"UNKNOWN",r=e.params.header.guid||"UNKNOWN")}catch(o){console.warn("trxCd/guid 추출 실패:",o)}e.trxCd=t,e.guid=r,e.requestStartTime=Date.now(),console.log(`🚀 API 요청 시작 [거래코드: ${t} / GUID: ${r}]`);const n=localStorage.getItem("accessToken");return n&&(e.headers.Authorization=`Bearer ${n}`),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=>{let t="UNKNOWN",r="UNKNOWN";const n=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(s){console.warn("trxCd/guid 추출 실패:",s)}let o=0;return e.config.requestStartTime&&(o=n-e.config.requestStartTime),console.log(`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${o}ms)`),e},async e=>{if(console.error("❌ API 응답 에러:",e),T.isLocal&&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 K.post("/auth/refresh",{refreshToken:t});if(r.data.accessToken){localStorage.setItem("accessToken",r.data.accessToken);const n=e.config;if(n)return n.headers.Authorization=`Bearer ${r.data.accessToken}`,v(n)}}catch{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken"),window.location.href="/login"}}return Promise.reject(e)});const Oe=()=>G(),b=async(e,t,r)=>{try{const n={...W,...r},o={method:n.method,url:"/api/service",timeout:n.timeout,withCredentials:n.withCredentials};n.headers&&(o.headers=n.headers);const s=L||"unknown",h=__APP_CD__,m=__SYS_CD__;console.log("@@ request param :: ",t);const d={header:{trxCd:e,guid:Oe(),userInfo:M(),clientIp:s,domainId:"DEFAULT",appCd:h,sysCd:m},data:t};T.isLocal&&(console.log("__BWG_LOCAL__ 테스트 입니다. ",T.isLocal),console.log("📤 Request Data:",d)),n.method==="GET"?o.params=d||n.params:(o.data=d||n.data,n.params&&(o.params=n.params));let u;for(let C=0;C<=(n.retryCount||0);C++)try{const f=await v(o);if(f.data.header?.resCd==0){for(const S in f.data)if(S!=="header")return f.data[S]}else return Me({message:"서비스 호출 실패",description:f.data.header?.resMsg||"요청 처리 중 오류가 발생했습니다.",duration:5}),null}catch(f){if(u=f,ut(u)&&C<(n.retryCount||0)){await lt(n.retryDelay||1e3);continue}break}throw u}catch(n){throw console.error("callService 에러:",n),n}},ut=e=>!e.response||e.response.status>=500&&e.response.status<600,lt=e=>new Promise(t=>setTimeout(t,e)),dt=(e,t,r)=>b(e,t,{...r,method:"GET"}),gt=(e,t,r)=>b(e,t,{...r,method:"POST"}),mt=(e,t,r)=>b(e,t,{...r,method:"PUT"}),pt=(e,t,r)=>b(e,t,{...r,method:"DELETE"}),ht=(e,t,r)=>b(e,t,{...r,method:"PATCH"}),Re={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101"};let x={};function ft(e){x=e,console.log("🔧 Provider 서비스코드 오버라이드 설정:",e)}function _e(e){if(x[e]&&x[e].trim()!=="")return console.log(`🔧 Provider 설정 사용: ${e} = ${x[e]}`),x[e];const t=Re[e];return console.log(`🔧 기본값 사용: ${e} = ${t}`),t}function St(){const e={};for(const t of Object.keys(Re))e[t]=_e(t);return e}exports.apiDelete=pt;exports.apiGet=dt;exports.apiPatch=ht;exports.apiPost=gt;exports.apiPut=mt;exports.base64Decode=be;exports.base64Encode=Ee;exports.br2nl=ne;exports.bxmDecrypt=Ue;exports.bxmEncrypt=Ie;exports.callService=b;exports.capitalize=H;exports.capitalizeWords=F;exports.center=ce;exports.closeNotification=ze;exports.countChar=ue;exports.countWords=le;exports.destroyNotifications=Fe;exports.encryptSha256=ye;exports.extractNumbers=Q;exports.findPattern=se;exports.formatPhoneNumber=Z;exports.generateAlphanumericUID=he;exports.generateCustomUID=Se;exports.generateGUID=$;exports.generateGUIDWithoutHyphens=G;exports.generateLongUID=me;exports.generateNumericUID=pe;exports.generateRandomString=E;exports.generateShortUID=ge;exports.generateTimestampUID=fe;exports.generateUID=A;exports.getAllServiceCodes=St;exports.getClientIp=ct;exports.getCrprCd=Ze;exports.getDepartmentInfo=ot;exports.getDisplayName=st;exports.getDprtCd=Pe;exports.getDprtNm=Ae;exports.getEmplNo=Ye;exports.getGuid=Oe;exports.getRoleList=R;exports.getServiceCode=_e;exports.getUserDvsn=Xe;exports.getUserId=Te;exports.getUserInfo=M;exports.getUserNm=Le;exports.hasAllRoles=tt;exports.hasAnyRole=et;exports.hasRole=Qe;exports.hasUserInfo=nt;exports.isEmpty=w;exports.isLoggedIn=rt;exports.isSafeEmpty=j;exports.isValidEmail=X;exports.isValidUrl=Y;exports.md5Hash=ve;exports.nl2br=re;exports.notificationService=y;exports.padLeft=oe;exports.padRight=ae;exports.persist=xe;exports.removeHtmlTags=te;exports.removeSpecialChars=ee;exports.reverse=ie;exports.setClientIp=at;exports.setServiceCodeOverrides=ft;exports.sha256Hash=we;exports.showError=qe;exports.showInfo=Ke;exports.showSuccess=Be;exports.showWarning=je;exports.simpleDecrypt=De;exports.simpleEncrypt=Ne;exports.stringUtils=Ge;exports.toCamelCase=z;exports.toKebabCase=V;exports.toSnakeCase=J;exports.truncate=q;exports.useUserStore=l;exports.verifyClientIp=it;
|
|
@@ -1,16 +1,94 @@
|
|
|
1
1
|
import { default as React, CSSProperties } from 'react';
|
|
2
2
|
export interface BwgCmptAreaProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
/**
|
|
4
|
+
* 동적 행 배열 또는 커스텀 ReactNode
|
|
5
|
+
* - React.ReactNode[][]: 무제한 행을 동적으로 구성 (각 행은 React 컴포넌트 배열)
|
|
6
|
+
* - React.ReactNode: 완전히 커스텀한 레이아웃을 직접 렌더링
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // 무제한 행 방식
|
|
10
|
+
* content={[
|
|
11
|
+
* [<BwgSelect />, <BwgInput />], // 1행
|
|
12
|
+
* [<BwgButton />], // 2행
|
|
13
|
+
* [<BwgInput />, <BwgSelect />, <BwgButton />] // 3행
|
|
14
|
+
* ]}
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // 커스텀 ReactNode 방식
|
|
18
|
+
* content={(
|
|
19
|
+
* <div>
|
|
20
|
+
* <Row gutter={16}>
|
|
21
|
+
* <Col span={6}><BwgSelect /></Col>
|
|
22
|
+
* <Col span={6}><BwgInput /></Col>
|
|
23
|
+
* </Row>
|
|
24
|
+
* </div>
|
|
25
|
+
* )}
|
|
26
|
+
*/
|
|
27
|
+
content?: React.ReactNode[][] | React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* 레이아웃 방식 선택
|
|
30
|
+
* - 'flex': Flexbox 기반 배치 (기본값)
|
|
31
|
+
* - 'grid': CSS Grid 기반 배치
|
|
32
|
+
* - 'equal': 동일한 너비로 균등 배치
|
|
33
|
+
* - 'auto': 내용에 따라 자동 조절
|
|
34
|
+
*/
|
|
35
|
+
layout?: 'flex' | 'grid' | 'equal' | 'auto';
|
|
36
|
+
/**
|
|
37
|
+
* 컴포넌트 간 간격 (px)
|
|
38
|
+
* @default 16
|
|
39
|
+
*/
|
|
40
|
+
gap?: number;
|
|
41
|
+
/**
|
|
42
|
+
* 최소 컴포넌트 너비 (px)
|
|
43
|
+
* @default 120
|
|
44
|
+
*/
|
|
45
|
+
minWidth?: number;
|
|
46
|
+
/**
|
|
47
|
+
* 최대 컴포넌트 너비 (px)
|
|
48
|
+
* @default 300
|
|
49
|
+
*/
|
|
50
|
+
maxWidth?: number;
|
|
51
|
+
/** CSS 스타일 객체 */
|
|
8
52
|
style?: CSSProperties;
|
|
53
|
+
/** CSS 클래스명 */
|
|
9
54
|
className?: string;
|
|
10
55
|
}
|
|
11
56
|
/**
|
|
12
57
|
* 입력 폼 영역을 동적으로 그리기 위한 컴포넌트
|
|
13
|
-
*
|
|
58
|
+
*
|
|
59
|
+
* @description
|
|
60
|
+
* - content가 React.ReactNode[][]이면 무제한 행을 동적으로 구성
|
|
61
|
+
* - content가 React.ReactNode면 완전히 커스텀한 레이아웃을 직접 렌더링
|
|
62
|
+
* - 각 행의 컴포넌트들은 자동으로 백분위 너비로 배치됨
|
|
63
|
+
* - data-colspan 속성을 통해 컴포넌트의 너비를 조절할 수 있음
|
|
64
|
+
*
|
|
65
|
+
* @param content - 동적 행 배열 또는 커스텀 ReactNode
|
|
66
|
+
* @param style - CSS 스타일 객체
|
|
67
|
+
* @param className - CSS 클래스명
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* // 무제한 행 방식
|
|
72
|
+
* <BwgCmptArea
|
|
73
|
+
* content={[
|
|
74
|
+
* [<BwgSelect />, <BwgInput />],
|
|
75
|
+
* [<BwgButton />],
|
|
76
|
+
* [<BwgInput />, <BwgSelect />, <BwgButton />]
|
|
77
|
+
* ]}
|
|
78
|
+
* />
|
|
79
|
+
*
|
|
80
|
+
* // 커스텀 ReactNode 방식
|
|
81
|
+
* <BwgCmptArea
|
|
82
|
+
* content={(
|
|
83
|
+
* <div>
|
|
84
|
+
* <Row gutter={16}>
|
|
85
|
+
* <Col span={6}><BwgSelect /></Col>
|
|
86
|
+
* <Col span={6}><BwgInput /></Col>
|
|
87
|
+
* </Row>
|
|
88
|
+
* </div>
|
|
89
|
+
* )}
|
|
90
|
+
* />
|
|
91
|
+
* ```
|
|
14
92
|
*/
|
|
15
93
|
declare const BwgCmptArea: React.FC<BwgCmptAreaProps>;
|
|
16
94
|
export default BwgCmptArea;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ColProps } from 'antd';
|
|
2
|
+
/**
|
|
3
|
+
* BwgCol 컴포넌트는 Col 컴포넌트를 래핑하여 클래스 이름을 추가합니다.
|
|
4
|
+
* @param children - 컴포넌트의 자식 요소
|
|
5
|
+
* @param props - Col 컴포넌트의 속성
|
|
6
|
+
* @returns 래핑된 Col 컴포넌트
|
|
7
|
+
*/
|
|
8
|
+
interface BwgColProps extends ColProps {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* BwgCol 컴포넌트는 Col 컴포넌트를 래핑하여 클래스 이름을 추가합니다.
|
|
13
|
+
* @param children - 컴포넌트의 자식 요소
|
|
14
|
+
* @param props - Col 컴포넌트의 속성
|
|
15
|
+
* @returns 래핑된 Col 컴포넌트
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
declare const BwgCol: ({ children, ...props }: BwgColProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default BwgCol;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { default as React, ReactNode } from 'react';
|
|
2
1
|
import { ThemeConfig } from 'antd';
|
|
2
|
+
import { default as React, ReactNode } from 'react';
|
|
3
3
|
export interface BwgConfigProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
customTheme?: Partial<ThemeConfig>;
|
|
6
6
|
customComponentSize?: 'small' | 'middle' | 'large';
|
|
7
7
|
layout?: 'compact' | 'comfortable' | 'spacious';
|
|
8
|
+
getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement;
|
|
8
9
|
}
|
|
9
10
|
export declare const BwgConfigProvider: React.FC<BwgConfigProviderProps>;
|
|
10
11
|
export default BwgConfigProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FormInstance } from 'antd';
|
|
2
2
|
import { default as React, MutableRefObject } from 'react';
|
|
3
|
-
import { default as RealGrid, CellIndex, ClickData, ColumnHeaderItemLocation, DataColumn, DataProviderBase, GridBase, GridColumn, GridFitStyle, GridView, LocalDataProvider, LocalTreeDataProvider, SelectionStyle, TreeView, ValidationError, ValueType } from 'realgrid';
|
|
3
|
+
import { default as RealGrid, CellIndex, ClickData, ColumnHeaderItemLocation, DataColumn, DataProviderBase, GridBase, GridColumn, GridExportOptions, GridFitStyle, GridView, LocalDataProvider, LocalTreeDataProvider, SelectionStyle, TreeView, ValidationError, ValueType } from 'realgrid';
|
|
4
4
|
import { RealGridReact, RealTreeReact } from 'realgrid-react';
|
|
5
5
|
interface BwgGridDataLoadOption {
|
|
6
6
|
/** 작업한 현재 데이터 포커스 [default: false] */
|
|
@@ -243,6 +243,11 @@ interface BwgGridRef {
|
|
|
243
243
|
* @default -1
|
|
244
244
|
*/
|
|
245
245
|
getCurrentIndex: () => number;
|
|
246
|
+
/**
|
|
247
|
+
* 그리드 데이터 엑셀 변환
|
|
248
|
+
* @param GridExportOptions 그리드 export Option
|
|
249
|
+
*/
|
|
250
|
+
gridExcelDown: (GridExportOptions?: GridExportOptions) => void;
|
|
246
251
|
/** 데이터 프로바이더 직접 접근 */
|
|
247
252
|
dp: LocalDataProvider | LocalTreeDataProvider | null;
|
|
248
253
|
/** 그리드 뷰 직접 접근 */
|
|
@@ -250,7 +255,7 @@ interface BwgGridRef {
|
|
|
250
255
|
}
|
|
251
256
|
interface BwgGridProps {
|
|
252
257
|
/** 그리드 렌더 타입 */
|
|
253
|
-
type?:
|
|
258
|
+
type?: "nrml" | "tree";
|
|
254
259
|
/** 그리드영역 CSS 스타일 */
|
|
255
260
|
gridDivStyle?: React.CSSProperties;
|
|
256
261
|
/** 그리드영역 CSS 클래스 */
|
|
@@ -439,7 +444,7 @@ interface BwgGridColProps extends DataColumn {
|
|
|
439
444
|
/** 편집여부 */
|
|
440
445
|
editable?: boolean;
|
|
441
446
|
/** 컬럼 데이터 정렬 */
|
|
442
|
-
align?:
|
|
447
|
+
align?: "left" | "center" | "right";
|
|
443
448
|
/** 컬럼 필드 자료형 */
|
|
444
449
|
dataType?: ValueType | string;
|
|
445
450
|
/** 컬럼 필수 */
|
|
@@ -449,7 +454,7 @@ interface BwgGridColProps extends DataColumn {
|
|
|
449
454
|
/** 그룹핑 자식 컬럼헤더 */
|
|
450
455
|
children?: BwgGridColProps[];
|
|
451
456
|
/** 그룹핑 정렬 */
|
|
452
|
-
direction?:
|
|
457
|
+
direction?: "vertical" | "horizontal";
|
|
453
458
|
/** true시 lookupDisplay가 true인 컬럼은 value가 아닌 label 또는 labelField의 값을 복사 */
|
|
454
459
|
lookupDisplay?: boolean;
|
|
455
460
|
renderer?: any;
|
|
@@ -3,6 +3,7 @@ export interface BwgInfoAreaProps {
|
|
|
3
3
|
title: string;
|
|
4
4
|
border?: boolean;
|
|
5
5
|
children: React.ReactNode;
|
|
6
|
+
titleChildren?: React.ReactNode;
|
|
6
7
|
}
|
|
7
|
-
declare const BwgInfoArea: React.MemoExoticComponent<({ title, border, children }: BwgInfoAreaProps) => import("react/jsx-runtime").JSX.Element>;
|
|
8
|
+
declare const BwgInfoArea: React.MemoExoticComponent<({ title, border, children, titleChildren }: BwgInfoAreaProps) => import("react/jsx-runtime").JSX.Element>;
|
|
8
9
|
export default BwgInfoArea;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RowProps } from 'antd';
|
|
2
|
+
/**
|
|
3
|
+
* BwgRow 컴포넌트는 Row 컴포넌트를 래핑하여 클래스 이름을 추가합니다.
|
|
4
|
+
* @param children - 컴포넌트의 자식 요소
|
|
5
|
+
* @param props - Row 컴포넌트의 속성
|
|
6
|
+
* @returns 래핑된 Row 컴포넌트
|
|
7
|
+
*/
|
|
8
|
+
interface BwgRowProps extends RowProps {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* BwgRow 컴포넌트는 Row 컴포넌트를 래핑하여 클래스 이름을 추가합니다.
|
|
13
|
+
* @param children - 컴포넌트의 자식 요소
|
|
14
|
+
* @param props - Row 컴포넌트의 속성
|
|
15
|
+
* @returns 래핑된 Row 컴포넌트
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
declare const BwgRow: ({ children, ...props }: BwgRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default BwgRow;
|
|
@@ -22,8 +22,12 @@ export interface BwgTitleBoxProps {
|
|
|
22
22
|
* @default true
|
|
23
23
|
*/
|
|
24
24
|
iconVisible?: boolean;
|
|
25
|
+
/** 패딩 바텀 */
|
|
26
|
+
paddingBottom?: number;
|
|
27
|
+
/** 마진 바텀 */
|
|
28
|
+
marginBottom?: number;
|
|
25
29
|
/** 컨텐츠 */
|
|
26
30
|
children?: React.ReactNode;
|
|
27
31
|
}
|
|
28
|
-
declare const BwgTitleBox: ({ title, icons, tooltip, iconVisible, children, }: BwgTitleBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
declare const BwgTitleBox: ({ title, icons, tooltip, iconVisible, paddingBottom, marginBottom, children, }: BwgTitleBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
33
|
export default BwgTitleBox;
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { SearchBoxProps } from './SearchBox';
|
|
3
3
|
interface BwgViewProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
|
-
searchBox?:
|
|
6
|
-
/**
|
|
7
|
-
* 필수입력 영역
|
|
8
|
-
*/
|
|
9
|
-
reqArea: React.ComponentProps<typeof BwgCmptArea>;
|
|
10
|
-
/**
|
|
11
|
-
* 추가 입력 영역
|
|
12
|
-
*/
|
|
13
|
-
subArea?: React.ComponentProps<typeof BwgCmptArea>;
|
|
14
|
-
style?: any;
|
|
15
|
-
};
|
|
5
|
+
searchBox?: SearchBoxProps;
|
|
16
6
|
title?: {
|
|
17
7
|
text?: string;
|
|
18
8
|
useMenuTitle?: boolean;
|
|
@@ -22,7 +12,6 @@ interface BwgViewProps {
|
|
|
22
12
|
};
|
|
23
13
|
preRenderEvents?: Array<() => Promise<void> | void>;
|
|
24
14
|
postRenderEvents?: Array<() => Promise<void> | void>;
|
|
25
|
-
requiredPermissions?: string[];
|
|
26
15
|
loading?: boolean;
|
|
27
16
|
error?: string | null;
|
|
28
17
|
grantEvent?: {
|
|
@@ -1,16 +1,68 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { BwgCmptAreaProps } from './BwgCmptArea';
|
|
3
1
|
export interface SearchBoxProps {
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
/**
|
|
3
|
+
* 필수출력 Row - 항상 표시되는 검색 조건 영역
|
|
4
|
+
* ReactNode를 직접 렌더링하여 완전한 유연성 제공
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* reqRows={<div>커스텀 검색 조건</div>}
|
|
8
|
+
*/
|
|
9
|
+
reqRows?: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Collapsible (접힘 가능) Row - 토글 버튼으로 접고 펼칠 수 있는 검색 조건 영역
|
|
12
|
+
* ReactNode를 직접 렌더링하여 완전한 유연성 제공
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* subRows={<div>접힘 가능한 검색 조건</div>}
|
|
16
|
+
*/
|
|
17
|
+
subRows?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* 테두리 여부 - true일 경우 검색박스에 테두리와 패딩이 적용됨
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
border?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 반응형 label 표시 설정 - SearchBox 전체 Form에 적용
|
|
25
|
+
* - sm (768px 미만): small
|
|
26
|
+
* - md (768px~1199px): medium
|
|
27
|
+
* - lg (1200px 이상): large
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* labelDisplay={{
|
|
31
|
+
* sm: '80px', // small: 80px
|
|
32
|
+
* md: '100px', // medium: 100px
|
|
33
|
+
* lg: '120px' // large: 120px
|
|
34
|
+
* }}
|
|
35
|
+
*/
|
|
36
|
+
labelDisplay?: {
|
|
37
|
+
/** small 화면용 labelCol (768px 미만) */
|
|
38
|
+
sm?: string | number;
|
|
39
|
+
/** medium 화면용 labelCol (768px~1199px) */
|
|
40
|
+
md?: string | number;
|
|
41
|
+
/** large 화면용 labelCol (1200px 이상) */
|
|
42
|
+
lg?: string | number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 커스텀 헤더 설정
|
|
46
|
+
* @example
|
|
47
|
+
* header={{
|
|
48
|
+
* title: '커스텀 타이틀',
|
|
49
|
+
* buttons: <BwgButton>커스텀 버튼</BwgButton>
|
|
50
|
+
* }}
|
|
51
|
+
*/
|
|
52
|
+
header?: {
|
|
53
|
+
title?: string | React.ReactNode;
|
|
54
|
+
buttons?: React.ReactNode;
|
|
55
|
+
};
|
|
8
56
|
}
|
|
9
57
|
export interface SearchBoxRef {
|
|
58
|
+
/** 폼 데이터를 가져옵니다 */
|
|
10
59
|
getFormData: () => any;
|
|
60
|
+
/** 폼 데이터를 설정합니다 */
|
|
11
61
|
setFormData: (data: any) => void;
|
|
62
|
+
/** 폼을 초기화합니다 */
|
|
12
63
|
resetForm: () => void;
|
|
64
|
+
/** 폼 유효성을 검사합니다 */
|
|
13
65
|
validateForm: () => Promise<any>;
|
|
14
66
|
}
|
|
15
|
-
declare const SearchBox:
|
|
67
|
+
declare const SearchBox: import('react').ForwardRefExoticComponent<SearchBoxProps & import('react').RefAttributes<SearchBoxRef>>;
|
|
16
68
|
export default SearchBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/SSOHandler-DiwKoTdN.cjs"),r=require("../../chunks/BwgSpace-b0hmM1Ht.cjs"),o=require("../../chunks/realFormat-Cha7OTd9.cjs");exports.BwgButtonGroup=e.BwgButtonGroup;exports.BwgCmptArea=e.BwgCmptArea;exports.BwgCol=e.BwgCol;exports.BwgConfigProvider=e.BwgConfigProvider;exports.BwgDrawer=e.BwgDrawer;exports.BwgGrid=e.BwgGrid;exports.BwgInfoArea=e.BwgInfoArea;exports.BwgPopup=e.BwgPopup;exports.BwgRow=e.BwgRow;exports.BwgTable=e.BwgTable;exports.BwgTabs=e.BwgTabs;exports.BwgTitleBox=e.BwgTitleBox;exports.BwgView=e.BwgView;exports.ContentBox=e.ContentBox;exports.ContentLayOut=e.ContentLayOut;exports.GlobalConfigProvider=e.GlobalConfigProvider;exports.QuickServiceToggle=e.QuickServiceToggle;exports.SSOHandler=e.SSOHandler;exports.SearchBox=e.SearchBox;exports.createBwgGridRenderer=e.createBwgGridRenderer;exports.BwgSpace=r.BwgSpace;exports.realFormat=o.realFormat;
|
|
@@ -1,34 +1,37 @@
|
|
|
1
|
+
export { default as BwgButtonGroup } from './BwgButtonGroup';
|
|
2
|
+
export { default as BwgCmptArea } from './BwgCmptArea';
|
|
3
|
+
export { default as BwgCol } from './BwgCol';
|
|
4
|
+
export { default as BwgConfigProvider } from './BwgConfigProvider';
|
|
5
|
+
export { default as BwgDrawer } from './BwgDrawer';
|
|
1
6
|
export { default as BwgGrid } from './BwgGrid';
|
|
7
|
+
export { default as BwgInfoArea } from './BwgInfoArea';
|
|
8
|
+
export { default as BwgPopup } from './BwgPopup';
|
|
9
|
+
export { default as BwgRow } from './BwgRow';
|
|
2
10
|
export { default as BwgSpace } from './BwgSpace';
|
|
3
|
-
export { default as
|
|
11
|
+
export { default as BwgTable } from './BwgTable';
|
|
12
|
+
export { default as BwgTabs } from './BwgTabs';
|
|
4
13
|
export { default as BwgTitleBox } from './BwgTitleBox';
|
|
14
|
+
export { default as BwgView } from './BwgView';
|
|
5
15
|
export { default as ContentBox } from './ContentBox';
|
|
6
16
|
export { default as ContentLayOut } from './ContentLayOut';
|
|
7
|
-
export { default as BwgTable } from './BwgTable';
|
|
8
|
-
export { default as SearchBox } from './SearchBox';
|
|
9
|
-
export { default as BwgCmptArea } from './BwgCmptArea';
|
|
10
|
-
export { default as BwgButtonGroup } from './BwgButtonGroup';
|
|
11
|
-
export { default as BwgConfigProvider } from './BwgConfigProvider';
|
|
12
17
|
export { default as GlobalConfigProvider } from './GlobalConfigProvider';
|
|
13
|
-
export { default as BwgPopup } from './BwgPopup';
|
|
14
|
-
export { default as BwgInfoArea } from './BwgInfoArea';
|
|
15
|
-
export { default as BwgDrawer } from './BwgDrawer';
|
|
16
|
-
export { default as BwgTabs } from './BwgTabs';
|
|
17
18
|
export { default as QuickServiceToggle } from './QuickServiceToggle';
|
|
18
|
-
export
|
|
19
|
+
export { default as SearchBox } from './SearchBox';
|
|
20
|
+
export { default as SSOHandler } from './SSOHandler';
|
|
21
|
+
export type { BwgGridColHeaderProps, BwgGridColProps, BwgGridEventList, BwgGridOptions, BwgGridProps, BwgGridRef, BwgGridRenderType } from './BwgGrid';
|
|
19
22
|
export { createBwgGridRenderer } from './BwgGrid';
|
|
20
23
|
export { default as realFormat } from '../../utils/realFormat';
|
|
21
|
-
export type {
|
|
24
|
+
export type { ButtonEvent, ButtonPermissionResponse, BwgButtonGroupProps } from './BwgButtonGroup';
|
|
25
|
+
export type { BwgCmptAreaProps } from './BwgCmptArea';
|
|
22
26
|
export type { BwgConfigProviderProps } from './BwgConfigProvider';
|
|
23
27
|
export type { BwgDrawerProps } from './BwgDrawer';
|
|
24
28
|
export type { BwgInfoAreaProps } from './BwgInfoArea';
|
|
25
29
|
export type { BwgPopupProps } from './BwgPopup';
|
|
26
|
-
export type { BwgTitleBoxProps, BwgTitleBoxIcon } from './BwgTitleBox';
|
|
27
|
-
export type { BwgTabsProps } from './BwgTabs';
|
|
28
30
|
export type { BwgTableProps } from './BwgTable';
|
|
31
|
+
export type { BwgTabsProps } from './BwgTabs';
|
|
32
|
+
export type { BwgTitleBoxIcon, BwgTitleBoxProps } from './BwgTitleBox';
|
|
29
33
|
export type { ContentBoxProps } from './ContentBox';
|
|
30
34
|
export type { ContentLayOutProps } from './ContentLayOut';
|
|
31
35
|
export type { GlobalConfigProviderProps } from './GlobalConfigProvider';
|
|
32
|
-
export type {
|
|
36
|
+
export type { QuickServiceItem, QuickServiceToggleProps } from './QuickServiceToggle';
|
|
33
37
|
export type { SearchBoxProps, SearchBoxRef } from './SearchBox';
|
|
34
|
-
export type { BwgCmptAreaProps } from './BwgCmptArea';
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { B as
|
|
3
|
-
import { r as
|
|
1
|
+
import { B as r, a as o, b as s, c as B, d as g, e as w, f as t, g as i, h as n, i as l, j as p, k as d, l as f, C, m as c, G as m, Q as x, n as S, S as u, o as G } from "../../chunks/SSOHandler-DVa4JKKb.js";
|
|
2
|
+
import { B as T } from "../../chunks/BwgSpace-CnLM4qcg.js";
|
|
3
|
+
import { r as P } from "../../chunks/realFormat-DRGLFabQ.js";
|
|
4
4
|
export {
|
|
5
5
|
r as BwgButtonGroup,
|
|
6
6
|
o as BwgCmptArea,
|
|
7
|
-
s as
|
|
8
|
-
B as
|
|
9
|
-
g as
|
|
10
|
-
w as
|
|
11
|
-
t as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
s as BwgCol,
|
|
8
|
+
B as BwgConfigProvider,
|
|
9
|
+
g as BwgDrawer,
|
|
10
|
+
w as BwgGrid,
|
|
11
|
+
t as BwgInfoArea,
|
|
12
|
+
i as BwgPopup,
|
|
13
|
+
n as BwgRow,
|
|
14
|
+
T as BwgSpace,
|
|
15
|
+
l as BwgTable,
|
|
16
|
+
p as BwgTabs,
|
|
17
|
+
d as BwgTitleBox,
|
|
16
18
|
f as BwgView,
|
|
17
|
-
|
|
19
|
+
C as ContentBox,
|
|
18
20
|
c as ContentLayOut,
|
|
19
|
-
|
|
21
|
+
m as GlobalConfigProvider,
|
|
20
22
|
x as QuickServiceToggle,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
S as SSOHandler,
|
|
24
|
+
u as SearchBox,
|
|
25
|
+
G as createBwgGridRenderer,
|
|
26
|
+
P as realFormat
|
|
24
27
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
export interface BwgLargeUploaderProps {
|
|
3
3
|
title?: string;
|
|
4
|
+
fileGrpKey?: string;
|
|
4
5
|
onUploadComplete?: (fileDetails: {
|
|
5
6
|
fileNameP: string;
|
|
6
7
|
fileNameL: string;
|
|
7
8
|
}) => void;
|
|
8
|
-
|
|
9
|
+
onSuccessTrxCd?: string;
|
|
10
|
+
anotherServiceTrxCd?: string;
|
|
9
11
|
allowedExtensions?: string[];
|
|
12
|
+
maxFileSize?: number;
|
|
10
13
|
}
|
|
11
14
|
/**
|
|
12
15
|
* BwgLargeUploader 컴포넌트 (대용량 파일 일괄 업로드용)
|
|
@@ -11,6 +11,10 @@ export interface BwgSearchProps extends Omit<InputProps, "placeholder"> {
|
|
|
11
11
|
popupParams?: any;
|
|
12
12
|
/** 팝업 설정 */
|
|
13
13
|
popupConfig?: any;
|
|
14
|
+
/** 읽기 전용 */
|
|
15
|
+
readOnly?: boolean;
|
|
16
|
+
/** 검색 함수 */
|
|
17
|
+
onSearch?: (value: string) => void;
|
|
14
18
|
}
|
|
15
19
|
declare const BwgSearch: (props: BwgSearchProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
20
|
export default BwgSearch;
|
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
export interface BwgUploaderProps {
|
|
3
|
+
/**
|
|
4
|
+
* 선/후처리 서비스에 전달할 파일 그룹 키입니다.
|
|
5
|
+
* 선처리 : 파일 목록조회
|
|
6
|
+
* 후처리 : 해당 파일 그룹키에 파일목록수정
|
|
7
|
+
*/
|
|
8
|
+
fileGrpKey?: string;
|
|
3
9
|
/**
|
|
4
10
|
* 파일 업로드 완료 시 호출되는 콜백 함수입니다.
|
|
5
|
-
* 업로드된 파일의 `fileNameP` (fileKey)와 `fileNameL` (fileName)을 포함하는 객체를 반환합니다.
|
|
6
11
|
*/
|
|
7
12
|
onUploadComplete?: (fileDetails: {
|
|
8
13
|
fileNameP: string;
|
|
9
14
|
fileNameL: string;
|
|
10
15
|
}) => void;
|
|
11
16
|
/**
|
|
12
|
-
* 파일
|
|
17
|
+
* 파일 목록을 조회하는 거래코드.
|
|
18
|
+
* 기본값: 'SCMFILE00101'
|
|
19
|
+
*/
|
|
20
|
+
onFetchFilesTrxCd?: string;
|
|
21
|
+
/**
|
|
22
|
+
* 파일 업로드 후처리 서비스 호출을 위한 trxCd.
|
|
23
|
+
* 기본값: 'SCMFILE00102'
|
|
24
|
+
*/
|
|
25
|
+
onSuccessTrxCd?: string;
|
|
26
|
+
/**
|
|
27
|
+
* 파일 삭제 후처리 서비스 호출을 위한 trxCd.
|
|
28
|
+
* 기본값: 'SCMFILE00103'
|
|
29
|
+
*/
|
|
30
|
+
onDeleteFileTrxCd?: string;
|
|
31
|
+
/**
|
|
32
|
+
* 파일 순서 변경 후처리 서비스 호출을 위한 trxCd.
|
|
13
33
|
*/
|
|
14
|
-
|
|
34
|
+
onReorderFilesTrxCd?: string;
|
|
15
35
|
/**
|
|
16
36
|
* 허용되는 파일 확장자 목록입니다.
|
|
17
|
-
* 예: `['.jpg', '.png', '.pdf']`
|
|
18
37
|
*/
|
|
19
38
|
allowedExtensions?: string[];
|
|
20
39
|
/**
|
|
@@ -25,10 +44,14 @@ export interface BwgUploaderProps {
|
|
|
25
44
|
/**
|
|
26
45
|
* BwgUploader 컴포넌트
|
|
27
46
|
*
|
|
47
|
+
* @param fileGrpKey - 파일 그룹 키
|
|
28
48
|
* @param onUploadComplete - 파일 업로드 완료 시 콜백
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
49
|
+
* @param onFetchFilesTrxCd - 파일 목록 조회 트랜잭션 코드
|
|
50
|
+
* @param onSuccessTrxCd - 파일 업로드 성공 후처리 트랜잭션 코드
|
|
51
|
+
* @param onDeleteFileTrxCd - 파일 삭제 후처리 트랜잭션 코드
|
|
52
|
+
* @param onReorderFilesTrxCd - 파일 순서 변경 후처리 트랜잭션 코드
|
|
53
|
+
* @param allowedExtensions - 허용 파일 확장자
|
|
54
|
+
* @param maxFileSize - 최대 파일 크기
|
|
32
55
|
*/
|
|
33
56
|
declare const BwgUploader: React.FC<BwgUploaderProps>;
|
|
34
57
|
export default BwgUploader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/BwgLargeUploader-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/BwgLargeUploader-BOf905_l.cjs");exports.BwgButton=e.BwgButton;exports.BwgCheck=e.BwgCheck;exports.BwgCheckList=e.BwgCheckList;exports.BwgDatePicker=e.BwgDatePicker;exports.BwgForm=e.BwgForm;exports.BwgFormItem=e.BwgFormItem;exports.BwgInput=e.BwgInput;exports.BwgLargeUploader=e.BwgLargeUploader;exports.BwgMaskedInput=e.BwgMaskedInput;exports.BwgMaskedPicker=e.BwgMaskedPicker;exports.BwgMultiSelect=e.BwgMultiSelect;exports.BwgNumber=e.BwgNumber;exports.BwgRadio=e.BwgRadio;exports.BwgRangePicker=e.BwgRangePicker;exports.BwgSearch=e.BwgSearch;exports.BwgSelect=e.BwgSelect;exports.BwgTextArea=e.BwgTextArea;exports.BwgUploader=e.BwgUploader;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as g, j as s, k as B, g as w, a as r, B as t, f as c, q as o, d as k, e as i, n as d, m as l, i as m, h as p, c as n, b as u, l as h, p as I } from "../../chunks/BwgLargeUploader-
|
|
1
|
+
import { o as g, j as s, k as B, g as w, a as r, B as t, f as c, q as o, d as k, e as i, n as d, m as l, i as m, h as p, c as n, b as u, l as h, p as I } from "../../chunks/BwgLargeUploader-BeI8oV8y.js";
|
|
2
2
|
export {
|
|
3
3
|
g as BwgButton,
|
|
4
4
|
s as BwgCheck,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/PublicLayout-BiTPwkVq.cjs");exports.ProgressOverlay=e.ProgressOverlay;exports.ProtectedLayout=e.ProtectedLayout;exports.PublicLayout=e.PublicLayout;
|