@gx-design-vue/pro-layout 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (272) hide show
  1. package/dist/ProLayout.d.ts +4 -536
  2. package/dist/ProLayout.js +489 -358
  3. package/dist/components/AppPage/context.d.ts +4 -3
  4. package/dist/components/AppPage/context.js +3 -5
  5. package/dist/components/AppPage/index.d.ts +29 -52
  6. package/dist/components/AppPage/index.js +71 -54
  7. package/dist/components/AppPage/style.d.ts +8 -7
  8. package/dist/components/AppPage/style.js +16 -17
  9. package/dist/components/Breadcrumb/index.d.ts +19 -0
  10. package/dist/components/Breadcrumb/index.js +129 -0
  11. package/dist/components/Breadcrumb/interface.d.ts +33 -0
  12. package/dist/components/Breadcrumb/interface.js +1 -0
  13. package/dist/components/CollapseButton/Arrow.d.ts +4 -0
  14. package/dist/components/{SiderMenu → CollapseButton}/Arrow.js +2 -4
  15. package/dist/components/CollapseButton/index.d.ts +7 -0
  16. package/dist/components/CollapseButton/index.js +45 -0
  17. package/dist/components/CollapseButton/interface.d.ts +19 -0
  18. package/dist/components/CollapseButton/interface.js +1 -0
  19. package/dist/components/Footer/index.d.ts +10 -0
  20. package/dist/components/Footer/index.js +69 -0
  21. package/dist/components/Footer/interface.d.ts +22 -0
  22. package/dist/components/Footer/interface.js +1 -0
  23. package/dist/components/FooterToolbar/index.d.ts +5 -72
  24. package/dist/components/FooterToolbar/index.js +77 -90
  25. package/dist/components/FooterToolbar/style.d.ts +10 -0
  26. package/dist/components/FooterToolbar/style.js +34 -0
  27. package/dist/components/Header/index.d.ts +7 -0
  28. package/dist/components/Header/index.js +140 -0
  29. package/dist/components/Header/interface.d.ts +41 -0
  30. package/dist/components/Header/interface.js +1 -0
  31. package/dist/components/Logo/index.d.ts +9 -0
  32. package/dist/components/Logo/index.js +63 -0
  33. package/dist/components/Logo/interface.d.ts +13 -0
  34. package/dist/components/Logo/interface.js +1 -0
  35. package/dist/components/Menu/iconRender.d.ts +10 -0
  36. package/dist/components/Menu/iconRender.js +23 -0
  37. package/dist/components/Menu/index.d.ts +13 -0
  38. package/dist/components/Menu/index.js +778 -0
  39. package/dist/components/Menu/interface.d.ts +50 -0
  40. package/dist/components/Menu/interface.js +9 -0
  41. package/dist/components/Menu/overflow.d.ts +39 -0
  42. package/dist/components/Menu/overflow.js +81 -0
  43. package/dist/components/Menu/style/base.d.ts +12 -0
  44. package/dist/components/Menu/style/base.js +36 -0
  45. package/dist/components/Menu/style/horizontal.d.ts +19 -0
  46. package/dist/components/Menu/style/horizontal.js +303 -0
  47. package/dist/components/Menu/style/index.d.ts +356 -0
  48. package/dist/components/Menu/style/index.js +147 -0
  49. package/dist/components/Menu/style/inline.d.ts +13 -0
  50. package/dist/components/Menu/style/inline.js +292 -0
  51. package/dist/components/PageContainer/PageHeader.d.ts +30 -36
  52. package/dist/components/PageContainer/PageHeader.js +80 -46
  53. package/dist/components/PageContainer/index.d.ts +8 -194
  54. package/dist/components/PageContainer/index.js +297 -209
  55. package/dist/components/PageContainer/style.d.ts +5 -0
  56. package/dist/components/PageContainer/style.js +142 -0
  57. package/dist/components/PageTransition/animate.d.ts +41 -0
  58. package/dist/components/PageTransition/animate.js +106 -0
  59. package/dist/components/PageTransition/index.d.ts +57 -0
  60. package/dist/components/PageTransition/index.js +66 -0
  61. package/dist/components/{PageTranstion → PageTransition}/keyFrame/back.d.ts +4 -4
  62. package/dist/components/{PageTranstion → PageTransition}/keyFrame/back.js +2 -4
  63. package/dist/components/{PageTranstion → PageTransition}/keyFrame/bounce.d.ts +4 -4
  64. package/dist/components/{PageTranstion → PageTransition}/keyFrame/bounce.js +2 -4
  65. package/dist/components/{PageTranstion → PageTransition}/keyFrame/fade.d.ts +4 -4
  66. package/dist/components/{PageTranstion → PageTransition}/keyFrame/fade.js +2 -4
  67. package/dist/components/{PageTranstion → PageTransition}/keyFrame/flip.d.ts +4 -4
  68. package/dist/components/{PageTranstion → PageTransition}/keyFrame/flip.js +2 -4
  69. package/dist/components/{PageTranstion → PageTransition}/keyFrame/lightSpeed.d.ts +4 -4
  70. package/dist/components/{PageTranstion → PageTransition}/keyFrame/lightSpeed.js +2 -4
  71. package/dist/components/PageTransition/keyFrame/roll.d.ts +10 -0
  72. package/dist/components/{PageTranstion → PageTransition}/keyFrame/roll.js +2 -4
  73. package/dist/components/{PageTranstion → PageTransition}/keyFrame/rotate.d.ts +4 -4
  74. package/dist/components/{PageTranstion → PageTransition}/keyFrame/rotate.js +2 -4
  75. package/dist/components/{PageTranstion → PageTransition}/keyFrame/slide.d.ts +4 -4
  76. package/dist/components/{PageTranstion → PageTransition}/keyFrame/slide.js +2 -4
  77. package/dist/components/{PageTranstion → PageTransition}/keyFrame/zoom.d.ts +4 -4
  78. package/dist/components/{PageTranstion → PageTransition}/keyFrame/zoom.js +2 -4
  79. package/dist/components/PageTransition/style.d.ts +11 -0
  80. package/dist/components/{PageTranstion → PageTransition}/style.js +9 -13
  81. package/dist/components/Sider/index.d.ts +7 -0
  82. package/dist/components/Sider/index.js +206 -0
  83. package/dist/components/Sider/interface.d.ts +39 -0
  84. package/dist/components/Sider/interface.js +1 -0
  85. package/dist/components/Tabs/InnerTabs.d.ts +7 -0
  86. package/dist/components/Tabs/InnerTabs.js +117 -0
  87. package/dist/components/Tabs/contextMenu.d.ts +41 -0
  88. package/dist/components/Tabs/contextMenu.js +89 -0
  89. package/dist/components/Tabs/hooks/flipAnimate.d.ts +24 -0
  90. package/dist/components/Tabs/hooks/flipAnimate.js +40 -0
  91. package/dist/components/Tabs/hooks/useAutoScroll.d.ts +27 -0
  92. package/dist/components/Tabs/hooks/useAutoScroll.js +122 -0
  93. package/dist/components/Tabs/hooks/useTabDrag.d.ts +31 -0
  94. package/dist/components/Tabs/hooks/useTabDrag.js +252 -0
  95. package/dist/components/Tabs/index.d.ts +13 -0
  96. package/dist/components/Tabs/index.js +181 -0
  97. package/dist/components/Tabs/interface.d.ts +74 -0
  98. package/dist/components/Tabs/interface.js +1 -0
  99. package/dist/components/Tabs/style/index.d.ts +35 -0
  100. package/dist/components/Tabs/style/index.js +161 -0
  101. package/dist/components/WrapContent/index.d.ts +9 -0
  102. package/dist/components/WrapContent/index.js +26 -0
  103. package/dist/components/WrapContent/interface.d.ts +15 -0
  104. package/dist/components/WrapContent/interface.js +1 -0
  105. package/dist/context/index.d.ts +53 -0
  106. package/dist/context/index.js +5 -0
  107. package/dist/defaultConfig.d.ts +10 -0
  108. package/dist/defaultConfig.js +38 -0
  109. package/dist/hooks/useLayoutBase.d.ts +78 -0
  110. package/dist/hooks/useLayoutBase.js +86 -0
  111. package/dist/hooks/useMenu.d.ts +77 -0
  112. package/dist/hooks/useMenu.js +166 -0
  113. package/dist/hooks/useTabs.d.ts +54 -0
  114. package/dist/hooks/useTabs.js +388 -0
  115. package/dist/index.d.ts +22 -27
  116. package/dist/index.js +15 -24
  117. package/dist/interface.d.ts +516 -0
  118. package/dist/interface.js +34 -0
  119. package/dist/pro-layout.esm.js +5848 -5075
  120. package/dist/pro-layout.js +16 -37
  121. package/dist/style/breadcrumb.d.ts +8 -0
  122. package/dist/style/breadcrumb.js +77 -0
  123. package/dist/style/collapseButton.d.ts +8 -0
  124. package/dist/style/collapseButton.js +57 -0
  125. package/dist/style/content.d.ts +8 -0
  126. package/dist/style/content.js +29 -0
  127. package/dist/style/footer.d.ts +8 -0
  128. package/dist/style/footer.js +33 -0
  129. package/dist/style/header.d.ts +8 -0
  130. package/dist/style/header.js +76 -0
  131. package/dist/style/index.d.ts +3 -22
  132. package/dist/style/index.js +51 -55
  133. package/dist/style/logo.d.ts +8 -0
  134. package/dist/style/logo.js +76 -0
  135. package/dist/style/menu.d.ts +15 -0
  136. package/dist/style/menu.js +49 -0
  137. package/dist/style/rightContent.d.ts +12 -0
  138. package/dist/style/rightContent.js +74 -0
  139. package/dist/style/search.d.ts +12 -0
  140. package/dist/style/search.js +94 -0
  141. package/dist/style/sider.d.ts +8 -0
  142. package/dist/style/sider.js +92 -0
  143. package/dist/style/tabs.d.ts +14 -0
  144. package/dist/style/tabs.js +97 -0
  145. package/dist/theme/augment.d.ts +20 -0
  146. package/dist/theme/augment.js +1 -0
  147. package/dist/theme/interface/components.d.ts +20 -0
  148. package/dist/theme/interface/components.js +1 -0
  149. package/dist/utils/config.d.ts +12 -0
  150. package/dist/utils/config.js +18 -0
  151. package/dist/utils/menu.d.ts +111 -20
  152. package/dist/utils/menu.js +263 -118
  153. package/dist/utils/style.d.ts +4 -0
  154. package/dist/utils/style.js +21 -0
  155. package/dist/utils/themeComponents.d.ts +28 -0
  156. package/dist/utils/themeComponents.js +89 -0
  157. package/package.json +24 -15
  158. package/dist/Context/expose.d.ts +0 -6
  159. package/dist/Context/expose.js +0 -7
  160. package/dist/Context/index.d.ts +0 -43
  161. package/dist/Context/index.js +0 -18
  162. package/dist/WrapContent.d.ts +0 -100
  163. package/dist/WrapContent.js +0 -45
  164. package/dist/components/BaseMenu/index.d.ts +0 -255
  165. package/dist/components/BaseMenu/index.js +0 -381
  166. package/dist/components/BaseMenu/props.d.ts +0 -105
  167. package/dist/components/BaseMenu/props.js +0 -94
  168. package/dist/components/BaseMenu/style.d.ts +0 -6
  169. package/dist/components/BaseMenu/style.js +0 -155
  170. package/dist/components/BreadCrumb/Breadcrumb.d.ts +0 -33
  171. package/dist/components/BreadCrumb/Breadcrumb.js +0 -75
  172. package/dist/components/BreadCrumb/index.d.ts +0 -7
  173. package/dist/components/BreadCrumb/index.js +0 -44
  174. package/dist/components/BreadCrumb/style.d.ts +0 -8
  175. package/dist/components/BreadCrumb/style.js +0 -87
  176. package/dist/components/CollapsedIcon/index.d.ts +0 -33
  177. package/dist/components/CollapsedIcon/index.js +0 -51
  178. package/dist/components/CollapsedIcon/style.d.ts +0 -9
  179. package/dist/components/CollapsedIcon/style.js +0 -34
  180. package/dist/components/FooterToolbar/props.d.ts +0 -47
  181. package/dist/components/FooterToolbar/props.js +0 -33
  182. package/dist/components/FooterToolbar/style/index.d.ts +0 -14
  183. package/dist/components/FooterToolbar/style/index.js +0 -48
  184. package/dist/components/FooterToolbar/style/stylish.d.ts +0 -18
  185. package/dist/components/FooterToolbar/style/stylish.js +0 -16
  186. package/dist/components/GlobalFooter/index.d.ts +0 -73
  187. package/dist/components/GlobalFooter/index.js +0 -77
  188. package/dist/components/GlobalFooter/style.d.ts +0 -6
  189. package/dist/components/GlobalFooter/style.js +0 -29
  190. package/dist/components/GlobalHeader/DefaultHeader.d.ts +0 -164
  191. package/dist/components/GlobalHeader/DefaultHeader.js +0 -149
  192. package/dist/components/GlobalHeader/index.d.ts +0 -164
  193. package/dist/components/GlobalHeader/index.js +0 -78
  194. package/dist/components/GlobalHeader/props.d.ts +0 -70
  195. package/dist/components/GlobalHeader/props.js +0 -56
  196. package/dist/components/GlobalHeader/style/defaultHeader.d.ts +0 -6
  197. package/dist/components/GlobalHeader/style/defaultHeader.js +0 -108
  198. package/dist/components/GlobalHeader/style/header.d.ts +0 -6
  199. package/dist/components/GlobalHeader/style/header.js +0 -41
  200. package/dist/components/LogoContent/index.d.ts +0 -80
  201. package/dist/components/LogoContent/index.js +0 -90
  202. package/dist/components/LogoContent/props.d.ts +0 -57
  203. package/dist/components/LogoContent/props.js +0 -37
  204. package/dist/components/LogoContent/style.d.ts +0 -6
  205. package/dist/components/LogoContent/style.js +0 -63
  206. package/dist/components/PageContainer/props.d.ts +0 -138
  207. package/dist/components/PageContainer/props.js +0 -103
  208. package/dist/components/PageContainer/style/index.d.ts +0 -14
  209. package/dist/components/PageContainer/style/index.js +0 -52
  210. package/dist/components/PageContainer/style/pageHeader.d.ts +0 -6
  211. package/dist/components/PageContainer/style/pageHeader.js +0 -44
  212. package/dist/components/PageTranstion/index.d.ts +0 -40
  213. package/dist/components/PageTranstion/index.js +0 -71
  214. package/dist/components/PageTranstion/keyFrame/roll.d.ts +0 -10
  215. package/dist/components/PageTranstion/style.d.ts +0 -10
  216. package/dist/components/SiderMenu/Arrow.d.ts +0 -6
  217. package/dist/components/SiderMenu/SiderMenu.d.ts +0 -180
  218. package/dist/components/SiderMenu/SiderMenu.js +0 -265
  219. package/dist/components/SiderMenu/index.d.ts +0 -193
  220. package/dist/components/SiderMenu/index.js +0 -51
  221. package/dist/components/SiderMenu/props.d.ts +0 -77
  222. package/dist/components/SiderMenu/props.js +0 -67
  223. package/dist/components/SiderMenu/style/index.d.ts +0 -12
  224. package/dist/components/SiderMenu/style/index.js +0 -162
  225. package/dist/components/SiderMenu/typings.d.ts +0 -38
  226. package/dist/components/SiderMenu/typings.js +0 -1
  227. package/dist/components/TabsRoute/index.d.ts +0 -95
  228. package/dist/components/TabsRoute/index.js +0 -405
  229. package/dist/components/TabsRoute/props.d.ts +0 -78
  230. package/dist/components/TabsRoute/props.js +0 -47
  231. package/dist/components/TabsRoute/style.d.ts +0 -15
  232. package/dist/components/TabsRoute/style.js +0 -133
  233. package/dist/components/TabsRoute/utils/config.d.ts +0 -18
  234. package/dist/components/TabsRoute/utils/config.js +0 -64
  235. package/dist/config/animate.d.ts +0 -11
  236. package/dist/config/animate.js +0 -76
  237. package/dist/config/index.d.ts +0 -34
  238. package/dist/config/index.js +0 -30
  239. package/dist/hooks/collapsed/index.d.ts +0 -15
  240. package/dist/hooks/collapsed/index.js +0 -50
  241. package/dist/hooks/layout/useLayoutExpose.d.ts +0 -15
  242. package/dist/hooks/layout/useLayoutExpose.js +0 -22
  243. package/dist/hooks/layout/usePageContent.d.ts +0 -6
  244. package/dist/hooks/layout/usePageContent.js +0 -28
  245. package/dist/hooks/menu/context.d.ts +0 -21
  246. package/dist/hooks/menu/context.js +0 -7
  247. package/dist/hooks/menu/index.d.ts +0 -29
  248. package/dist/hooks/menu/index.js +0 -118
  249. package/dist/hooks/theme/index.d.ts +0 -11
  250. package/dist/hooks/theme/index.js +0 -13
  251. package/dist/props/collapsedProps.d.ts +0 -39
  252. package/dist/props/collapsedProps.js +0 -45
  253. package/dist/props/defaultSettings.d.ts +0 -62
  254. package/dist/props/defaultSettings.js +0 -56
  255. package/dist/props/index.d.ts +0 -226
  256. package/dist/props/index.js +0 -109
  257. package/dist/props/themeProps.d.ts +0 -14
  258. package/dist/props/themeProps.js +0 -10
  259. package/dist/types/Breadcrumb.d.ts +0 -22
  260. package/dist/types/Breadcrumb.js +0 -1
  261. package/dist/types/MenuTypings.d.ts +0 -46
  262. package/dist/types/MenuTypings.js +0 -1
  263. package/dist/types/RouteTypings.d.ts +0 -96
  264. package/dist/types/RouteTypings.js +0 -1
  265. package/dist/types/SlotsTypings.d.ts +0 -124
  266. package/dist/types/SlotsTypings.js +0 -32
  267. package/dist/types/typings.d.ts +0 -73
  268. package/dist/types/typings.js +0 -3
  269. package/dist/utils/index.d.ts +0 -7
  270. package/dist/utils/index.js +0 -17
  271. package/dist/utils/style/index.d.ts +0 -44
  272. package/dist/utils/style/index.js +0 -103
@@ -1,64 +0,0 @@
1
- import { createVNode } from "vue";
2
- import { isBoolean } from "@gx-design-vue/pro-utils";
3
- import { CloseOutlined, ExportOutlined, FullscreenExitOutlined, FullscreenOutlined, ReloadOutlined, SwapOutlined, VerticalAlignMiddleOutlined, VerticalLeftOutlined, VerticalRightOutlined } from "@ant-design/icons-vue";
4
- import { GIcon } from "@gx-design-vue/icon";
5
-
6
- //#region src/components/TabsRoute/utils/config.tsx
7
- const tabsMenuList = [
8
- {
9
- key: "fixed",
10
- label: "置顶",
11
- icon: (value) => createVNode(GIcon, { "type": value ? "unpin" : "pin" }, null)
12
- },
13
- {
14
- key: "close",
15
- label: "关闭",
16
- icon: createVNode(CloseOutlined, null, null)
17
- },
18
- {
19
- key: "fullScreen",
20
- icon: (value) => value ? createVNode(FullscreenExitOutlined, null, null) : createVNode(FullscreenOutlined, null, null)
21
- },
22
- {
23
- key: "reloadPage",
24
- label: "重新加载",
25
- icon: createVNode(ReloadOutlined, null, null)
26
- },
27
- {
28
- key: "newBlank",
29
- label: "新窗口打开",
30
- icon: createVNode(ExportOutlined, null, null)
31
- },
32
- { key: "divider" },
33
- {
34
- key: "closeLeftTabs",
35
- label: "关闭左侧",
36
- icon: createVNode(VerticalRightOutlined, null, null)
37
- },
38
- {
39
- key: "closeRightTabs",
40
- label: "关闭右侧",
41
- icon: createVNode(VerticalLeftOutlined, null, null)
42
- },
43
- { key: "divider" },
44
- {
45
- key: "closeOthersTabs",
46
- label: "关闭其他",
47
- icon: createVNode(VerticalAlignMiddleOutlined, { "rotate": 90 }, null)
48
- },
49
- {
50
- key: "closeAllTabs",
51
- label: "关闭全部",
52
- icon: createVNode(SwapOutlined, null, null)
53
- }
54
- ];
55
- function handleTabsMenuName(record, options) {
56
- const { fixed } = options.tabs;
57
- const isFixed = isBoolean(fixed) ? fixed : fixed === 0;
58
- if (record.key === "fixed") return isFixed ? "取消置顶" : "置顶";
59
- else if (record.key === "fullScreen") return options.fullScreen ? "还原" : "最大化";
60
- return record.label;
61
- }
62
-
63
- //#endregion
64
- export { handleTabsMenuName, tabsMenuList };
@@ -1,11 +0,0 @@
1
- //#region src/config/animate.d.ts
2
- interface AnimateConfig {
3
- preset: {
4
- name: string;
5
- alias: string;
6
- directions: string[];
7
- }[];
8
- }
9
- declare const animateSetting: AnimateConfig;
10
- //#endregion
11
- export { AnimateConfig, animateSetting };
@@ -1,76 +0,0 @@
1
- //#region src/config/animate.ts
2
- const direct_s = ["left", "right"];
3
- const direct_1 = [
4
- "left",
5
- "right",
6
- "down",
7
- "up"
8
- ];
9
- const direct_1_b = [
10
- "downBig",
11
- "upBig",
12
- "leftBig",
13
- "rightBig"
14
- ];
15
- const direct_2 = [
16
- "topLeft",
17
- "bottomRight",
18
- "topRight",
19
- "bottomLeft"
20
- ];
21
- const direct_3 = [
22
- "downLeft",
23
- "upRight",
24
- "downRight",
25
- "upLeft"
26
- ];
27
- const animateSetting = { preset: [
28
- {
29
- name: "back",
30
- alias: "渐近",
31
- directions: direct_1
32
- },
33
- {
34
- name: "bounce",
35
- alias: "弹跳",
36
- directions: direct_1.concat("default")
37
- },
38
- {
39
- name: "fade",
40
- alias: "淡化",
41
- directions: direct_1.concat(direct_1_b).concat(direct_2).concat("default")
42
- },
43
- {
44
- name: "flip",
45
- alias: "翻转",
46
- directions: ["x", "y"]
47
- },
48
- {
49
- name: "lightSpeed",
50
- alias: "光速",
51
- directions: direct_s
52
- },
53
- {
54
- name: "rotate",
55
- alias: "旋转",
56
- directions: direct_3.concat("default")
57
- },
58
- {
59
- name: "roll",
60
- alias: "翻滚",
61
- directions: ["default"]
62
- },
63
- {
64
- name: "zoom",
65
- alias: "缩放",
66
- directions: direct_1.concat("default")
67
- },
68
- {
69
- name: "slide",
70
- alias: "滑动",
71
- directions: direct_1
72
- }
73
- ] };
74
-
75
- //#endregion
76
- export { animateSetting };
@@ -1,34 +0,0 @@
1
- import { BaseTheme } from "@gx-design-vue/context";
2
- import { ProAliasToken } from "@gx-design-vue/pro-provider";
3
-
4
- //#region src/config/index.d.ts
5
- type ProLayoutType = 'side' | 'mix' | 'simple' | 'wide' | 'top';
6
- interface ProLayoutConfig {
7
- title: string;
8
- layout: ProLayoutType;
9
- splitMenus: boolean;
10
- fixedHeader: boolean;
11
- fixSiderbar: boolean;
12
- showTabsBar: boolean;
13
- fixedTabsBar: boolean;
14
- headerHeight?: number | string;
15
- wideWidth?: number | string;
16
- siderWidth?: number | string;
17
- contentWidth?: number | string;
18
- iconfontUrl?: string;
19
- animate?: {
20
- disabled?: boolean;
21
- name: string;
22
- direction: string;
23
- };
24
- }
25
- declare function getTokenLayoutTheme(token: ProAliasToken): {
26
- theme: BaseTheme;
27
- layout: ProLayoutType;
28
- };
29
- /**
30
- * @description 导出默认主题配置
31
- */
32
- declare const defaultSettings: ProLayoutConfig;
33
- //#endregion
34
- export { ProLayoutConfig, ProLayoutType, defaultSettings, getTokenLayoutTheme };
@@ -1,30 +0,0 @@
1
- //#region src/config/index.ts
2
- function getTokenLayoutTheme(token) {
3
- const keys = token.layout?.key?.split(":") || [];
4
- return {
5
- theme: keys[0],
6
- layout: keys[1]
7
- };
8
- }
9
- /**
10
- * @description 导出默认主题配置
11
- */
12
- const defaultSettings = {
13
- layout: "mix",
14
- title: "GX Pro Admin",
15
- wideWidth: 1300,
16
- headerHeight: 48,
17
- siderWidth: 215,
18
- fixedHeader: true,
19
- fixSiderbar: true,
20
- splitMenus: true,
21
- showTabsBar: true,
22
- fixedTabsBar: true,
23
- animate: {
24
- name: "fade",
25
- direction: "default"
26
- }
27
- };
28
-
29
- //#endregion
30
- export { defaultSettings, getTokenLayoutTheme };
@@ -1,15 +0,0 @@
1
- import { ComputedRef, Ref } from "vue";
2
-
3
- //#region src/hooks/collapsed/index.d.ts
4
- type Ref$1<T> = Ref<T> | ComputedRef<T>;
5
- declare function useCollapsed(outCollapsed: Ref$1<boolean>, props?: {
6
- rectEl?: Ref$1<HTMLElement | undefined>;
7
- footEl?: Ref$1<HTMLElement | undefined>;
8
- disabled?: boolean;
9
- distance?: number;
10
- }): {
11
- innerCollapsed: Ref<boolean, boolean>;
12
- setInnerCollapsed: (val: boolean) => void;
13
- };
14
- //#endregion
15
- export { useCollapsed };
@@ -1,50 +0,0 @@
1
- import { watch } from "vue";
2
- import { useState } from "@gx-design-vue/pro-hooks";
3
- import { useMouse, watchThrottled } from "@vueuse/core";
4
-
5
- //#region src/hooks/collapsed/index.ts
6
- function useCollapsed(outCollapsed, props) {
7
- const { x, y } = useMouse();
8
- const [innerCollapsed, setInnerCollapsed] = useState(false);
9
- if (!props?.disabled) {
10
- let stop;
11
- watch(() => outCollapsed.value, (val) => {
12
- if (val) stop = watchThrottled([() => x.value, () => y.value], ([distanceX, distanceY]) => {
13
- toggleCollapsed(distanceX, distanceY);
14
- }, { throttle: 60 });
15
- else {
16
- stop?.();
17
- setInnerCollapsed(false);
18
- }
19
- }, { immediate: true });
20
- }
21
- function isPointInRect(x, y, rect) {
22
- return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;
23
- }
24
- function isPointInElements(x, y, elements) {
25
- return elements.some((el) => {
26
- if (!el) return false;
27
- return isPointInRect(x, y, el.getBoundingClientRect());
28
- });
29
- }
30
- function toggleCollapsed(distanceX, distanceY) {
31
- const rectEl = props?.rectEl?.value;
32
- const footEl = props?.footEl?.value;
33
- if (!rectEl) return;
34
- const distance = props?.distance || 50;
35
- if (distanceX <= distance && !innerCollapsed.value) {
36
- setInnerCollapsed(true);
37
- return;
38
- }
39
- if (!innerCollapsed.value) return;
40
- if (distanceX <= distance) return;
41
- if (!isPointInElements(distanceX, distanceY, [rectEl, footEl])) setInnerCollapsed(false);
42
- }
43
- return {
44
- innerCollapsed,
45
- setInnerCollapsed
46
- };
47
- }
48
-
49
- //#endregion
50
- export { useCollapsed };
@@ -1,15 +0,0 @@
1
- import { AppRouteModule } from "../../types/RouteTypings.js";
2
-
3
- //#region src/hooks/layout/useLayoutExpose.d.ts
4
- declare function useLayoutExpose(): {
5
- tabsRouter: {
6
- clean: () => void;
7
- close: (options?: {
8
- name?: AppRouteModule["name"];
9
- callback?: (row: AppRouteModule) => void;
10
- }) => void;
11
- update: (params: Partial<AppRouteModule>, route?: AppRouteModule) => void;
12
- };
13
- };
14
- //#endregion
15
- export { useLayoutExpose };
@@ -1,22 +0,0 @@
1
- import { useProLayoutExposeContext } from "../../Context/expose.js";
2
- import { useRoute, useRouter } from "vue-router";
3
-
4
- //#region src/hooks/layout/useLayoutExpose.ts
5
- function useLayoutExpose() {
6
- const route = useRoute();
7
- const router = useRouter();
8
- const { tabsRouteRef } = useProLayoutExposeContext();
9
- return { tabsRouter: {
10
- clean: () => tabsRouteRef.value?.clean(),
11
- close: (options) => tabsRouteRef.value?.close(options?.name || route.name, options?.callback),
12
- update: (params, route) => {
13
- tabsRouteRef.value?.update(route || router.currentRoute.value, {
14
- type: "merge",
15
- params
16
- });
17
- }
18
- } };
19
- }
20
-
21
- //#endregion
22
- export { useLayoutExpose };
@@ -1,6 +0,0 @@
1
- import * as vue204 from "vue";
2
-
3
- //#region src/hooks/layout/usePageContent.d.ts
4
- declare function usePageContent(count?: number): vue204.ComputedRef<string>;
5
- //#endregion
6
- export { usePageContent };
@@ -1,28 +0,0 @@
1
- import { useProLayoutContext } from "../../Context/index.js";
2
- import { computed } from "vue";
3
- import { unit, useProConfigContext } from "@gx-design-vue/pro-provider";
4
-
5
- //#region src/hooks/layout/usePageContent.ts
6
- function usePageContent(count = 0) {
7
- const { token } = useProConfigContext();
8
- const { settings } = useProLayoutContext();
9
- return computed(() => {
10
- const headerHeight = token.value?.layout?.header?.heightLayoutHeader ?? settings.value?.headerHeight ?? 48;
11
- const margin = token.value?.layout?.pageContainer?.margin || "";
12
- const padding = token.value?.layout?.pageContainer?.padding || "";
13
- const marginBlock = margin?.split(" ")?.[0];
14
- const paddingBlock = padding?.split(" ")?.[0];
15
- const blockMarginStr = marginBlock ? `(${marginBlock} * 2)` : 0;
16
- const blockPaddingStr = paddingBlock ? `(${paddingBlock} * 2)` : 0;
17
- return `calc(100vh - ${[
18
- headerHeight,
19
- settings.value?.showTabsBar ? 40 : 0,
20
- blockMarginStr,
21
- blockPaddingStr,
22
- count
23
- ].filter(Boolean).map((item) => unit(item)).join(" - ")})`;
24
- });
25
- }
26
-
27
- //#endregion
28
- export { usePageContent };
@@ -1,21 +0,0 @@
1
- import { AppRouteModule } from "../../types/RouteTypings.js";
2
- import { MenuData } from "../../utils/menu.js";
3
- import { ComputedRef, Ref } from "vue";
4
-
5
- //#region src/hooks/menu/context.d.ts
6
- interface ProLayoutMenuContext {
7
- update: () => void;
8
- names: Ref<string[]>;
9
- menuData: Ref<AppRouteModule[]>;
10
- menuMap: Ref<MenuData['menuMap']>;
11
- flatMenus: Ref<AppRouteModule[]>;
12
- matchedMenu: ComputedRef<AppRouteModule[]>;
13
- matchedKeys: {
14
- openKeys: string[];
15
- selectedKeys: string[];
16
- };
17
- syncMatchedKeys: (timer?: number) => void;
18
- }
19
- declare const provideProLayoutMenuContext: (value: ProLayoutMenuContext) => void, useProLayoutMenuContext: (injectDefaultValue?: ProLayoutMenuContext) => ProLayoutMenuContext;
20
- //#endregion
21
- export { provideProLayoutMenuContext, useProLayoutMenuContext };
@@ -1,7 +0,0 @@
1
- import { useContext } from "@gx-design-vue/context";
2
-
3
- //#region src/hooks/menu/context.ts
4
- const { provideContext: provideProLayoutMenuContext, useInjectContext: useProLayoutMenuContext } = useContext("pro-layout-menu");
5
-
6
- //#endregion
7
- export { provideProLayoutMenuContext, useProLayoutMenuContext };
@@ -1,29 +0,0 @@
1
- import { AppRouteModule } from "../../types/RouteTypings.js";
2
- import { ProRoute } from "../../types/Breadcrumb.js";
3
- import { MenuData } from "../../utils/menu.js";
4
- import { ComputedRef, MaybeRef, Ref } from "vue";
5
-
6
- //#region src/hooks/menu/index.d.ts
7
- interface MenuState {
8
- menuMap: MenuData['menuMap'];
9
- flatMenus: AppRouteModule[];
10
- names: string[];
11
- }
12
- declare function export_default(options?: {
13
- menuData?: MaybeRef<any[]>;
14
- defaultOpen?: boolean;
15
- autoClose?: boolean;
16
- currentName?: ComputedRef<string>;
17
- }): {
18
- update: () => void;
19
- menuState: MenuState;
20
- menuData: Ref<AppRouteModule[]>;
21
- matchedKeys: {
22
- openKeys: string[];
23
- selectedKeys: string[];
24
- };
25
- matchedMenu: ComputedRef<AppRouteModule[]>;
26
- breadcrumbRouters: ComputedRef<ProRoute[]>;
27
- };
28
- //#endregion
29
- export { MenuState, export_default as default };
@@ -1,118 +0,0 @@
1
- import { provideProLayoutMenuContext } from "./context.js";
2
- import { clearMenuItem, getLastPath, getMatchedList, getMenuData } from "../../utils/menu.js";
3
- import { computed, isRef, onMounted, reactive, ref, toRaw, toRefs, unref, watch } from "vue";
4
- import { cloneDeep } from "@gx-design-vue/pro-utils";
5
- import { useRouter } from "vue-router";
6
-
7
- //#region src/hooks/menu/index.ts
8
- function menu_default(options) {
9
- const router = useRouter();
10
- const defaultOpen = options?.defaultOpen ?? true;
11
- const autoClose = options?.autoClose ?? true;
12
- const routeData = router.getRoutes();
13
- const menuData = ref([]);
14
- const menuState = reactive({
15
- menuMap: /* @__PURE__ */ new Map(),
16
- flatMenus: [],
17
- names: []
18
- });
19
- const matchedKeys = reactive({
20
- openKeys: [],
21
- selectedKeys: []
22
- });
23
- const currentRoute = computed(() => router.currentRoute.value);
24
- const currentName = computed(() => options?.currentName?.value ?? currentRoute.value?.name);
25
- function flattenMenu(menuData, flatMenus = [], map = /* @__PURE__ */ new Map()) {
26
- for (const item of menuData) {
27
- flatMenus.push(toRaw(item));
28
- map.set(item.name, toRaw(item));
29
- if (item.children?.length) flattenMenu(item.children, flatMenus, map);
30
- }
31
- return {
32
- flatMenus,
33
- map
34
- };
35
- }
36
- const handleMenuData = (data) => {
37
- const menuInfos = getMenuData(clearMenuItem(data));
38
- menuData.value = cloneDeep(menuInfos.menuData);
39
- menuState.menuMap = menuInfos.menuMap;
40
- menuState.flatMenus = menuInfos.flatMenus;
41
- menuState.names = menuInfos.flatMenus.map((item) => item.name);
42
- };
43
- if (options?.menuData) watch(() => isRef(options.menuData) ? options.menuData.value : options.menuData, (data) => {
44
- handleMenuData(data || []);
45
- }, { deep: true });
46
- handleMenuData(options?.menuData ? isRef(options.menuData) ? options.menuData.value : options.menuData : routeData);
47
- const matchedMenu = computed(() => {
48
- return getMatchedList({
49
- menuMap: menuState.menuMap,
50
- flatMenus: menuState.flatMenus
51
- }, currentName.value);
52
- });
53
- const breadcrumbRouters = computed(() => {
54
- function setBreadcrumbData(row) {
55
- const path = getLastPath(row.meta?.hideChildrenInMenu ? [] : row.children || []);
56
- return {
57
- name: row.name,
58
- icon: row.meta?.icon || "",
59
- path: row.redirect || path || row.path || "",
60
- breadcrumbName: row.meta?.title || "",
61
- children: row.children && row.children?.length > 1 ? row.children?.filter((item) => !(item.meta?.hidden || item.meta?.hideInMenu))?.map((item) => setBreadcrumbData(item)).filter((item) => item.breadcrumbName) : []
62
- };
63
- }
64
- const list = matchedMenu.value.filter((item) => !(item.meta?.hidden || item.meta?.hideInMenu)).map((item) => setBreadcrumbData(item)).filter((item) => item.breadcrumbName);
65
- if (currentRoute.value?.meta?.menuSelectKey) list.push({
66
- name: currentRoute.value.name,
67
- icon: currentRoute.value.meta?.icon || "",
68
- path: currentRoute.value.path || "",
69
- breadcrumbName: currentRoute.value.meta?.title || ""
70
- });
71
- return list;
72
- });
73
- const update = () => {
74
- const { flatMenus, map } = flattenMenu(unref(menuData));
75
- menuState.flatMenus = flatMenus;
76
- menuState.menuMap = map;
77
- menuState.names = flatMenus.map((item) => item.name);
78
- };
79
- const getOpenKeys = () => {
80
- matchedKeys.openKeys = matchedMenu.value.filter((item) => item.name !== currentName.value).map((item) => item.name);
81
- };
82
- watch(() => currentRoute.value, (route) => {
83
- if (route) {
84
- matchedKeys.selectedKeys = matchedMenu.value.map((item) => item.name);
85
- if (autoClose) getOpenKeys();
86
- }
87
- }, {
88
- immediate: true,
89
- deep: true
90
- });
91
- onMounted(() => {
92
- if (defaultOpen) getOpenKeys();
93
- });
94
- provideProLayoutMenuContext({
95
- ...toRefs(menuState),
96
- syncMatchedKeys: (time = 60) => {
97
- setTimeout(() => {
98
- matchedKeys.selectedKeys = matchedMenu.value.map((item) => item.name);
99
- getOpenKeys();
100
- }, time);
101
- },
102
- update,
103
- menuData,
104
- matchedMenu,
105
- matchedKeys
106
- });
107
- return {
108
- update,
109
- menuState,
110
- menuData,
111
- matchedKeys,
112
- matchedMenu,
113
- breadcrumbRouters
114
- };
115
- }
116
-
117
- //#endregion
118
- export { menu_default as default };
@@ -1,11 +0,0 @@
1
- import * as vue263 from "vue";
2
- import { ThemeValue } from "@gx-design-vue/context";
3
- import * as _vueuse_core0 from "@vueuse/core";
4
-
5
- //#region src/hooks/theme/index.d.ts
6
- declare function export_default(value?: ThemeValue): {
7
- theme: vue263.Ref<ThemeValue, ThemeValue>;
8
- isDark: _vueuse_core0.UseDarkReturn;
9
- };
10
- //#endregion
11
- export { export_default as default };
@@ -1,13 +0,0 @@
1
- import { ref } from "vue";
2
- import { useDark } from "@vueuse/core";
3
-
4
- //#region src/hooks/theme/index.ts
5
- function theme_default(value) {
6
- return {
7
- theme: ref(value ?? "system"),
8
- isDark: useDark()
9
- };
10
- }
11
-
12
- //#endregion
13
- export { theme_default as default };
@@ -1,39 +0,0 @@
1
- import { CollapsedButtonRender, CollapsedIconRender } from "../types/SlotsTypings.js";
2
- import { CollapsedProps } from "../types/typings.js";
3
- import { PropType } from "vue";
4
-
5
- //#region src/props/collapsedProps.d.ts
6
- declare const commonCollapsedProps: {
7
- collapsedButtonRender: {
8
- type: PropType<CollapsedButtonRender>;
9
- default: () => any;
10
- };
11
- collapsedIconRender: {
12
- type: PropType<CollapsedIconRender>;
13
- default: () => any;
14
- };
15
- };
16
- declare const _default: {
17
- collapsedButtonRender: {
18
- type: PropType<CollapsedButtonRender>;
19
- default: () => any;
20
- };
21
- collapsedIconRender: {
22
- type: PropType<CollapsedIconRender>;
23
- default: () => any;
24
- };
25
- position: {
26
- type: PropType<CollapsedProps["position"]>;
27
- default: string;
28
- };
29
- collapsed: PropType<CollapsedProps["value"]>;
30
- width: {
31
- type: PropType<CollapsedProps["width"]>;
32
- default: number;
33
- };
34
- onCollapse: {
35
- type: PropType<CollapsedProps["onCollapse"]>;
36
- };
37
- };
38
- //#endregion
39
- export { commonCollapsedProps, _default as default };
@@ -1,45 +0,0 @@
1
- //#region src/props/collapsedProps.ts
2
- const commonCollapsedProps = {
3
- collapsedButtonRender: {
4
- type: [
5
- Function,
6
- Object,
7
- Boolean,
8
- Array,
9
- String,
10
- Number
11
- ],
12
- default: () => void 0
13
- },
14
- collapsedIconRender: {
15
- type: [
16
- Function,
17
- Object,
18
- Boolean,
19
- Array,
20
- String,
21
- Number
22
- ],
23
- default: () => void 0
24
- }
25
- };
26
- var collapsedProps_default = {
27
- position: {
28
- type: [
29
- Object,
30
- Boolean,
31
- String
32
- ],
33
- default: "fixed"
34
- },
35
- collapsed: Boolean,
36
- width: {
37
- type: Number,
38
- default: 64
39
- },
40
- onCollapse: { type: Function },
41
- ...commonCollapsedProps
42
- };
43
-
44
- //#endregion
45
- export { commonCollapsedProps, collapsedProps_default as default };