@thefreshop/tb 1.0.26 → 1.0.28
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/cjs/index.js +45 -41
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tbframe/layout/frame.d.ts +3 -2
- package/dist/cjs/tbframe/layout/nav.d.ts +3 -2
- package/dist/cjs/types/tbframe.types.d.ts +16 -0
- package/dist/esm/index.js +45 -41
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tbframe/layout/frame.d.ts +3 -2
- package/dist/esm/tbframe/layout/nav.d.ts +3 -2
- package/dist/esm/types/tbframe.types.d.ts +16 -0
- package/dist/index.d.ts +17 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -238,14 +238,14 @@ const TopMenu = ({ topMenuSetting: { title, icon, key }, menuStyle = {} }) => {
|
|
|
238
238
|
React.createElement("div", { className: `${styles$8.top_menu_item_text} ${topkey === key ? styles$8.menu_hover : styles$8.menu_nomal}`, style: menuStyle.fontSize ? { fontSize: menuStyle.fontSize } : {} }, title)));
|
|
239
239
|
};
|
|
240
240
|
|
|
241
|
-
const Nav = ({ nav: { menuSet, openIcon, closeIcon }, islogin }) => {
|
|
241
|
+
const Nav = ({ nav: { menuSet, openIcon, closeIcon }, islogin, frameStyle }) => {
|
|
242
242
|
const { topkey, user } = useTbState();
|
|
243
243
|
const currentMenu = menuSet.find((m) => m.parentkey === topkey);
|
|
244
244
|
const userMenu = () => {
|
|
245
245
|
let usermenutable = [];
|
|
246
246
|
if (user?.user_group?.group_key === "master" || islogin === false) {
|
|
247
247
|
currentMenu?.menuSetting.forEach((m, index) => {
|
|
248
|
-
usermenutable.push(React.createElement(Menu, { key: index, menu_setting: m, openIcon: openIcon, closeIcon: closeIcon, islogin: islogin }));
|
|
248
|
+
usermenutable.push(React.createElement(Menu, { key: index, menu_setting: m, openIcon: openIcon, closeIcon: closeIcon, islogin: islogin, frameStyle: frameStyle }));
|
|
249
249
|
});
|
|
250
250
|
}
|
|
251
251
|
else {
|
|
@@ -253,14 +253,14 @@ const Nav = ({ nav: { menuSet, openIcon, closeIcon }, islogin }) => {
|
|
|
253
253
|
return user?.user_group?.group_menu_auth.includes(m.tab.key);
|
|
254
254
|
});
|
|
255
255
|
userCurrentMenu?.forEach((m, index) => {
|
|
256
|
-
usermenutable.push(React.createElement(Menu, { key: index, menu_setting: m, openIcon: openIcon, closeIcon: closeIcon, islogin: islogin }));
|
|
256
|
+
usermenutable.push(React.createElement(Menu, { key: index, menu_setting: m, openIcon: openIcon, closeIcon: closeIcon, islogin: islogin, frameStyle: frameStyle }));
|
|
257
257
|
});
|
|
258
258
|
}
|
|
259
259
|
return usermenutable;
|
|
260
260
|
};
|
|
261
|
-
return React.createElement("div", { className: styles$9.naviFrame }, userMenu());
|
|
261
|
+
return (React.createElement("div", { className: styles$9.naviFrame, style: frameStyle?.naviFrame }, userMenu()));
|
|
262
262
|
};
|
|
263
|
-
const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, openIcon, closeIcon, islogin, }) => {
|
|
263
|
+
const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, openIcon, closeIcon, islogin, frameStyle, }) => {
|
|
264
264
|
const { title, key, page } = tab;
|
|
265
265
|
const [hover, setHover] = React.useState(false);
|
|
266
266
|
const [subOpen, setSubOpen] = React.useState(false);
|
|
@@ -277,7 +277,7 @@ const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, op
|
|
|
277
277
|
let usersubmenutable = [];
|
|
278
278
|
if (user?.user_group?.group_key === "master" || islogin === false) {
|
|
279
279
|
children?.forEach((m, index) => {
|
|
280
|
-
usersubmenutable.push(React.createElement(SubMenu, { key: index, menu_setting: m }));
|
|
280
|
+
usersubmenutable.push(React.createElement(SubMenu, { key: index, menu_setting: m, frameStyle: frameStyle }));
|
|
281
281
|
});
|
|
282
282
|
}
|
|
283
283
|
else {
|
|
@@ -285,13 +285,16 @@ const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, op
|
|
|
285
285
|
return user?.user_group?.group_menu_auth.includes(m.tab.key);
|
|
286
286
|
});
|
|
287
287
|
userCurrentMenu?.forEach((m, index) => {
|
|
288
|
-
usersubmenutable.push(React.createElement(SubMenu, { key: index, menu_setting: m }));
|
|
288
|
+
usersubmenutable.push(React.createElement(SubMenu, { key: index, menu_setting: m, frameStyle: frameStyle }));
|
|
289
289
|
});
|
|
290
290
|
}
|
|
291
291
|
return usersubmenutable;
|
|
292
292
|
};
|
|
293
293
|
return (React.createElement("div", null,
|
|
294
|
-
React.createElement("div", { className: `${styles$9.nav_item} ${currentTabKey === key ? styles$9.menu_select : hover ? styles$9.menu_hover : styles$9.menu_nomal}`,
|
|
294
|
+
React.createElement("div", { className: `${styles$9.nav_item} ${currentTabKey === key ? styles$9.menu_select : hover ? styles$9.menu_hover : styles$9.menu_nomal}`, style: {
|
|
295
|
+
...frameStyle?.nav_item,
|
|
296
|
+
...(currentTabKey === key ? frameStyle?.menu_select : hover ? frameStyle?.menu_hover : frameStyle?.menu_nomal),
|
|
297
|
+
}, onMouseEnter: () => {
|
|
295
298
|
setHover(true);
|
|
296
299
|
}, onMouseLeave: () => {
|
|
297
300
|
setHover(false);
|
|
@@ -303,17 +306,20 @@ const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, op
|
|
|
303
306
|
}
|
|
304
307
|
// console.log(tabs)
|
|
305
308
|
} },
|
|
306
|
-
React.createElement("div", { className: styles$9.nav_icon }, icon),
|
|
307
|
-
React.createElement("div", { className: styles$9.nav_text }, title),
|
|
308
|
-
React.createElement("div", { className: styles$9.nav_open }, children && (subOpen ? React.createElement("div", null, openIcon) : React.createElement("div", null, closeIcon)))),
|
|
309
|
+
React.createElement("div", { className: styles$9.nav_icon, style: frameStyle?.nav_icon }, icon),
|
|
310
|
+
React.createElement("div", { className: styles$9.nav_text, style: frameStyle?.nav_text }, title),
|
|
311
|
+
React.createElement("div", { className: styles$9.nav_open, style: frameStyle?.nav_openIcon }, children && (subOpen ? React.createElement("div", null, openIcon) : React.createElement("div", null, closeIcon)))),
|
|
309
312
|
children && subOpen && userSubMenu()));
|
|
310
313
|
};
|
|
311
|
-
const SubMenu = ({ menu_setting: { tab, icon, hasPage } }) => {
|
|
314
|
+
const SubMenu = ({ menu_setting: { tab, icon, hasPage }, frameStyle }) => {
|
|
312
315
|
const { title, key, page } = tab;
|
|
313
316
|
const [hover, setHover] = React.useState(false);
|
|
314
317
|
const { addTabKey, currentTabKey } = useTbState();
|
|
315
318
|
const navigate = reactRouter.useNavigate();
|
|
316
|
-
return (React.createElement("div", { className: `${styles$9.sub_item} ${currentTabKey === key ? styles$9.menu_select : hover ? styles$9.menu_hover : styles$9.menu_nomal}`,
|
|
319
|
+
return (React.createElement("div", { className: `${styles$9.sub_item} ${currentTabKey === key ? styles$9.menu_select : hover ? styles$9.menu_hover : styles$9.menu_nomal}`, style: {
|
|
320
|
+
...frameStyle?.sub_item,
|
|
321
|
+
...(currentTabKey === key ? frameStyle?.menu_select : hover ? frameStyle?.menu_hover : frameStyle?.menu_nomal),
|
|
322
|
+
}, onMouseEnter: () => {
|
|
317
323
|
setHover(true);
|
|
318
324
|
}, onMouseLeave: () => {
|
|
319
325
|
setHover(false);
|
|
@@ -323,8 +329,8 @@ const SubMenu = ({ menu_setting: { tab, icon, hasPage } }) => {
|
|
|
323
329
|
navigate("/" + key);
|
|
324
330
|
// console.log(tabs)
|
|
325
331
|
} },
|
|
326
|
-
React.createElement("div", { className: styles$9.nav_icon }, icon),
|
|
327
|
-
React.createElement("div", { className: styles$9.nav_text }, title)));
|
|
332
|
+
React.createElement("div", { className: styles$9.nav_icon, style: frameStyle?.nav_icon }, icon),
|
|
333
|
+
React.createElement("div", { className: styles$9.nav_text, style: frameStyle?.nav_text }, title)));
|
|
328
334
|
};
|
|
329
335
|
|
|
330
336
|
var css_248z$9 = ".bottom-module_bottom_item__fac0H{display:flex;font-size:15px;justify-content:space-between;padding-left:10px;width:100%}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJvdHRvbS5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUlFLFlBQWEsQ0FGYixjQUFlLENBR2YsNkJBQThCLENBSjlCLGlCQUFrQixDQUVsQixVQUdGIiwiZmlsZSI6ImJvdHRvbS5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJvdHRvbV9pdGVtIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcbiJdfQ== */";
|
|
@@ -373,7 +379,7 @@ const Tabs = ({ nav: { menuSet, openIcon, closeIcon } }) => {
|
|
|
373
379
|
if (tabInfo) {
|
|
374
380
|
addTabKey(tabInfo);
|
|
375
381
|
}
|
|
376
|
-
}, [tabKeys]);
|
|
382
|
+
}, [tabKeys, menuSet, tabList]);
|
|
377
383
|
// 3. 페이지 로드 시 URL을 기반으로 currentTab을 설정하는 useEffect 추가
|
|
378
384
|
React.useEffect(() => {
|
|
379
385
|
const pathKey = location.pathname.substring(1); // 맨 앞의 '/' 제거
|
|
@@ -491,25 +497,23 @@ const NullPage = () => {
|
|
|
491
497
|
React.createElement("div", null, "\uD398\uC774\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")));
|
|
492
498
|
};
|
|
493
499
|
|
|
494
|
-
const TbFrame = ({ setting, top, bottom, nav, top_banner, hashmode = false, }) => {
|
|
500
|
+
const TbFrame = ({ setting, top, bottom, nav, top_banner, hashmode = false, frameStyle, }) => {
|
|
495
501
|
const { user, errMsg, tabList, setTabList, startTabKey, setStartTabKey } = useTbState();
|
|
496
502
|
React.useEffect(() => {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
p_tabList.push(page.tab);
|
|
504
|
-
});
|
|
503
|
+
let p_tabList = [];
|
|
504
|
+
nav.menuSet.forEach((item) => {
|
|
505
|
+
item.menuSetting.forEach((sub) => {
|
|
506
|
+
p_tabList.push(sub.tab);
|
|
507
|
+
sub.children?.forEach((page) => {
|
|
508
|
+
p_tabList.push(page.tab);
|
|
505
509
|
});
|
|
506
510
|
});
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
}, [
|
|
511
|
+
});
|
|
512
|
+
nav?.globalTabs?.forEach((item) => {
|
|
513
|
+
p_tabList.push(item);
|
|
514
|
+
});
|
|
515
|
+
setTabList(p_tabList);
|
|
516
|
+
}, [nav.menuSet]);
|
|
513
517
|
React.useEffect(() => {
|
|
514
518
|
if (!errMsg?.isPopup) ;
|
|
515
519
|
}, [errMsg]);
|
|
@@ -558,7 +562,7 @@ const TbFrame = ({ setting, top, bottom, nav, top_banner, hashmode = false, }) =
|
|
|
558
562
|
return reactRouter.createHashRouter([
|
|
559
563
|
{
|
|
560
564
|
path: "/",
|
|
561
|
-
element: (React.createElement(MainLayout, { errMsg: errMsg, setting: setting, top_banner: top_banner, nav: nav, user: user, top: top, bottom: bottom })),
|
|
565
|
+
element: (React.createElement(MainLayout, { errMsg: errMsg, setting: setting, top_banner: top_banner, nav: nav, user: user, top: top, bottom: bottom, frameStyle: frameStyle })),
|
|
562
566
|
children: route(),
|
|
563
567
|
errorElement: React.createElement(NullPage, null),
|
|
564
568
|
},
|
|
@@ -568,16 +572,16 @@ const TbFrame = ({ setting, top, bottom, nav, top_banner, hashmode = false, }) =
|
|
|
568
572
|
return reactRouter.createBrowserRouter([
|
|
569
573
|
{
|
|
570
574
|
path: "/",
|
|
571
|
-
element: (React.createElement(MainLayout, { errMsg: errMsg, setting: setting, top_banner: top_banner, nav: nav, user: user, top: top, bottom: bottom })),
|
|
575
|
+
element: (React.createElement(MainLayout, { errMsg: errMsg, setting: setting, top_banner: top_banner, nav: nav, user: user, top: top, bottom: bottom, frameStyle: frameStyle })),
|
|
572
576
|
children: route(),
|
|
573
577
|
errorElement: React.createElement(NullPage, null),
|
|
574
578
|
},
|
|
575
579
|
]);
|
|
576
580
|
}
|
|
577
|
-
}, [hashmode, user, top, nav, setting, top_banner, bottom]);
|
|
581
|
+
}, [hashmode, user, top, nav, setting, top_banner, bottom, frameStyle]);
|
|
578
582
|
return React.createElement(reactRouter.RouterProvider, { router: router });
|
|
579
583
|
};
|
|
580
|
-
const MainLayout = ({ errMsg, setting, top_banner, nav, user, top, bottom, }) => {
|
|
584
|
+
const MainLayout = ({ errMsg, setting, top_banner, nav, user, top, bottom, frameStyle, }) => {
|
|
581
585
|
const TOPBANNER = React.useCallback(() => {
|
|
582
586
|
return top_banner ? top_banner : null;
|
|
583
587
|
}, [top_banner]);
|
|
@@ -612,17 +616,17 @@ const MainLayout = ({ errMsg, setting, top_banner, nav, user, top, bottom, }) =>
|
|
|
612
616
|
fontSize: "10px",
|
|
613
617
|
} }, errMsg?.err))));
|
|
614
618
|
};
|
|
615
|
-
return (React.createElement("div", { className: styles$9.main }, errMsg ? (errMsg.isPopup ? (React.createElement(ErrWarning, null)) : null) : setting?.islogin && !user ? (React.createElement("div", null,
|
|
619
|
+
return (React.createElement("div", { className: styles$9.main, style: frameStyle?.main }, errMsg ? (errMsg.isPopup ? (React.createElement(ErrWarning, null)) : null) : setting?.islogin && !user ? (React.createElement("div", null,
|
|
616
620
|
React.createElement(reactRouter.Outlet, null),
|
|
617
|
-
React.createElement(reactRouter.Navigate, { to: "/login", replace: true }))) : (React.createElement("div", { className: styles$9.mainframe },
|
|
621
|
+
React.createElement(reactRouter.Navigate, { to: "/login", replace: true }))) : (React.createElement("div", { className: styles$9.mainframe, style: frameStyle?.mainframe },
|
|
618
622
|
React.createElement(Top, { setting: setting, top: top }),
|
|
619
623
|
React.createElement(TOPBANNER, null),
|
|
620
|
-
React.createElement("div", { className: styles$9.centerFrame, style: top_banner ? { height: "calc(100vh - 120px)" } : { height: "calc(100vh - 80px)" } },
|
|
621
|
-
React.createElement(Nav, { nav: nav, islogin: setting.islogin ?? false }),
|
|
622
|
-
React.createElement("div", { className: styles$9.contentsFrame },
|
|
624
|
+
React.createElement("div", { className: styles$9.centerFrame, style: { ...frameStyle?.centerFrame, ...(top_banner ? { height: "calc(100vh - 120px)" } : { height: "calc(100vh - 80px)" }) } },
|
|
625
|
+
React.createElement(Nav, { nav: nav, islogin: setting.islogin ?? false, frameStyle: frameStyle }),
|
|
626
|
+
React.createElement("div", { className: styles$9.contentsFrame, style: frameStyle?.contentsFrame },
|
|
623
627
|
React.createElement(Tabs, { nav: nav }),
|
|
624
628
|
React.createElement(Main, null))),
|
|
625
|
-
React.createElement("div", { className: styles$9.bottomFrame }, bottom && React.createElement(Bottom, { bottom: bottom }))))));
|
|
629
|
+
React.createElement("div", { className: styles$9.bottomFrame, style: frameStyle?.bottomFrame }, bottom && React.createElement(Bottom, { bottom: bottom }))))));
|
|
626
630
|
};
|
|
627
631
|
|
|
628
632
|
//component
|