@thefreshop/tb 1.0.12 → 1.0.13

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.
@@ -3,13 +3,3 @@ export * from "./searchbox.type";
3
3
  export * from "./user.types";
4
4
  export * from "./tbframe.types";
5
5
  export * from "./provider.types";
6
- import { tabType } from "./provider.types";
7
- export interface tbframeType {
8
- islogin?: boolean;
9
- isgroup?: boolean;
10
- isgroupauth?: boolean;
11
- startpage?: React.ReactNode;
12
- loginpage?: React.ReactNode;
13
- logoutComponent?: React.ReactNode;
14
- globalpages?: tabType[];
15
- }
@@ -1,5 +1,5 @@
1
1
  import { userType } from "./user.types";
2
- import { navType } from "./tbframe.types";
2
+ import { navType, tabType } from "./tbframe.types";
3
3
  export type ProviderType = {
4
4
  topkey: string;
5
5
  setTopkey: (value: string) => void;
@@ -21,12 +21,6 @@ export type ProviderType = {
21
21
  setMenupages: (value: navType) => void;
22
22
  goTabs: (key: string) => void;
23
23
  };
24
- export type tabType = {
25
- title: string;
26
- key: string;
27
- page?: React.ReactNode;
28
- noremove?: boolean;
29
- };
30
24
  export type ErrMsgType = {
31
25
  err?: string;
32
26
  errType?: string;
@@ -1,3 +1,12 @@
1
+ export interface tbframeType {
2
+ islogin?: boolean;
3
+ isgroup?: boolean;
4
+ isgroupauth?: boolean;
5
+ startpage?: React.ReactNode;
6
+ loginpage?: React.ReactNode;
7
+ logoutComponent?: React.ReactNode;
8
+ globalpages?: tabType[];
9
+ }
1
10
  export declare const baseAdminDat: TbFrameType;
2
11
  export type TbFrameType = {
3
12
  admin_account_id: number;
@@ -26,21 +35,25 @@ export type topType = {
26
35
  export type bottomType = {
27
36
  bottomRight?: React.ReactNode;
28
37
  };
29
- export type menuType = {
38
+ export type tabType = {
30
39
  title: string;
31
- icon?: React.ReactElement | JSX.Element;
32
40
  key: string;
33
- children?: menuType[];
34
41
  page?: React.ReactNode;
42
+ noremove?: boolean;
43
+ };
44
+ export type menuType = {
45
+ tab: tabType;
46
+ icon?: React.ReactElement | JSX.Element;
47
+ children?: menuType[];
35
48
  hasPage?: boolean;
36
49
  defalultOpen?: boolean;
37
50
  };
38
51
  export type navType = {
39
- menuSet: menuSet[];
52
+ menuSet: menuSetType[];
40
53
  openIcon?: React.ReactElement | JSX.Element;
41
54
  closeIcon?: React.ReactElement | JSX.Element;
42
55
  };
43
- export type menuSet = {
56
+ export type menuSetType = {
44
57
  parentkey?: string;
45
58
  menuSetting: menuType[];
46
59
  };
package/dist/esm/index.js CHANGED
@@ -3,7 +3,7 @@ import React__default, { createContext, useState, useEffect, useContext, useCall
3
3
  import { useNavigate, useLocation, Outlet, createHashRouter, createBrowserRouter, RouterProvider } from 'react-router';
4
4
  import Editor from '@monaco-editor/react';
5
5
  import { DownOutlined, UpOutlined, DoubleRightOutlined, DoubleLeftOutlined, LoadingOutlined, ReloadOutlined, SearchOutlined, UploadOutlined, ExclamationCircleOutlined, RedoOutlined, TagOutlined } from '@ant-design/icons';
6
- import { Typography, Row, Col, Space, Button, Input, Tag, Image as Image$1, Tooltip, Upload, Form, Select, DatePicker, Switch, InputNumber, Flex, Modal, Table, List, Card, Checkbox, Tree, ConfigProvider, Result, Spin } from 'antd';
6
+ import { Typography, Row, Col, Space, Button, Input, Tag, Image as Image$1, Tooltip, Upload, Form, Select, DatePicker, Switch, InputNumber, Flex, Modal, Table, List, Card, Checkbox, ConfigProvider, Result, Spin } from 'antd';
7
7
  import moment$1 from 'moment-timezone';
8
8
  import require$$1 from 'react-dom';
9
9
  import dayjs from 'dayjs';
@@ -116,7 +116,7 @@ const TbProvider = ({ children }) => {
116
116
  menupages?.menuSet.forEach((item) => {
117
117
  item.menuSetting.forEach((sub) => {
118
118
  sub.children?.forEach((page) => {
119
- if (page.key === key)
119
+ if (page.tab.key === key)
120
120
  gotab = page;
121
121
  });
122
122
  });
@@ -194,7 +194,7 @@ var styles$9 = {"main":"frame-module_main__3msGf","mainframe":"frame-module_main
194
194
  styleInject(css_248z$b);
195
195
 
196
196
  const topbase = {
197
- title: 'title'};
197
+ title: "title"};
198
198
 
199
199
  var css_248z$a = ".top-module_topframe__LhKDg{align-items:center;border-bottom:1px solid #aaa;color:#ccc;display:flex;height:80px;justify-content:left;text-align:center}.top-module_top_left__MBLyP{align-items:center;color:#333;display:flex;gap:4px}.top-module_toplogo__lQMPi{background-color:#eee;height:70px}.top-module_top_menu__vOqqG{display:flex;flex-direction:row}.top-module_top_menu_item__pHknH{display:flex;flex-direction:column;width:120px}.top-module_top_menu_item_icon__-Ckvh{font-size:30px}.top-module_top_menu_item_text__SmZnj{font-size:20px}.top-module_menu_nomal__n4Rl-{color:#ccc}.top-module_menu_hover__KmK0A,.top-module_menu_select__w3Jdd{background-color:#fff;color:#333;cursor:pointer}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvcC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUdJLGtCQUFtQixDQUVuQiw0QkFBNkIsQ0FFN0IsVUFBVyxDQU5YLFlBQWEsQ0FHYixXQUFZLENBRlosb0JBQXFCLENBSXJCLGlCQUVKLENBRUEsNEJBR0ksa0JBQW1CLENBQ25CLFVBQVcsQ0FIWCxZQUFhLENBQ2IsT0FHSixDQUVBLDJCQUVJLHFCQUFzQixDQUR0QixXQUVKLENBRUEsNEJBQ0ksWUFBYSxDQUNiLGtCQUNKLENBQ0EsaUNBQ0ksWUFBYSxDQUNiLHFCQUFzQixDQUN0QixXQUNKLENBRUEsc0NBQ0ksY0FDSixDQUVBLHNDQUNJLGNBQ0osQ0FFQSw4QkFDSSxVQUNKLENBT0EsNkRBQ0kscUJBQXNCLENBQ3RCLFVBQVcsQ0FDWCxjQUNKIiwiZmlsZSI6InRvcC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvcGZyYW1lIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuLnRvcF9sZWZ0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDRweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLnRvcGxvZ28ge1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxufVxyXG5cclxuLnRvcF9tZW51IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcbi50b3BfbWVudV9pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG59XHJcblxyXG4udG9wX21lbnVfaXRlbV9pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxufVxyXG5cclxuLnRvcF9tZW51X2l0ZW1fdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbn1cclxuXHJcbi5tZW51X25vbWFsIHtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG59XHJcbi5tZW51X2hvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm1lbnVfc2VsZWN0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iXX0= */";
200
200
  var styles$8 = {"topframe":"top-module_topframe__LhKDg","top_left":"top-module_top_left__MBLyP","toplogo":"top-module_toplogo__lQMPi","top_menu":"top-module_top_menu__vOqqG","top_menu_item":"top-module_top_menu_item__pHknH","top_menu_item_icon":"top-module_top_menu_item_icon__-Ckvh","top_menu_item_text":"top-module_top_menu_item_text__SmZnj","menu_nomal":"top-module_menu_nomal__n4Rl-","menu_hover":"top-module_menu_hover__KmK0A"};
@@ -260,7 +260,7 @@ const Nav = ({ nav: { menuSet, openIcon, closeIcon }, islogin }) => {
260
260
  }
261
261
  else {
262
262
  const userCurrentMenu = currentMenu?.menuSetting.filter((m) => {
263
- return user?.user_group?.group_menu_auth.includes(m.key);
263
+ return user?.user_group?.group_menu_auth.includes(m.tab.key);
264
264
  });
265
265
  userCurrentMenu?.forEach((m, index) => {
266
266
  usermenutable.push(React__default.createElement(Menu, { key: index, menu_setting: m, openIcon: openIcon, closeIcon: closeIcon, islogin: islogin }));
@@ -270,7 +270,8 @@ const Nav = ({ nav: { menuSet, openIcon, closeIcon }, islogin }) => {
270
270
  };
271
271
  return React__default.createElement("div", { className: styles$9.naviFrame }, userMenu());
272
272
  };
273
- const Menu = ({ menu_setting: { title, icon, key, children, hasPage, page, defalultOpen }, openIcon, closeIcon, islogin, }) => {
273
+ const Menu = ({ menu_setting: { tab, icon, children, hasPage, defalultOpen }, openIcon, closeIcon, islogin, }) => {
274
+ const { title, key, page } = tab;
274
275
  const [hover, setHover] = useState(false);
275
276
  const [subOpen, setSubOpen] = useState(false);
276
277
  const { addTabs, currentTab, user } = useTbState();
@@ -291,7 +292,7 @@ const Menu = ({ menu_setting: { title, icon, key, children, hasPage, page, defal
291
292
  }
292
293
  else {
293
294
  const userCurrentMenu = children?.filter((m) => {
294
- return user?.user_group?.group_menu_auth.includes(m.key);
295
+ return user?.user_group?.group_menu_auth.includes(m.tab.key);
295
296
  });
296
297
  userCurrentMenu?.forEach((m, index) => {
297
298
  usersubmenutable.push(React__default.createElement(SubMenu, { key: index, menu_setting: m }));
@@ -321,7 +322,8 @@ const Menu = ({ menu_setting: { title, icon, key, children, hasPage, page, defal
321
322
  React__default.createElement("div", { className: styles$9.nav_open }, children && (subOpen ? React__default.createElement("div", null, openIcon) : React__default.createElement("div", null, closeIcon)))),
322
323
  children && subOpen && userSubMenu()));
323
324
  };
324
- const SubMenu = ({ menu_setting: { title, icon, key, page, hasPage } }) => {
325
+ const SubMenu = ({ menu_setting: { tab, icon, hasPage } }) => {
326
+ const { title, key, page } = tab;
325
327
  const [hover, setHover] = useState(false);
326
328
  const { addTabs, currentTab } = useTbState();
327
329
  const navigate = useNavigate();
@@ -381,11 +383,11 @@ const Tabs = ({ nav: { menuSet, openIcon, closeIcon } }) => {
381
383
  // 2-1. 메뉴 페이지에서 찾기
382
384
  menuSet.forEach((item) => {
383
385
  item.menuSetting.forEach((sub) => {
384
- if (sub.key === pathKey)
386
+ if (sub.tab.key === pathKey)
385
387
  tabInfo = sub;
386
388
  else {
387
389
  sub.children?.forEach((page) => {
388
- if (page.key === pathKey)
390
+ if (page.tab.key === pathKey)
389
391
  tabInfo = page;
390
392
  });
391
393
  }
@@ -403,8 +405,7 @@ const Tabs = ({ nav: { menuSet, openIcon, closeIcon } }) => {
403
405
  useEffect(() => {
404
406
  const pathKey = location.pathname.substring(1); // 맨 앞의 '/' 제거
405
407
  findTabs(pathKey);
406
- // eslint-disable-next-line react-hooks/exhaustive-deps
407
- }, []); // 이 효과는 컴포넌트가 처음 마운트될 때 한 번만 실행됩니다.
408
+ }, []);
408
409
  return (React__default.createElement("div", { className: styles$6.tabFrame }, tabs?.map((m) => {
409
410
  return (React__default.createElement("div", { key: m.key, className: `${styles$6.tab_item} ${currentTab?.key === m.key ? styles$6.tab_select : styles$6.tab_normal}` },
410
411
  React__default.createElement("div", { className: styles$6.tab_item_text, onClick: () => {
@@ -541,13 +542,13 @@ const TbFrame = ({ setting, top, bottom, nav, top_banner, hashmode = false, }) =
541
542
  nav.menuSet.forEach((item) => {
542
543
  item.menuSetting.forEach((sub) => {
543
544
  route.push({
544
- path: "/" + sub.key,
545
- element: sub.page,
545
+ path: "/" + sub.tab.key,
546
+ element: sub.tab.page,
546
547
  });
547
548
  sub.children?.forEach((page) => {
548
549
  route.push({
549
- path: "/" + page.key,
550
- element: page.page,
550
+ path: "/" + page.tab.key,
551
+ element: page.tab.page,
551
552
  });
552
553
  });
553
554
  });
@@ -24231,16 +24232,9 @@ const InputSearch = ({ title, value, disabled = false, onChange, activeEnter, })
24231
24232
  const AuthTable = ({ top, menuSetting }) => {
24232
24233
  const { user } = useTbState();
24233
24234
  const productList = [];
24234
- const onSelect = (selectedKeys, info) => {
24235
- console.log("selected", selectedKeys, info);
24236
- };
24237
- const onCheck = (checkedKeys, info) => {
24238
- console.log("onCheck", checkedKeys, info);
24239
- };
24240
24235
  return (React__default.createElement("div", null,
24241
24236
  React__default.createElement("div", null, "AuthTable123"),
24242
24237
  React__default.createElement("div", null, JSON.stringify(user)),
24243
- React__default.createElement(Tree, { checkable: true, defaultExpandedKeys: ["0-0-0", "0-0-1"], defaultSelectedKeys: ["0-0-0", "0-0-1"], defaultCheckedKeys: ["0-0-0", "0-0-1"], onSelect: onSelect, onCheck: onCheck, treeData: menuSetting }),
24244
24238
  React__default.createElement(AntBaseTable, { rowKey: "base_product_id", rowName: "base_product_id", columns: columns, dataSource: productList })));
24245
24239
  };
24246
24240
  const columns = [