@bwg-ui/core 1.1.24 → 1.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/chunks/AuthContext-BQ3gHLbr.cjs +2 -0
  2. package/dist/chunks/AuthContext-BQ3gHLbr.cjs.map +1 -0
  3. package/dist/chunks/{AuthContext-Ei2P-z4d.js → AuthContext-CVizgYxY.js} +14 -10
  4. package/dist/chunks/AuthContext-CVizgYxY.js.map +1 -0
  5. package/dist/chunks/{BwgSpace-CnLM4qcg.js → BwgSpace-BPJARdOc.js} +4 -4
  6. package/dist/chunks/{BwgSpace-CnLM4qcg.js.map → BwgSpace-BPJARdOc.js.map} +1 -1
  7. package/dist/chunks/BwgSpace-Cw27d-XU.cjs +2 -0
  8. package/dist/chunks/{BwgSpace-b0hmM1Ht.cjs.map → BwgSpace-Cw27d-XU.cjs.map} +1 -1
  9. package/dist/chunks/BwgSwitch-BLtVdW44.cjs +2 -0
  10. package/dist/chunks/BwgSwitch-BLtVdW44.cjs.map +1 -0
  11. package/dist/chunks/{BwgSwitch-B79pseQM.js → BwgSwitch-DdHo4gYR.js} +66 -66
  12. package/dist/chunks/BwgSwitch-DdHo4gYR.js.map +1 -0
  13. package/dist/chunks/{BwgUploader-BcVlE61B.js → BwgUploader-BUmFmeuS.js} +639 -639
  14. package/dist/chunks/BwgUploader-BUmFmeuS.js.map +1 -0
  15. package/dist/chunks/BwgUploader-Djhl4lIt.cjs +3 -0
  16. package/dist/chunks/BwgUploader-Djhl4lIt.cjs.map +1 -0
  17. package/dist/chunks/LoadingOverlay-Uf6xy04v.js +19 -0
  18. package/dist/chunks/LoadingOverlay-Uf6xy04v.js.map +1 -0
  19. package/dist/chunks/LoadingOverlay-jdMzdB-z.cjs +2 -0
  20. package/dist/chunks/LoadingOverlay-jdMzdB-z.cjs.map +1 -0
  21. package/dist/chunks/{SSOHandler-CkPcSHIm.js → SSOHandler-CR0nR3rJ.js} +8132 -8085
  22. package/dist/chunks/SSOHandler-CR0nR3rJ.js.map +1 -0
  23. package/dist/chunks/{SSOHandler-DiW4Ft9i.cjs → SSOHandler-DQG0Jp4V.cjs} +53 -53
  24. package/dist/chunks/SSOHandler-DQG0Jp4V.cjs.map +1 -0
  25. package/dist/chunks/ScreenProtectContext-BMsPPcTX.js +154 -0
  26. package/dist/chunks/ScreenProtectContext-BMsPPcTX.js.map +1 -0
  27. package/dist/chunks/ScreenProtectContext-DrCGlcTs.cjs +2 -0
  28. package/dist/chunks/ScreenProtectContext-DrCGlcTs.cjs.map +1 -0
  29. package/dist/chunks/SearchBoxContext-DY6lES-W.cjs +2 -0
  30. package/dist/chunks/SearchBoxContext-DY6lES-W.cjs.map +1 -0
  31. package/dist/chunks/{SearchBoxContext-BCvEYyFk.js → SearchBoxContext-Dtzo_rJd.js} +25 -27
  32. package/dist/chunks/SearchBoxContext-Dtzo_rJd.js.map +1 -0
  33. package/dist/chunks/ViewContainer-BfiTFvLP.cjs +36 -0
  34. package/dist/chunks/ViewContainer-BfiTFvLP.cjs.map +1 -0
  35. package/dist/chunks/{ViewContainer-CjpJqoGG.js → ViewContainer-CTl3_56W.js} +128 -116
  36. package/dist/chunks/ViewContainer-CTl3_56W.js.map +1 -0
  37. package/dist/chunks/apiUtils-D9Vn1gwZ.cjs +3 -0
  38. package/dist/chunks/apiUtils-D9Vn1gwZ.cjs.map +1 -0
  39. package/dist/chunks/{apiUtils-DxzLqPhU.js → apiUtils-DPUgfmKk.js} +57 -48
  40. package/dist/chunks/apiUtils-DPUgfmKk.js.map +1 -0
  41. package/dist/chunks/{codeStore-CfI4Wh5M.js → codeStore-BrCfe9K3.js} +2 -2
  42. package/dist/chunks/{codeStore-CfI4Wh5M.js.map → codeStore-BrCfe9K3.js.map} +1 -1
  43. package/dist/chunks/{codeStore-il4-kZPe.cjs → codeStore-_b2fDZtD.cjs} +2 -2
  44. package/dist/chunks/{codeStore-il4-kZPe.cjs.map → codeStore-_b2fDZtD.cjs.map} +1 -1
  45. package/dist/chunks/{core-bHd8azE6.js → core-BBMCFpHx.js} +2 -2
  46. package/dist/chunks/{core-bHd8azE6.js.map → core-BBMCFpHx.js.map} +1 -1
  47. package/dist/chunks/{core-BHejg5iS.cjs → core-CM9MsJRf.cjs} +2 -2
  48. package/dist/chunks/{core-BHejg5iS.cjs.map → core-CM9MsJRf.cjs.map} +1 -1
  49. package/dist/chunks/{enc-base64-BQYwLKgk.js → enc-base64-DAsYWbA2.js} +3 -3
  50. package/dist/chunks/{enc-base64-BQYwLKgk.js.map → enc-base64-DAsYWbA2.js.map} +1 -1
  51. package/dist/chunks/{enc-base64-BkBtNBQV.cjs → enc-base64-DbK5VBfD.cjs} +2 -2
  52. package/dist/chunks/{enc-base64-BkBtNBQV.cjs.map → enc-base64-DbK5VBfD.cjs.map} +1 -1
  53. package/dist/chunks/{favoriteStore-CcKg_nEH.cjs → favoriteStore-BnQ2u-sa.cjs} +2 -2
  54. package/dist/chunks/{favoriteStore-CcKg_nEH.cjs.map → favoriteStore-BnQ2u-sa.cjs.map} +1 -1
  55. package/dist/chunks/{favoriteStore-Cemc-26t.js → favoriteStore-SyAjqLG8.js} +2 -2
  56. package/dist/chunks/{favoriteStore-Cemc-26t.js.map → favoriteStore-SyAjqLG8.js.map} +1 -1
  57. package/dist/chunks/{popupStore-Bi6o78lP.js → popupStore-BrKcPw7K.js} +2 -2
  58. package/dist/chunks/{popupStore-Bi6o78lP.js.map → popupStore-BrKcPw7K.js.map} +1 -1
  59. package/dist/chunks/{popupStore-DUApUBF2.cjs → popupStore-ChbYTqy1.cjs} +2 -2
  60. package/dist/chunks/{popupStore-DUApUBF2.cjs.map → popupStore-ChbYTqy1.cjs.map} +1 -1
  61. package/dist/chunks/{sha256-DiIRoCQ8.cjs → sha256-BnWVPP1K.cjs} +2 -2
  62. package/dist/chunks/{sha256-DiIRoCQ8.cjs.map → sha256-BnWVPP1K.cjs.map} +1 -1
  63. package/dist/chunks/{sha256-BZfJs28k.js → sha256-D80RpYO2.js} +3 -3
  64. package/dist/chunks/{sha256-BZfJs28k.js.map → sha256-D80RpYO2.js.map} +1 -1
  65. package/dist/chunks/{usePopup-BSqsnSz7.js → usePopup-DnfKRiYs.js} +27 -27
  66. package/dist/chunks/usePopup-DnfKRiYs.js.map +1 -0
  67. package/dist/chunks/usePopup-Domnpg55.cjs +2 -0
  68. package/dist/chunks/usePopup-Domnpg55.cjs.map +1 -0
  69. package/dist/components/common/BookmarkMngModal.d.ts +1 -1
  70. package/dist/components/common/BookmarkMngModal.d.ts.map +1 -1
  71. package/dist/components/common/BookmarkPopver.d.ts +2 -2
  72. package/dist/components/common/BookmarkPopver.d.ts.map +1 -1
  73. package/dist/components/common/BwgButtonGroup.d.ts +5 -5
  74. package/dist/components/common/BwgButtonGroup.d.ts.map +1 -1
  75. package/dist/components/common/BwgCmptArea.d.ts +7 -7
  76. package/dist/components/common/BwgCmptArea.d.ts.map +1 -1
  77. package/dist/components/common/BwgCol.d.ts +2 -1
  78. package/dist/components/common/BwgCol.d.ts.map +1 -1
  79. package/dist/components/common/BwgConfigProvider.d.ts +2 -2
  80. package/dist/components/common/BwgConfigProvider.d.ts.map +1 -1
  81. package/dist/components/common/BwgDetail.d.ts +2 -1
  82. package/dist/components/common/BwgDetail.d.ts.map +1 -1
  83. package/dist/components/common/BwgDraggable.d.ts +5 -5
  84. package/dist/components/common/BwgDraggable.d.ts.map +1 -1
  85. package/dist/components/common/BwgDrawer.d.ts +2 -1
  86. package/dist/components/common/BwgDrawer.d.ts.map +1 -1
  87. package/dist/components/common/BwgEditor.d.ts +5 -5
  88. package/dist/components/common/BwgEditor.d.ts.map +1 -1
  89. package/dist/components/common/BwgGrid.d.ts +8 -8
  90. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  91. package/dist/components/common/BwgInfoArea.d.ts +4 -4
  92. package/dist/components/common/BwgInfoArea.d.ts.map +1 -1
  93. package/dist/components/common/BwgPopup.d.ts +3 -3
  94. package/dist/components/common/BwgPopup.d.ts.map +1 -1
  95. package/dist/components/common/BwgRow.d.ts +2 -1
  96. package/dist/components/common/BwgRow.d.ts.map +1 -1
  97. package/dist/components/common/BwgTitleBox.d.ts +5 -4
  98. package/dist/components/common/BwgTitleBox.d.ts.map +1 -1
  99. package/dist/components/common/BwgView.d.ts +4 -4
  100. package/dist/components/common/BwgView.d.ts.map +1 -1
  101. package/dist/components/common/ContentBox.d.ts +3 -3
  102. package/dist/components/common/ContentBox.d.ts.map +1 -1
  103. package/dist/components/common/ContentLayOut.d.ts +6 -5
  104. package/dist/components/common/ContentLayOut.d.ts.map +1 -1
  105. package/dist/components/common/GlobalConfigProvider.d.ts +2 -2
  106. package/dist/components/common/GlobalConfigProvider.d.ts.map +1 -1
  107. package/dist/components/common/QuickServiceToggle.d.ts +4 -4
  108. package/dist/components/common/QuickServiceToggle.d.ts.map +1 -1
  109. package/dist/components/common/SSOHandler.d.ts +2 -1
  110. package/dist/components/common/SSOHandler.d.ts.map +1 -1
  111. package/dist/components/common/SearchBox.d.ts +5 -4
  112. package/dist/components/common/SearchBox.d.ts.map +1 -1
  113. package/dist/components/common/index.cjs +1 -1
  114. package/dist/components/common/index.js +2 -2
  115. package/dist/components/core/BwgButton.d.ts +3 -2
  116. package/dist/components/core/BwgButton.d.ts.map +1 -1
  117. package/dist/components/core/BwgDatePicker.d.ts +3 -3
  118. package/dist/components/core/BwgDatePicker.d.ts.map +1 -1
  119. package/dist/components/core/BwgDownload.d.ts +2 -2
  120. package/dist/components/core/BwgDownload.d.ts.map +1 -1
  121. package/dist/components/core/BwgForm.d.ts +2 -1
  122. package/dist/components/core/BwgForm.d.ts.map +1 -1
  123. package/dist/components/core/BwgFormItem.d.ts +4 -4
  124. package/dist/components/core/BwgFormItem.d.ts.map +1 -1
  125. package/dist/components/core/BwgInput.d.ts +2 -2
  126. package/dist/components/core/BwgInput.d.ts.map +1 -1
  127. package/dist/components/core/BwgLargeUploader.d.ts +2 -2
  128. package/dist/components/core/BwgLargeUploader.d.ts.map +1 -1
  129. package/dist/components/core/BwgMaskedInput.d.ts +2 -2
  130. package/dist/components/core/BwgMaskedInput.d.ts.map +1 -1
  131. package/dist/components/core/BwgMaskedPicker.d.ts +2 -2
  132. package/dist/components/core/BwgMaskedPicker.d.ts.map +1 -1
  133. package/dist/components/core/BwgRangePicker.d.ts +3 -3
  134. package/dist/components/core/BwgRangePicker.d.ts.map +1 -1
  135. package/dist/components/core/BwgSearch.d.ts +1 -1
  136. package/dist/components/core/BwgSearch.d.ts.map +1 -1
  137. package/dist/components/core/BwgUploader.d.ts +2 -2
  138. package/dist/components/core/BwgUploader.d.ts.map +1 -1
  139. package/dist/components/core/index.cjs +1 -1
  140. package/dist/components/core/index.js +2 -2
  141. package/dist/components/guide/index.cjs +1 -1
  142. package/dist/components/guide/index.cjs.map +1 -1
  143. package/dist/components/guide/index.js +3 -3
  144. package/dist/components/guide/index.js.map +1 -1
  145. package/dist/components/layout/ErrorBound.d.ts +3 -3
  146. package/dist/components/layout/ErrorBound.d.ts.map +1 -1
  147. package/dist/components/layout/LoadingOverlay.d.ts +3 -2
  148. package/dist/components/layout/LoadingOverlay.d.ts.map +1 -1
  149. package/dist/components/layout/PrivateProtectedOverlay.d.ts +3 -2
  150. package/dist/components/layout/PrivateProtectedOverlay.d.ts.map +1 -1
  151. package/dist/components/layout/ProgressOverlay.d.ts +2 -2
  152. package/dist/components/layout/ProgressOverlay.d.ts.map +1 -1
  153. package/dist/components/layout/ViewContainer.d.ts +3 -3
  154. package/dist/components/layout/ViewContainer.d.ts.map +1 -1
  155. package/dist/components/layout/index.cjs +1 -1
  156. package/dist/components/layout/index.js +2 -2
  157. package/dist/components/popup/MenuReport.d.ts +2 -2
  158. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  159. package/dist/index.cjs +1 -1
  160. package/dist/index.js +14 -14
  161. package/dist/provider/contexts/AuthContext.d.ts +3 -2
  162. package/dist/provider/contexts/AuthContext.d.ts.map +1 -1
  163. package/dist/provider/contexts/CommonCodeContext.d.ts +2 -2
  164. package/dist/provider/contexts/CommonCodeContext.d.ts.map +1 -1
  165. package/dist/provider/contexts/ScreenProtectContext.d.ts +5 -5
  166. package/dist/provider/contexts/ScreenProtectContext.d.ts.map +1 -1
  167. package/dist/provider/contexts/SearchBoxContext.d.ts +3 -3
  168. package/dist/provider/contexts/SearchBoxContext.d.ts.map +1 -1
  169. package/dist/provider/contexts/ServiceCodeContext.d.ts +2 -2
  170. package/dist/provider/contexts/ServiceCodeContext.d.ts.map +1 -1
  171. package/dist/provider/index.cjs +1 -1
  172. package/dist/provider/index.js +4 -4
  173. package/dist/stores/index.cjs +1 -1
  174. package/dist/stores/index.d.ts.map +1 -1
  175. package/dist/stores/index.js +6 -6
  176. package/dist/stores/menuViewStore.d.ts +6 -5
  177. package/dist/stores/menuViewStore.d.ts.map +1 -1
  178. package/dist/utils/index.cjs +1 -1
  179. package/dist/utils/index.js +2 -2
  180. package/package.json +2 -3
  181. package/dist/chunks/AuthContext-CXng9fj0.cjs +0 -2
  182. package/dist/chunks/AuthContext-CXng9fj0.cjs.map +0 -1
  183. package/dist/chunks/AuthContext-Ei2P-z4d.js.map +0 -1
  184. package/dist/chunks/BwgSpace-b0hmM1Ht.cjs +0 -2
  185. package/dist/chunks/BwgSwitch-B79pseQM.js.map +0 -1
  186. package/dist/chunks/BwgSwitch-CAI-kEaM.cjs +0 -2
  187. package/dist/chunks/BwgSwitch-CAI-kEaM.cjs.map +0 -1
  188. package/dist/chunks/BwgUploader-BcVlE61B.js.map +0 -1
  189. package/dist/chunks/BwgUploader-DaNV2URT.cjs +0 -3
  190. package/dist/chunks/BwgUploader-DaNV2URT.cjs.map +0 -1
  191. package/dist/chunks/LoadingOverlay-DAZJF5wg.js +0 -19
  192. package/dist/chunks/LoadingOverlay-DAZJF5wg.js.map +0 -1
  193. package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs +0 -2
  194. package/dist/chunks/LoadingOverlay-DcmKvoZA.cjs.map +0 -1
  195. package/dist/chunks/SSOHandler-CkPcSHIm.js.map +0 -1
  196. package/dist/chunks/SSOHandler-DiW4Ft9i.cjs.map +0 -1
  197. package/dist/chunks/ScreenProtectContext-3my4PHFa.js +0 -154
  198. package/dist/chunks/ScreenProtectContext-3my4PHFa.js.map +0 -1
  199. package/dist/chunks/ScreenProtectContext-CVuXrJm6.cjs +0 -2
  200. package/dist/chunks/ScreenProtectContext-CVuXrJm6.cjs.map +0 -1
  201. package/dist/chunks/SearchBoxContext-BCvEYyFk.js.map +0 -1
  202. package/dist/chunks/SearchBoxContext-DwFDOyYG.cjs +0 -2
  203. package/dist/chunks/SearchBoxContext-DwFDOyYG.cjs.map +0 -1
  204. package/dist/chunks/ViewContainer-Bhq22_B3.cjs +0 -36
  205. package/dist/chunks/ViewContainer-Bhq22_B3.cjs.map +0 -1
  206. package/dist/chunks/ViewContainer-CjpJqoGG.js.map +0 -1
  207. package/dist/chunks/apiUtils-BZ6s0_NI.cjs +0 -3
  208. package/dist/chunks/apiUtils-BZ6s0_NI.cjs.map +0 -1
  209. package/dist/chunks/apiUtils-DxzLqPhU.js.map +0 -1
  210. package/dist/chunks/jsx-runtime-CeSfJrVB.cjs +0 -31
  211. package/dist/chunks/jsx-runtime-CeSfJrVB.cjs.map +0 -1
  212. package/dist/chunks/jsx-runtime-Dpn_P65e.js +0 -634
  213. package/dist/chunks/jsx-runtime-Dpn_P65e.js.map +0 -1
  214. package/dist/chunks/usePopup-BSqsnSz7.js.map +0 -1
  215. package/dist/chunks/usePopup-D2JEuDrO.cjs +0 -2
  216. package/dist/chunks/usePopup-D2JEuDrO.cjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";const p=require("react/jsx-runtime"),s=require("react"),h=s.createContext(null),w=()=>{const o=s.useContext(h);if(!o)throw new Error("useAuth must be used within AuthProvider");return o},k=({children:o})=>{const[c,u]=s.useState(!1),[a,n]=s.useState(!1),i=async r=>{const e=(await r.text()).trim().toLowerCase();try{const t=JSON.parse(e);if(typeof t=="object"&&t&&(t.ok===!0||t.success===!0))return!0}catch{}return!!["true","ok","1","y"].includes(e)},d=async r=>{n(!0);try{const e=await fetch("/serviceEndpoint/sso_check.jsp",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"token="+encodeURIComponent(r)}),t=e.ok&&await i(e);return u(t),t}catch{return!1}finally{n(!1)}},l=async r=>{n(!0);try{const e=await fetch("/serviceEndpoint/sso_reauth.jsp",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"pin="+encodeURIComponent(r)});return e.ok&&await i(e)?(u(!0),!0):!1}catch{return!1}finally{n(!1)}},f=()=>{u(!1)},y=s.useMemo(()=>({authed:c,busy:a,verifyWithToken:d,reauthWithPin:l,logout:f}),[c,a]);return p.jsx(h.Provider,{value:y,children:o})};exports.AuthProvider=k;exports.useAuth=w;
2
+ //# sourceMappingURL=AuthContext-BQ3gHLbr.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthContext-BQ3gHLbr.cjs","sources":["../../src/provider/contexts/AuthContext.tsx"],"sourcesContent":["import {\r\n createContext,\r\n FC,\r\n ReactNode,\r\n useContext,\r\n useMemo,\r\n useState,\r\n} from 'react';\r\n\r\ntype AuthContextValue = {\r\n authed: boolean;\r\n busy: boolean; // show global progress when true\r\n verifyWithToken: (token: string) => Promise<boolean>; // initial SSO\r\n reauthWithPin: (pin: string) => Promise<boolean>; // unlock SSO\r\n logout: () => void;\r\n};\r\n\r\nconst AuthContext = createContext<AuthContextValue | null>(null);\r\nexport const useAuth = () => {\r\n const ctx = useContext(AuthContext);\r\n if (!ctx) throw new Error('useAuth must be used within AuthProvider');\r\n return ctx;\r\n};\r\n\r\nexport const AuthProvider: FC<{ children: ReactNode }> = ({ children }) => {\r\n const [authed, setAuthed] = useState(false);\r\n const [busy, setBusy] = useState(false);\r\n\r\n // Heuristic text parser for JSP boolean responses\r\n const parseOk = async (res: Response) => {\r\n const text = (await res.text()).trim().toLowerCase();\r\n try {\r\n const j = JSON.parse(text);\r\n if (typeof j === 'object' && j && (j.ok === true || j.success === true))\r\n return true;\r\n } catch {}\r\n if (['true', 'ok', '1', 'y'].includes(text)) return true;\r\n return false;\r\n };\r\n\r\n const verifyWithToken = async (token: string) => {\r\n setBusy(true);\r\n try {\r\n // TODO: replace with your real endpoint\r\n const res = await fetch('/serviceEndpoint/sso_check.jsp', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\r\n body: 'token=' + encodeURIComponent(token),\r\n });\r\n const ok = res.ok && (await parseOk(res));\r\n setAuthed(ok);\r\n return ok;\r\n } catch (e) {\r\n return false;\r\n } finally {\r\n setBusy(false);\r\n }\r\n };\r\n\r\n const reauthWithPin = async (pin: string) => {\r\n setBusy(true);\r\n try {\r\n // TODO: replace with your real endpoint\r\n const res = await fetch('/serviceEndpoint/sso_reauth.jsp', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\r\n body: 'pin=' + encodeURIComponent(pin),\r\n });\r\n const ok = res.ok && (await parseOk(res));\r\n // Keep authed true only if reauth succeeds\r\n if (!ok) return false;\r\n setAuthed(true);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n } finally {\r\n setBusy(false);\r\n }\r\n };\r\n\r\n const logout = () => {\r\n setAuthed(false);\r\n };\r\n\r\n const value = useMemo(\r\n () => ({ authed, busy, verifyWithToken, reauthWithPin, logout }),\r\n [authed, busy]\r\n );\r\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\r\n};\r\n"],"names":["AuthContext","createContext","useAuth","ctx","useContext","AuthProvider","children","authed","setAuthed","useState","busy","setBusy","parseOk","res","text","j","verifyWithToken","token","ok","reauthWithPin","pin","logout","value","useMemo","jsx"],"mappings":"qEAiBMA,EAAcC,EAAAA,cAAuC,IAAI,EAClDC,EAAU,IAAM,CAC3B,MAAMC,EAAMC,EAAAA,WAAWJ,CAAW,EAClC,GAAI,CAACG,EAAK,MAAM,IAAI,MAAM,0CAA0C,EACpE,OAAOA,CACT,EAEaE,EAA4C,CAAC,CAAE,SAAAC,KAAe,CACzE,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpC,CAACC,EAAMC,CAAO,EAAIF,EAAAA,SAAS,EAAK,EAGhCG,EAAU,MAAOC,GAAkB,CACvC,MAAMC,GAAQ,MAAMD,EAAI,QAAQ,KAAA,EAAO,YAAA,EACvC,GAAI,CACF,MAAME,EAAI,KAAK,MAAMD,CAAI,EACzB,GAAI,OAAOC,GAAM,UAAYA,IAAMA,EAAE,KAAO,IAAQA,EAAE,UAAY,IAChE,MAAO,EACX,MAAQ,CAAC,CACT,MAAI,GAAC,OAAQ,KAAM,IAAK,GAAG,EAAE,SAASD,CAAI,CAE5C,EAEME,EAAkB,MAAOC,GAAkB,CAC/CN,EAAQ,EAAI,EACZ,GAAI,CAEF,MAAME,EAAM,MAAM,MAAM,iCAAkC,CACxD,OAAQ,OACR,QAAS,CAAE,eAAgB,mCAAA,EAC3B,KAAM,SAAW,mBAAmBI,CAAK,CAAA,CAC1C,EACKC,EAAKL,EAAI,IAAO,MAAMD,EAAQC,CAAG,EACvC,OAAAL,EAAUU,CAAE,EACLA,CACT,MAAY,CACV,MAAO,EACT,QAAA,CACEP,EAAQ,EAAK,CACf,CACF,EAEMQ,EAAgB,MAAOC,GAAgB,CAC3CT,EAAQ,EAAI,EACZ,GAAI,CAEF,MAAME,EAAM,MAAM,MAAM,kCAAmC,CACzD,OAAQ,OACR,QAAS,CAAE,eAAgB,mCAAA,EAC3B,KAAM,OAAS,mBAAmBO,CAAG,CAAA,CACtC,EAGD,OAFWP,EAAI,IAAO,MAAMD,EAAQC,CAAG,GAGvCL,EAAU,EAAI,EACP,IAFS,EAGlB,MAAY,CACV,MAAO,EACT,QAAA,CACEG,EAAQ,EAAK,CACf,CACF,EAEMU,EAAS,IAAM,CACnBb,EAAU,EAAK,CACjB,EAEMc,EAAQC,EAAAA,QACZ,KAAO,CAAE,OAAAhB,EAAQ,KAAAG,EAAM,gBAAAM,EAAiB,cAAAG,EAAe,OAAAE,CAAA,GACvD,CAACd,EAAQG,CAAI,CAAA,EAEf,OAAOc,EAAAA,IAACxB,EAAY,SAAZ,CAAqB,MAAAsB,EAAe,SAAAhB,CAAA,CAAS,CACvD"}
@@ -1,15 +1,16 @@
1
- import { j as y } from "./jsx-runtime-Dpn_P65e.js";
2
- import { useContext as w, createContext as m, useState as i, useMemo as x } from "react";
3
- const f = m(null), j = () => {
1
+ import { jsx as y } from "react/jsx-runtime";
2
+ import { useContext as w, createContext as m, useState as i, useMemo as k } from "react";
3
+ const f = m(null), v = () => {
4
4
  const r = w(f);
5
5
  if (!r) throw new Error("useAuth must be used within AuthProvider");
6
6
  return r;
7
- }, v = ({ children: r }) => {
7
+ }, A = ({ children: r }) => {
8
8
  const [u, n] = i(!1), [a, s] = i(!1), c = async (o) => {
9
9
  const t = (await o.text()).trim().toLowerCase();
10
10
  try {
11
11
  const e = JSON.parse(t);
12
- if (typeof e == "object" && e && (e.ok === !0 || e.success === !0)) return !0;
12
+ if (typeof e == "object" && e && (e.ok === !0 || e.success === !0))
13
+ return !0;
13
14
  } catch {
14
15
  }
15
16
  return !!["true", "ok", "1", "y"].includes(t);
@@ -43,11 +44,14 @@ const f = m(null), j = () => {
43
44
  }
44
45
  }, d = () => {
45
46
  n(!1);
46
- }, p = x(() => ({ authed: u, busy: a, verifyWithToken: h, reauthWithPin: l, logout: d }), [u, a]);
47
- return /* @__PURE__ */ y.jsx(f.Provider, { value: p, children: r });
47
+ }, p = k(
48
+ () => ({ authed: u, busy: a, verifyWithToken: h, reauthWithPin: l, logout: d }),
49
+ [u, a]
50
+ );
51
+ return /* @__PURE__ */ y(f.Provider, { value: p, children: r });
48
52
  };
49
53
  export {
50
- v as A,
51
- j as u
54
+ A,
55
+ v as u
52
56
  };
53
- //# sourceMappingURL=AuthContext-Ei2P-z4d.js.map
57
+ //# sourceMappingURL=AuthContext-CVizgYxY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthContext-CVizgYxY.js","sources":["../../src/provider/contexts/AuthContext.tsx"],"sourcesContent":["import {\r\n createContext,\r\n FC,\r\n ReactNode,\r\n useContext,\r\n useMemo,\r\n useState,\r\n} from 'react';\r\n\r\ntype AuthContextValue = {\r\n authed: boolean;\r\n busy: boolean; // show global progress when true\r\n verifyWithToken: (token: string) => Promise<boolean>; // initial SSO\r\n reauthWithPin: (pin: string) => Promise<boolean>; // unlock SSO\r\n logout: () => void;\r\n};\r\n\r\nconst AuthContext = createContext<AuthContextValue | null>(null);\r\nexport const useAuth = () => {\r\n const ctx = useContext(AuthContext);\r\n if (!ctx) throw new Error('useAuth must be used within AuthProvider');\r\n return ctx;\r\n};\r\n\r\nexport const AuthProvider: FC<{ children: ReactNode }> = ({ children }) => {\r\n const [authed, setAuthed] = useState(false);\r\n const [busy, setBusy] = useState(false);\r\n\r\n // Heuristic text parser for JSP boolean responses\r\n const parseOk = async (res: Response) => {\r\n const text = (await res.text()).trim().toLowerCase();\r\n try {\r\n const j = JSON.parse(text);\r\n if (typeof j === 'object' && j && (j.ok === true || j.success === true))\r\n return true;\r\n } catch {}\r\n if (['true', 'ok', '1', 'y'].includes(text)) return true;\r\n return false;\r\n };\r\n\r\n const verifyWithToken = async (token: string) => {\r\n setBusy(true);\r\n try {\r\n // TODO: replace with your real endpoint\r\n const res = await fetch('/serviceEndpoint/sso_check.jsp', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\r\n body: 'token=' + encodeURIComponent(token),\r\n });\r\n const ok = res.ok && (await parseOk(res));\r\n setAuthed(ok);\r\n return ok;\r\n } catch (e) {\r\n return false;\r\n } finally {\r\n setBusy(false);\r\n }\r\n };\r\n\r\n const reauthWithPin = async (pin: string) => {\r\n setBusy(true);\r\n try {\r\n // TODO: replace with your real endpoint\r\n const res = await fetch('/serviceEndpoint/sso_reauth.jsp', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' },\r\n body: 'pin=' + encodeURIComponent(pin),\r\n });\r\n const ok = res.ok && (await parseOk(res));\r\n // Keep authed true only if reauth succeeds\r\n if (!ok) return false;\r\n setAuthed(true);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n } finally {\r\n setBusy(false);\r\n }\r\n };\r\n\r\n const logout = () => {\r\n setAuthed(false);\r\n };\r\n\r\n const value = useMemo(\r\n () => ({ authed, busy, verifyWithToken, reauthWithPin, logout }),\r\n [authed, busy]\r\n );\r\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\r\n};\r\n"],"names":["AuthContext","createContext","useAuth","ctx","useContext","AuthProvider","children","authed","setAuthed","useState","busy","setBusy","parseOk","res","text","j","verifyWithToken","token","ok","reauthWithPin","pin","logout","value","useMemo","jsx"],"mappings":";;AAiBA,MAAMA,IAAcC,EAAuC,IAAI,GAClDC,IAAU,MAAM;AAC3B,QAAMC,IAAMC,EAAWJ,CAAW;AAClC,MAAI,CAACG,EAAK,OAAM,IAAI,MAAM,0CAA0C;AACpE,SAAOA;AACT,GAEaE,IAA4C,CAAC,EAAE,UAAAC,QAAe;AACzE,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAMC,CAAO,IAAIF,EAAS,EAAK,GAGhCG,IAAU,OAAOC,MAAkB;AACvC,UAAMC,KAAQ,MAAMD,EAAI,QAAQ,KAAA,EAAO,YAAA;AACvC,QAAI;AACF,YAAME,IAAI,KAAK,MAAMD,CAAI;AACzB,UAAI,OAAOC,KAAM,YAAYA,MAAMA,EAAE,OAAO,MAAQA,EAAE,YAAY;AAChE,eAAO;AAAA,IACX,QAAQ;AAAA,IAAC;AACT,WAAI,GAAC,QAAQ,MAAM,KAAK,GAAG,EAAE,SAASD,CAAI;AAAA,EAE5C,GAEME,IAAkB,OAAOC,MAAkB;AAC/C,IAAAN,EAAQ,EAAI;AACZ,QAAI;AAEF,YAAME,IAAM,MAAM,MAAM,kCAAkC;AAAA,QACxD,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,oCAAA;AAAA,QAC3B,MAAM,WAAW,mBAAmBI,CAAK;AAAA,MAAA,CAC1C,GACKC,IAAKL,EAAI,MAAO,MAAMD,EAAQC,CAAG;AACvC,aAAAL,EAAUU,CAAE,GACLA;AAAA,IACT,QAAY;AACV,aAAO;AAAA,IACT,UAAA;AACE,MAAAP,EAAQ,EAAK;AAAA,IACf;AAAA,EACF,GAEMQ,IAAgB,OAAOC,MAAgB;AAC3C,IAAAT,EAAQ,EAAI;AACZ,QAAI;AAEF,YAAME,IAAM,MAAM,MAAM,mCAAmC;AAAA,QACzD,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,oCAAA;AAAA,QAC3B,MAAM,SAAS,mBAAmBO,CAAG;AAAA,MAAA,CACtC;AAGD,aAFWP,EAAI,MAAO,MAAMD,EAAQC,CAAG,KAGvCL,EAAU,EAAI,GACP,MAFS;AAAA,IAGlB,QAAY;AACV,aAAO;AAAA,IACT,UAAA;AACE,MAAAG,EAAQ,EAAK;AAAA,IACf;AAAA,EACF,GAEMU,IAAS,MAAM;AACnB,IAAAb,EAAU,EAAK;AAAA,EACjB,GAEMc,IAAQC;AAAA,IACZ,OAAO,EAAE,QAAAhB,GAAQ,MAAAG,GAAM,iBAAAM,GAAiB,eAAAG,GAAe,QAAAE,EAAA;AAAA,IACvD,CAACd,GAAQG,CAAI;AAAA,EAAA;AAEf,SAAO,gBAAAc,EAACxB,EAAY,UAAZ,EAAqB,OAAAsB,GAAe,UAAAhB,EAAA,CAAS;AACvD;"}
@@ -1,12 +1,12 @@
1
- import { j as d } from "./jsx-runtime-Dpn_P65e.js";
2
- const i = ({ children: r }) => /* @__PURE__ */ d.jsx(
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ const i = ({ children: r }) => /* @__PURE__ */ d(
3
3
  "div",
4
4
  {
5
5
  style: {
6
6
  height: "100%",
7
7
  padding: "20px 30px 26px"
8
8
  },
9
- children: /* @__PURE__ */ d.jsx(
9
+ children: /* @__PURE__ */ d(
10
10
  "div",
11
11
  {
12
12
  style: {
@@ -24,4 +24,4 @@ const i = ({ children: r }) => /* @__PURE__ */ d.jsx(
24
24
  export {
25
25
  i as B
26
26
  };
27
- //# sourceMappingURL=BwgSpace-CnLM4qcg.js.map
27
+ //# sourceMappingURL=BwgSpace-BPJARdOc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BwgSpace-CnLM4qcg.js","sources":["../../src/components/common/BwgSpace.tsx"],"sourcesContent":["import { ReactNode } from 'react';\r\n\r\n/**\r\n * BwgSpace : 공간컴포넌트\r\n * 추후 style => className 변경 예정\r\n * @param children 하위 컴포넌트\r\n * @returns\r\n */\r\nconst BwgSpace = ({ children }: { children: ReactNode }) => {\r\n return (\r\n <div\r\n style={{\r\n height: '100%',\r\n padding: '20px 30px 26px',\r\n }}\r\n >\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n border: '1px solid #ddd',\r\n borderRadius: '15px',\r\n background: '#fff',\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BwgSpace;\r\n"],"names":["BwgSpace","children","jsx"],"mappings":";AAQA,MAAMA,IAAW,CAAC,EAAE,UAAAC,QAEhBC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,IAGX,UAAAA,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,YAAY;AAAA,QAAA;AAAA,QAGb,UAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAAA;"}
1
+ {"version":3,"file":"BwgSpace-BPJARdOc.js","sources":["../../src/components/common/BwgSpace.tsx"],"sourcesContent":["import { ReactNode } from 'react';\r\n\r\n/**\r\n * BwgSpace : 공간컴포넌트\r\n * 추후 style => className 변경 예정\r\n * @param children 하위 컴포넌트\r\n * @returns\r\n */\r\nconst BwgSpace = ({ children }: { children: ReactNode }) => {\r\n return (\r\n <div\r\n style={{\r\n height: '100%',\r\n padding: '20px 30px 26px',\r\n }}\r\n >\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n border: '1px solid #ddd',\r\n borderRadius: '15px',\r\n background: '#fff',\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BwgSpace;\r\n"],"names":["BwgSpace","children","jsx"],"mappings":";AAQA,MAAMA,IAAW,CAAC,EAAE,UAAAC,QAEhB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,IAGX,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,YAAY;AAAA,QAAA;AAAA,QAGb,UAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const d=require("react/jsx-runtime"),i=({children:e})=>d.jsx("div",{style:{height:"100%",padding:"20px 30px 26px"},children:d.jsx("div",{style:{width:"100%",height:"100%",border:"1px solid #ddd",borderRadius:"15px",background:"#fff"},children:e})});exports.BwgSpace=i;
2
+ //# sourceMappingURL=BwgSpace-Cw27d-XU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BwgSpace-b0hmM1Ht.cjs","sources":["../../src/components/common/BwgSpace.tsx"],"sourcesContent":["import { ReactNode } from 'react';\r\n\r\n/**\r\n * BwgSpace : 공간컴포넌트\r\n * 추후 style => className 변경 예정\r\n * @param children 하위 컴포넌트\r\n * @returns\r\n */\r\nconst BwgSpace = ({ children }: { children: ReactNode }) => {\r\n return (\r\n <div\r\n style={{\r\n height: '100%',\r\n padding: '20px 30px 26px',\r\n }}\r\n >\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n border: '1px solid #ddd',\r\n borderRadius: '15px',\r\n background: '#fff',\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BwgSpace;\r\n"],"names":["BwgSpace","children","jsx"],"mappings":"2DAQMA,EAAW,CAAC,CAAE,SAAAC,KAEhBC,EAAAA,kBAAAA,IAAC,MAAA,CACC,MAAO,CACL,OAAQ,OACR,QAAS,gBAAA,EAGX,SAAAA,EAAAA,kBAAAA,IAAC,MAAA,CACC,MAAO,CACL,MAAO,OACP,OAAQ,OACR,OAAQ,iBACR,aAAc,OACd,WAAY,MAAA,EAGb,SAAAD,CAAA,CAAA,CACH,CAAA"}
1
+ {"version":3,"file":"BwgSpace-Cw27d-XU.cjs","sources":["../../src/components/common/BwgSpace.tsx"],"sourcesContent":["import { ReactNode } from 'react';\r\n\r\n/**\r\n * BwgSpace : 공간컴포넌트\r\n * 추후 style => className 변경 예정\r\n * @param children 하위 컴포넌트\r\n * @returns\r\n */\r\nconst BwgSpace = ({ children }: { children: ReactNode }) => {\r\n return (\r\n <div\r\n style={{\r\n height: '100%',\r\n padding: '20px 30px 26px',\r\n }}\r\n >\r\n <div\r\n style={{\r\n width: '100%',\r\n height: '100%',\r\n border: '1px solid #ddd',\r\n borderRadius: '15px',\r\n background: '#fff',\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BwgSpace;\r\n"],"names":["BwgSpace","children","jsx"],"mappings":"kDAQMA,EAAW,CAAC,CAAE,SAAAC,KAEhBC,EAAAA,IAAC,MAAA,CACC,MAAO,CACL,OAAQ,OACR,QAAS,gBAAA,EAGX,SAAAA,EAAAA,IAAC,MAAA,CACC,MAAO,CACL,MAAO,OACP,OAAQ,OACR,OAAQ,iBACR,aAAc,OACd,WAAY,MAAA,EAGb,SAAAD,CAAA,CAAA,CACH,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";const m=require("react/jsx-runtime"),s=require("antd"),c=require("dayjs"),f=require("react"),u=f.memo(({children:a,label:e,name:o,rules:l,initialValue:t,style:i,...Y})=>{const r={fontWeight:"bold"},d=Array.isArray(l)&&l.some(g=>g.required===!0),n=()=>typeof e=="string"?m.jsxs("span",{style:r,children:[e,d&&m.jsx("span",{style:{color:"#ff4d4f",marginLeft:"4px"},children:"*"})]}):m.jsx("span",{style:r,children:e});return m.jsx(s.Form.Item,{className:"bwg-form-item",label:e?n():void 0,labelAlign:"left",name:o,rules:l,colon:!1,initialValue:t,style:i,...Y,children:a})}),w=({itemProps:a,inputProps:e={format:"YN"}})=>{const o=s.Form.useFormInstance(),l=t=>{e.format==="boolean"?o.setFieldValue(a?.name,t.target.checked):o.setFieldValue(a?.name,t.target.checked?"Y":"N"),e.onChange&&e.onChange(t)};return m.jsx(u,{...a,getValueProps:t=>({checked:e.format==="boolean"?!!t:t==="Y"}),normalize:t=>typeof t=="boolean"?e.format==="boolean"?t:t?"Y":"N":e.format==="boolean"?!!t:t?"Y":"N",children:m.jsx(s.Checkbox,{...e,onChange:l,children:e?.title})})},h={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},M=({itemProps:a,inputProps:e,type:o="date",returnType:l="string"})=>{const{displayFormat:t,outputFormat:i}=f.useMemo(()=>h[o],[o]),Y=f.useMemo(()=>Object.values(h).map(r=>r.outputFormat).sort((r,d)=>{if(r.length===d.length){if(r===i)return-1;if(d===i)return 1}return d.length-r.length}),[i]);return m.jsx(u,{...a,getValueProps:r=>({value:r?c.isDayjs(r)?r:c(r,Y):null}),normalize:r=>r?l==="dayjs"?r:r.format(i):null,children:m.jsx(s.DatePicker,{...e,picker:o==="datetime"?"date":o,showTime:e?.showTime??(o==="datetime"||o==="time"),format:t})})},x=f.forwardRef(({children:a,labelCol:e,style:o,className:l,...t},i)=>m.jsx(s.ConfigProvider,{form:{validateMessages:{required:"'${label}을(를) 입력해주세요.'"}},children:m.jsx(s.Form,{ref:i,...t,requiredMark:!1,labelCol:e||{flex:"100px"},style:{padding:"10px",...o},className:`bwg-form ${l??""}`,children:a})}));x.displayName="BwgForm";const j=({itemProps:a,inputProps:e})=>m.jsx(u,{...a,children:m.jsx(s.Input,{...e})}),{RangePicker:y}=s.DatePicker,F={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},b=({itemProps:a,inputProps:e,type:o="date",minDate:l,maxDate:t,returnType:i="string"})=>{const{displayFormat:Y,outputFormat:r}=f.useMemo(()=>F[o],[o]),d=f.useMemo(()=>Object.values(F).map(n=>n.outputFormat).sort((n,g)=>{if(n.length===g.length){if(n===r)return-1;if(g===r)return 1}return g.length-n.length}),[r]);return m.jsx(u,{...a,getValueProps:n=>({value:n&&n.length>0?[n[0]?c.isDayjs(n[0])?n[0]:c(n[0],d):null,n[1]?c.isDayjs(n[1])?n[1]:c(n[1],d):null]:null}),normalize:n=>n?i==="dayjs"?[n[0]??void 0,n[1]??void 0]:[n[0]?n[0].format(r):void 0,n[1]?n[1].format(r):void 0]:[void 0,void 0],children:m.jsx(y,{...e,order:!0,minDate:l?c(l,d):void 0,maxDate:t?c(t,d):void 0,picker:o==="datetime"?"date":o,showTime:e?.showTime??(o==="datetime"||o==="time"),format:Y})})},C=({itemProps:a,selectProps:e={options:[],allowClear:!0}})=>{const o=s.Form.useFormInstance(),l=!!o,t=f.useMemo(()=>e?.addField==="ALL"?[{label:"전체",value:""},...e?.options||[]]:e?.addField==="NULL"?[{label:"",value:""},...e?.options||[]]:e?.options||[],[e.options,e.addField]),i=d=>{e.onChange?.(d)},Y={...e,allowClear:e.allowClear??!0,options:t,onChange:i,variant:e.variant},r=m.jsx(s.Select,{...Y,disabled:e.disabled});return e.copyable&&!l&&console.warn("BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."),e.copyable?m.jsx(u,{...a,name:void 0,children:m.jsxs(s.Space.Compact,{block:!0,children:[m.jsx(s.Form.Item,{name:a?.name,rules:a?.rules,style:{width:"100%",marginBottom:0},validateStatus:"",help:"",children:r}),m.jsx(s.Typography.Paragraph,{copyable:{text:l&&o?.getFieldValue(a?.name)?.toString()||"",tooltips:["코드복사","코드복사됨"]},style:{margin:0,backgroundColor:"#f5f5f5",borderRadius:"4px",border:"1px solid #d9d9d9",fontSize:"12px",color:"#666",display:"flex",alignItems:"center",height:"30px",padding:"0 8px"}})]})}):m.jsx(u,{...a,children:r})},D=({itemProps:a,inputProps:e={format:"YN"}})=>{const o=s.Form.useFormInstance(),l=(t,i)=>{e.format==="boolean"?o.setFieldValue(a?.name,t):o.setFieldValue(a?.name,t?"Y":"N"),e.onChange&&e.onChange(t,i)};return m.jsx(u,{...a,getValueProps:t=>({checked:e.format==="boolean"?!!t:t==="Y"}),normalize:t=>typeof t=="boolean"?e.format==="boolean"?t:t?"Y":"N":e.format==="boolean"?!!t:t?"Y":"N",children:m.jsx(s.Switch,{...e,onChange:(t,i)=>l(t,i)})})};exports.BwgCheck=w;exports.BwgDatePicker=M;exports.BwgForm=x;exports.BwgFormItem=u;exports.BwgInput=j;exports.BwgRangePicker=b;exports.BwgSelect=C;exports.BwgSwitch=D;
2
+ //# sourceMappingURL=BwgSwitch-BLtVdW44.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BwgSwitch-BLtVdW44.cjs","sources":["../../src/components/core/BwgFormItem.tsx","../../src/components/core/BwgCheck.tsx","../../src/components/core/BwgDatePicker.tsx","../../src/components/core/BwgForm.tsx","../../src/components/core/BwgInput.tsx","../../src/components/core/BwgRangePicker.tsx","../../src/components/core/BwgSelect.tsx","../../src/components/core/BwgSwitch.tsx"],"sourcesContent":["import { Form, FormItemProps } from 'antd';\r\nimport { memo, ReactNode } from 'react';\r\n\r\nexport interface BwgFormItemProps extends FormItemProps {\r\n /** 폼 아이템 이름 */\r\n name?: string | string[];\r\n /** 폼 아이템 라벨 */\r\n label?: string | ReactNode;\r\n /** 폼 아이템 규칙 */\r\n rules?: any;\r\n /** 폼 아이템 초기값 */\r\n initialValue?: any;\r\n /** 폼 아이템 자식 컴포넌트 */\r\n children?: ReactNode;\r\n}\r\n\r\n/** 입력 폼 아이템 컴포넌트 */\r\nconst BwgFormItem = memo(\r\n ({\r\n children,\r\n label,\r\n name,\r\n rules,\r\n initialValue,\r\n style,\r\n ...rest\r\n }: BwgFormItemProps) => {\r\n const labelStyle = {\r\n fontWeight: 'bold',\r\n };\r\n\r\n // rules에서 required 필드 확인\r\n const isRequired =\r\n Array.isArray(rules) && rules.some((rule: any) => rule.required === true);\r\n\r\n // 라벨 렌더링 함수\r\n const renderLabel = () => {\r\n if (typeof label === 'string') {\r\n return (\r\n <span style={labelStyle}>\r\n {label}\r\n {isRequired && (\r\n <span style={{ color: '#ff4d4f', marginLeft: '4px' }}>*</span>\r\n )}\r\n </span>\r\n );\r\n }\r\n return <span style={labelStyle}>{label}</span>;\r\n };\r\n\r\n return (\r\n <Form.Item\r\n className='bwg-form-item'\r\n label={label ? renderLabel() : undefined}\r\n labelAlign='left'\r\n name={name}\r\n rules={rules}\r\n colon={false}\r\n initialValue={initialValue}\r\n style={style}\r\n {...rest}\r\n >\r\n {children}\r\n </Form.Item>\r\n );\r\n }\r\n);\r\n\r\nexport default BwgFormItem;\r\n","import { Checkbox, CheckboxProps, Form } from 'antd';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport type BwgCheckBoxProps = CheckboxProps & {\r\n format?: 'boolean' | 'YN';\r\n};\r\n\r\nexport interface BwgCheckProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: BwgCheckBoxProps;\r\n}\r\n\r\n/**\r\n * 체크박스 컴포넌트\r\n * @param itemProps - BwgFormItemProps\r\n * @param inputProps - BwgCheckBoxProps\r\n * @returns \r\n * @example\r\n * <BwgCheck\r\n * itemProps={{ name: 'check' }}\r\n * inputProps={{ format: 'YN' }}\r\n * />\r\n */\r\nconst BwgCheck = ({\r\n itemProps,\r\n inputProps = {\r\n format: 'YN',\r\n },\r\n}: BwgCheckProps) => {\r\n const form = Form.useFormInstance();\r\n\r\n const handleChange = (e: any) => {\r\n //console.log('handleChange :: ', e.target.checked);\r\n if (inputProps.format === 'boolean') {\r\n form.setFieldValue(itemProps?.name, e.target.checked);\r\n } else {\r\n form.setFieldValue(itemProps?.name, e.target.checked ? 'Y' : 'N');\r\n }\r\n\r\n inputProps.onChange && inputProps.onChange(e);\r\n };\r\n\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => {\r\n //console.log('getValueProps :: ', value);\r\n const checked =\r\n inputProps.format === 'boolean'\r\n ? Boolean(value)\r\n : value === 'Y'\r\n ? true\r\n : false;\r\n return { checked }; // ✅ 수정: value 대신 checked 반환\r\n }}\r\n normalize={value => {\r\n //console.log('normalize :: ', value);\r\n // 체크박스의 경우 e.target.checked 값이 전달되므로 이를 처리\r\n if (typeof value === 'boolean') {\r\n if (inputProps.format === 'boolean') {\r\n return value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }\r\n // 문자열이나 다른 값의 경우 기존 로직 유지\r\n if (inputProps.format === 'boolean') {\r\n return !!value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }}\r\n >\r\n <Checkbox {...inputProps} onChange={handleChange}>\r\n {inputProps?.title}\r\n </Checkbox>\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgCheck;\r\n","import { DatePicker } from 'antd';\r\nimport { DatePickerProps } from 'antd/es/date-picker';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport { useMemo } from 'react';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport interface BwgDatePickerProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: DatePickerProps;\r\n type?: 'year' | 'month' | 'date' | 'time' | 'datetime';\r\n returnType?: 'dayjs' | 'string';\r\n}\r\n\r\nconst formatMap = {\r\n year: { displayFormat: 'YYYY', outputFormat: 'YYYY' },\r\n month: { displayFormat: 'YYYY-MM', outputFormat: 'YYYYMM' },\r\n date: { displayFormat: 'YYYY-MM-DD', outputFormat: 'YYYYMMDD' },\r\n time: { displayFormat: 'HH:mm', outputFormat: 'HHmm' },\r\n datetime: {\r\n displayFormat: 'YYYY-MM-DD HH:mm',\r\n outputFormat: 'YYYYMMDDHHmm',\r\n },\r\n};\r\n\r\nconst BwgDatePicker = ({\r\n itemProps,\r\n inputProps,\r\n type = 'date',\r\n returnType = 'string',\r\n}: BwgDatePickerProps) => {\r\n // type이 변경될 때 format이 업데이트되도록 useMemo를 사용합니다.\r\n const { displayFormat, outputFormat } = useMemo(\r\n () => formatMap[type],\r\n [type]\r\n );\r\n\r\n // 현재 type의 포맷을 우선순위로 두어 파싱 순서 결정\r\n const allOutputFormats = useMemo(\r\n () =>\r\n Object.values(formatMap)\r\n .map(f => f.outputFormat)\r\n .sort((a, b) => {\r\n if (a.length === b.length) {\r\n if (a === outputFormat) return -1; // 현재 포맷이면 우선순위를 높인다\r\n if (b === outputFormat) return 1;\r\n }\r\n return b.length - a.length;\r\n }),\r\n [outputFormat] // type(outputFormat)이 바뀔 때마다 재정렬\r\n );\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => ({\r\n // 폼에 저장된 값(문자열 또는 Dayjs)을 DatePicker가 요구하는 Dayjs로 변환\r\n value: value\r\n ? dayjs.isDayjs(value)\r\n ? (value as Dayjs)\r\n : dayjs(value as any, allOutputFormats)\r\n : null,\r\n })}\r\n normalize={value => {\r\n // DatePicker에서 넘어온 Dayjs를 returnType에 따라 반환\r\n if (!value) return null;\r\n if (returnType === 'dayjs') return value as Dayjs;\r\n return value.format(outputFormat);\r\n }}\r\n >\r\n <DatePicker\r\n {...inputProps}\r\n // antd DatePicker는 type 대신 picker와 showTime 속성을 사용합니다.\r\n picker={type === 'datetime' ? 'date' : type}\r\n showTime={\r\n inputProps?.showTime ?? (type === 'datetime' || type === 'time')\r\n }\r\n // useMask 속성 관련 로직이 불분명하고, displayFormat을 직접 사용하는 것이 더 확실합니다.\r\n format={displayFormat}\r\n // onChange 이벤트는 BwgFormItem의 normalize로 처리하므로 중복되는 handleChange를 제거합니다.\r\n ></DatePicker>\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgDatePicker;\r\n","import { ConfigProvider, Form, FormProps } from 'antd';\r\nimport { forwardRef, ReactNode } from 'react';\r\n\r\nexport interface BwgFormProps extends FormProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst BwgForm = forwardRef<any, BwgFormProps>(\r\n ({ children, labelCol, style, className, ...props }, ref) => {\r\n return (\r\n <ConfigProvider\r\n form={{\r\n //기존 rule.message의 default message인 $name을를 입력해주세요를 변경\r\n validateMessages: { required: \"'${label}을(를) 입력해주세요.'\" },\r\n }}\r\n >\r\n <Form\r\n ref={ref}\r\n {...props}\r\n requiredMark={false}\r\n labelCol={labelCol || { flex: '100px' }}\r\n style={{ padding: '10px', ...style }}\r\n className={`bwg-form ${className ?? ''}`}\r\n >\r\n {children}\r\n </Form>\r\n </ConfigProvider>\r\n );\r\n }\r\n);\r\n\r\nBwgForm.displayName = 'BwgForm';\r\n\r\nexport default BwgForm;\r\n","import { FC } from 'react';\r\nimport { Input, InputProps } from 'antd';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport interface BwgInputProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: InputProps;\r\n}\r\n\r\nconst BwgInput: FC<BwgInputProps> = ({ itemProps, inputProps }) => {\r\n return (\r\n <BwgFormItem {...itemProps}>\r\n <Input {...inputProps} />\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgInput;\r\n","import { DatePicker } from 'antd';\r\nimport { RangePickerProps } from 'antd/es/date-picker';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport { useMemo } from 'react';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\nexport interface BwgRangePickerProps {\r\n inputProps?: RangePickerProps;\r\n itemProps?: BwgFormItemProps;\r\n type?: 'year' | 'month' | 'date' | 'time' | 'datetime';\r\n minDate?: string;\r\n maxDate?: string;\r\n returnType?: 'dayjs' | 'string';\r\n}\r\n\r\nconst formatMap = {\r\n year: { displayFormat: 'YYYY', outputFormat: 'YYYY' },\r\n month: { displayFormat: 'YYYY-MM', outputFormat: 'YYYYMM' },\r\n date: { displayFormat: 'YYYY-MM-DD', outputFormat: 'YYYYMMDD' },\r\n time: { displayFormat: 'HH:mm', outputFormat: 'HHmm' },\r\n datetime: {\r\n displayFormat: 'YYYY-MM-DD HH:mm',\r\n outputFormat: 'YYYYMMDDHHmm',\r\n },\r\n};\r\n\r\nconst BwgRangePicker = ({\r\n itemProps,\r\n inputProps,\r\n type = 'date',\r\n minDate,\r\n maxDate,\r\n returnType = 'string',\r\n}: BwgRangePickerProps) => {\r\n // type이 변경될 때 format이 업데이트되도록 useMemo를 사용합니다.\r\n const { displayFormat, outputFormat } = useMemo(\r\n () => formatMap[type],\r\n [type]\r\n );\r\n\r\n // 현재 type의 포맷을 우선순위로 두어 파싱 순서 결정\r\n const allOutputFormats = useMemo(\r\n () =>\r\n Object.values(formatMap)\r\n .map(f => f.outputFormat)\r\n .sort((a, b) => {\r\n if (a.length === b.length) {\r\n if (a === outputFormat) return -1; // 현재 포맷이면 우선순위를 높인다\r\n if (b === outputFormat) return 1;\r\n }\r\n return b.length - a.length;\r\n }),\r\n [outputFormat] // type(outputFormat)이 바뀔 때마다 재정렬\r\n );\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => ({\r\n // 폼에 저장된 값(문자열 또는 Dayjs)을 RangePicker가 요구하는 Dayjs 배열로 변환\r\n value:\r\n value && value.length > 0\r\n ? [\r\n value[0]\r\n ? dayjs.isDayjs(value[0])\r\n ? (value[0] as Dayjs)\r\n : dayjs(value[0] as any, allOutputFormats)\r\n : null,\r\n value[1]\r\n ? dayjs.isDayjs(value[1])\r\n ? (value[1] as Dayjs)\r\n : dayjs(value[1] as any, allOutputFormats)\r\n : null,\r\n ]\r\n : null,\r\n })}\r\n normalize={(value: [Dayjs, Dayjs] | null) => {\r\n // RangePicker에서 넘어온 dayjs 객체 배열을 현재 type에 맞는 outputFormat으로 변환합니다.\r\n if (!value) {\r\n return [undefined, undefined];\r\n }\r\n if (returnType === 'dayjs') {\r\n return [value[0] ?? undefined, value[1] ?? undefined];\r\n }\r\n return [\r\n value[0] ? value[0].format(outputFormat) : undefined,\r\n value[1] ? value[1].format(outputFormat) : undefined,\r\n ];\r\n }}\r\n >\r\n <RangePicker\r\n {...inputProps}\r\n order={true}\r\n // minDate/maxDate도 모든 포맷으로 파싱하도록 수정\r\n minDate={minDate ? dayjs(minDate, allOutputFormats) : undefined}\r\n maxDate={maxDate ? dayjs(maxDate, allOutputFormats) : undefined}\r\n // antd DatePicker는 type 대신 picker와 showTime 속성을 사용합니다.\r\n picker={type === 'datetime' ? 'date' : type}\r\n showTime={\r\n inputProps?.showTime ?? (type === 'datetime' || type === 'time')\r\n }\r\n // useMask 속성 관련 로직이 불분명하고, displayFormat을 직접 사용하는 것이 더 확실합니다.\r\n format={displayFormat}\r\n // onChange 이벤트는 BwgFormItem의 normalize로 처리하므로 제거합니다.\r\n />\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgRangePicker;\r\n","import { Form, Select, Space, Typography } from 'antd';\r\nimport { SelectProps } from 'antd/es/select';\r\nimport { useMemo } from 'react';\r\nimport { SimpleCodeItem } from '../../stores/codeStore';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport type SelectBoxProps = SelectProps & {\r\n addField?: 'ALL' | 'NULL';\r\n options: SimpleCodeItem[];\r\n copyable?: boolean;\r\n};\r\n\r\nexport interface BwgSelectProps {\r\n /** 폼 아이템 속성 */\r\n itemProps?: BwgFormItemProps;\r\n selectProps?: SelectBoxProps;\r\n}\r\n\r\nconst BwgSelect = ({\r\n itemProps,\r\n selectProps = {\r\n options: [],\r\n allowClear: true,\r\n },\r\n}: BwgSelectProps) => {\r\n // Form 컨텍스트 체크\r\n const form = Form.useFormInstance();\r\n const isFormContext = !!form;\r\n\r\n // 옵션 리스트 메모이제이션\r\n const optionList = useMemo(() => {\r\n if (selectProps?.addField === 'ALL') {\r\n return [{ label: '전체', value: '' }, ...(selectProps?.options || [])];\r\n } else if (selectProps?.addField === 'NULL') {\r\n return [{ label: '', value: '' }, ...(selectProps?.options || [])];\r\n } else {\r\n return selectProps?.options || [];\r\n }\r\n }, [selectProps.options, selectProps.addField]);\r\n\r\n const handleChange = (newValue: string) => {\r\n selectProps.onChange?.(newValue);\r\n };\r\n\r\n // Select 컴포넌트에 전달할 props\r\n const selectComponentProps = {\r\n ...selectProps,\r\n allowClear: selectProps.allowClear ?? true,\r\n options: optionList,\r\n onChange: handleChange,\r\n variant: selectProps.variant,\r\n };\r\n\r\n // console.log(\"selectComponentProps :: \", selectComponentProps);\r\n\r\n const selectComponent = (\r\n <Select {...selectComponentProps} disabled={selectProps.disabled} />\r\n );\r\n\r\n // copyable일 때 Form 컨텍스트 체크\r\n if (selectProps.copyable && !isFormContext) {\r\n console.warn(\r\n 'BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다.'\r\n );\r\n }\r\n\r\n if (selectProps.copyable) {\r\n return (\r\n <BwgFormItem {...itemProps} name={undefined}>\r\n <Space.Compact block>\r\n <Form.Item\r\n name={itemProps?.name}\r\n rules={itemProps?.rules}\r\n style={{ width: '100%', marginBottom: 0 }}\r\n validateStatus=''\r\n help=''\r\n >\r\n {selectComponent}\r\n </Form.Item>\r\n <Typography.Paragraph\r\n copyable={{\r\n text: isFormContext\r\n ? form?.getFieldValue(itemProps?.name)?.toString() || ''\r\n : '',\r\n tooltips: ['코드복사', '코드복사됨'],\r\n }}\r\n style={{\r\n margin: 0,\r\n backgroundColor: '#f5f5f5',\r\n borderRadius: '4px',\r\n border: '1px solid #d9d9d9',\r\n fontSize: '12px',\r\n color: '#666',\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: '30px',\r\n padding: '0 8px',\r\n }}\r\n />\r\n </Space.Compact>\r\n </BwgFormItem>\r\n );\r\n } else {\r\n return <BwgFormItem {...itemProps}>{selectComponent}</BwgFormItem>;\r\n }\r\n};\r\n\r\nexport default BwgSelect;\r\n","import { Form, Switch, SwitchProps } from \"antd\";\r\nimport BwgFormItem, { BwgFormItemProps } from \"./BwgFormItem\";\r\n\r\nexport type BwgSwitchItemProps = SwitchProps & {\r\n format?: 'boolean' | 'YN';\r\n };\r\n \r\n export interface BwgSwitchProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: BwgSwitchItemProps;\r\n }\r\n\r\n/**\r\n * 스위치 컴포넌트\r\n * @param itemProps - BwgFormItemProps\r\n * @param inputProps - BwgSwitchItemProps\r\n * @returns \r\n * @example\r\n * <BwgSwitch\r\n * itemProps={{ name: 'switch' }}\r\n * inputProps={{ format: 'YN' }}\r\n * />\r\n * @returns \r\n */\r\nconst BwgSwitch = ({\r\n itemProps,\r\n inputProps = {\r\n format: 'YN',\r\n },\r\n}: BwgSwitchProps) => {\r\n const form = Form.useFormInstance();\r\n \r\n const handleChange = (checked: boolean, e: any) => {\r\n if (inputProps.format === 'boolean') {\r\n form.setFieldValue(itemProps?.name, checked);\r\n } else {\r\n form.setFieldValue(itemProps?.name, checked ? 'Y' : 'N');\r\n }\r\n \r\n inputProps.onChange && inputProps.onChange(checked, e as any);\r\n };\r\n\r\n return <BwgFormItem {...itemProps} \r\n getValueProps={value => {\r\n const checked =\r\n inputProps.format === 'boolean'\r\n ? Boolean(value)\r\n : value === 'Y'\r\n ? true\r\n : false;\r\n return { checked };\r\n }}\r\n normalize={value => {\r\n //console.log('normalize :: ', value);\r\n // 체크박스의 경우 e.target.checked 값이 전달되므로 이를 처리\r\n if (typeof value === 'boolean') {\r\n if (inputProps.format === 'boolean') {\r\n return value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }\r\n // 문자열이나 다른 값의 경우 기존 로직 유지\r\n if (inputProps.format === 'boolean') {\r\n return !!value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }}\r\n >\r\n <Switch {...inputProps} onChange={(checked: boolean, e: any) => handleChange(checked, e)} />\r\n </BwgFormItem>;\r\n};\r\n\r\nexport default BwgSwitch;"],"names":["BwgFormItem","memo","children","label","name","rules","initialValue","style","rest","labelStyle","isRequired","rule","renderLabel","jsxs","jsx","Form","BwgCheck","itemProps","inputProps","form","handleChange","e","value","Checkbox","formatMap","BwgDatePicker","type","returnType","displayFormat","outputFormat","useMemo","allOutputFormats","f","a","b","dayjs","DatePicker","BwgForm","forwardRef","labelCol","className","props","ref","ConfigProvider","BwgInput","Input","RangePicker","BwgRangePicker","minDate","maxDate","BwgSelect","selectProps","isFormContext","optionList","newValue","selectComponentProps","selectComponent","Select","Space","Typography","BwgSwitch","checked","Switch"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { j as m } from "./jsx-runtime-Dpn_P65e.js";
2
- import { Form as Y, Checkbox as j, DatePicker as x, ConfigProvider as y, Input as M, Select as b, Space as p, Typography as w, Switch as C } from "antd";
3
- import D, { useMemo as g, forwardRef as H } from "react";
4
- import d from "dayjs";
5
- const f = D.memo(
1
+ import { jsx as m, jsxs as y } from "react/jsx-runtime";
2
+ import { Form as f, Checkbox as b, DatePicker as M, ConfigProvider as w, Input as C, Select as p, Space as D, Typography as x, Switch as H } from "antd";
3
+ import s from "dayjs";
4
+ import { memo as k, useMemo as g, forwardRef as B } from "react";
5
+ const Y = k(
6
6
  ({
7
7
  children: n,
8
8
  label: t,
@@ -14,12 +14,12 @@ const f = D.memo(
14
14
  }) => {
15
15
  const r = {
16
16
  fontWeight: "bold"
17
- }, s = Array.isArray(l) && l.some((u) => u.required === !0), a = () => typeof t == "string" ? /* @__PURE__ */ m.jsxs("span", { style: r, children: [
17
+ }, d = Array.isArray(l) && l.some((u) => u.required === !0), a = () => typeof t == "string" ? /* @__PURE__ */ y("span", { style: r, children: [
18
18
  t,
19
- s && /* @__PURE__ */ m.jsx("span", { style: { color: "#ff4d4f", marginLeft: "4px" }, children: "*" })
20
- ] }) : /* @__PURE__ */ m.jsx("span", { style: r, children: t });
21
- return /* @__PURE__ */ m.jsx(
22
- Y.Item,
19
+ d && /* @__PURE__ */ m("span", { style: { color: "#ff4d4f", marginLeft: "4px" }, children: "*" })
20
+ ] }) : /* @__PURE__ */ m("span", { style: r, children: t });
21
+ return /* @__PURE__ */ m(
22
+ f.Item,
23
23
  {
24
24
  className: "bwg-form-item",
25
25
  label: t ? a() : void 0,
@@ -34,22 +34,22 @@ const f = D.memo(
34
34
  }
35
35
  );
36
36
  }
37
- ), L = ({
37
+ ), z = ({
38
38
  itemProps: n,
39
39
  inputProps: t = {
40
40
  format: "YN"
41
41
  }
42
42
  }) => {
43
- const o = Y.useFormInstance(), l = (e) => {
44
- t.format === "boolean" ? o.setFieldValue(n?.name, e.target.checked) : o.setFieldValue(n?.name, e.target.checked ? "Y" : "N"), t.onChange && t.onChange(e);
45
- };
46
- return /* @__PURE__ */ m.jsx(
47
- f,
43
+ const o = f.useFormInstance();
44
+ return /* @__PURE__ */ m(
45
+ Y,
48
46
  {
49
47
  ...n,
50
48
  getValueProps: (e) => ({ checked: t.format === "boolean" ? !!e : e === "Y" }),
51
49
  normalize: (e) => typeof e == "boolean" ? t.format === "boolean" ? e : e ? "Y" : "N" : t.format === "boolean" ? !!e : e ? "Y" : "N",
52
- children: /* @__PURE__ */ m.jsx(j, { ...t, onChange: l, children: t?.title })
50
+ children: /* @__PURE__ */ m(b, { ...t, onChange: (e) => {
51
+ t.format === "boolean" ? o.setFieldValue(n?.name, e.target.checked) : o.setFieldValue(n?.name, e.target.checked ? "Y" : "N"), t.onChange && t.onChange(e);
52
+ }, children: t?.title })
53
53
  }
54
54
  );
55
55
  }, h = {
@@ -71,27 +71,27 @@ const f = D.memo(
71
71
  () => h[o],
72
72
  [o]
73
73
  ), c = g(
74
- () => Object.values(h).map((r) => r.outputFormat).sort((r, s) => {
75
- if (r.length === s.length) {
74
+ () => Object.values(h).map((r) => r.outputFormat).sort((r, d) => {
75
+ if (r.length === d.length) {
76
76
  if (r === i) return -1;
77
- if (s === i) return 1;
77
+ if (d === i) return 1;
78
78
  }
79
- return s.length - r.length;
79
+ return d.length - r.length;
80
80
  }),
81
81
  [i]
82
82
  // type(outputFormat)이 바뀔 때마다 재정렬
83
83
  );
84
- return /* @__PURE__ */ m.jsx(
85
- f,
84
+ return /* @__PURE__ */ m(
85
+ Y,
86
86
  {
87
87
  ...n,
88
88
  getValueProps: (r) => ({
89
89
  // 폼에 저장된 값(문자열 또는 Dayjs)을 DatePicker가 요구하는 Dayjs로 변환
90
- value: r ? d.isDayjs(r) ? r : d(r, c) : null
90
+ value: r ? s.isDayjs(r) ? r : s(r, c) : null
91
91
  }),
92
92
  normalize: (r) => r ? l === "dayjs" ? r : r.format(i) : null,
93
- children: /* @__PURE__ */ m.jsx(
94
- x,
93
+ children: /* @__PURE__ */ m(
94
+ M,
95
95
  {
96
96
  ...t,
97
97
  picker: o === "datetime" ? "date" : o,
@@ -101,16 +101,16 @@ const f = D.memo(
101
101
  )
102
102
  }
103
103
  );
104
- }, k = H(
105
- ({ children: n, labelCol: t, style: o, className: l, ...e }, i) => /* @__PURE__ */ m.jsx(
106
- y,
104
+ }, N = B(
105
+ ({ children: n, labelCol: t, style: o, className: l, ...e }, i) => /* @__PURE__ */ m(
106
+ w,
107
107
  {
108
108
  form: {
109
109
  //기존 rule.message의 default message인 $name을를 입력해주세요를 변경
110
110
  validateMessages: { required: "'${label}을(를) 입력해주세요.'" }
111
111
  },
112
- children: /* @__PURE__ */ m.jsx(
113
- Y,
112
+ children: /* @__PURE__ */ m(
113
+ f,
114
114
  {
115
115
  ref: i,
116
116
  ...e,
@@ -124,8 +124,8 @@ const f = D.memo(
124
124
  }
125
125
  )
126
126
  );
127
- k.displayName = "BwgForm";
128
- const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n, children: /* @__PURE__ */ m.jsx(M, { ...t }) }), { RangePicker: B } = x, F = {
127
+ N.displayName = "BwgForm";
128
+ const T = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m(Y, { ...n, children: /* @__PURE__ */ m(C, { ...t }) }), { RangePicker: j } = M, F = {
129
129
  year: { displayFormat: "YYYY", outputFormat: "YYYY" },
130
130
  month: { displayFormat: "YYYY-MM", outputFormat: "YYYYMM" },
131
131
  date: { displayFormat: "YYYY-MM-DD", outputFormat: "YYYYMMDD" },
@@ -134,7 +134,7 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
134
134
  displayFormat: "YYYY-MM-DD HH:mm",
135
135
  outputFormat: "YYYYMMDDHHmm"
136
136
  }
137
- }, T = ({
137
+ }, q = ({
138
138
  itemProps: n,
139
139
  inputProps: t,
140
140
  type: o = "date",
@@ -145,7 +145,7 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
145
145
  const { displayFormat: c, outputFormat: r } = g(
146
146
  () => F[o],
147
147
  [o]
148
- ), s = g(
148
+ ), d = g(
149
149
  () => Object.values(F).map((a) => a.outputFormat).sort((a, u) => {
150
150
  if (a.length === u.length) {
151
151
  if (a === r) return -1;
@@ -156,28 +156,28 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
156
156
  [r]
157
157
  // type(outputFormat)이 바뀔 때마다 재정렬
158
158
  );
159
- return /* @__PURE__ */ m.jsx(
160
- f,
159
+ return /* @__PURE__ */ m(
160
+ Y,
161
161
  {
162
162
  ...n,
163
163
  getValueProps: (a) => ({
164
164
  // 폼에 저장된 값(문자열 또는 Dayjs)을 RangePicker가 요구하는 Dayjs 배열로 변환
165
165
  value: a && a.length > 0 ? [
166
- a[0] ? d.isDayjs(a[0]) ? a[0] : d(a[0], s) : null,
167
- a[1] ? d.isDayjs(a[1]) ? a[1] : d(a[1], s) : null
166
+ a[0] ? s.isDayjs(a[0]) ? a[0] : s(a[0], d) : null,
167
+ a[1] ? s.isDayjs(a[1]) ? a[1] : s(a[1], d) : null
168
168
  ] : null
169
169
  }),
170
170
  normalize: (a) => a ? i === "dayjs" ? [a[0] ?? void 0, a[1] ?? void 0] : [
171
171
  a[0] ? a[0].format(r) : void 0,
172
172
  a[1] ? a[1].format(r) : void 0
173
173
  ] : [void 0, void 0],
174
- children: /* @__PURE__ */ m.jsx(
175
- B,
174
+ children: /* @__PURE__ */ m(
175
+ j,
176
176
  {
177
177
  ...t,
178
178
  order: !0,
179
- minDate: l ? d(l, s) : void 0,
180
- maxDate: e ? d(e, s) : void 0,
179
+ minDate: l ? s(l, d) : void 0,
180
+ maxDate: e ? s(e, d) : void 0,
181
181
  picker: o === "datetime" ? "date" : o,
182
182
  showTime: t?.showTime ?? (o === "datetime" || o === "time"),
183
183
  format: c
@@ -185,27 +185,27 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
185
185
  )
186
186
  }
187
187
  );
188
- }, q = ({
188
+ }, A = ({
189
189
  itemProps: n,
190
190
  selectProps: t = {
191
191
  options: [],
192
192
  allowClear: !0
193
193
  }
194
194
  }) => {
195
- const o = Y.useFormInstance(), l = !!o, e = g(() => t?.addField === "ALL" ? [{ label: "전체", value: "" }, ...t?.options || []] : t?.addField === "NULL" ? [{ label: "", value: "" }, ...t?.options || []] : t?.options || [], [t.options, t.addField]), i = (s) => {
196
- t.onChange?.(s);
195
+ const o = f.useFormInstance(), l = !!o, e = g(() => t?.addField === "ALL" ? [{ label: "전체", value: "" }, ...t?.options || []] : t?.addField === "NULL" ? [{ label: "", value: "" }, ...t?.options || []] : t?.options || [], [t.options, t.addField]), i = (d) => {
196
+ t.onChange?.(d);
197
197
  }, c = {
198
198
  ...t,
199
199
  allowClear: t.allowClear ?? !0,
200
200
  options: e,
201
201
  onChange: i,
202
202
  variant: t.variant
203
- }, r = /* @__PURE__ */ m.jsx(b, { ...c, disabled: t.disabled });
203
+ }, r = /* @__PURE__ */ m(p, { ...c, disabled: t.disabled });
204
204
  return t.copyable && !l && console.warn(
205
205
  "BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다."
206
- ), t.copyable ? /* @__PURE__ */ m.jsx(f, { ...n, name: void 0, children: /* @__PURE__ */ m.jsxs(p.Compact, { block: !0, children: [
207
- /* @__PURE__ */ m.jsx(
208
- Y.Item,
206
+ ), t.copyable ? /* @__PURE__ */ m(Y, { ...n, name: void 0, children: /* @__PURE__ */ y(D.Compact, { block: !0, children: [
207
+ /* @__PURE__ */ m(
208
+ f.Item,
209
209
  {
210
210
  name: n?.name,
211
211
  rules: n?.rules,
@@ -215,8 +215,8 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
215
215
  children: r
216
216
  }
217
217
  ),
218
- /* @__PURE__ */ m.jsx(
219
- w.Paragraph,
218
+ /* @__PURE__ */ m(
219
+ x.Paragraph,
220
220
  {
221
221
  copyable: {
222
222
  text: l && o?.getFieldValue(n?.name)?.toString() || "",
@@ -236,34 +236,34 @@ const z = ({ itemProps: n, inputProps: t }) => /* @__PURE__ */ m.jsx(f, { ...n,
236
236
  }
237
237
  }
238
238
  )
239
- ] }) }) : /* @__PURE__ */ m.jsx(f, { ...n, children: r });
240
- }, A = ({
239
+ ] }) }) : /* @__PURE__ */ m(Y, { ...n, children: r });
240
+ }, O = ({
241
241
  itemProps: n,
242
242
  inputProps: t = {
243
243
  format: "YN"
244
244
  }
245
245
  }) => {
246
- const o = Y.useFormInstance(), l = (e, i) => {
246
+ const o = f.useFormInstance(), l = (e, i) => {
247
247
  t.format === "boolean" ? o.setFieldValue(n?.name, e) : o.setFieldValue(n?.name, e ? "Y" : "N"), t.onChange && t.onChange(e, i);
248
248
  };
249
- return /* @__PURE__ */ m.jsx(
250
- f,
249
+ return /* @__PURE__ */ m(
250
+ Y,
251
251
  {
252
252
  ...n,
253
253
  getValueProps: (e) => ({ checked: t.format === "boolean" ? !!e : e === "Y" }),
254
254
  normalize: (e) => typeof e == "boolean" ? t.format === "boolean" ? e : e ? "Y" : "N" : t.format === "boolean" ? !!e : e ? "Y" : "N",
255
- children: /* @__PURE__ */ m.jsx(C, { ...t, onChange: (e, i) => l(e, i) })
255
+ children: /* @__PURE__ */ m(H, { ...t, onChange: (e, i) => l(e, i) })
256
256
  }
257
257
  );
258
258
  };
259
259
  export {
260
- L as B,
260
+ z as B,
261
261
  R as a,
262
- k as b,
263
- f as c,
264
- z as d,
265
- T as e,
266
- q as f,
267
- A as g
262
+ N as b,
263
+ Y as c,
264
+ T as d,
265
+ q as e,
266
+ A as f,
267
+ O as g
268
268
  };
269
- //# sourceMappingURL=BwgSwitch-B79pseQM.js.map
269
+ //# sourceMappingURL=BwgSwitch-DdHo4gYR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BwgSwitch-DdHo4gYR.js","sources":["../../src/components/core/BwgFormItem.tsx","../../src/components/core/BwgCheck.tsx","../../src/components/core/BwgDatePicker.tsx","../../src/components/core/BwgForm.tsx","../../src/components/core/BwgInput.tsx","../../src/components/core/BwgRangePicker.tsx","../../src/components/core/BwgSelect.tsx","../../src/components/core/BwgSwitch.tsx"],"sourcesContent":["import { Form, FormItemProps } from 'antd';\r\nimport { memo, ReactNode } from 'react';\r\n\r\nexport interface BwgFormItemProps extends FormItemProps {\r\n /** 폼 아이템 이름 */\r\n name?: string | string[];\r\n /** 폼 아이템 라벨 */\r\n label?: string | ReactNode;\r\n /** 폼 아이템 규칙 */\r\n rules?: any;\r\n /** 폼 아이템 초기값 */\r\n initialValue?: any;\r\n /** 폼 아이템 자식 컴포넌트 */\r\n children?: ReactNode;\r\n}\r\n\r\n/** 입력 폼 아이템 컴포넌트 */\r\nconst BwgFormItem = memo(\r\n ({\r\n children,\r\n label,\r\n name,\r\n rules,\r\n initialValue,\r\n style,\r\n ...rest\r\n }: BwgFormItemProps) => {\r\n const labelStyle = {\r\n fontWeight: 'bold',\r\n };\r\n\r\n // rules에서 required 필드 확인\r\n const isRequired =\r\n Array.isArray(rules) && rules.some((rule: any) => rule.required === true);\r\n\r\n // 라벨 렌더링 함수\r\n const renderLabel = () => {\r\n if (typeof label === 'string') {\r\n return (\r\n <span style={labelStyle}>\r\n {label}\r\n {isRequired && (\r\n <span style={{ color: '#ff4d4f', marginLeft: '4px' }}>*</span>\r\n )}\r\n </span>\r\n );\r\n }\r\n return <span style={labelStyle}>{label}</span>;\r\n };\r\n\r\n return (\r\n <Form.Item\r\n className='bwg-form-item'\r\n label={label ? renderLabel() : undefined}\r\n labelAlign='left'\r\n name={name}\r\n rules={rules}\r\n colon={false}\r\n initialValue={initialValue}\r\n style={style}\r\n {...rest}\r\n >\r\n {children}\r\n </Form.Item>\r\n );\r\n }\r\n);\r\n\r\nexport default BwgFormItem;\r\n","import { Checkbox, CheckboxProps, Form } from 'antd';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport type BwgCheckBoxProps = CheckboxProps & {\r\n format?: 'boolean' | 'YN';\r\n};\r\n\r\nexport interface BwgCheckProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: BwgCheckBoxProps;\r\n}\r\n\r\n/**\r\n * 체크박스 컴포넌트\r\n * @param itemProps - BwgFormItemProps\r\n * @param inputProps - BwgCheckBoxProps\r\n * @returns \r\n * @example\r\n * <BwgCheck\r\n * itemProps={{ name: 'check' }}\r\n * inputProps={{ format: 'YN' }}\r\n * />\r\n */\r\nconst BwgCheck = ({\r\n itemProps,\r\n inputProps = {\r\n format: 'YN',\r\n },\r\n}: BwgCheckProps) => {\r\n const form = Form.useFormInstance();\r\n\r\n const handleChange = (e: any) => {\r\n //console.log('handleChange :: ', e.target.checked);\r\n if (inputProps.format === 'boolean') {\r\n form.setFieldValue(itemProps?.name, e.target.checked);\r\n } else {\r\n form.setFieldValue(itemProps?.name, e.target.checked ? 'Y' : 'N');\r\n }\r\n\r\n inputProps.onChange && inputProps.onChange(e);\r\n };\r\n\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => {\r\n //console.log('getValueProps :: ', value);\r\n const checked =\r\n inputProps.format === 'boolean'\r\n ? Boolean(value)\r\n : value === 'Y'\r\n ? true\r\n : false;\r\n return { checked }; // ✅ 수정: value 대신 checked 반환\r\n }}\r\n normalize={value => {\r\n //console.log('normalize :: ', value);\r\n // 체크박스의 경우 e.target.checked 값이 전달되므로 이를 처리\r\n if (typeof value === 'boolean') {\r\n if (inputProps.format === 'boolean') {\r\n return value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }\r\n // 문자열이나 다른 값의 경우 기존 로직 유지\r\n if (inputProps.format === 'boolean') {\r\n return !!value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }}\r\n >\r\n <Checkbox {...inputProps} onChange={handleChange}>\r\n {inputProps?.title}\r\n </Checkbox>\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgCheck;\r\n","import { DatePicker } from 'antd';\r\nimport { DatePickerProps } from 'antd/es/date-picker';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport { useMemo } from 'react';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport interface BwgDatePickerProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: DatePickerProps;\r\n type?: 'year' | 'month' | 'date' | 'time' | 'datetime';\r\n returnType?: 'dayjs' | 'string';\r\n}\r\n\r\nconst formatMap = {\r\n year: { displayFormat: 'YYYY', outputFormat: 'YYYY' },\r\n month: { displayFormat: 'YYYY-MM', outputFormat: 'YYYYMM' },\r\n date: { displayFormat: 'YYYY-MM-DD', outputFormat: 'YYYYMMDD' },\r\n time: { displayFormat: 'HH:mm', outputFormat: 'HHmm' },\r\n datetime: {\r\n displayFormat: 'YYYY-MM-DD HH:mm',\r\n outputFormat: 'YYYYMMDDHHmm',\r\n },\r\n};\r\n\r\nconst BwgDatePicker = ({\r\n itemProps,\r\n inputProps,\r\n type = 'date',\r\n returnType = 'string',\r\n}: BwgDatePickerProps) => {\r\n // type이 변경될 때 format이 업데이트되도록 useMemo를 사용합니다.\r\n const { displayFormat, outputFormat } = useMemo(\r\n () => formatMap[type],\r\n [type]\r\n );\r\n\r\n // 현재 type의 포맷을 우선순위로 두어 파싱 순서 결정\r\n const allOutputFormats = useMemo(\r\n () =>\r\n Object.values(formatMap)\r\n .map(f => f.outputFormat)\r\n .sort((a, b) => {\r\n if (a.length === b.length) {\r\n if (a === outputFormat) return -1; // 현재 포맷이면 우선순위를 높인다\r\n if (b === outputFormat) return 1;\r\n }\r\n return b.length - a.length;\r\n }),\r\n [outputFormat] // type(outputFormat)이 바뀔 때마다 재정렬\r\n );\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => ({\r\n // 폼에 저장된 값(문자열 또는 Dayjs)을 DatePicker가 요구하는 Dayjs로 변환\r\n value: value\r\n ? dayjs.isDayjs(value)\r\n ? (value as Dayjs)\r\n : dayjs(value as any, allOutputFormats)\r\n : null,\r\n })}\r\n normalize={value => {\r\n // DatePicker에서 넘어온 Dayjs를 returnType에 따라 반환\r\n if (!value) return null;\r\n if (returnType === 'dayjs') return value as Dayjs;\r\n return value.format(outputFormat);\r\n }}\r\n >\r\n <DatePicker\r\n {...inputProps}\r\n // antd DatePicker는 type 대신 picker와 showTime 속성을 사용합니다.\r\n picker={type === 'datetime' ? 'date' : type}\r\n showTime={\r\n inputProps?.showTime ?? (type === 'datetime' || type === 'time')\r\n }\r\n // useMask 속성 관련 로직이 불분명하고, displayFormat을 직접 사용하는 것이 더 확실합니다.\r\n format={displayFormat}\r\n // onChange 이벤트는 BwgFormItem의 normalize로 처리하므로 중복되는 handleChange를 제거합니다.\r\n ></DatePicker>\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgDatePicker;\r\n","import { ConfigProvider, Form, FormProps } from 'antd';\r\nimport { forwardRef, ReactNode } from 'react';\r\n\r\nexport interface BwgFormProps extends FormProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst BwgForm = forwardRef<any, BwgFormProps>(\r\n ({ children, labelCol, style, className, ...props }, ref) => {\r\n return (\r\n <ConfigProvider\r\n form={{\r\n //기존 rule.message의 default message인 $name을를 입력해주세요를 변경\r\n validateMessages: { required: \"'${label}을(를) 입력해주세요.'\" },\r\n }}\r\n >\r\n <Form\r\n ref={ref}\r\n {...props}\r\n requiredMark={false}\r\n labelCol={labelCol || { flex: '100px' }}\r\n style={{ padding: '10px', ...style }}\r\n className={`bwg-form ${className ?? ''}`}\r\n >\r\n {children}\r\n </Form>\r\n </ConfigProvider>\r\n );\r\n }\r\n);\r\n\r\nBwgForm.displayName = 'BwgForm';\r\n\r\nexport default BwgForm;\r\n","import { FC } from 'react';\r\nimport { Input, InputProps } from 'antd';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport interface BwgInputProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: InputProps;\r\n}\r\n\r\nconst BwgInput: FC<BwgInputProps> = ({ itemProps, inputProps }) => {\r\n return (\r\n <BwgFormItem {...itemProps}>\r\n <Input {...inputProps} />\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgInput;\r\n","import { DatePicker } from 'antd';\r\nimport { RangePickerProps } from 'antd/es/date-picker';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport { useMemo } from 'react';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\nexport interface BwgRangePickerProps {\r\n inputProps?: RangePickerProps;\r\n itemProps?: BwgFormItemProps;\r\n type?: 'year' | 'month' | 'date' | 'time' | 'datetime';\r\n minDate?: string;\r\n maxDate?: string;\r\n returnType?: 'dayjs' | 'string';\r\n}\r\n\r\nconst formatMap = {\r\n year: { displayFormat: 'YYYY', outputFormat: 'YYYY' },\r\n month: { displayFormat: 'YYYY-MM', outputFormat: 'YYYYMM' },\r\n date: { displayFormat: 'YYYY-MM-DD', outputFormat: 'YYYYMMDD' },\r\n time: { displayFormat: 'HH:mm', outputFormat: 'HHmm' },\r\n datetime: {\r\n displayFormat: 'YYYY-MM-DD HH:mm',\r\n outputFormat: 'YYYYMMDDHHmm',\r\n },\r\n};\r\n\r\nconst BwgRangePicker = ({\r\n itemProps,\r\n inputProps,\r\n type = 'date',\r\n minDate,\r\n maxDate,\r\n returnType = 'string',\r\n}: BwgRangePickerProps) => {\r\n // type이 변경될 때 format이 업데이트되도록 useMemo를 사용합니다.\r\n const { displayFormat, outputFormat } = useMemo(\r\n () => formatMap[type],\r\n [type]\r\n );\r\n\r\n // 현재 type의 포맷을 우선순위로 두어 파싱 순서 결정\r\n const allOutputFormats = useMemo(\r\n () =>\r\n Object.values(formatMap)\r\n .map(f => f.outputFormat)\r\n .sort((a, b) => {\r\n if (a.length === b.length) {\r\n if (a === outputFormat) return -1; // 현재 포맷이면 우선순위를 높인다\r\n if (b === outputFormat) return 1;\r\n }\r\n return b.length - a.length;\r\n }),\r\n [outputFormat] // type(outputFormat)이 바뀔 때마다 재정렬\r\n );\r\n return (\r\n <BwgFormItem\r\n {...itemProps}\r\n getValueProps={value => ({\r\n // 폼에 저장된 값(문자열 또는 Dayjs)을 RangePicker가 요구하는 Dayjs 배열로 변환\r\n value:\r\n value && value.length > 0\r\n ? [\r\n value[0]\r\n ? dayjs.isDayjs(value[0])\r\n ? (value[0] as Dayjs)\r\n : dayjs(value[0] as any, allOutputFormats)\r\n : null,\r\n value[1]\r\n ? dayjs.isDayjs(value[1])\r\n ? (value[1] as Dayjs)\r\n : dayjs(value[1] as any, allOutputFormats)\r\n : null,\r\n ]\r\n : null,\r\n })}\r\n normalize={(value: [Dayjs, Dayjs] | null) => {\r\n // RangePicker에서 넘어온 dayjs 객체 배열을 현재 type에 맞는 outputFormat으로 변환합니다.\r\n if (!value) {\r\n return [undefined, undefined];\r\n }\r\n if (returnType === 'dayjs') {\r\n return [value[0] ?? undefined, value[1] ?? undefined];\r\n }\r\n return [\r\n value[0] ? value[0].format(outputFormat) : undefined,\r\n value[1] ? value[1].format(outputFormat) : undefined,\r\n ];\r\n }}\r\n >\r\n <RangePicker\r\n {...inputProps}\r\n order={true}\r\n // minDate/maxDate도 모든 포맷으로 파싱하도록 수정\r\n minDate={minDate ? dayjs(minDate, allOutputFormats) : undefined}\r\n maxDate={maxDate ? dayjs(maxDate, allOutputFormats) : undefined}\r\n // antd DatePicker는 type 대신 picker와 showTime 속성을 사용합니다.\r\n picker={type === 'datetime' ? 'date' : type}\r\n showTime={\r\n inputProps?.showTime ?? (type === 'datetime' || type === 'time')\r\n }\r\n // useMask 속성 관련 로직이 불분명하고, displayFormat을 직접 사용하는 것이 더 확실합니다.\r\n format={displayFormat}\r\n // onChange 이벤트는 BwgFormItem의 normalize로 처리하므로 제거합니다.\r\n />\r\n </BwgFormItem>\r\n );\r\n};\r\n\r\nexport default BwgRangePicker;\r\n","import { Form, Select, Space, Typography } from 'antd';\r\nimport { SelectProps } from 'antd/es/select';\r\nimport { useMemo } from 'react';\r\nimport { SimpleCodeItem } from '../../stores/codeStore';\r\nimport BwgFormItem, { BwgFormItemProps } from './BwgFormItem';\r\n\r\nexport type SelectBoxProps = SelectProps & {\r\n addField?: 'ALL' | 'NULL';\r\n options: SimpleCodeItem[];\r\n copyable?: boolean;\r\n};\r\n\r\nexport interface BwgSelectProps {\r\n /** 폼 아이템 속성 */\r\n itemProps?: BwgFormItemProps;\r\n selectProps?: SelectBoxProps;\r\n}\r\n\r\nconst BwgSelect = ({\r\n itemProps,\r\n selectProps = {\r\n options: [],\r\n allowClear: true,\r\n },\r\n}: BwgSelectProps) => {\r\n // Form 컨텍스트 체크\r\n const form = Form.useFormInstance();\r\n const isFormContext = !!form;\r\n\r\n // 옵션 리스트 메모이제이션\r\n const optionList = useMemo(() => {\r\n if (selectProps?.addField === 'ALL') {\r\n return [{ label: '전체', value: '' }, ...(selectProps?.options || [])];\r\n } else if (selectProps?.addField === 'NULL') {\r\n return [{ label: '', value: '' }, ...(selectProps?.options || [])];\r\n } else {\r\n return selectProps?.options || [];\r\n }\r\n }, [selectProps.options, selectProps.addField]);\r\n\r\n const handleChange = (newValue: string) => {\r\n selectProps.onChange?.(newValue);\r\n };\r\n\r\n // Select 컴포넌트에 전달할 props\r\n const selectComponentProps = {\r\n ...selectProps,\r\n allowClear: selectProps.allowClear ?? true,\r\n options: optionList,\r\n onChange: handleChange,\r\n variant: selectProps.variant,\r\n };\r\n\r\n // console.log(\"selectComponentProps :: \", selectComponentProps);\r\n\r\n const selectComponent = (\r\n <Select {...selectComponentProps} disabled={selectProps.disabled} />\r\n );\r\n\r\n // copyable일 때 Form 컨텍스트 체크\r\n if (selectProps.copyable && !isFormContext) {\r\n console.warn(\r\n 'BwgSelect: copyable 기능은 Form 컨텍스트 내에서만 사용 가능합니다.'\r\n );\r\n }\r\n\r\n if (selectProps.copyable) {\r\n return (\r\n <BwgFormItem {...itemProps} name={undefined}>\r\n <Space.Compact block>\r\n <Form.Item\r\n name={itemProps?.name}\r\n rules={itemProps?.rules}\r\n style={{ width: '100%', marginBottom: 0 }}\r\n validateStatus=''\r\n help=''\r\n >\r\n {selectComponent}\r\n </Form.Item>\r\n <Typography.Paragraph\r\n copyable={{\r\n text: isFormContext\r\n ? form?.getFieldValue(itemProps?.name)?.toString() || ''\r\n : '',\r\n tooltips: ['코드복사', '코드복사됨'],\r\n }}\r\n style={{\r\n margin: 0,\r\n backgroundColor: '#f5f5f5',\r\n borderRadius: '4px',\r\n border: '1px solid #d9d9d9',\r\n fontSize: '12px',\r\n color: '#666',\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: '30px',\r\n padding: '0 8px',\r\n }}\r\n />\r\n </Space.Compact>\r\n </BwgFormItem>\r\n );\r\n } else {\r\n return <BwgFormItem {...itemProps}>{selectComponent}</BwgFormItem>;\r\n }\r\n};\r\n\r\nexport default BwgSelect;\r\n","import { Form, Switch, SwitchProps } from \"antd\";\r\nimport BwgFormItem, { BwgFormItemProps } from \"./BwgFormItem\";\r\n\r\nexport type BwgSwitchItemProps = SwitchProps & {\r\n format?: 'boolean' | 'YN';\r\n };\r\n \r\n export interface BwgSwitchProps {\r\n itemProps?: BwgFormItemProps;\r\n inputProps?: BwgSwitchItemProps;\r\n }\r\n\r\n/**\r\n * 스위치 컴포넌트\r\n * @param itemProps - BwgFormItemProps\r\n * @param inputProps - BwgSwitchItemProps\r\n * @returns \r\n * @example\r\n * <BwgSwitch\r\n * itemProps={{ name: 'switch' }}\r\n * inputProps={{ format: 'YN' }}\r\n * />\r\n * @returns \r\n */\r\nconst BwgSwitch = ({\r\n itemProps,\r\n inputProps = {\r\n format: 'YN',\r\n },\r\n}: BwgSwitchProps) => {\r\n const form = Form.useFormInstance();\r\n \r\n const handleChange = (checked: boolean, e: any) => {\r\n if (inputProps.format === 'boolean') {\r\n form.setFieldValue(itemProps?.name, checked);\r\n } else {\r\n form.setFieldValue(itemProps?.name, checked ? 'Y' : 'N');\r\n }\r\n \r\n inputProps.onChange && inputProps.onChange(checked, e as any);\r\n };\r\n\r\n return <BwgFormItem {...itemProps} \r\n getValueProps={value => {\r\n const checked =\r\n inputProps.format === 'boolean'\r\n ? Boolean(value)\r\n : value === 'Y'\r\n ? true\r\n : false;\r\n return { checked };\r\n }}\r\n normalize={value => {\r\n //console.log('normalize :: ', value);\r\n // 체크박스의 경우 e.target.checked 값이 전달되므로 이를 처리\r\n if (typeof value === 'boolean') {\r\n if (inputProps.format === 'boolean') {\r\n return value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }\r\n // 문자열이나 다른 값의 경우 기존 로직 유지\r\n if (inputProps.format === 'boolean') {\r\n return !!value;\r\n }\r\n return value ? 'Y' : 'N';\r\n }}\r\n >\r\n <Switch {...inputProps} onChange={(checked: boolean, e: any) => handleChange(checked, e)} />\r\n </BwgFormItem>;\r\n};\r\n\r\nexport default BwgSwitch;"],"names":["BwgFormItem","memo","children","label","name","rules","initialValue","style","rest","labelStyle","isRequired","rule","renderLabel","jsxs","jsx","Form","BwgCheck","itemProps","inputProps","form","value","Checkbox","formatMap","BwgDatePicker","type","returnType","displayFormat","outputFormat","useMemo","allOutputFormats","f","a","b","dayjs","DatePicker","BwgForm","forwardRef","labelCol","className","props","ref","ConfigProvider","BwgInput","Input","RangePicker","BwgRangePicker","minDate","maxDate","BwgSelect","selectProps","isFormContext","optionList","handleChange","newValue","selectComponentProps","selectComponent","Select","Space","Typography","BwgSwitch","checked","e","Switch"],"mappings":"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"}