@jetlinks-web/components 2.0.2-2 → 2.0.2-4

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 (225) hide show
  1. package/es/AMap/Map.js +124 -0
  2. package/es/AMap/index.js +2 -0
  3. package/es/AMap/util.js +56 -0
  4. package/es/BadgeStatus/Badge.js +54 -0
  5. package/es/BadgeStatus/color.js +21 -0
  6. package/es/BadgeStatus/index.js +3 -0
  7. package/es/CardSelect/CardSelect.js +123 -0
  8. package/es/CardSelect/index.js +2 -0
  9. package/es/CheckButton/CheckButton.js +121 -0
  10. package/es/CheckButton/index.js +2 -0
  11. package/es/ConfigProvider/context.js +12 -0
  12. package/es/ConfigProvider/index.js +31 -0
  13. package/es/Echarts/Echarts.js +47 -0
  14. package/es/Echarts/index.js +2 -0
  15. package/es/Ellipsis/Ellipsis.js +189 -0
  16. package/es/Ellipsis/index.js +2 -0
  17. package/es/Empty/Empty.js +56 -0
  18. package/es/Empty/image.js +2 -0
  19. package/es/Empty/index.js +2 -0
  20. package/es/FullPage/FullPage.js +31 -0
  21. package/es/FullPage/index.js +2 -0
  22. package/es/Icon/icon.js +43 -0
  23. package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
  24. package/es/MonacoEditor/Monaco.js +238 -0
  25. package/es/MonacoEditor/index.js +2 -0
  26. package/es/PermissionButton/index.js +117 -0
  27. package/es/ProLayout/Basic/BasicLayout.js +255 -0
  28. package/es/ProLayout/Basic/Header.js +93 -0
  29. package/es/ProLayout/PageContainer/index.js +318 -0
  30. package/es/ProLayout/PageContainer/typings.js +1 -0
  31. package/es/ProLayout/RouteContext.js +22 -0
  32. package/es/ProLayout/SiderMenu/BaseMenu.js +262 -0
  33. package/es/ProLayout/SiderMenu/SiderMenu.js +258 -0
  34. package/es/ProLayout/SiderMenu/index.js +2 -0
  35. package/es/ProLayout/SiderMenu/typings.js +1 -0
  36. package/es/ProLayout/TopHeader/index.js +155 -0
  37. package/es/ProLayout/defaultSettings.js +66 -0
  38. package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
  39. package/{src → es}/ProLayout/style/default.less +4 -4
  40. package/es/ProLayout/style/index.js +1 -0
  41. package/es/ProLayout/typings.js +1 -0
  42. package/es/ProLayout/util.js +61 -0
  43. package/es/ProTable/index.js +406 -0
  44. package/es/ProTable/proTableTypes.js +11 -0
  45. package/es/ProTable/style/index.css +65 -0
  46. package/es/ProTable/style/index.js +1 -0
  47. package/es/Scrollbar/Bar.js +114 -0
  48. package/es/Scrollbar/Scrollbar.js +100 -0
  49. package/es/Scrollbar/Thumb.js +10 -0
  50. package/es/Scrollbar/constants.js +1 -0
  51. package/es/Scrollbar/index.js +2 -0
  52. package/es/Scrollbar/util.js +30 -0
  53. package/es/Search/Advanced/History.js +183 -0
  54. package/es/Search/Advanced/SaveHistory.js +153 -0
  55. package/es/Search/Advanced/index.js +520 -0
  56. package/es/Search/Item.js +497 -0
  57. package/es/Search/Search.js +249 -0
  58. package/es/Search/hooks/index.js +1 -0
  59. package/es/Search/hooks/useSearchItems.js +40 -0
  60. package/es/Search/index.js +4 -0
  61. package/es/Search/setting.js +91 -0
  62. package/es/Search/typing.js +1 -0
  63. package/es/Search/util.js +234 -0
  64. package/es/ValueItem/ValueItem.js +233 -0
  65. package/es/ValueItem/index.js +2 -0
  66. package/es/ValueItem/util.js +16 -0
  67. package/es/index.js +24 -0
  68. package/es/style/index.js +3 -0
  69. package/es/style/variable.css +0 -0
  70. package/{src → es}/style/variable.less +0 -2
  71. package/lib/AMap/Map.js +124 -0
  72. package/lib/AMap/index.js +9 -0
  73. package/lib/AMap/util.js +62 -0
  74. package/lib/BadgeStatus/Badge.js +54 -0
  75. package/lib/BadgeStatus/color.js +27 -0
  76. package/lib/BadgeStatus/index.js +22 -0
  77. package/lib/CardSelect/CardSelect.js +123 -0
  78. package/lib/CardSelect/index.js +9 -0
  79. package/lib/CheckButton/CheckButton.js +121 -0
  80. package/lib/CheckButton/index.js +9 -0
  81. package/lib/ConfigProvider/context.js +19 -0
  82. package/lib/ConfigProvider/index.js +37 -0
  83. package/lib/Echarts/Echarts.js +47 -0
  84. package/lib/Echarts/index.js +9 -0
  85. package/lib/Ellipsis/Ellipsis.js +189 -0
  86. package/lib/Ellipsis/index.js +9 -0
  87. package/lib/Empty/Empty.js +56 -0
  88. package/lib/Empty/image.js +8 -0
  89. package/lib/Empty/index.js +9 -0
  90. package/lib/FullPage/FullPage.js +31 -0
  91. package/lib/FullPage/index.js +9 -0
  92. package/lib/Icon/icon.js +52 -0
  93. package/lib/Icon/index.js +9 -0
  94. package/lib/MonacoEditor/Monaco.js +238 -0
  95. package/lib/MonacoEditor/index.js +9 -0
  96. package/lib/PermissionButton/index.js +124 -0
  97. package/lib/ProLayout/Basic/BasicLayout.js +264 -0
  98. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  99. package/lib/ProLayout/Basic/Header.js +99 -0
  100. package/lib/ProLayout/Basic/Header.less +8 -0
  101. package/lib/ProLayout/PageContainer/index.js +323 -0
  102. package/lib/ProLayout/PageContainer/index.less +103 -0
  103. package/lib/ProLayout/PageContainer/typings.js +5 -0
  104. package/lib/ProLayout/RouteContext.js +28 -0
  105. package/lib/ProLayout/SiderMenu/BaseMenu.js +268 -0
  106. package/lib/ProLayout/SiderMenu/SiderMenu.js +267 -0
  107. package/lib/ProLayout/SiderMenu/index.js +20 -0
  108. package/lib/ProLayout/SiderMenu/index.less +212 -0
  109. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  110. package/lib/ProLayout/TopHeader/index.js +161 -0
  111. package/lib/ProLayout/TopHeader/index.less +174 -0
  112. package/lib/ProLayout/defaultSettings.js +72 -0
  113. package/lib/ProLayout/index.js +16 -0
  114. package/lib/ProLayout/style/default.less +4 -0
  115. package/lib/ProLayout/style/index.js +3 -0
  116. package/lib/ProLayout/style/style.less +7 -0
  117. package/lib/ProLayout/typings.js +5 -0
  118. package/lib/ProLayout/util.js +72 -0
  119. package/lib/ProTable/index.js +412 -0
  120. package/lib/ProTable/proTableTypes.js +17 -0
  121. package/lib/ProTable/style/index.css +65 -0
  122. package/lib/ProTable/style/index.js +3 -0
  123. package/lib/ProTable/style/index.less +92 -0
  124. package/lib/Scrollbar/Bar.js +114 -0
  125. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/Scrollbar.js} +106 -108
  126. package/lib/Scrollbar/Thumb.js +16 -0
  127. package/lib/Scrollbar/constants.js +7 -0
  128. package/lib/Scrollbar/index.js +9 -0
  129. package/lib/Scrollbar/util.js +37 -0
  130. package/lib/Search/Advanced/History.js +183 -0
  131. package/lib/Search/Advanced/SaveHistory.js +153 -0
  132. package/lib/Search/Advanced/index.js +520 -0
  133. package/lib/Search/Item.js +497 -0
  134. package/lib/Search/Search.js +249 -0
  135. package/lib/Search/hooks/index.js +16 -0
  136. package/lib/Search/hooks/useSearchItems.js +47 -0
  137. package/lib/Search/index.js +16 -0
  138. package/lib/Search/setting.js +97 -0
  139. package/lib/Search/typing.js +5 -0
  140. package/lib/Search/util.js +241 -0
  141. package/lib/ValueItem/ValueItem.js +233 -0
  142. package/lib/ValueItem/index.js +9 -0
  143. package/lib/ValueItem/util.js +22 -0
  144. package/lib/index.js +158 -0
  145. package/lib/style/components.less +1 -0
  146. package/lib/style/index.js +4 -0
  147. package/lib/style/variable.css +0 -0
  148. package/lib/style/variable.less +2 -0
  149. package/package.json +121 -12
  150. package/index.ts +0 -64
  151. package/src/AMap/Map.vue +0 -110
  152. package/src/AMap/index.ts +0 -1
  153. package/src/AMap/util.ts +0 -56
  154. package/src/BadgeStatus/Badge.vue +0 -41
  155. package/src/BadgeStatus/color.ts +0 -25
  156. package/src/BadgeStatus/index.ts +0 -4
  157. package/src/CardSelect/CardSelect.vue +0 -136
  158. package/src/CardSelect/index.ts +0 -3
  159. package/src/CheckButton/CheckButton.vue +0 -146
  160. package/src/CheckButton/index.md +0 -27
  161. package/src/CheckButton/index.ts +0 -3
  162. package/src/ConfigProvider/context.ts +0 -17
  163. package/src/ConfigProvider/index.tsx +0 -40
  164. package/src/Echarts/Echarts.vue +0 -43
  165. package/src/Echarts/index.ts +0 -3
  166. package/src/Ellipsis/Ellipsis.vue +0 -182
  167. package/src/Ellipsis/index.ts +0 -3
  168. package/src/Empty/Empty.vue +0 -43
  169. package/src/Empty/image.ts +0 -3
  170. package/src/Empty/index.ts +0 -2
  171. package/src/FullPage/FullPage.vue +0 -30
  172. package/src/FullPage/index.ts +0 -3
  173. package/src/Icon/icon.tsx +0 -40
  174. package/src/MonacoEditor/Monaco.vue +0 -242
  175. package/src/MonacoEditor/index.md +0 -26
  176. package/src/MonacoEditor/index.ts +0 -2
  177. package/src/PermissionButton/index.tsx +0 -110
  178. package/src/ProLayout/Basic/BasicLayout.tsx +0 -395
  179. package/src/ProLayout/Basic/Header.tsx +0 -115
  180. package/src/ProLayout/PageContainer/index.tsx +0 -441
  181. package/src/ProLayout/PageContainer/typings.ts +0 -56
  182. package/src/ProLayout/RouteContext.ts +0 -87
  183. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  184. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  185. package/src/ProLayout/SiderMenu/index.ts +0 -2
  186. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  187. package/src/ProLayout/TopHeader/index.tsx +0 -210
  188. package/src/ProLayout/defaultSettings.ts +0 -106
  189. package/src/ProLayout/style/index.ts +0 -1
  190. package/src/ProLayout/typings.ts +0 -87
  191. package/src/ProLayout/util.ts +0 -64
  192. package/src/ProTable/index.md +0 -53
  193. package/src/ProTable/index.tsx +0 -551
  194. package/src/ProTable/proTableTypes.ts +0 -70
  195. package/src/ProTable/style/index.ts +0 -1
  196. package/src/Scrollbar/Bar.vue +0 -75
  197. package/src/Scrollbar/Scrollbar.vue +0 -260
  198. package/src/Scrollbar/Thumb.vue +0 -163
  199. package/src/Scrollbar/constants.ts +0 -10
  200. package/src/Scrollbar/index.ts +0 -4
  201. package/src/Scrollbar/thumb.ts +0 -16
  202. package/src/Scrollbar/util.ts +0 -38
  203. package/src/Search/Advanced/History.vue +0 -140
  204. package/src/Search/Advanced/SaveHistory.vue +0 -108
  205. package/src/Search/Advanced/index.vue +0 -435
  206. package/src/Search/Item.vue +0 -525
  207. package/src/Search/Search.vue +0 -398
  208. package/src/Search/hooks/index.ts +0 -1
  209. package/src/Search/hooks/useSearchItems.ts +0 -68
  210. package/src/Search/index.md +0 -57
  211. package/src/Search/index.ts +0 -5
  212. package/src/Search/setting.ts +0 -55
  213. package/src/Search/typing.ts +0 -76
  214. package/src/Search/util.ts +0 -263
  215. package/src/ValueItem/ValueItem.vue +0 -192
  216. package/src/ValueItem/index.ts +0 -3
  217. package/src/ValueItem/util.ts +0 -16
  218. package/src/style/index.ts +0 -3
  219. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  220. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  221. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  222. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  223. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  224. /package/{src → es}/ProLayout/style/style.less +0 -0
  225. /package/{src → es}/ProTable/style/index.less +0 -0
@@ -0,0 +1,258 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
5
+ import { LayoutSider as Sider, Menu } from 'ant-design-vue';
6
+ import BaseMenu, { baseMenuProps } from './BaseMenu';
7
+ import { defaultSettingProps } from '../defaultSettings';
8
+ import PropTypes from 'ant-design-vue/es/_util/vue-types';
9
+ import IconFont from '../../Icon';
10
+ import { useRouteContext } from '../RouteContext';
11
+ import { computed, unref } from 'vue';
12
+ export var siderMenuProps = _objectSpread(_objectSpread(_objectSpread({}, defaultSettingProps), baseMenuProps), {}, {
13
+ logo: {
14
+ type: [Object, String, Function],
15
+ default: function _default() {
16
+ return undefined;
17
+ }
18
+ },
19
+ logoStyle: {
20
+ type: Object,
21
+ default: function _default() {
22
+ return undefined;
23
+ }
24
+ },
25
+ siderWidth: PropTypes.number.def(208),
26
+ headerHeight: PropTypes.number.def(48),
27
+ collapsedWidth: PropTypes.number.def(48),
28
+ menuHeaderRender: {
29
+ type: [Function, Object, Boolean],
30
+ default: function _default() {
31
+ return undefined;
32
+ }
33
+ },
34
+ menuContentRender: {
35
+ type: [Function, Object, Boolean],
36
+ default: function _default() {
37
+ return undefined;
38
+ }
39
+ },
40
+ menuExtraRender: {
41
+ type: [Function, Object, Boolean],
42
+ default: function _default() {
43
+ return undefined;
44
+ }
45
+ },
46
+ collapsedButtonRender: {
47
+ type: [Function, Object, Boolean],
48
+ default: function _default() {
49
+ return undefined;
50
+ }
51
+ },
52
+ breakpoint: {
53
+ type: [Object, Boolean],
54
+ default: function _default() {
55
+ return false;
56
+ }
57
+ },
58
+ splitMenus: PropTypes.looseBool,
59
+ fixed: PropTypes.looseBool,
60
+ hide: PropTypes.looseBool,
61
+ matchMenuKeys: {
62
+ type: Array,
63
+ default: function _default() {
64
+ return [];
65
+ }
66
+ },
67
+ // events
68
+ onMenuHeaderClick: PropTypes.func,
69
+ onMenuClick: PropTypes.func,
70
+ onCollapse: {
71
+ type: Function
72
+ },
73
+ onOpenKeys: {
74
+ type: Function
75
+ },
76
+ onSelect: {
77
+ type: Function
78
+ }
79
+ });
80
+ export var defaultRenderLogo = function defaultRenderLogo(logo, logoStyle) {
81
+ if (!logo) {
82
+ return null;
83
+ }
84
+ if (typeof logo === 'string') {
85
+ return _createVNode("img", {
86
+ "src": logo,
87
+ "alt": "logo",
88
+ "style": logoStyle
89
+ }, null);
90
+ }
91
+ if (typeof logo === 'function') {
92
+ // @ts-ignore
93
+ return logo();
94
+ }
95
+ return logo;
96
+ };
97
+ export var defaultRenderLogoAndTitle = function defaultRenderLogoAndTitle(props) {
98
+ var renderKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'menuHeaderRender';
99
+ var _props$logo = props.logo,
100
+ logo = _props$logo === void 0 ? 'http://demo.jetlinks.cn/static/logo.760eb65c.png' : _props$logo,
101
+ logoStyle = props.logoStyle,
102
+ title = props.title,
103
+ layout = props.layout;
104
+ var renderFunction = props[renderKey || ''];
105
+ if (layout === 'mix' && renderFunction === false) {
106
+ return null;
107
+ }
108
+ var logoDom = defaultRenderLogo(logo, logoStyle);
109
+ var titleDom = _createVNode("h1", null, [title]);
110
+ if (renderKey === 'menuHeaderRender') {
111
+ return null;
112
+ }
113
+ // call menuHeaderRender
114
+ if (typeof renderFunction === 'function') {
115
+ // @ts-ignore
116
+ return renderFunction(logoDom, props.collapsed ? null : titleDom, props);
117
+ }
118
+ if (Array.isArray(renderFunction)) {
119
+ return _createVNode(_Fragment, null, [renderFunction]);
120
+ }
121
+ return _createVNode("a", null, [logoDom, props.collapsed ? null : titleDom]);
122
+ };
123
+ export var defaultRenderCollapsedButton = function defaultRenderCollapsedButton(collapsed) {
124
+ return collapsed ? _createVNode(IconFont, {
125
+ "type": 'MenuUnfoldOutlined'
126
+ }, null) : _createVNode(IconFont, {
127
+ "type": 'MenuFoldOutlined'
128
+ }, null);
129
+ };
130
+ var SiderMenu = function SiderMenu(props) {
131
+ var collapsed = props.collapsed,
132
+ siderWidth = props.siderWidth,
133
+ breakpoint = props.breakpoint,
134
+ _props$collapsedWidth = props.collapsedWidth,
135
+ collapsedWidth = _props$collapsedWidth === void 0 ? 48 : _props$collapsedWidth,
136
+ _props$menuExtraRende = props.menuExtraRender,
137
+ menuExtraRender = _props$menuExtraRende === void 0 ? false : _props$menuExtraRende,
138
+ _props$menuContentRen = props.menuContentRender,
139
+ menuContentRender = _props$menuContentRen === void 0 ? false : _props$menuContentRen,
140
+ _props$collapsedButto = props.collapsedButtonRender,
141
+ collapsedButtonRender = _props$collapsedButto === void 0 ? defaultRenderCollapsedButton : _props$collapsedButto,
142
+ theme = props.theme;
143
+ var context = useRouteContext();
144
+ var getPrefixCls = context.getPrefixCls;
145
+ var baseClassName = getPrefixCls('sider');
146
+ var hasSplitMenu = computed(function () {
147
+ return props.layout === 'mix' && props.splitMenus;
148
+ });
149
+ var sSideWidth = computed(function () {
150
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
151
+ });
152
+ var classNames = computed(function () {
153
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, baseClassName, true), "".concat(baseClassName, "-fixed"), context.fixSiderbar), "".concat(baseClassName, "-").concat(theme), true), "".concat(baseClassName, "-layout-").concat(props.layout), props.layout);
154
+ });
155
+ var handleSelect = function handleSelect($event) {
156
+ if (props.onSelect) {
157
+ if (unref(hasSplitMenu)) {
158
+ props.onSelect([context.selectedKeys[0]].concat(_toConsumableArray($event)));
159
+ return;
160
+ }
161
+ props.onSelect($event);
162
+ }
163
+ };
164
+ var headerDom = defaultRenderLogoAndTitle(props);
165
+ var extraDom = menuExtraRender && menuExtraRender(props);
166
+ if (hasSplitMenu.value && unref(context.flatMenuData).length === 0) {
167
+ return null;
168
+ }
169
+ var defaultMenuDom = _createVNode(BaseMenu, {
170
+ "prefixCls": getPrefixCls(),
171
+ "locale": props.locale || context.locale,
172
+ "theme": theme,
173
+ "mode": "inline",
174
+ "menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
175
+ "collapsed": props.collapsed,
176
+ "openKeys": context.openKeys,
177
+ "selectedKeys": context.selectedKeys,
178
+ "menuItemRender": props.menuItemRender,
179
+ "subMenuItemRender": props.subMenuItemRender,
180
+ "iconfontUrl": props.iconfontUrl,
181
+ "onClick": props.onMenuClick,
182
+ "style": {
183
+ width: '100%'
184
+ },
185
+ "class": "".concat(baseClassName, "-menu"),
186
+ 'onUpdate:openKeys': function onUpdateOpenKeys($event) {
187
+ return props.onOpenKeys && props.onOpenKeys($event);
188
+ },
189
+ 'onUpdate:selectedKeys': handleSelect
190
+ }, null);
191
+ return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
192
+ "style": {
193
+ width: "".concat(sSideWidth.value, "px"),
194
+ overflow: 'hidden',
195
+ flex: "0 0 ".concat(sSideWidth.value, "px"),
196
+ maxWidth: "".concat(sSideWidth.value, "px"),
197
+ minWidth: "".concat(sSideWidth.value, "px"),
198
+ transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
199
+ }
200
+ }, null), _createVNode(Sider, {
201
+ "collapsible": true,
202
+ "trigger": null,
203
+ "collapsed": collapsed,
204
+ "breakpoint": breakpoint || undefined,
205
+ "onCollapse": function onCollapse(collapse) {
206
+ var _props$onCollapse;
207
+ (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
208
+ },
209
+ "collapsedWidth": collapsedWidth,
210
+ "style": {
211
+ overflow: 'hidden',
212
+ paddingTop: "".concat(props.headerHeight, "px")
213
+ },
214
+ "width": siderWidth,
215
+ "theme": theme,
216
+ "class": classNames.value
217
+ }, {
218
+ default: function _default() {
219
+ return [headerDom && _createVNode("div", {
220
+ "class": "".concat(baseClassName, "-logo"),
221
+ "onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
222
+ "id": "logo",
223
+ "style": props === null || props === void 0 ? void 0 : props.logoStyle
224
+ }, [headerDom]), extraDom && !props.collapsed && _createVNode("div", {
225
+ "class": _defineProperty(_defineProperty({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom)
226
+ }, [extraDom]), _createVNode("div", {
227
+ "style": "flex: 1; overflow: hidden auto;"
228
+ }, [menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom]), _createVNode("div", {
229
+ "class": "".concat(baseClassName, "-links")
230
+ }, [collapsedButtonRender !== false ? _createVNode(Menu, {
231
+ "class": "".concat(baseClassName, "-link-menu"),
232
+ "inlineIndent": 16,
233
+ "theme": theme,
234
+ "selectedKeys": [],
235
+ "openKeys": [],
236
+ "mode": "inline",
237
+ "onClick": function onClick() {
238
+ if (props.onCollapse) {
239
+ props.onCollapse(!props.collapsed);
240
+ }
241
+ }
242
+ }, {
243
+ default: function _default() {
244
+ return [_createVNode(Menu.Item, {
245
+ "key": 'collapsed-button',
246
+ "class": "".concat(baseClassName, "-collapsed-button"),
247
+ "title": false
248
+ }, {
249
+ default: function _default() {
250
+ return [collapsedButtonRender && typeof collapsedButtonRender === 'function' ? collapsedButtonRender(collapsed) : collapsedButtonRender];
251
+ }
252
+ })];
253
+ }
254
+ }) : null])];
255
+ }
256
+ })]);
257
+ };
258
+ export default SiderMenu;
@@ -0,0 +1,2 @@
1
+ export { default as BaseMenu } from './BaseMenu';
2
+ export { default as SiderMenu } from './SiderMenu';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,155 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ var _excluded = ["rightContentRender"];
5
+ import { createVNode as _createVNode } from "vue";
6
+ import { computed, ref } from 'vue';
7
+ import { default as ResizeObserver } from 'ant-design-vue/es/vc-resize-observer';
8
+ import { defaultRenderLogoAndTitle, siderMenuProps } from '../SiderMenu/SiderMenu';
9
+ import PropTypes from 'ant-design-vue/es/_util/vue-types';
10
+ import { defaultSettingProps } from '../defaultSettings';
11
+ import { defaultPrefixCls, useRouteContext } from '../RouteContext';
12
+ import BaseMenu from '../SiderMenu/BaseMenu';
13
+ import { clearMenuItem } from '../util';
14
+ export var baseHeaderProps = _objectSpread(_objectSpread({}, defaultSettingProps), {}, {
15
+ prefixCls: PropTypes.string.def('ant-pro'),
16
+ collapsed: PropTypes.looseBool,
17
+ logo: siderMenuProps.logo,
18
+ logoStyle: siderMenuProps.logoStyle,
19
+ headerTheme: {
20
+ type: String,
21
+ default: 'dark'
22
+ },
23
+ menuData: {
24
+ type: Array,
25
+ default: function _default() {
26
+ return [];
27
+ }
28
+ },
29
+ splitMenus: siderMenuProps.splitMenus,
30
+ menuRender: {
31
+ type: [Object, Function],
32
+ default: function _default() {
33
+ return undefined;
34
+ }
35
+ },
36
+ menuHeaderRender: siderMenuProps.menuHeaderRender,
37
+ menuItemRender: siderMenuProps.menuItemRender,
38
+ subMenuItemRender: siderMenuProps.subMenuItemRender,
39
+ rightContentRender: {
40
+ type: [Object, Function],
41
+ default: function _default() {
42
+ return undefined;
43
+ }
44
+ },
45
+ collapsedButtonRender: siderMenuProps.collapsedButtonRender,
46
+ matchMenuKeys: siderMenuProps.matchMenuKeys,
47
+ // events
48
+ onMenuHeaderClick: PropTypes.func,
49
+ onCollapse: siderMenuProps.onCollapse,
50
+ onOpenKeys: siderMenuProps.onOpenKeys,
51
+ onSelect: siderMenuProps.onSelect
52
+ });
53
+ export var topNavHeaderProps = _objectSpread(_objectSpread({}, siderMenuProps), baseHeaderProps);
54
+ var RightContent = function RightContent(_ref) {
55
+ var rightContentRender = _ref.rightContentRender,
56
+ props = _objectWithoutProperties(_ref, _excluded);
57
+ var rightSize = ref('auto');
58
+ return _createVNode("div", {
59
+ "style": {
60
+ minWidth: rightSize.value
61
+ }
62
+ }, [_createVNode("div", {
63
+ "style": {
64
+ paddingRight: 8
65
+ }
66
+ }, [_createVNode(ResizeObserver, {
67
+ "onResize": function onResize(_ref2) {
68
+ var width = _ref2.width;
69
+ rightSize.value = width;
70
+ }
71
+ }, {
72
+ default: function _default() {
73
+ return [rightContentRender && typeof rightContentRender === 'function' ? _createVNode("div", null, [rightContentRender(_objectSpread({}, props))]) : rightContentRender];
74
+ }
75
+ })])]);
76
+ };
77
+ export var TopNavHeader = function TopNavHeader(props) {
78
+ var headerRef = ref();
79
+ var propPrefixCls = props.prefixCls,
80
+ onMenuHeaderClick = props.onMenuHeaderClick,
81
+ onOpenKeys = props.onOpenKeys,
82
+ onSelect = props.onSelect,
83
+ contentWidth = props.contentWidth,
84
+ rightContentRender = props.rightContentRender,
85
+ layout = props.layout,
86
+ menuData = props.menuData,
87
+ mode = props.mode;
88
+ var context = useRouteContext();
89
+ var prefixCls = "".concat(propPrefixCls || defaultPrefixCls, "-top-nav-header");
90
+ var headerDom = defaultRenderLogoAndTitle(_objectSpread(_objectSpread({}, props), {}, {
91
+ collapsed: false
92
+ }),
93
+ // REMARK:: Any time render header title
94
+ // layout === 'mix' ? 'headerTitleRender' : undefined,
95
+ // layout !== 'side' ? 'headerTitleRender' : undefined,
96
+ 'headerTitleRender');
97
+ //
98
+ var MenusData = props.layout === 'side' ? [] : menuData;
99
+ if (props.layout === 'mix' && props.splitMenus) {
100
+ var noChildrenMenuData = (menuData || []).map(function (item) {
101
+ return _objectSpread(_objectSpread({}, item), {}, {
102
+ children: undefined,
103
+ component: undefined
104
+ });
105
+ });
106
+ MenusData = clearMenuItem(noChildrenMenuData);
107
+ }
108
+ var _mode = computed(function () {
109
+ return props.layout === 'mix' && props.splitMenus ? 'horizontal' : mode;
110
+ });
111
+ var className = computed(function () {
112
+ return _defineProperty(_defineProperty(_defineProperty({}, prefixCls, true), "light", props.theme === 'light'), "dark", props.theme === 'dark');
113
+ });
114
+ return _createVNode("div", {
115
+ "class": className.value
116
+ }, [_createVNode("div", {
117
+ "ref": headerRef,
118
+ "class": "".concat(prefixCls, "-main ").concat(contentWidth === 'Fixed' ? 'wide' : '')
119
+ }, [headerDom && _createVNode("div", {
120
+ "class": "".concat(prefixCls, "-main-left"),
121
+ "onClick": onMenuHeaderClick
122
+ }, [_createVNode("div", {
123
+ "class": "".concat(prefixCls, "-logo"),
124
+ "key": "logo",
125
+ "id": "logo"
126
+ }, [headerDom])]), _createVNode("div", {
127
+ "style": {
128
+ flex: 1
129
+ },
130
+ "class": "".concat(prefixCls, "-menu")
131
+ }, [_createVNode(BaseMenu, {
132
+ "prefixCls": propPrefixCls,
133
+ "locale": props.locale || context.locale,
134
+ "theme": props.theme,
135
+ "mode": _mode.value,
136
+ "collapsed": props.collapsed,
137
+ "iconfontUrl": props.iconfontUrl,
138
+ "menuData": MenusData,
139
+ "menuItemRender": props.menuItemRender,
140
+ "subMenuItemRender": props.subMenuItemRender,
141
+ "openKeys": context.openKeys,
142
+ "selectedKeys": context.selectedKeys,
143
+ "class": {
144
+ 'top-nav-menu': props.mode === 'horizontal'
145
+ },
146
+ 'onUpdate:openKeys': function onUpdateOpenKeys($event) {
147
+ return onOpenKeys && onOpenKeys($event);
148
+ },
149
+ 'onUpdate:selectedKeys': function onUpdateSelectedKeys($event) {
150
+ return onSelect && onSelect($event);
151
+ }
152
+ }, null)]), rightContentRender && _createVNode(RightContent, _objectSpread({
153
+ "rightContentRender": rightContentRender
154
+ }, props), null)])]);
155
+ };
@@ -0,0 +1,66 @@
1
+ export var defaultSettings = {
2
+ theme: 'light',
3
+ layout: 'mix',
4
+ contentWidth: 'Fluid',
5
+ fixedHeader: true,
6
+ fixSiderbar: true,
7
+ menu: {
8
+ locale: true
9
+ },
10
+ headerHeight: 48,
11
+ title: 'Jetlink UI Components',
12
+ iconfontUrl: '',
13
+ primaryColor: '#315EFB'
14
+ };
15
+ export var defaultSettingProps = {
16
+ theme: {
17
+ type: String,
18
+ default: defaultSettings.theme
19
+ },
20
+ layout: {
21
+ type: String,
22
+ default: defaultSettings.layout
23
+ },
24
+ contentWidth: {
25
+ type: String,
26
+ default: defaultSettings.contentWidth
27
+ },
28
+ fixedHeader: {
29
+ type: Boolean,
30
+ default: defaultSettings.fixedHeader
31
+ },
32
+ fixSiderbar: {
33
+ type: Boolean,
34
+ default: defaultSettings.fixSiderbar
35
+ },
36
+ menu: {
37
+ type: Object,
38
+ default: function _default() {
39
+ return {
40
+ locale: true
41
+ };
42
+ }
43
+ },
44
+ headerHeight: {
45
+ type: Number,
46
+ default: defaultSettings.headerHeight
47
+ },
48
+ title: {
49
+ type: String,
50
+ default: function _default() {
51
+ return defaultSettings.title;
52
+ }
53
+ },
54
+ iconfontUrl: {
55
+ type: String,
56
+ default: function _default() {
57
+ return defaultSettings.iconfontUrl;
58
+ }
59
+ },
60
+ primaryColor: {
61
+ type: String,
62
+ default: function _default() {
63
+ return defaultSettings.primaryColor;
64
+ }
65
+ }
66
+ };
@@ -1,6 +1,4 @@
1
- import ProLayout from './Basic/BasicLayout';
2
- import PageContainer from './PageContainer';
3
-
4
- export { PageContainer };
5
- export default ProLayout;
6
-
1
+ import ProLayout from './Basic/BasicLayout';
2
+ import PageContainer from './PageContainer';
3
+ export { PageContainer };
4
+ export default ProLayout;
@@ -1,4 +1,4 @@
1
- @import '../../style/variable.less';
2
-
3
- @basicLayout-prefix-cls: ~'@{ant-prefix}-pro-basicLayout';
4
- @pro-layout-header-height: 48px;
1
+ @import 'ant-design-vue/es/style/themes/index.less';
2
+
3
+ @basicLayout-prefix-cls: ~'@{ant-prefix}-pro-basicLayout';
4
+ @pro-layout-header-height: 48px;
@@ -0,0 +1 @@
1
+ import './style.less';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,61 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ export function clearMenuItem(menusData) {
3
+ return menusData.map(function (item) {
4
+ var _finalItem$meta;
5
+ var finalItem = _objectSpread({}, item);
6
+ if ((_finalItem$meta = finalItem.meta) !== null && _finalItem$meta !== void 0 && _finalItem$meta.hideInMenu) {
7
+ return null;
8
+ }
9
+ if (finalItem && finalItem !== null && finalItem !== void 0 && finalItem.children) {
10
+ var _finalItem$meta2;
11
+ if (!((_finalItem$meta2 = finalItem.meta) !== null && _finalItem$meta2 !== void 0 && _finalItem$meta2.hideChildInMenu) && finalItem.children.some(function (child) {
12
+ var _child$meta;
13
+ return child && child.name && !((_child$meta = child.meta) !== null && _child$meta !== void 0 && _child$meta.hideInMenu);
14
+ })) {
15
+ return _objectSpread(_objectSpread({}, item), {}, {
16
+ children: clearMenuItem(finalItem.children)
17
+ });
18
+ }
19
+ delete finalItem.children;
20
+ }
21
+ return finalItem;
22
+ }).filter(function (item) {
23
+ return item;
24
+ });
25
+ }
26
+ export function flatMap(menusData) {
27
+ return menusData.map(function (item) {
28
+ var _finalItem$meta3;
29
+ var finalItem = _objectSpread({}, item);
30
+ if (!finalItem.name || (_finalItem$meta3 = finalItem.meta) !== null && _finalItem$meta3 !== void 0 && _finalItem$meta3.hideInMenu) {
31
+ return null;
32
+ }
33
+ if (finalItem.children) {
34
+ delete finalItem.children;
35
+ }
36
+ return finalItem;
37
+ }).filter(function (item) {
38
+ return item;
39
+ });
40
+ }
41
+ export function getMenuFirstChildren(menus, key) {
42
+ return key === undefined ? [] : (menus[menus.findIndex(function (menu) {
43
+ return menu.path === key;
44
+ })] || {}).children || [];
45
+ }
46
+ export function getSlot(slots, props) {
47
+ var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
48
+ if (props[prop] === false) {
49
+ // force not render
50
+ return false;
51
+ }
52
+ return props[prop] || slots[prop];
53
+ }
54
+ export function getSlotVNode(slots, props) {
55
+ var _slots$prop;
56
+ var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
57
+ if (props[prop] === false) {
58
+ return false;
59
+ }
60
+ return props[prop] || ((_slots$prop = slots[prop]) === null || _slots$prop === void 0 ? void 0 : _slots$prop.call(slots));
61
+ }