@bwg-ui/core 1.2.35 → 1.3.0

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 (78) hide show
  1. package/dist/chunks/{CMSearchIntfGwP01-CMSQULsU.cjs → CMSearchIntfGwP01-D7XtXMLy.cjs} +1 -1
  2. package/dist/chunks/{CMSearchIntfGwP01-Duabg_5A.js → CMSearchIntfGwP01-_h2B12Ig.js} +28 -28
  3. package/dist/chunks/{MenuReport-B4EU1A6l.js → MenuReport-Bw3AvR6b.js} +10 -10
  4. package/dist/chunks/MenuReport-DuWbbKBC.cjs +1 -0
  5. package/dist/chunks/common-components-BOJo6FH_.cjs +1109 -0
  6. package/dist/chunks/{common-components-DIpOkbb5.js → common-components-BjfrRYiU.js} +13530 -12812
  7. package/dist/chunks/{layout-components-D2Fla5uu.js → layout-components-DNhUIx4u.js} +603 -559
  8. package/dist/chunks/layout-components-Ddn-4n36.cjs +35 -0
  9. package/dist/chunks/provider-DrboIg2C.cjs +1 -0
  10. package/dist/chunks/provider-VCa8UGvF.js +446 -0
  11. package/dist/components/common/BwgGrid.d.ts +17 -16
  12. package/dist/components/common/BwgGrid.d.ts.map +1 -1
  13. package/dist/components/common/BwgPagination.d.ts.map +1 -1
  14. package/dist/components/common/BwgView.d.ts +3 -3
  15. package/dist/components/common/BwgView.d.ts.map +1 -1
  16. package/dist/components/common/index.cjs +1 -1
  17. package/dist/components/common/index.d.ts +4 -3
  18. package/dist/components/common/index.d.ts.map +1 -1
  19. package/dist/components/common/index.js +5 -5
  20. package/dist/components/common/type.d.ts +7 -0
  21. package/dist/components/common/type.d.ts.map +1 -1
  22. package/dist/components/core/BwgMaskedDate.d.ts +13 -0
  23. package/dist/components/core/BwgMaskedDate.d.ts.map +1 -0
  24. package/dist/components/core/{BwgMaskedPicker.d.ts → BwgMaskedRange.d.ts} +6 -4
  25. package/dist/components/core/BwgMaskedRange.d.ts.map +1 -0
  26. package/dist/components/core/index.cjs +1 -1
  27. package/dist/components/core/index.d.ts +4 -2
  28. package/dist/components/core/index.d.ts.map +1 -1
  29. package/dist/components/core/index.js +1219 -781
  30. package/dist/components/guide/index.cjs +1 -1
  31. package/dist/components/guide/index.js +2 -2
  32. package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
  33. package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -1
  34. package/dist/components/layout/extension/ContentWrapper.d.ts.map +1 -1
  35. package/dist/components/layout/index.cjs +1 -1
  36. package/dist/components/layout/index.js +1 -1
  37. package/dist/components/pages/syst/CMHldyCfg.d.ts.map +1 -1
  38. package/dist/components/popup/MenuReport.d.ts.map +1 -1
  39. package/dist/components/popup/SearchAddressP01.d.ts +30 -0
  40. package/dist/components/popup/SearchAddressP01.d.ts.map +1 -0
  41. package/dist/components/popup/SearchHolidayP01.d.ts +2 -2
  42. package/dist/components/popup/SearchHolidayP01.d.ts.map +1 -1
  43. package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -1
  44. package/dist/components/popup/index.cjs +1 -1
  45. package/dist/components/popup/index.d.ts +2 -0
  46. package/dist/components/popup/index.d.ts.map +1 -1
  47. package/dist/components/popup/index.js +6 -5
  48. package/dist/index.cjs +1 -1
  49. package/dist/index.js +270 -259
  50. package/dist/provider/contexts/BwgViewContext.d.ts +19 -0
  51. package/dist/provider/contexts/BwgViewContext.d.ts.map +1 -0
  52. package/dist/provider/contexts/index.d.ts +1 -0
  53. package/dist/provider/contexts/index.d.ts.map +1 -1
  54. package/dist/provider/hooks/index.d.ts +1 -0
  55. package/dist/provider/hooks/index.d.ts.map +1 -1
  56. package/dist/provider/hooks/useSizeConfig.d.ts +19 -0
  57. package/dist/provider/hooks/useSizeConfig.d.ts.map +1 -0
  58. package/dist/provider/index.cjs +1 -1
  59. package/dist/provider/index.js +22 -381
  60. package/dist/stores/index.cjs +2 -2
  61. package/dist/stores/index.js +18 -11
  62. package/dist/stores/userStore.d.ts +4 -0
  63. package/dist/stores/userStore.d.ts.map +1 -1
  64. package/dist/styles/components.css +90 -60
  65. package/dist/utils/{FileUtils.d.ts → fileUtils.d.ts} +1 -1
  66. package/dist/utils/fileUtils.d.ts.map +1 -0
  67. package/dist/utils/gridUtils.d.ts +45 -0
  68. package/dist/utils/gridUtils.d.ts.map +1 -0
  69. package/dist/utils/index.cjs +1 -1
  70. package/dist/utils/index.d.ts +12 -2
  71. package/dist/utils/index.d.ts.map +1 -1
  72. package/dist/utils/index.js +1112 -1005
  73. package/package.json +1 -1
  74. package/dist/chunks/MenuReport-5e2dMr_C.cjs +0 -1
  75. package/dist/chunks/common-components-D3-r7D-8.cjs +0 -1109
  76. package/dist/chunks/layout-components-pfHVy2at.cjs +0 -35
  77. package/dist/components/core/BwgMaskedPicker.d.ts.map +0 -1
  78. package/dist/utils/FileUtils.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { create as b } from "zustand";
2
2
  import { callService as N, getServiceCode as w, getUserId as v, getUserInfo as ee, getCookie as te, encryptSha256 as oe, setCookie as $ } from "../utils/index.js";
3
3
  import { message as L } from "antd";
4
- import { l as se } from "../chunks/layout-components-D2Fla5uu.js";
5
- import { useState as X, useCallback as q } from "react";
4
+ import { l as se } from "../chunks/layout-components-DNhUIx4u.js";
5
+ import { useState as X, useCallback as W } from "react";
6
6
  import { useNavigate as ne } from "react-router-dom";
7
7
  function re(n, r) {
8
8
  let e;
@@ -150,6 +150,8 @@ const E = (n) => (r) => {
150
150
  // 기본값: 크게
151
151
  spacingSize: 2,
152
152
  // 기본값: 크게
153
+ enableProtectWrapper: !0,
154
+ // 기본값: 활성화
153
155
  isLoggedIn: () => !!r().user,
154
156
  // 로그인
155
157
  setLoginUser: (e, s) => {
@@ -180,6 +182,10 @@ const E = (n) => (r) => {
180
182
  setSpacingSize: (e) => {
181
183
  n({ spacingSize: e }), console.log("여백 사이즈 변경:", e);
182
184
  },
185
+ // 화면보호 레이어 활성화 설정
186
+ setEnableProtectWrapper: (e) => {
187
+ n({ enableProtectWrapper: e });
188
+ },
183
189
  // 권한 확인 결과 가져오기
184
190
  getButtonAuth: (e, s) => {
185
191
  const o = `${e}_${s}`;
@@ -209,6 +215,7 @@ const E = (n) => (r) => {
209
215
  componentSize: n.componentSize,
210
216
  gridSize: n.gridSize,
211
217
  spacingSize: n.spacingSize,
218
+ enableProtectWrapper: n.enableProtectWrapper,
212
219
  isLoggedIn: n.isLoggedIn
213
220
  // buttonAuthCache는 세션 동안만 유지 (localStorage에 저장 안 함)
214
221
  })
@@ -902,7 +909,7 @@ const E = (n) => (r) => {
902
909
  rootIds: o.rootIds.slice(),
903
910
  treeNodes: o.treeNodes
904
911
  };
905
- return W(t, e), t.treeNodes = D(t.nodes, t.rootIds), t;
912
+ return J(t, e), t.treeNodes = D(t.nodes, t.rootIds), t;
906
913
  });
907
914
  try {
908
915
  await N("SCMBKMK00103", { bkmkId: e });
@@ -1020,7 +1027,7 @@ const E = (n) => (r) => {
1020
1027
  };
1021
1028
  return s.map(d).filter(Boolean);
1022
1029
  }
1023
- }), J = b(de);
1030
+ }), q = b(de);
1024
1031
  function ce(n) {
1025
1032
  const r = {}, e = [], s = (o) => {
1026
1033
  o.forEach((t) => {
@@ -1095,10 +1102,10 @@ function ie(n, r) {
1095
1102
  } else
1096
1103
  n.rootIds = n.rootIds.filter((o) => o !== r);
1097
1104
  }
1098
- function W(n, r) {
1105
+ function J(n, r) {
1099
1106
  const e = n.nodes[r];
1100
1107
  if (!e) return;
1101
- e.type === "F" && e.children.slice().forEach((a) => W(n, a)), ie(n, r);
1108
+ e.type === "F" && e.children.slice().forEach((a) => J(n, a)), ie(n, r);
1102
1109
  const { [r]: s, ...o } = n.nodes;
1103
1110
  n.nodes = o;
1104
1111
  }
@@ -1997,7 +2004,7 @@ const Ce = (n) => {
1997
2004
  })
1998
2005
  }));
1999
2006
  function ye() {
2000
- const [n, r] = X(!1), e = q((s) => {
2007
+ const [n, r] = X(!1), e = W((s) => {
2001
2008
  const o = s?.getModifierState?.("CapsLock");
2002
2009
  typeof o == "boolean" && r(o);
2003
2010
  }, []);
@@ -2013,7 +2020,7 @@ function Fe(n) {
2013
2020
  } = n, [a, d] = X(!1), { capsOn: c, onKeyDown: i } = ye(), l = "SCMSIGN00101", f = `${__SYS_CD__}_login_id`, m = {
2014
2021
  id: t?.enabled ? te(f) : void 0,
2015
2022
  pswr: void 0
2016
- }, u = q(
2023
+ }, u = W(
2017
2024
  async (h, C) => {
2018
2025
  d(!0);
2019
2026
  try {
@@ -2057,17 +2064,17 @@ function Fe(n) {
2057
2064
  function Le() {
2058
2065
  const n = ne();
2059
2066
  return () => {
2060
- H.getState().clearLoginUser(), V.getState().clearSystemMap(), G.getState().clearCodes(), R.getState().clearMenu(), Z.getState().clearMenuViewStore(), J.getState().clearFavorites(), n("/login");
2067
+ H.getState().clearLoginUser(), V.getState().clearSystemMap(), G.getState().clearCodes(), R.getState().clearMenu(), Z.getState().clearMenuViewStore(), q.getState().clearFavorites(), n("/login");
2061
2068
  };
2062
2069
  }
2063
- const we = () => G.getState(), _e = () => Ie.getState(), Ae = () => H.getState(), Ke = () => J.getState(), Be = () => R.getState(), Ee = () => Z.getState(), Te = () => V.getState();
2070
+ const we = () => G.getState(), _e = () => Ie.getState(), Ae = () => H.getState(), Ke = () => q.getState(), Be = () => R.getState(), Ee = () => Z.getState(), Te = () => V.getState();
2064
2071
  export {
2065
2072
  ye as useCapsLock,
2066
2073
  we as useCode,
2067
2074
  G as useCodeStore,
2068
2075
  Pe as useColorStore,
2069
2076
  Ke as useFavorite,
2070
- J as useFavoriteStore,
2077
+ q as useFavoriteStore,
2071
2078
  De as useLoadingStore,
2072
2079
  Fe as useLogin,
2073
2080
  Le as useLogout,
@@ -31,6 +31,7 @@ export interface UserStore {
31
31
  componentSize: ComponentSize;
32
32
  gridSize: GridSize;
33
33
  spacingSize: SpacingSize;
34
+ enableProtectWrapper: boolean;
34
35
  isLoggedIn: () => boolean;
35
36
  setLoginUser: (user: UserInfo, hrInfo?: HrInfo) => void;
36
37
  clearLoginUser: () => void;
@@ -38,6 +39,7 @@ export interface UserStore {
38
39
  setComponentSize: (size: ComponentSize) => void;
39
40
  setGridSize: (size: GridSize) => void;
40
41
  setSpacingSize: (size: SpacingSize) => void;
42
+ setEnableProtectWrapper: (enable: boolean) => void;
41
43
  getButtonAuth: (menuId: string, grpId: string) => Record<string, boolean> | null;
42
44
  setButtonAuth: (menuId: string, grpId: string, data: Record<string, boolean>) => void;
43
45
  clearButtonAuths: () => void;
@@ -52,6 +54,7 @@ export declare const useUserStore: import('zustand').UseBoundStore<Omit<import('
52
54
  componentSize: ComponentSize;
53
55
  gridSize: GridSize;
54
56
  spacingSize: SpacingSize;
57
+ enableProtectWrapper: boolean;
55
58
  isLoggedIn: () => boolean;
56
59
  }, unknown>>) => void;
57
60
  clearStorage: () => void;
@@ -65,6 +68,7 @@ export declare const useUserStore: import('zustand').UseBoundStore<Omit<import('
65
68
  componentSize: ComponentSize;
66
69
  gridSize: GridSize;
67
70
  spacingSize: SpacingSize;
71
+ enableProtectWrapper: boolean;
68
72
  isLoggedIn: () => boolean;
69
73
  }, unknown>>;
70
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"userStore.d.ts","sourceRoot":"","sources":["../../src/stores/userStore.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAGD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGpC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAErD,aAAa,EAAE,aAAa,CAAC;IAE7B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,CACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KACxB,IAAI,CAAC;IAEV,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEtC,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAE5C,aAAa,EAAE,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEpC,aAAa,EAAE,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,IAAI,CAAC;IAEV,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;8BA7BL,OAAO;;;;;;;;;;;;;8BAAP,OAAO;;;EAyH1B,CAAC"}
1
+ {"version":3,"file":"userStore.d.ts","sourceRoot":"","sources":["../../src/stores/userStore.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAGD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAGpC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAErD,aAAa,EAAE,aAAa,CAAC;IAE7B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,EAAE,WAAW,CAAC;IAEzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,CACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KACxB,IAAI,CAAC;IAEV,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAEtC,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAE5C,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,aAAa,EAAE,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEpC,aAAa,EAAE,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,IAAI,CAAC;IAEV,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;8BA/BL,OAAO;;;;;;;;;;;;;;8BAAP,OAAO;;;EAiI1B,CAAC"}
@@ -54,29 +54,39 @@
54
54
  align-items: center;
55
55
  }
56
56
  /* 공통 버튼 테마 적용 - BwgView의 공통 버튼 영역에만 적용 */
57
- .bwg-view .permission-buttons .ant-btn-primary:not(:disabled):not(.ant-btn-disabled) {
57
+ .bwg-view
58
+ .permission-buttons
59
+ .ant-btn-primary:not(:disabled):not(.ant-btn-disabled) {
58
60
  background-color: var(--button-primary);
59
61
  border-color: var(--button-primary);
60
62
  color: var(--text-white);
61
63
  }
62
64
 
63
- .bwg-view .permission-buttons .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover {
65
+ .bwg-view
66
+ .permission-buttons
67
+ .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover {
64
68
  background-color: var(--button-primary-hover);
65
69
  border-color: var(--button-primary-hover);
66
70
  }
67
71
 
68
- .bwg-view .permission-buttons .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):active {
72
+ .bwg-view
73
+ .permission-buttons
74
+ .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):active {
69
75
  background-color: var(--button-primary-active);
70
76
  border-color: var(--button-primary-active);
71
77
  }
72
78
 
73
- .bwg-view .permission-buttons .bwg-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled) {
79
+ .bwg-view
80
+ .permission-buttons
81
+ .bwg-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled) {
74
82
  background-color: var(--button-default);
75
83
  border-color: var(--button-permission-border);
76
84
  color: var(--text-secondary);
77
85
  }
78
86
 
79
- .bwg-view .permission-buttons .ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover {
87
+ .bwg-view
88
+ .permission-buttons
89
+ .ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover {
80
90
  background-color: var(--button-default);
81
91
  border-color: var(--button-primary);
82
92
  color: var(--button-primary);
@@ -93,20 +103,28 @@
93
103
  color: var(--button-default);
94
104
  border-color: var(--button-error);
95
105
  }
96
- .bwg-error-btn.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover {
106
+ .bwg-error-btn.ant-btn-variant-solid:not(:disabled):not(
107
+ .ant-btn-disabled
108
+ ):hover {
97
109
  background: var(--button-error-solid-hover);
98
110
  border-color: var(--button-error);
99
111
  }
100
- .bwg-error-btn.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover {
112
+ .bwg-error-btn.ant-btn-variant-outlined:not(:disabled):not(
113
+ .ant-btn-disabled
114
+ ):hover {
101
115
  border-color: var(--button-error-default-hover) !important;
102
116
  color: var(--button-error-default-hover) !important;
103
117
  }
104
- .bwg-view .permission-buttons .bwg-error-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled) {
118
+ .bwg-view
119
+ .permission-buttons
120
+ .bwg-error-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled) {
105
121
  background-color: var(--button-default);
106
122
  border-color: var(--button-error-permission-border);
107
123
  color: var(--text-secondary);
108
124
  }
109
- .bwg-view .permission-buttons .bwg-error-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover {
125
+ .bwg-view
126
+ .permission-buttons
127
+ .bwg-error-btn.ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover {
110
128
  background-color: var(--button-default);
111
129
  border-color: var(--button-error);
112
130
  color: var(--button-error);
@@ -121,8 +139,6 @@
121
139
  color: var(--text-white) !important;
122
140
  }
123
141
 
124
-
125
-
126
142
  /* 입력 컴포넌트 */
127
143
  .input-field {
128
144
  border: 1px solid var(--border-color);
@@ -213,8 +229,12 @@
213
229
  .bwg-title-box-right .bwg-button-group .ant-flex {
214
230
  gap: 6px !important;
215
231
  }
216
- .bwg-title-box-right .ant-btn.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,
217
- .bwg-title-box-right .ant-btn.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active {
232
+ .bwg-title-box-right
233
+ .ant-btn.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,
234
+ .bwg-title-box-right
235
+ .ant-btn.ant-btn-variant-outlined:not(:disabled):not(
236
+ .ant-btn-disabled
237
+ ):active {
218
238
  color: var(--primary-color);
219
239
  border-color: var(--primary-color);
220
240
  }
@@ -268,7 +288,7 @@
268
288
  column-gap: 10px;
269
289
  }
270
290
  .bwgview-header-right .ant-space .ant-divider-vertical {
271
- border-inline-start: 1px solid #cecece;
291
+ border-inline-start: 1px solid #cecece;
272
292
  }
273
293
  .bwgview-content {
274
294
  height: inherit;
@@ -386,9 +406,6 @@
386
406
  justify-content: end;
387
407
  }
388
408
 
389
-
390
-
391
-
392
409
  .bwgview-content-box {
393
410
  box-sizing: border-box;
394
411
  display: flex;
@@ -407,7 +424,6 @@
407
424
  &.content-box-right {
408
425
  align-items: flex-end;
409
426
  } */
410
-
411
427
  }
412
428
  /* content layout , content box 커스텀 클래스 */
413
429
  .none-box-st {
@@ -493,7 +509,6 @@
493
509
  flex-flow: nowrap;
494
510
  }
495
511
 
496
-
497
512
  .pageMenuNm {
498
513
  padding-right: 8px;
499
514
  font-size: 20px;
@@ -508,13 +523,13 @@
508
523
  height: 30px;
509
524
  margin-right: 5px;
510
525
  font-size: 20px;
511
- color: #FFC352;
526
+ color: #ffc352;
512
527
  cursor: pointer;
513
528
  transition: color 0.2s;
514
529
  }
515
530
 
516
531
  .bookmark-icon:hover {
517
- color: #FFCE21;
532
+ color: #ffce21;
518
533
  }
519
534
  .page-num-tag {
520
535
  font-size: 11px;
@@ -524,9 +539,9 @@
524
539
  justify-content: center;
525
540
  align-items: center;
526
541
  height: 26px;
527
- border-color: #B2D1FF;
542
+ border-color: #b2d1ff;
528
543
  background: #ddf1ff;
529
- color: #4887E5;
544
+ color: #4887e5;
530
545
  border-radius: 5px;
531
546
  }
532
547
  .page-num-tag + .menu-help-btn {
@@ -548,7 +563,6 @@
548
563
  background-position: center;
549
564
  }
550
565
 
551
-
552
566
  /* BwgCmptArea 컴포넌트 스타일 */
553
567
  .form-component-wrapper {
554
568
  display: flex;
@@ -583,7 +597,6 @@
583
597
  border-color: var(--border-color);
584
598
  border-radius: var(--border-radius-sm);
585
599
  color: var(--text-primary);
586
-
587
600
  }
588
601
 
589
602
  /* Input 컴포넌트 특별 처리 */
@@ -619,7 +632,7 @@
619
632
  /* BwgCmptArea 컴포넌트 공통 스타일 변경 */
620
633
  .form-component-wrapper .ant-form-item .ant-form-item-label label {
621
634
  color: var(--text-primary);
622
- }
635
+ }
623
636
  .form-component-wrapper .ant-form-item .ant-form-item-label label > span {
624
637
  font-weight: var(--font-weight-semibold) !important;
625
638
  }
@@ -659,7 +672,6 @@
659
672
  border-color: #ccc;
660
673
  }
661
674
 
662
-
663
675
  .between-vertical-btn-group {
664
676
  display: flex;
665
677
  justify-content: center;
@@ -680,7 +692,8 @@
680
692
  .between-vertical-btn-group .upDown button .btn-up:hover,
681
693
  .between-vertical-btn-group .upDown button .btn-up:active {
682
694
  border-color: var(--primary-color);
683
- background: var(--primary-color) url(./assets/images/contents/btn/btn-up-on.png) no-repeat center;
695
+ background: var(--primary-color)
696
+ url(./assets/images/contents/btn/btn-up-on.png) no-repeat center;
684
697
  }
685
698
  .between-vertical-btn-group .upDown button .btn-down {
686
699
  background: url(./assets/images/contents/btn/btn-down.png) no-repeat center;
@@ -688,7 +701,8 @@
688
701
  .between-vertical-btn-group .upDown button .btn-down:hover,
689
702
  .between-vertical-btn-group .upDown button .btn-down:active {
690
703
  border-color: var(--primary-color);
691
- background: var(--primary-color) url(./assets/images/contents/btn/btn-down-on.png) no-repeat center;
704
+ background: var(--primary-color)
705
+ url(./assets/images/contents/btn/btn-down-on.png) no-repeat center;
692
706
  }
693
707
  .between-vertical-btn-group .leftRight {
694
708
  flex-direction: column;
@@ -701,17 +715,19 @@
701
715
  }
702
716
  .between-vertical-btn-group .leftRight button .btn-left:hover,
703
717
  .between-vertical-btn-group .leftRight button .btn-left:active {
704
- border-color: var(--primary-color);
705
- background: var(--primary-color) url(./assets/images/contents/btn/btn-left-on.png) no-repeat center;
718
+ border-color: var(--primary-color);
719
+ background: var(--primary-color)
720
+ url(./assets/images/contents/btn/btn-left-on.png) no-repeat center;
706
721
  }
707
722
 
708
723
  .between-vertical-btn-group .leftRight button .btn-right {
709
- background: url(./assets/images/contents/btn/btn-right.png) no-repeat
724
+ background: url(./assets/images/contents/btn/btn-right.png) no-repeat;
710
725
  }
711
726
  .between-vertical-btn-group .leftRight button .btn-right:hover,
712
- .between-vertical-btn-group .leftRight button .btn-right:active {
727
+ .between-vertical-btn-group .leftRight button .btn-right:active {
713
728
  border-color: var(--primary-color);
714
- background: var(--primary-color) url(./assets/images/contents/btn/btn-right-on.png) no-repeat center;
729
+ background: var(--primary-color)
730
+ url(./assets/images/contents/btn/btn-right-on.png) no-repeat center;
715
731
  }
716
732
  .ant-space-compact.block {
717
733
  width: 100%;
@@ -722,11 +738,11 @@
722
738
  position: absolute;
723
739
  top: 5px;
724
740
  right: 5px;
725
- width: 200px;
741
+ width: var(--search-box-width, 200px);
726
742
  height: auto;
727
743
  padding: 5px;
728
744
  opacity: 1;
729
- background: var(--bg-primary);
745
+ background: var(--header-bg);
730
746
  z-index: 100;
731
747
  transform: translateY(0px);
732
748
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
@@ -734,10 +750,8 @@
734
750
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
735
751
  }
736
752
  .grid-search-box .ant-input {
737
- border-radius: 50px 0 0 50px;
738
753
  border: 0;
739
- height: 32px !important;
740
- padding: 0 5px;
754
+ margin-left: 10px;
741
755
  }
742
756
  .grid-search-box .ant-space-compact .ant-btn {
743
757
  border-radius: 50%;
@@ -752,11 +766,11 @@
752
766
  background: var(--button-solid);
753
767
  box-shadow: none;
754
768
  border-radius: 50%;
755
- width: 30px;
756
- height: 30px;
769
+ width: var(--search-button-size, 30px);
770
+ height: var(--search-button-size, 30px);
757
771
  flex-shrink: 0;
758
- font-size: 15px;
759
- line-height: 30px;
772
+ font-size: var(--search-button-font-size, 15px);
773
+ line-height: var(--search-button-size, 30px);
760
774
  color: var(--text-white);
761
775
  }
762
776
  .grid-search-box .ant-flex > .ant-btn:hover {
@@ -780,9 +794,9 @@
780
794
  padding-inline: 13px;
781
795
  }
782
796
  .bwg-tag.ant-tag-blue {
783
- color: #2589F4;
784
- background: #E2F4FF;
785
- border-color: #CAE6FB;
797
+ color: #2589f4;
798
+ background: #e2f4ff;
799
+ border-color: #cae6fb;
786
800
  }
787
801
  /* BwgDrawer 헤더 테마 적용 */
788
802
  .main-drawer .ant-drawer-header {
@@ -799,7 +813,7 @@
799
813
  color: #565656 !important;
800
814
  }
801
815
  .main-drawer .ant-drawer-header .ant-drawer-close:hover {
802
- background-color: #E1E3FB;
816
+ background-color: #e1e3fb;
803
817
  }
804
818
  .main-drawer .ant-drawer-header .bwg-btn {
805
819
  width: 30px;
@@ -809,7 +823,7 @@
809
823
  border-radius: 5px;
810
824
  }
811
825
  .main-drawer .ant-drawer-header .bwg-btn:hover {
812
- background-color: #E1E3FB;
826
+ background-color: #e1e3fb;
813
827
  }
814
828
 
815
829
  /* 다크 테마일 때 Drawer 헤더 */
@@ -865,7 +879,7 @@
865
879
  }
866
880
 
867
881
  [data-theme='modern'] .main-drawer .ant-drawer-header .ant-drawer-close:hover {
868
- background-color: #E1E3FB !important;
882
+ background-color: #e1e3fb !important;
869
883
  }
870
884
 
871
885
  /* Drawer footer */
@@ -879,11 +893,19 @@
879
893
  min-width: 74px;
880
894
  box-shadow: var(--button-shadow);
881
895
  }
882
- .main-drawer .ant-drawer-footer .bwg-btn.ant-btn-variant-outlined:not(.bwg-btn.ant-btn-variant-solid):not(.bwg-error-btn) {
896
+ .main-drawer
897
+ .ant-drawer-footer
898
+ .bwg-btn.ant-btn-variant-outlined:not(.bwg-btn.ant-btn-variant-solid):not(
899
+ .bwg-error-btn
900
+ ) {
883
901
  border-color: var(--button-light-border);
884
902
  color: var(--text-secondary);
885
903
  }
886
- .main-drawer .ant-drawer-footer .bwg-btn.ant-btn-variant-outlined:not(.bwg-btn.ant-btn-variant-solid):not(.bwg-error-btn):hover {
904
+ .main-drawer
905
+ .ant-drawer-footer
906
+ .bwg-btn.ant-btn-variant-outlined:not(.bwg-btn.ant-btn-variant-solid):not(
907
+ .bwg-error-btn
908
+ ):hover {
887
909
  border-color: var(--primary-color);
888
910
  color: var(--primary-color);
889
911
  }
@@ -903,11 +925,11 @@
903
925
  border: 0;
904
926
  padding: 20px;
905
927
  border-radius: 20px;
906
- background: #F3F9FF;
928
+ background: #f3f9ff;
907
929
  }
908
930
  .manual-box .bwg-title-box .ant-typography {
909
931
  font-size: var(--font-size-md);
910
- color:#4B6C8D;
932
+ color: #4b6c8d;
911
933
  }
912
934
  .manual-box .bwg-title-box .ant-typography span {
913
935
  margin-left: 0;
@@ -916,7 +938,7 @@
916
938
  display: inline-flex;
917
939
  flex-direction: column;
918
940
  gap: 19px;
919
- color: #4E5160;
941
+ color: #4e5160;
920
942
  font-size: 13px;
921
943
  font-weight: var(--font-weight-regular);
922
944
  }
@@ -961,14 +983,18 @@
961
983
  }
962
984
 
963
985
  /* bwg-ogrn-tree 내부 체크박스 */
964
- .bwg-ogrn-tree .ant-tree-checkbox:not(.ant-tree-checkbox-disabled):hover .ant-tree-checkbox-inner {
986
+ .bwg-ogrn-tree
987
+ .ant-tree-checkbox:not(.ant-tree-checkbox-disabled):hover
988
+ .ant-tree-checkbox-inner {
965
989
  border-color: var(--check-primary-active);
966
990
  }
967
991
  .bwg-ogrn-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
968
992
  background-color: var(--check-primary);
969
993
  border-color: var(--check-primary);
970
994
  }
971
- .bwg-ogrn-tree .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled):hover .ant-tree-checkbox-inner {
995
+ .bwg-ogrn-tree
996
+ .ant-tree-checkbox-checked:not(.ant-tree-checkbox-disabled):hover
997
+ .ant-tree-checkbox-inner {
972
998
  background-color: var(--check-primary-active);
973
999
  }
974
1000
  /* 북마크 */
@@ -978,10 +1004,12 @@
978
1004
  height: 24px;
979
1005
  }
980
1006
  .bookmark-title-icon.saved {
981
- background: url(./assets/images/contents/icon/ico-save-bookmark.svg) no-repeat center;
1007
+ background: url(./assets/images/contents/icon/ico-save-bookmark.svg) no-repeat
1008
+ center;
982
1009
  }
983
1010
  .bookmark-title-icon.add {
984
- background: url(./assets/images/contents/icon/ico-add-bookmark.svg) no-repeat center;
1011
+ background: url(./assets/images/contents/icon/ico-add-bookmark.svg) no-repeat
1012
+ center;
985
1013
  }
986
1014
  .bookmark-folder-modal-icon {
987
1015
  display: inline-block;
@@ -989,10 +1017,12 @@
989
1017
  height: 20px;
990
1018
  }
991
1019
  .bookmark-folder-modal-icon.ico-new-folder {
992
- background: url(./assets/images/contents/icon/ico-new-folder.svg) no-repeat center;
1020
+ background: url(./assets/images/contents/icon/ico-new-folder.svg) no-repeat
1021
+ center;
993
1022
  }
994
1023
  .bookmark-folder-modal-icon.ico-edit-folder {
995
- background: url(./assets/images/contents/icon/ico-edit-folder.svg) no-repeat center;
1024
+ background: url(./assets/images/contents/icon/ico-edit-folder.svg) no-repeat
1025
+ center;
996
1026
  }
997
1027
  /* BwgEditer */
998
1028
  .ql-container {
@@ -13,4 +13,4 @@ export declare const downloadFile: (data: string, filename: string, type?: strin
13
13
  * @returns API 호출 결과 또는 오류
14
14
  */
15
15
  export declare function downloadByFileKey(fileKey: string): Promise<any>;
16
- //# sourceMappingURL=FileUtils.d.ts.map
16
+ //# sourceMappingURL=fileUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,OAAM,MAAqB,KAAG,IAU1F,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAqCrE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * BwgGrid 커스텀 렌더러 타입 정의
3
+ */
4
+ export interface BwgGridRenderType {
5
+ _root?: any;
6
+ initContent: (dom: any) => void;
7
+ render: (grid: any, model: any, w: any, h: any) => void;
8
+ clearContent: (dom: any) => void;
9
+ canClick: (event: any) => boolean;
10
+ click: () => any;
11
+ }
12
+ /**
13
+ * BwgGrid 렌더러 생성 유틸리티
14
+ */
15
+ export declare const createBwgGridRenderer: (renderFunction: (grid: any, model: any, w: any, h: any, root: any) => void) => BwgGridRenderType;
16
+ export interface GridLayoutInfo {
17
+ menuId: string;
18
+ gridId: string;
19
+ layout: any;
20
+ }
21
+ /**
22
+ * 특정 sysCd의 레이아웃 목록 가져오기
23
+ */
24
+ export declare const getGridLayouts: (sysCd: string) => GridLayoutInfo[];
25
+ /**
26
+ * 특정 sysCd, menuId, gridId에 해당하는 레이아웃 가져오기
27
+ */
28
+ export declare const getGridLayout: (sysCd: string, menuId: string, gridId: string) => any | null;
29
+ /**
30
+ * 그리드 레이아웃 저장
31
+ */
32
+ export declare const saveGridLayout: (sysCd: string, menuId: string, gridId: string, layout: any) => void;
33
+ /**
34
+ * 특정 그리드 레이아웃 삭제
35
+ */
36
+ export declare const removeGridLayout: (sysCd: string, menuId: string, gridId: string) => void;
37
+ /**
38
+ * 특정 sysCd의 모든 레이아웃 삭제
39
+ */
40
+ export declare const clearGridLayouts: (sysCd: string) => void;
41
+ /**
42
+ * 전체 레이아웃 삭제
43
+ */
44
+ export declare const clearAllGridLayouts: () => void;
45
+ //# sourceMappingURL=gridUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridUtils.d.ts","sourceRoot":"","sources":["../../src/utils/gridUtils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACxD,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,KACzE,iBAwBF,CAAC;AASF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,CAAC;CACb;AA8BD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,cAAc,EAG5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,GAAG,GAAG,IAMR,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,QAAQ,GAAG,KACV,IA+BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,IAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,IAKhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO,IAGtC,CAAC"}