@jetlinks-web/components 2.0.2 → 2.0.3

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