@bwg-ui/core 1.1.33 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{common-components-C-dWpBJk.js → common-components-CKPZB7JH.js} +1997 -1981
- package/dist/chunks/common-components-Cw7pbhrp.cjs +183 -0
- package/dist/chunks/{core-uWiM5s5E.js → core-C2wEZy2f.js} +1 -1
- package/dist/chunks/{core-Cdocvd6i.cjs → core-DfOWJ6JQ.cjs} +1 -1
- package/dist/chunks/{enc-base64-1cOwmBuR.js → enc-base64-BNbm__mu.js} +2 -2
- package/dist/chunks/{enc-base64-D3cQUe7q.cjs → enc-base64-DPfS87kE.cjs} +1 -1
- package/dist/chunks/{sha256-C1laOj1I.cjs → sha256-BXXaP9RF.cjs} +1 -1
- package/dist/chunks/{sha256-naKE9EFq.js → sha256-ZWZAX8tH.js} +2 -2
- package/dist/components/common/BwgDraggable.d.ts +1 -1
- package/dist/components/common/BwgDraggable.d.ts.map +1 -1
- package/dist/components/common/BwgGrid.d.ts +4 -4
- package/dist/components/common/BwgGrid.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +5 -5
- package/dist/components/core/BwgUploader.d.ts +31 -6
- package/dist/components/core/BwgUploader.d.ts.map +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +519 -451
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +1 -1
- package/dist/components/layout/AppWrapper.d.ts +13 -0
- package/dist/components/layout/AppWrapper.d.ts.map +1 -0
- package/dist/components/layout/BwgPortal01.d.ts +5 -0
- package/dist/components/layout/BwgPortal01.d.ts.map +1 -0
- package/dist/components/layout/BwgPortal02.d.ts +5 -0
- package/dist/components/layout/BwgPortal02.d.ts.map +1 -0
- package/dist/components/layout/custom/ConfigurableContent.d.ts +4 -0
- package/dist/components/layout/custom/ConfigurableContent.d.ts.map +1 -0
- package/dist/components/layout/{ErrorBound.d.ts → custom/ConfigurableErrorBound.d.ts} +1 -1
- package/dist/components/layout/custom/ConfigurableErrorBound.d.ts.map +1 -0
- package/dist/components/layout/custom/ConfigurableHeader.d.ts +5 -0
- package/dist/components/layout/custom/ConfigurableHeader.d.ts.map +1 -0
- package/dist/components/layout/custom/ConfigurableMenuTab.d.ts +5 -0
- package/dist/components/layout/custom/ConfigurableMenuTab.d.ts.map +1 -0
- package/dist/components/layout/custom/ConfigurableSidebar.d.ts +5 -0
- package/dist/components/layout/custom/ConfigurableSidebar.d.ts.map +1 -0
- package/dist/components/layout/custom/index.d.ts +5 -0
- package/dist/components/layout/custom/index.d.ts.map +1 -0
- package/dist/components/layout/{ViewContainer.d.ts → default/ContentContainer.d.ts} +1 -1
- package/dist/components/layout/default/ContentContainer.d.ts.map +1 -0
- package/dist/components/layout/default/LandingContainer.d.ts +3 -0
- package/dist/components/layout/default/LandingContainer.d.ts.map +1 -0
- package/dist/components/layout/default/LoadingContainer.d.ts +11 -0
- package/dist/components/layout/default/LoadingContainer.d.ts.map +1 -0
- package/dist/components/layout/default/PopupContainer.d.ts +12 -0
- package/dist/components/layout/default/PopupContainer.d.ts.map +1 -0
- package/dist/components/layout/default/index.d.ts +5 -0
- package/dist/components/layout/default/index.d.ts.map +1 -0
- package/dist/components/layout/{PrivateProtectedOverlay.d.ts → extension/ProtectWrapper.d.ts} +3 -3
- package/dist/components/layout/extension/ProtectWrapper.d.ts.map +1 -0
- package/dist/components/layout/extension/index.d.ts +2 -0
- package/dist/components/layout/extension/index.d.ts.map +1 -0
- package/dist/components/layout/index.cjs +2 -2
- package/dist/components/layout/index.d.ts +7 -7
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +1437 -229
- package/dist/components/layout/types.d.ts +181 -0
- package/dist/components/layout/types.d.ts.map +1 -0
- package/dist/components/popup/SearchAddress.d.ts +3 -0
- package/dist/components/popup/SearchAddress.d.ts.map +1 -0
- package/dist/components/popup/SearchDepartmentP01.d.ts +3 -0
- package/dist/components/popup/SearchDepartmentP01.d.ts.map +1 -0
- package/dist/components/popup/SearchDepartmentP02.d.ts +3 -0
- package/dist/components/popup/SearchDepartmentP02.d.ts.map +1 -0
- package/dist/components/popup/SearchEmployeeP01.d.ts +3 -0
- package/dist/components/popup/SearchEmployeeP01.d.ts.map +1 -0
- package/dist/components/popup/SearchEmployeeP02.d.ts +3 -0
- package/dist/components/popup/SearchEmployeeP02.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +133 -128
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +84 -84
- package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
- package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
- package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
- package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
- package/dist/styles/layout-test.css +354 -0
- package/dist/styles/layout.css +65 -78
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.js +3 -3
- package/package.json +4 -1
- package/dist/chunks/common-components-eKBzroXe.cjs +0 -183
- package/dist/components/layout/ErrorBound.d.ts.map +0 -1
- package/dist/components/layout/LoadingOverlay.d.ts +0 -6
- package/dist/components/layout/LoadingOverlay.d.ts.map +0 -1
- package/dist/components/layout/PrivateProtectedOverlay.d.ts.map +0 -1
- package/dist/components/layout/ProgressOverlay.d.ts +0 -11
- package/dist/components/layout/ProgressOverlay.d.ts.map +0 -1
- package/dist/components/layout/ProtectLayout.d.ts +0 -7
- package/dist/components/layout/ProtectLayout.d.ts.map +0 -1
- package/dist/components/layout/PublicLayout.d.ts +0 -7
- package/dist/components/layout/PublicLayout.d.ts.map +0 -1
- package/dist/components/layout/ViewContainer.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../chunks/common-components-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../chunks/common-components-Cw7pbhrp.cjs"),n=()=>e.jsx(o.BwgSpace,{children:"BwgComponentGuide"}),r=()=>e.jsx(o.BwgSpace,{children:"BwgDeveloperGuide"});exports.BwgComponentGuide=n;exports.BwgDeveloperGuide=r;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { a as o } from "../../chunks/common-components-CKPZB7JH.js";
|
|
3
3
|
const t = () => /* @__PURE__ */ e(o, { children: "BwgComponentGuide" }), i = () => /* @__PURE__ */ e(o, { children: "BwgDeveloperGuide" });
|
|
4
4
|
export {
|
|
5
5
|
t as BwgComponentGuide,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface AppWrapperProps {
|
|
3
|
+
routes: {
|
|
4
|
+
login: ReactNode;
|
|
5
|
+
main: ReactNode;
|
|
6
|
+
sso?: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
useCommonProvider?: boolean;
|
|
9
|
+
useServiceProvider?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const AppWrapper: ({ routes, useCommonProvider, useServiceProvider }: AppWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default AppWrapper;
|
|
13
|
+
//# sourceMappingURL=AppWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AppWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,UAAU,eAAe;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAA;QAChB,IAAI,EAAE,SAAS,CAAA;QACf,GAAG,CAAC,EAAE,SAAS,CAAA;KAChB,CAAA;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,UAAU,GAAI,mDAAiE,eAAe,4CAwBnG,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BwgPortal01.d.ts","sourceRoot":"","sources":["../../../src/components/layout/BwgPortal01.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;AAWtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAwHrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BwgPortal02.d.ts","sourceRoot":"","sources":["../../../src/components/layout/BwgPortal02.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAErC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurableContent.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/ConfigurableContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8B/C,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurableErrorBound.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/ConfigurableErrorBound.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EAGV,MAAM,OAAO,CAAC;AAGf,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAGD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CA8EA,CAAC;AAGF,qBAAa,UAAW,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzC,KAAK,EAAE,KAAK;IAKxB,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIpD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAQpD,UAAU,aAER;IAEF,MAAM;CAwEP;AAGD,eAAO,MAAM,eAAe;;yBAGc,KAAK;;CAU9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/ConfigurableHeader.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,WAAW,EAAa,MAAM,UAAU,CAAC;AA4DlD,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,WAAW,CA4PvC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurableMenuTab.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/ConfigurableMenuTab.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAGL,EAAE,EAUH,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA6KxC,QAAA,MAAM,mBAAmB,EAAE,EAAE,CAAC,YAAY,CAmMzC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurableSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/ConfigurableSidebar.tsx"],"names":[],"mappings":"AAuBA,OAAO,EACL,EAAE,EAMH,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAYxC,QAAA,MAAM,mBAAmB,EAAE,EAAE,CAAC,YAAY,CA0nBzC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as ConfigurableContent } from './ConfigurableContent';
|
|
2
|
+
export { default as ConfigurableHeader } from './ConfigurableHeader';
|
|
3
|
+
export { default as ConfigurableMenuTab } from './ConfigurableMenuTab';
|
|
4
|
+
export { default as ConfigurableSidebar } from './ConfigurableSidebar';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/custom/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -5,4 +5,4 @@ declare const _default: import('react').MemoExoticComponent<({ isActive, instanc
|
|
|
5
5
|
params?: Record<string, any>;
|
|
6
6
|
}) => import("react/jsx-runtime").JSX.Element>;
|
|
7
7
|
export default _default;
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=ContentContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/default/ContentContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAiC,MAAM,OAAO,CAAC;8FAOlE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAmFD,wBAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LandingContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/default/LandingContainer.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAoC7B,CAAC;AACF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/default/LoadingContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,EAAE,EAAa,MAAM,OAAO,CAAC;AA0GrD;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAgDlE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { PopupItem } from '../../../stores/popupStore';
|
|
3
|
+
import { PopupContainerProps } from '../types';
|
|
4
|
+
export interface PopupViewProps {
|
|
5
|
+
popup: PopupItem & {
|
|
6
|
+
close: () => void;
|
|
7
|
+
};
|
|
8
|
+
onClose?: () => void;
|
|
9
|
+
}
|
|
10
|
+
declare const PopupContainer: FC<PopupContainerProps>;
|
|
11
|
+
export default PopupContainer;
|
|
12
|
+
//# sourceMappingURL=PopupContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/default/PopupContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,EAAE,EAAiB,MAAM,OAAO,CAAC;AAIzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA2JD,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgD3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as ContentContainer } from './ContentContainer';
|
|
2
|
+
export { default as LandingContainer } from './LandingContainer';
|
|
3
|
+
export { default as LoadingContainer } from './LoadingContainer';
|
|
4
|
+
export { default as PopupContainer } from './PopupContainer';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/default/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/components/layout/{PrivateProtectedOverlay.d.ts → extension/ProtectWrapper.d.ts}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
|
-
declare const
|
|
2
|
+
declare const ProtectWrapper: FC<{
|
|
3
3
|
isActive: boolean;
|
|
4
4
|
flagged: boolean;
|
|
5
5
|
tabKey: string;
|
|
6
6
|
onUnlock: () => void;
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
}>;
|
|
9
|
-
export default
|
|
10
|
-
//# sourceMappingURL=
|
|
9
|
+
export default ProtectWrapper;
|
|
10
|
+
//# sourceMappingURL=ProtectWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtectWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/extension/ProtectWrapper.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,EAAE,EAEF,SAAS,EAKV,MAAM,OAAO,CAAC;AA+Bf,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAkCA,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/extension/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),F=require("../../provider/index.cjs"),B=require("react-router-dom"),_=require("../../chunks/common-components-Cw7pbhrp.cjs"),i=require("antd"),d=require("react"),N=require("../../stores/index.cjs"),v=require("@ant-design/icons"),I=require("../../utils/index.cjs"),R=require("@dnd-kit/core"),se=require("@dnd-kit/modifiers"),V=require("@dnd-kit/sortable");var $=typeof document<"u"?document.currentScript:null;function re(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:()=>n[s]})}}return t.default=n,Object.freeze(t)}const U=re(v),q="bwg-dot-line-wave-v4";function oe(){if(typeof document>"u"||document.getElementById(q))return;const n=document.createElement("style");n.id=q,n.textContent=`
|
|
2
2
|
.bwg-dotline {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
align-items: center;
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
@media (prefers-reduced-motion: reduce) {
|
|
33
33
|
.bwg-dotline .dot { animation: none; }
|
|
34
34
|
}
|
|
35
|
-
`,document.head.appendChild(t)}const T=({colors:t=["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],count:r,size:s=12,gap:o=10,amp:l=16,speedMs:i=900,direction:h="ltr",phase:x=.7})=>{n.useEffect(()=>{I()},[]);const c=r??t.length,g=Array.from({length:c}),u={"--bwg-size":`${s}px`,"--bwg-gap":`${o}px`,"--bwg-amp":`${l}px`,"--bwg-speed":`${i}ms`},m=i/c*x;return e.jsx("span",{className:"bwg-dotline",role:"img","aria-label":"loading",style:u,children:g.map((O,p)=>e.jsx("span",{className:"dot",style:{backgroundColor:t[p%t.length],animationDelay:h==="ltr"?`${p*m}ms`:`${(c-1-p)*m}ms`}},p))})},f=({spin:t=null,text:r="인증중..."})=>{const{busy:s}=d.useAuth();return t??s?e.jsxs("div",{style:{position:"fixed",height:"100vh",left:0,right:0,top:0,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(0,0,0,0.6)",color:"#fff",zIndex:1e4},"aria-live":"polite","aria-busy":"true",role:"status",children:[e.jsx(a.Spin,{indicator:e.jsx(T,{colors:["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],size:12,gap:10,amp:16,speedMs:900,phase:.75,direction:"ltr"})}),e.jsx("span",{className:"bwg-spin-txt",style:{marginTop:"15px"},children:r})]}):null},D=()=>{const{reauthWithPin:t}=d.useAuth();return e.jsx(d.ScreenProtectProvider,{idleMs:30*6e4,onUnlock:async r=>j.isLocal?!0:!!r&&await t(r),children:e.jsx(a.ConfigProvider,{getPopupContainer:()=>document.getElementById("app-shell")||document.body,children:e.jsxs("div",{id:"app-shell",children:[e.jsx(f,{}),e.jsx(v.Outlet,{})]})})})},F=()=>e.jsxs("div",{children:[e.jsx(f,{}),e.jsx(v.Outlet,{})]}),L=({isActive:t,instance:r,params:s})=>{const{activeMenuId:o,closeTab:l}=S.useMenuViewStore(),i=()=>{o&&l(o)};return r?e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",visibility:t?"visible":"hidden",opacity:t?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:t?"auto":"none"},children:e.jsx(w,{children:e.jsx(n.Suspense,{fallback:null,children:r&&n.createElement(r,{params:s})})})}):e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",visibility:t?"visible":"hidden",opacity:t?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:t?"auto":"none"},children:e.jsx("div",{style:{width:500,maxWidth:"90%",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.05)",padding:24},children:e.jsx(a.Result,{icon:e.jsx(y.ExclamationCircleTwoTone,{twoToneColor:"#69b1ff"}),status:"warning",title:"등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",subTitle:e.jsx(a.Typography.Text,{type:"secondary",children:"자세한 내용은 관리자에게 문의바랍니다."}),extra:e.jsx(a.Space,{children:e.jsx(a.Button,{icon:e.jsx(y.CloseOutlined,{}),onClick:i,children:"탭 닫기"})})})})})},R=n.memo(L);exports.ErrorBound=w;exports.LoadingOverlay=C;exports.PrivateProtectedOverlay=P;exports.ProgressOverlay=f;exports.ProtectedLayout=D;exports.PublicLayout=F;exports.ViewContainer=R;
|
|
35
|
+
`,document.head.appendChild(n)}const ae=({colors:n=["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],count:t,size:s=12,gap:o=10,amp:a=16,speedMs:g=900,direction:y="ltr",phase:u=.7})=>{d.useEffect(()=>{oe()},[]);const f=t??n.length,m=Array.from({length:f}),h={"--bwg-size":`${s}px`,"--bwg-gap":`${o}px`,"--bwg-amp":`${a}px`,"--bwg-speed":`${g}ms`},C=g/f*u;return e.jsx("span",{className:"bwg-dotline",role:"img","aria-label":"loading",style:h,children:m.map((r,l)=>e.jsx("span",{className:"dot",style:{backgroundColor:n[l%n.length],animationDelay:y==="ltr"?`${l*C}ms`:`${(f-1-l)*C}ms`}},l))})},ie=({spin:n=null,text:t="인증중..."})=>n??!0?e.jsxs("div",{style:{position:"fixed",height:"100vh",left:0,right:0,top:0,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(0,0,0,0.6)",color:"#fff",zIndex:1e4},"aria-live":"polite","aria-busy":"true",role:"status",children:[e.jsx(i.Spin,{indicator:e.jsx(ae,{colors:["#DAD3FF","#B3A6FF","#9380FF","#816BFA"],size:12,gap:10,amp:16,speedMs:900,phase:.75,direction:"ltr"})}),e.jsx("span",{className:"bwg-spin-txt",style:{marginTop:"15px"},children:t})]}):null,le=({routes:n,useCommonProvider:t=!0,useServiceProvider:s=!0})=>{let a=e.jsxs(B.Routes,{children:[e.jsx(B.Route,{path:"/",element:e.jsx(B.Navigate,{to:"/login"})}),e.jsx(B.Route,{path:"/login",element:n.login}),e.jsx(B.Route,{path:"/main",element:n.main})]});return s&&(a=e.jsx(F.ServiceCodeProvider,{children:a})),t&&(a=e.jsx(F.CommonCodeProvider,{children:a})),e.jsx(_.GlobalConfigProvider,{children:a})},{Content:ce}=i.Layout,K=({config:n={},children:t})=>{const s={wrapper:{className:"content-wrapper",...n.wrapper},body:{className:"content-body",...n.body},...n};return e.jsx(ce,{className:s.wrapper.className,style:s.wrapper.style,children:e.jsx(_.BwgConfigProvider,{children:e.jsx("div",{className:s.body.className,style:s.body.style,children:t})})})},de="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.9998%2019.9993V20.9993C11.9998%2021.3932%2012.0774%2021.7833%2012.2282%2022.1473C12.3789%2022.5112%2012.5999%2022.8419%2012.8785%2023.1205C13.157%2023.399%2013.4877%2023.62%2013.8517%2023.7708C14.2156%2023.9215%2014.6057%2023.9991%2014.9997%2023.9991C15.3936%2023.9991%2015.7837%2023.9215%2016.1477%2023.7708C16.5116%2023.62%2016.8423%2023.399%2017.1209%2023.1205C17.3994%2022.8419%2017.6204%2022.5112%2017.7712%2022.1473C17.9219%2021.7833%2017.9995%2021.3932%2017.9995%2020.9993V19.9993M20.9994%2011.9997C20.9994%2014.9996%2022.9993%2019.9993%2022.9993%2019.9993H7.00006C7.00006%2019.9993%208.99996%2015.9995%208.99996%2011.9997C8.99996%208.73187%2011.7318%206%2014.9997%206C18.2675%206%2020.9994%208.73187%2020.9994%2011.9997Z'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",ue="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_93_4488)'%3e%3cpath%20d='M18%207H21C22.1046%207%2023%207.89543%2023%209V21C23%2022.1046%2022.1046%2023%2021%2023H18M11%2011L7%2015M7%2015L11%2019M7%2015L19%2015'%20stroke='%23485299'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_93_4488'%3e%3crect%20width='30'%20height='30'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",pe="data:image/svg+xml,%3csvg%20width='30'%20height='30'%20viewBox='0%200%2030%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14%206H16C16.5523%206%2017%206.44772%2017%207V7.56879C17%207.99659%2017.2871%208.36825%2017.6822%208.53228C18.0775%208.69638%2018.5377%208.63384%2018.8403%208.33123L19.2426%207.92891C19.6331%207.53838%2020.2663%207.53838%2020.6568%207.92891L22.071%209.34312C22.4616%209.73365%2022.4615%2010.3668%2022.071%2010.7573L21.6688%2011.1596C21.3661%2011.4622%2021.3036%2011.9225%2021.4677%2012.3177C21.6317%2012.7129%2022.0034%2013%2022.4313%2013L23%2013C23.5523%2013%2024%2013.4477%2024%2014V16C24%2016.5523%2023.5523%2017%2023%2017H22.4312C22.0034%2017%2021.6318%2017.2871%2021.4677%2017.6822C21.3036%2018.0775%2021.3661%2018.5377%2021.6688%2018.8403L22.071%2019.2426C22.4616%2019.6331%2022.4616%2020.2663%2022.071%2020.6568L20.6568%2022.071C20.2663%2022.4616%2019.6331%2022.4616%2019.2426%2022.071L18.8403%2021.6688C18.5377%2021.3661%2018.0775%2021.3036%2017.6822%2021.4677C17.2871%2021.6318%2017%2022.0034%2017%2022.4312V23C17%2023.5523%2016.5523%2024%2016%2024H14C13.4477%2024%2013%2023.5523%2013%2023V22.4313C13%2022.0034%2012.7129%2021.6317%2012.3177%2021.4677C11.9225%2021.3036%2011.4622%2021.3661%2011.1596%2021.6688L10.7573%2022.071C10.3668%2022.4616%209.73363%2022.4616%209.34311%2022.071L7.92889%2020.6568C7.53837%2020.2663%207.53837%2019.6331%207.92889%2019.2426L8.33123%2018.8403C8.63384%2018.5377%208.69638%2018.0775%208.53228%2017.6822C8.36825%2017.2871%207.99659%2017%207.56879%2017H7C6.44772%2017%206%2016.5523%206%2016V14C6%2013.4477%206.44772%2013%207%2013L7.56877%2013C7.99658%2013%208.36825%2012.7129%208.53229%2012.3178C8.6964%2011.9225%208.63386%2011.4623%208.33123%2011.1597L7.92891%2010.7573C7.53838%2010.3668%207.53838%209.73365%207.92891%209.34313L9.34312%207.92891C9.73365%207.53839%2010.3668%207.53839%2010.7573%207.92891L11.1597%208.33123C11.4623%208.63386%2011.9225%208.6964%2012.3178%208.53229C12.7129%208.36825%2013%207.99658%2013%207.56876V7C13%206.44772%2013.4477%206%2014%206Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3cpath%20d='M17%2015C17%2016.1046%2016.1046%2017%2015%2017C13.8954%2017%2013%2016.1046%2013%2015C13%2013.8954%2013.8954%2013%2015%2013C16.1046%2013%2017%2013.8954%2017%2015Z'%20stroke='%23485299'%20stroke-width='1.5'/%3e%3c/svg%3e",{Header:me}=i.Layout,P={light:{headerBg:"#ffffff",headerText:"#000000",sidebarBg:"#ffffff",sidebarText:"#000000",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#d9d9d9",buttonPermissionBorder:"#bdb1ff"},dark:{headerBg:"#4a4a4a",headerText:"#ffffff",sidebarBg:"#4a4a4a",sidebarText:"#ffffff",buttonPrimary:"#177ddc",buttonPrimaryHover:"#1890ff",buttonPrimaryActive:"#0958b5",buttonDefault:"#434343",buttonDefaultHover:"#303030",buttonDefaultBorder:"#434343",buttonPermissionBorder:"#bdb1ff"},blue:{headerBg:"#4a90e2",headerText:"#ffffff",sidebarBg:"#4a90e2",sidebarText:"#ffffff",buttonPrimary:"#1890ff",buttonPrimaryHover:"#40a9ff",buttonPrimaryActive:"#096dd9",buttonDefault:"#ffffff",buttonDefaultHover:"#f0f8ff",buttonDefaultBorder:"#4a90e2",buttonPermissionBorder:"#bdb1ff"},modern:{headerBg:"#f3f4ff",headerText:"#333333",sidebarBg:"#ffffff",sidebarText:"#555555",buttonPrimary:"#6449FC",buttonPrimaryHover:"#6449FC",buttonPrimaryActive:"#6449FC",buttonDefault:"#ffffff",buttonDefaultHover:"#f5f5f5",buttonDefaultBorder:"#dddddd",buttonPermissionBorder:"#bdb1ff"}},Z=({config:n={}})=>{const t={wrapper:{className:"header-wrapper",...n.wrapper},logo:{gap:10,...n.logo},right:{gap:14,minWidth:200,avatar:{width:30,height:30,...n.right?.avatar},...n.right},...n},s=B.useNavigate(),[o,a]=d.useState("modern"),g=d.useRef(null),{logout:y}=N.useUserStore(),u=(r,l)=>{try{if(!/^[a-zA-Z0-9-]+$/.test(r)){console.warn(`Invalid CSS variable name: ${r}`);return}if(!/^[#a-zA-Z0-9()\s,.-]+$/.test(l)){console.warn(`Invalid CSS variable value: ${l}`);return}document.documentElement.style.setProperty(r,l)}catch(T){console.error("CSS variable setting failed:",T)}},f=r=>{if(!P[r]){console.warn(`Invalid theme: ${r}`);return}a(r);const l={...P[r]};u("--header-bg",l.headerBg),u("--header-text",l.headerText),u("--sidebar-bg",l.sidebarBg),u("--sidebar-text",l.sidebarText),u("--button-primary",l.buttonPrimary),u("--button-primary-hover",l.buttonPrimaryHover),u("--button-primary-active",l.buttonPrimaryActive),u("--button-default",l.buttonDefault),u("--button-default-hover",l.buttonDefaultHover),u("--button-default-border",l.buttonDefaultBorder),u("--button-permission-border",l.buttonPermissionBorder),g.current&&g.current.setAttribute("data-theme",r),document.documentElement.setAttribute("data-theme",r),I.setCookie(I.THEME_COOKIE_NAME,r,30)};d.useEffect(()=>{const r=I.getCookie(I.THEME_COOKIE_NAME);r&&P[r]?f(r):f("modern")},[]);const m=()=>({...P[o]}).headerBg,h=()=>{y(),s("/login")};I.getCurrentDateString?I.getCurrentDateString("HH:mm:ss"):new Date().toLocaleTimeString("ko-KR");const C=e.jsxs("div",{style:{padding:"8px 0"},children:[e.jsxs("div",{style:{marginBottom:"12px"},children:[e.jsx(i.ColorPicker,{value:m(),disabled:!0,size:"small"}),e.jsx("span",{style:{marginLeft:"8px",fontSize:"12px"},children:"현재 테마 색상"})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[e.jsx(i.Button,{type:o==="modern"?"primary":"default",size:"small",onClick:()=>f("modern"),style:{textAlign:"left",backgroundColor:o==="modern"?P.modern.headerBg:void 0,color:o==="modern"?P.modern.headerText:void 0},children:"모던"},"modern"),Object.entries(P).filter(([r])=>r!=="modern").map(([r,l])=>e.jsx(i.Button,{type:o===r?"primary":"default",size:"small",onClick:()=>f(r),style:{textAlign:"left",backgroundColor:o===r?l.headerBg:void 0,color:o===r?l.headerText:void 0},children:r==="light"?"라이트":r==="dark"?"다크":r==="blue"?"블루":r},r))]})]});return e.jsxs(me,{className:t.wrapper.className,style:{...t.wrapper.style},children:[t.logo&&e.jsx("div",{className:"header-left",children:e.jsx("div",{className:"logo-container",style:{gap:t.logo?.gap},children:t.logo?.items})}),e.jsxs("div",{className:"header-right",style:{gap:t.right?.gap,minWidth:t.right?.minWidth},children:[t.right?.items?.map((r,l)=>e.jsx("div",{children:r},l)),e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:de,alt:"알림"}),className:"alarm-btn"}),e.jsx(i.Popover,{content:C,title:"테마 설정",trigger:"click",placement:"bottomRight",children:e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:pe,alt:"개인설정"}),className:"theme-btn"})}),e.jsx(i.Button,{type:"text",icon:e.jsx("img",{src:ue,alt:"로그아웃"}),onClick:h,className:"logout-btn"}),e.jsx(i.Avatar,{icon:e.jsx(v.UserOutlined,{}),className:"avatar",style:{width:t.right?.avatar?.width,height:t.right?.avatar?.height}})]})]})},W=Object.freeze({Translate:{toString(n){if(!n)return;const{x:t,y:s}=n;return"translate3d("+(t?Math.round(t):0)+"px, "+(s?Math.round(s):0)+"px, 0)"}},Scale:{toString(n){if(!n)return;const{scaleX:t,scaleY:s}=n;return"scaleX("+t+") scaleY("+s+")"}},Transform:{toString(n){if(n)return[W.Translate.toString(n),W.Scale.toString(n)].join(" ")}},Transition:{toString(n){let{property:t,duration:s,easing:o}=n;return t+" "+s+"ms "+o}}}),he=d.memo(({className:n,...t})=>{const s=d.useRef(null),{attributes:o,listeners:a,transform:g,transition:y,isDragging:u,setNodeRef:f}=V.useSortable({id:t["data-node-key"]}),[m,h]=d.useState();d.useEffect(()=>{const r=s.current;if(r)if(u){const l=Math.round(r.getBoundingClientRect().width);h(l)}else h(void 0)},[u]);const C={...t.style,transform:g?W.Transform.toString(g):void 0,transition:y??"transform 0.16s ease",cursor:"grab",userSelect:"none",willChange:"transform",width:m??void 0,minWidth:m??void 0,maxWidth:m??void 0,flex:m!==void 0?"0 0 auto":void 0};return d.cloneElement(t.children,{ref:r=>{s.current!==r&&(s.current=r),f(r)},style:C,...o,...a})}),ge=d.memo(function({config:t,isFirst:s,isLast:o,canCloseAll:a,onFirst:g,onPrev:y,onNext:u,onLast:f,onCloseAll:m}){return e.jsxs("div",{className:t.wrapper?.className,style:t.wrapper?.style,children:[e.jsx(i.Tooltip,{title:"첫 번째 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.StepBackwardOutlined,{}),onClick:g,disabled:s})}),e.jsx(i.Tooltip,{title:"이전 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.LeftOutlined,{}),onClick:y,disabled:s})}),e.jsx(i.Tooltip,{title:"다음 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.RightOutlined,{}),onClick:u,disabled:o})}),e.jsx(i.Tooltip,{title:"마지막 탭",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.StepForwardOutlined,{}),onClick:f,disabled:o})}),e.jsx(i.Tooltip,{title:"모든 탭 닫기",className:t.tooltip?.className,style:t.tooltip?.style,children:e.jsx(i.Button,{className:t.buttons?.className,style:t.buttons?.style,size:"small",icon:e.jsx(v.CloseOutlined,{}),onClick:m,disabled:!a})})]})}),Y=({config:n={}})=>{const t={wrapper:{className:"menu-tab-wrapper",...n?.wrapper},tabs:{className:"menu-tabs",...n?.tabs},nav:{wrapper:{className:"menu-nav-wrapper",...n?.nav?.wrapper},buttons:{className:"menu-nav-buttons",...n?.nav?.buttons},tooltip:{className:"menu-nav-tooltip",...n?.nav?.tooltip},...n?.nav},...n},s=N.useMenuViewStore(p=>p.tabs),o=N.useMenuViewStore(p=>p.activeMenuId),a=N.useMenuViewStore(p=>p.focusTab),g=N.useMenuViewStore(p=>p.closeTab),y=N.useMenuViewStore(p=>p.reorderTabs),u=R.useSensors(R.useSensor(R.PointerSensor,{activationConstraint:{distance:6}})),f=p=>{a(p)},m=(p,k)=>{k==="remove"&&typeof p=="string"&&g(p)},h=()=>{s.length>0&&a(s[0].key)},C=()=>{if(!o||s.length<=1)return;const p=s.findIndex(k=>k.key===o);p>0&&a(s[p-1].key)},r=()=>{if(!o||s.length<=1)return;const p=s.findIndex(k=>k.key===o);p<s.length-1&&a(s[p+1].key)},l=()=>{s.length>0&&a(s[s.length-1].key)},T=()=>{s.forEach(p=>{g(p.key)})},E=o?s.findIndex(p=>p.key===o):-1,O=E===0,D=E===s.length-1,H=d.useMemo(()=>s.map(p=>({key:p.key,label:p.label,closable:!0,children:null})),[s]),z=d.useCallback(({active:p,over:k})=>{if(!k||p.id===k.id)return;const S=s.findIndex(c=>c.key===p.id),L=s.findIndex(c=>c.key===k.id);if(S<0||L<0||S===L)return;const x=s.map(c=>c.key),b=V.arrayMove(x,S,L);y?.(b)},[s,y]),A=d.useCallback((p,k)=>e.jsx(R.DndContext,{sensors:u,onDragEnd:z,collisionDetection:R.closestCenter,modifiers:[se.restrictToHorizontalAxis],children:e.jsx(V.SortableContext,{items:s.map(S=>S.key),strategy:V.horizontalListSortingStrategy,children:e.jsx(k,{...p,children:S=>d.createElement(he,{...S.props,key:S.key},S)})})}),[u,z,s]);return e.jsx("div",{className:t.wrapper.className,style:{...t.wrapper.style,display:s.length===0?"none":"block"},children:e.jsx(i.Tabs,{type:"editable-card",activeKey:o||void 0,onChange:f,onEdit:m,className:t.tabs.className,style:t.tabs.style,hideAdd:!0,items:H,tabBarExtraContent:e.jsx(ge,{config:t?.nav,isFirst:!!O,isLast:!!D,canCloseAll:s.length>0,onFirst:h,onPrev:C,onNext:r,onLast:l,onCloseAll:T}),renderTabBar:A})})},{Sider:fe}=i.Layout,X=({config:n={}})=>{const t={collapsed:!1,width:230,menuGubunCode:{mainMenu:"MAIN",subMenu:"SUB",program:"PRGM",...n?.menuGubunCode},className:{wrapper:"side-wrapper",search:"sider-search-ipt",segmented:{wrapper:"sider-segmented",item:"sider-segment-item",...n?.className?.segmented},sider:{content:"sider-content",loading:"sider-loading",loadingText:"sider-loading-text",error:"sider-error",errorIcon:"sider-error-icon",errorText:"sider-error-text",menu:"sider-menu",menuContainer:"sider-menu-container",...n?.className?.sider},...n?.className},style:{search:{placeholder:"메뉴명, 메뉴번호 검색...",height:30,...n?.style?.search},...n?.style},...n};console.log("@@ 사이드바 config : ",n);const[s,o]=d.useState(""),[a,g]=d.useState("category"),{activeMenuId:y,sidebarCollapsed:u,openTabFromMenu:f,toggleSidebar:m}=N.useMenuViewStore(),{menuList:h,isLoading:C,error:r,findMenuById:l}=N.useMenuModelStore(),{nodes:T,treeNodes:E,loadFavoritesIfNeeded:O}=N.useFavoriteStore(),D=d.useMemo(()=>{const x=[],b=(c,w=0)=>{if(c.menuGbCd===t.menuGubunCode.program&&c.scrnPath){const j=" ".repeat(w),M=c.menuNo||"";x.push({value:c.menuId,label:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsxs("span",{children:[j,c.menuNm]}),e.jsx("span",{style:{fontSize:"11px",color:"#999",backgroundColor:"#f0f0f0",padding:"2px 6px",borderRadius:"3px",marginLeft:"8px"},children:M})]}),menuItem:c})}c.children&&c.children.length>0&&c.children.forEach(j=>b(j,w+1))};return h.forEach(c=>b(c)),x},[h]),H=d.useMemo(()=>s.trim()?D.filter(x=>{const b=x.menuItem.menuNm.toLowerCase(),c=String(x.menuItem.menuNo||"미지정").toLowerCase(),w=s.toLowerCase();return b.includes(w)||c.includes(w)}):[],[D,s]),z=x=>{if(!x||typeof x!="string"){console.warn("Invalid menu selection value:",x);return}if(!/^[a-zA-Z0-9_-]+$/.test(x)){console.warn("Invalid menu ID format:",x);return}const b=D.find(c=>c.value===x);if(b){const{menuItem:c}=b;if(!c||!c.menuId||!c.menuNm){console.warn("Invalid menu item:",c);return}c.menuGbCd===t.menuGubunCode.program&&c.scrnPath?(console.log("✅ 검색으로 프로그램 메뉴 선택 - 탭 추가 및 setCurrentProgram 호출"),console.log("메뉴명:",c.menuNm,"경로:",c.scrnPath,"scrnId:",c.scrnId),f(c)):(c.menuGbCd===t.menuGubunCode.mainMenu||c.menuGbCd===t.menuGubunCode.subMenu)&&(console.log("❌ 검색으로 메인/서브 메뉴 선택 - 이벤트 무시"),console.log("메뉴명:",c.menuNm,"menuGbCd:",c.menuGbCd)),o("")}},A=d.useCallback(x=>{const b=l(x);b?.menuGbCd===t.menuGubunCode.program&&(console.log("메뉴명:",b.menuNm,"경로:",b.scrnPath,"scrnId:",b.scrnId),f(b))},[l,f]),p=d.useCallback(x=>x.map(b=>({key:b.menuId,label:e.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:e.jsx("span",{children:b.menuNm})}),icon:k(b.iconCd,b.menuGbCd),children:b.children&&b.children.length>0?p(b.children):void 0})),[]),k=(x,b)=>{if(x){const c=U[x];if(c)return e.jsx(c,{})}if(b)switch(b){case t.menuGubunCode.mainMenu:return e.jsx(U.HomeOutlined,{});case t.menuGubunCode.subMenu:return null;case t.menuGubunCode.program:return null;default:return null}return null},S=d.useCallback(x=>{if(h.length===0)return[];const b=w=>{if(w)return typeof w=="string"?T[w]:w},c=w=>{if(w.type==="M"){const j=w,M=l(j.menuId)||void 0,G=!!M,ne=G?`${M?.menuNm??j.menuNm??j.menuId}`:`${j.menuNm??j.menuId} (삭제됨)`;return{key:j.menuId,label:ne,icon:G?void 0:e.jsx(v.WarningOutlined,{style:{color:"#faad14"}})}}else{const j=w,M=(j.children??[]).map(b).filter(Boolean).map(c);return{key:j.bkmkId,label:j.bkmkNm??j.bkmkId,icon:j.prntBkmkId==="-"?e.jsx(v.StarOutlined,{}):e.jsx(v.FolderOpenOutlined,{}),children:M}}};return x.map(c)},[l,T,h]),L=d.useMemo(()=>S(E),[S,E,T]);return d.useEffect(()=>{I.getUserId()&&O(I.getUserId())},[O]),d.useEffect(()=>{a==="category"&&o("")},[a]),e.jsxs(fe,{className:t.className.wrapper,collapsed:t.collapsed||u,trigger:null,width:t.width||230,children:[e.jsx("div",{style:{position:"absolute",top:"9px",right:"-25px",zIndex:"1000",width:"25px",height:"41px",backgroundColor:"#ffffff",border:"1px solid #dddddd",borderRadius:"0 10px 10px 0",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",boxShadow:"2px 2px 2px rgba(0, 0, 0, 0.05)",transition:"all 0.3s ease"},children:e.jsx(i.Button,{type:"text",icon:t.collapsed||u?e.jsx(v.MenuUnfoldOutlined,{}):e.jsx(v.MenuFoldOutlined,{}),style:{fontSize:"12px",color:"#787878",padding:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},onClick:m})}),!(t.collapsed||u)&&e.jsx("div",{style:{padding:10},children:e.jsx(i.AutoComplete,{value:s,options:H,onSelect:z,onSearch:o,style:{width:"100%"},allowClear:!0,children:e.jsx(i.Input,{className:t.className.search,placeholder:t.style.search.placeholder,prefix:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:e.jsx("path",{d:"M16.4972 16.6667L13.0355 13.1694M14.8475 8.75C14.8475 5.29822 12.0777 2.5 8.66105 2.5C5.24437 2.5 2.47461 5.29822 2.47461 8.75C2.47461 12.2018 5.24437 15 8.66105 15C12.0777 15 14.8475 12.2018 14.8475 8.75Z",stroke:"#5F5F5F",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),size:"middle",style:{height:t.style.search.height||30}})})}),!(t.collapsed||u)&&e.jsx("div",{style:{width:"100%",padding:"0px 10px",marginBottom:"10px"},children:e.jsx(i.Segmented,{className:t.className.segmented.wrapper,options:[{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e.jsx("path",{d:"M2.46979 6.90625H13.0298C13.7298 6.90625 14.2965 7.47292 14.2965 8.17292V13.5396H1.20312V8.17292C1.20312 7.47292 1.76979 6.90625 2.46979 6.90625Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M2.76318 4.70626C2.76318 4.00626 3.18318 3.75293 3.69652 3.75293H11.8032C12.3165 3.75293 12.7365 4.00626 12.7365 4.70626",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M4.71631 1.45996H10.783",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}),"카테고리"]}),value:"category"},{label:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.className.segmented.item,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",children:e.jsx("path",{d:"M7.11329 1.33356C7.32084 0.888813 7.66676 0.888813 7.88296 1.33356L9.258 4.25619C9.46556 4.70094 10.0277 5.12753 10.4947 5.20014L13.5647 5.67212C14.0317 5.74473 14.1441 6.08964 13.7982 6.43455L11.5757 8.70367C11.2384 9.04858 11.0222 9.73839 11.1 10.2285L11.6276 13.4325C11.7054 13.9227 11.4287 14.1405 11.0049 13.9045L8.26348 12.3887C7.83972 12.1527 7.15653 12.1527 6.73277 12.3887L3.99134 13.9045C3.56759 14.1405 3.29085 13.9227 3.36868 13.4325L3.89621 10.2285C3.97405 9.73839 3.76649 9.04858 3.42057 8.70367L1.19802 6.43455C0.86075 6.08964 0.964526 5.74473 1.43152 5.67212L4.50158 5.20014C4.96857 5.12753 5.5307 4.70094 5.73825 4.25619L7.11329 1.33356Z",stroke:"currentColor",strokeWidth:"1.5",strokeMiterlimit:"4"})})}),"즐겨찾기"]}),value:"favorite"}],value:a,onChange:x=>{g(x)},style:{width:"100%"},block:!0})}),e.jsxs("div",{className:t.className.sider.content,children:[C&&e.jsxs("div",{className:t.className.sider.loading,children:[e.jsx(i.Spin,{size:"default"}),e.jsx("div",{className:t.className.sider.loadingText,children:"메뉴 로딩 중..."})]}),r&&e.jsxs("div",{className:t.className.sider.error,children:[e.jsx(v.ExclamationCircleOutlined,{className:t.className.sider.errorIcon}),e.jsx("div",{className:t.className.sider.errorText,children:"메뉴 로드 실패"})]}),!C&&!r&&a==="category"&&h.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"메뉴가 없습니다"}),!C&&!r&&a==="favorite"&&L.length===0&&e.jsx("div",{style:{padding:"16px",textAlign:"center",color:"#666",fontSize:"12px"},children:"즐겨찾기된 메뉴가 없습니다"}),!C&&!r&&a==="category"&&h.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:p(h),className:t.className.sider.menu,selectedKeys:[y||""],onClick:x=>A(x.key)})}),!C&&!r&&a==="favorite"&&L.length>0&&e.jsx("div",{className:t.className.sider.menuContainer,children:e.jsx(i.Menu,{theme:"light",mode:"inline",items:L,className:t.className.sider.menu,selectedKeys:[y||""],onClick:x=>A(x.key)})})]})]})};class xe extends d.Component{constructor(t){super(t),this.resetError=()=>{this.setState({hasError:!1,error:void 0,errorInfo:void 0})},this.state={hasError:!1}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,s){console.error("ErrorBound caught an error:",t,s),this.setState({error:t,errorInfo:s})}render(){return this.state.hasError?this.props.fallback?this.props.fallback:e.jsxs("div",{style:{padding:"40px 20px",textAlign:"center",backgroundColor:"#fafafa",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"},children:[e.jsx(i.Result,{status:"error",title:"컴포넌트 로딩 중 오류가 발생했습니다",subTitle:this.state.error?`오류 내용: ${this.state.error.message}`:"알 수 없는 오류가 발생했습니다",extra:[e.jsx(i.Button,{type:"primary",icon:e.jsx(v.ReloadOutlined,{}),onClick:this.resetError,style:{marginRight:8},children:"다시 시도"},"retry")]}),this.state.error&&e.jsxs("details",{style:{marginTop:"20px",textAlign:"left",maxWidth:"600px",backgroundColor:"#fff",padding:"16px",borderRadius:"6px",border:"1px solid #d9d9d9"},children:[e.jsx("summary",{style:{cursor:"pointer",fontWeight:"bold"},children:"오류 상세 정보"}),e.jsx("pre",{style:{marginTop:"8px",fontSize:"12px",color:"#666",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:this.state.error.stack})]})]}):this.props.children}}const be=({isActive:n,instance:t,params:s})=>{const{activeMenuId:o,closeTab:a}=N.useMenuViewStore(),g=()=>{o&&a(o)};return t?e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx(xe,{children:e.jsx(d.Suspense,{fallback:null,children:t&&d.createElement(t,{params:s})})})}):e.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"},children:e.jsx("div",{style:{width:500,maxWidth:"90%",background:"#fff",borderRadius:16,boxShadow:"0 8px 30px rgba(0,0,0,0.05)",padding:24},children:e.jsx(i.Result,{icon:e.jsx(v.ExclamationCircleTwoTone,{twoToneColor:"#69b1ff"}),status:"warning",title:"등록된 메뉴 정보가 없거나 유효한 메뉴가 아닙니다.",subTitle:e.jsx(i.Typography.Text,{type:"secondary",children:"자세한 내용은 관리자에게 문의바랍니다."}),extra:e.jsx(i.Space,{children:e.jsx(i.Button,{icon:e.jsx(v.CloseOutlined,{}),onClick:g,children:"탭 닫기"})})})})})},Q=d.memo(be),J=()=>e.jsxs(e.Fragment,{children:[e.jsx("link",{rel:"preload",as:"image",href:"/src/styles/assets/images/backgrounds/LandingContainer_bg.png"}),e.jsx("div",{className:"LandingContainer-wrap",children:e.jsx("div",{className:"inner",children:e.jsx("div",{className:"content"})})})]}),ye=(n,t)=>{console.log("createPopupViewLoader 호출 - popupUrl:",n);const o=(a=>{if(a.startsWith("/src/pages/views/popup/")){const u=a+".tsx";return console.log(`팝업 URL 변환: ${a} -> ${u}`),u}const y=`/src/pages/views/popup/${a.startsWith("/")?a.substring(1):a}.tsx`;return console.log(`팝업 URL 변환: ${a} -> ${y}`),y})(n);return!o||!t?.glob[o]?(console.warn(`팝업 뷰를 찾을 수 없습니다: ${n} (${o})`),console.warn("사용 가능한 팝업 뷰들:",Object.keys(t?.glob||{})),null):t?.glob[o]},Ce=({popup:n,modules:t})=>{const[s,o]=d.useState(null),[a,g]=d.useState(!1),[y,u]=d.useState(null),f=()=>{console.log("PopupArea - handleClose:",n.popupId),N.usePopupStore.getState().closePopup(n.popupId)};return d.useEffect(()=>{(async()=>{console.log("팝업 뷰 로드 시작:",n.popupUrl),g(!0),u(null);try{const h=ye(n.popupUrl,t);if(!h){const l=`팝업 뷰를 찾을 수 없습니다: ${n.popupUrl}`;console.error(l),u(l),g(!1);return}console.log("팝업 뷰 모듈 로드 중...");const C=await h();console.log("팝업 뷰 모듈 로드 완료:",C);const r=C.default;if(console.log("팝업 뷰 컴포넌트:",r),!r)throw new Error("팝업 뷰 컴포넌트를 찾을 수 없습니다");o(()=>r),console.log("팝업 뷰 설정 완료")}catch(h){console.error("팝업 뷰 로드 실패:",h),u(h instanceof Error?h.message:"팝업 뷰 로드 실패")}finally{g(!1)}})()},[n.popupUrl]),a?e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"팝업을 로드하는 중..."})]}):y?e.jsxs("div",{className:"popup-error",children:[e.jsx(i.Empty,{description:y,image:i.Empty.PRESENTED_IMAGE_SIMPLE}),e.jsx(i.Button,{icon:e.jsx(v.ReloadOutlined,{}),onClick:()=>window.location.reload(),children:"다시 시도"})]}):s?e.jsx(d.Suspense,{fallback:e.jsxs("div",{className:"popup-loading",children:[e.jsx(i.Spin,{size:"large"}),e.jsx("p",{children:"컴포넌트를 로드하는 중..."})]}),children:e.jsx(s,{popup:{...n,close:f},onClose:f})}):e.jsx("div",{className:"popup-empty",children:e.jsx(i.Empty,{description:"팝업 내용을 불러올 수 없습니다."})})},ee=({modules:n})=>{const{popups:t}=N.usePopupStore();return t.length===0?null:e.jsx(e.Fragment,{children:t.map(s=>{const o=s.config||{},a=o.width||s.width||800,g=o.height||s.height||600,y=o.title||s.popupTitle,u=s.buttonList?.map((f,m)=>({key:f.btnId||`btn_${m}`,text:f.btnNm,type:f.btnId==="CLOSE"?"default":"primary",disabled:f.enblYn!=="Y",danger:!1}))||[];return console.log("팝업 렌더링:",{popupId:s.popupId,popupCode:s.popupCode,title:y,width:a,height:g,buttons:u}),e.jsx("div",{children:e.jsx(Ce,{popup:s,modules:n})},s.popupId)})})},ve=n=>({position:"absolute",inset:0,visibility:n?"visible":"hidden",opacity:n?1:0,transition:"opacity 0.2s ease-in-out",pointerEvents:n?"auto":"none"}),je=({once:n=!0})=>{const{lock:t}=F.useLock(),s=d.useRef(!1);return d.useEffect(()=>{n&&s.current||(s.current=!0,t())},[n,t]),null},te=({isActive:n,flagged:t,tabKey:s,onUnlock:o,children:a})=>{const g=d.useRef(null),[y,u]=d.useState(!1),f=d.useCallback(h=>{g.current=h,u(!!h)},[]),m=ve(n);return e.jsx("div",{ref:f,style:m,children:y?e.jsxs(F.ScreenProtectProvider,{idleMs:Number.POSITIVE_INFINITY,persistLocked:!1,overlayScope:"scoped",overlayPosition:"absolute",eventTarget:g.current,overlayId:`tab-overlay-${s}`,onUnlock:async()=>(o(),!0),children:[n&&t?e.jsx(je,{once:!0}):null,a]}):a})},we=({config:n={},modules:t={view:{path:"/src/pages/views/content"},popup:{path:"/src/pages/views/popups"}}})=>{const s=d.useRef(new Map),{tabs:o,tabParams:a,activeMenuId:g,tabProtectFlag:y,clearProtectFlagForKey:u}=N.useMenuViewStore(),f=d.useCallback(m=>{const h=s.current.get(m.key);if(h)return h;const C=m.gubun==="M"?`${t.view.path}${m.menuItem?.scrnPath}.tsx`:`${t.view.path}${m.componentItem?.scrnPath}.tsx`;let r=t.view?.glob?.[C];if(!r&&typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:$&&$.tagName.toUpperCase()==="SCRIPT"&&$.src||new URL("components/layout/index.cjs",document.baseURI).href}<"u",r){const l=d.lazy(r);return s.current.set(m.key,l),l}return null},[t.view?.glob]);return e.jsxs(i.Layout,{className:"main-layout",children:[e.jsx(Z,{config:n?.header}),e.jsxs(i.Layout,{children:[e.jsx(X,{config:n?.sidebar}),e.jsxs("div",{className:"content-container",children:[e.jsx(Y,{config:n?.menuTab}),e.jsx(K,{config:n?.content,children:e.jsx(F.SearchBoxProvider,{children:e.jsx("div",{className:"view-container",children:e.jsxs("div",{style:{position:"relative",width:"100%",height:"100%"},children:[o.map(m=>{const h=f(m),C=g===m.key,r=!!y?.[m.key],l=a[m.key]||{};return e.jsx(te,{isActive:C,flagged:r,tabKey:m.key,onUnlock:()=>u(m.key),children:e.jsx(Q,{isActive:C,instance:h||void 0,params:l},m.key)},m.key)}),(!g||o.length===0)&&e.jsx(J,{})]})})})})]})]}),e.jsx(ee,{modules:t?.popup}),e.jsx(_.QuickServiceToggle,{})]})},ke=({config:n,children:t})=>e.jsx("div",{children:"BwgPortal02"});exports.AppWrapper=le;exports.BwgPortal01=we;exports.BwgPortal02=ke;exports.ConfigurableContent=K;exports.ConfigurableHeader=Z;exports.ConfigurableMenuTab=Y;exports.ConfigurableSidebar=X;exports.ContentContainer=Q;exports.LandingContainer=J;exports.LoadingContainer=ie;exports.PopupContainer=ee;exports.ProtectWrapper=te;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { default as
|
|
3
|
-
export { default as
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
1
|
+
export { default as AppWrapper } from './AppWrapper';
|
|
2
|
+
export { default as BwgPortal01 } from './BwgPortal01';
|
|
3
|
+
export { default as BwgPortal02 } from './BwgPortal02';
|
|
4
|
+
export type { BwgPortal01Props, BwgPortal02Props } from './types';
|
|
5
|
+
export * from './default';
|
|
6
|
+
export * from './custom';
|
|
7
|
+
export * from './extension';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAGvD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGlE,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC"}
|