@jetlinks-web/components 2.0.2 → 2.0.4-1

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 (245) hide show
  1. package/es/AMap/Map.js +125 -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 +120 -0
  10. package/es/CheckButton/index.js +2 -0
  11. package/es/CheckButton/style/index.css +37 -0
  12. package/es/CheckButton/style/index.less +40 -0
  13. package/es/ConfigProvider/context.js +12 -0
  14. package/es/ConfigProvider/index.js +31 -0
  15. package/es/Echarts/Echarts.js +47 -0
  16. package/es/Echarts/index.js +2 -0
  17. package/es/Ellipsis/Ellipsis.js +184 -0
  18. package/es/Ellipsis/index.js +2 -0
  19. package/es/Ellipsis/style/index.css +17 -0
  20. package/es/Ellipsis/style/index.less +20 -0
  21. package/es/Empty/Empty.js +56 -0
  22. package/es/Empty/image.js +2 -0
  23. package/es/Empty/index.js +2 -0
  24. package/es/FullPage/FullPage.js +31 -0
  25. package/es/FullPage/index.js +2 -0
  26. package/es/Icon/icon.js +42 -0
  27. package/{src/Icon/index.ts → es/Icon/index.js} +2 -3
  28. package/es/MonacoEditor/Monaco.js +238 -0
  29. package/es/MonacoEditor/index.js +2 -0
  30. package/es/PermissionButton/index.js +117 -0
  31. package/es/ProLayout/Basic/BasicLayout.js +259 -0
  32. package/es/ProLayout/Basic/Header.js +97 -0
  33. package/es/ProLayout/PageContainer/index.js +324 -0
  34. package/es/ProLayout/PageContainer/typings.js +1 -0
  35. package/es/ProLayout/RouteContext.js +22 -0
  36. package/es/ProLayout/SiderMenu/BaseMenu.js +285 -0
  37. package/es/ProLayout/SiderMenu/SiderMenu.js +278 -0
  38. package/es/ProLayout/SiderMenu/index.js +2 -0
  39. package/es/ProLayout/SiderMenu/typings.js +1 -0
  40. package/es/ProLayout/TopHeader/index.js +163 -0
  41. package/es/ProLayout/defaultSettings.js +66 -0
  42. package/{src/ProLayout/index.ts → es/ProLayout/index.js} +4 -6
  43. package/{src → es}/ProLayout/style/default.less +1 -1
  44. package/es/ProLayout/style/index.js +1 -0
  45. package/es/ProLayout/typings.js +1 -0
  46. package/es/ProLayout/util.js +61 -0
  47. package/es/ProTable/index.js +411 -0
  48. package/es/ProTable/proTableTypes.js +11 -0
  49. package/es/ProTable/style/index.css +65 -0
  50. package/es/ProTable/style/index.js +1 -0
  51. package/{src → es}/ProTable/style/index.less +92 -92
  52. package/es/Scrollbar/Bar.js +114 -0
  53. package/es/Scrollbar/Scrollbar.js +212 -0
  54. package/es/Scrollbar/Thumb.js +189 -0
  55. package/es/Scrollbar/constants.js +1 -0
  56. package/es/Scrollbar/index.js +2 -0
  57. package/es/Scrollbar/scrollbarProps.js +100 -0
  58. package/es/Scrollbar/thumbProps.js +10 -0
  59. package/es/Scrollbar/util.js +30 -0
  60. package/es/Search/Advanced/History.js +183 -0
  61. package/es/Search/Advanced/SaveHistory.js +153 -0
  62. package/es/Search/Advanced/index.js +520 -0
  63. package/es/Search/Item.js +497 -0
  64. package/es/Search/Search.js +249 -0
  65. package/es/Search/hooks/index.js +1 -0
  66. package/es/Search/hooks/useSearchItems.js +40 -0
  67. package/es/Search/index.js +4 -0
  68. package/es/Search/setting.js +91 -0
  69. package/es/Search/style/Item.less +33 -0
  70. package/es/Search/style/Search.less +179 -0
  71. package/es/Search/style/index.js +2 -0
  72. package/es/Search/typing.js +1 -0
  73. package/es/Search/util.js +234 -0
  74. package/es/ValueItem/ValueItem.js +233 -0
  75. package/es/ValueItem/index.js +2 -0
  76. package/es/ValueItem/util.js +16 -0
  77. package/es/index.js +24 -0
  78. package/es/style/index.js +3 -0
  79. package/es/style/variable.css +0 -0
  80. package/{src → es}/style/variable.less +2 -4
  81. package/es/style.js +5 -0
  82. package/lib/AMap/Map.js +125 -0
  83. package/lib/AMap/index.js +9 -0
  84. package/lib/AMap/util.js +62 -0
  85. package/lib/BadgeStatus/Badge.js +54 -0
  86. package/lib/BadgeStatus/color.js +27 -0
  87. package/lib/BadgeStatus/index.js +22 -0
  88. package/lib/CardSelect/CardSelect.js +123 -0
  89. package/lib/CardSelect/index.js +9 -0
  90. package/lib/CheckButton/CheckButton.js +120 -0
  91. package/lib/CheckButton/index.js +9 -0
  92. package/lib/CheckButton/style/index.css +37 -0
  93. package/lib/CheckButton/style/index.less +40 -0
  94. package/lib/ConfigProvider/context.js +19 -0
  95. package/lib/ConfigProvider/index.js +37 -0
  96. package/lib/Echarts/Echarts.js +47 -0
  97. package/lib/Echarts/index.js +9 -0
  98. package/lib/Ellipsis/Ellipsis.js +184 -0
  99. package/lib/Ellipsis/index.js +9 -0
  100. package/lib/Ellipsis/style/index.css +17 -0
  101. package/lib/Ellipsis/style/index.less +20 -0
  102. package/lib/Empty/Empty.js +56 -0
  103. package/lib/Empty/image.js +8 -0
  104. package/lib/Empty/index.js +9 -0
  105. package/lib/FullPage/FullPage.js +31 -0
  106. package/lib/FullPage/index.js +9 -0
  107. package/lib/Icon/icon.js +52 -0
  108. package/lib/Icon/index.js +9 -0
  109. package/lib/MonacoEditor/Monaco.js +238 -0
  110. package/lib/MonacoEditor/index.js +9 -0
  111. package/lib/PermissionButton/index.js +124 -0
  112. package/lib/ProLayout/Basic/BasicLayout.js +268 -0
  113. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  114. package/lib/ProLayout/Basic/Header.js +103 -0
  115. package/lib/ProLayout/Basic/Header.less +8 -0
  116. package/lib/ProLayout/PageContainer/index.js +327 -0
  117. package/lib/ProLayout/PageContainer/index.less +103 -0
  118. package/lib/ProLayout/PageContainer/typings.js +5 -0
  119. package/lib/ProLayout/RouteContext.js +28 -0
  120. package/lib/ProLayout/SiderMenu/BaseMenu.js +290 -0
  121. package/lib/ProLayout/SiderMenu/SiderMenu.js +287 -0
  122. package/lib/ProLayout/SiderMenu/index.js +20 -0
  123. package/lib/ProLayout/SiderMenu/index.less +212 -0
  124. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  125. package/lib/ProLayout/TopHeader/index.js +168 -0
  126. package/lib/ProLayout/TopHeader/index.less +174 -0
  127. package/lib/ProLayout/defaultSettings.js +72 -0
  128. package/lib/ProLayout/index.js +16 -0
  129. package/lib/ProLayout/style/default.less +4 -0
  130. package/lib/ProLayout/style/index.js +3 -0
  131. package/lib/ProLayout/style/style.less +7 -0
  132. package/lib/ProLayout/typings.js +5 -0
  133. package/lib/ProLayout/util.js +72 -0
  134. package/lib/ProTable/index.js +417 -0
  135. package/lib/ProTable/proTableTypes.js +17 -0
  136. package/lib/ProTable/style/index.css +65 -0
  137. package/lib/ProTable/style/index.js +3 -0
  138. package/lib/ProTable/style/index.less +92 -0
  139. package/lib/Scrollbar/Bar.js +114 -0
  140. package/lib/Scrollbar/Scrollbar.js +212 -0
  141. package/lib/Scrollbar/Thumb.js +189 -0
  142. package/lib/Scrollbar/constants.js +7 -0
  143. package/lib/Scrollbar/index.js +9 -0
  144. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
  145. package/lib/Scrollbar/thumbProps.js +16 -0
  146. package/lib/Scrollbar/util.js +37 -0
  147. package/lib/Search/Advanced/History.js +183 -0
  148. package/lib/Search/Advanced/SaveHistory.js +153 -0
  149. package/lib/Search/Advanced/index.js +520 -0
  150. package/lib/Search/Item.js +497 -0
  151. package/lib/Search/Search.js +249 -0
  152. package/lib/Search/hooks/index.js +16 -0
  153. package/lib/Search/hooks/useSearchItems.js +47 -0
  154. package/lib/Search/index.js +16 -0
  155. package/lib/Search/setting.js +97 -0
  156. package/lib/Search/style/Item.less +33 -0
  157. package/lib/Search/style/Search.less +179 -0
  158. package/lib/Search/style/index.js +4 -0
  159. package/lib/Search/typing.js +5 -0
  160. package/lib/Search/util.js +241 -0
  161. package/lib/ValueItem/ValueItem.js +233 -0
  162. package/lib/ValueItem/index.js +9 -0
  163. package/lib/ValueItem/util.js +22 -0
  164. package/lib/index.js +158 -0
  165. package/lib/style/components.less +3 -0
  166. package/lib/style/index.js +4 -0
  167. package/lib/style/variable.css +0 -0
  168. package/lib/style/variable.less +2 -0
  169. package/lib/style.js +7 -0
  170. package/package.json +123 -13
  171. package/index.ts +0 -64
  172. package/src/AMap/Map.vue +0 -110
  173. package/src/AMap/index.ts +0 -1
  174. package/src/AMap/util.ts +0 -56
  175. package/src/BadgeStatus/Badge.vue +0 -41
  176. package/src/BadgeStatus/color.ts +0 -25
  177. package/src/BadgeStatus/index.ts +0 -4
  178. package/src/CardSelect/CardSelect.vue +0 -136
  179. package/src/CardSelect/index.ts +0 -3
  180. package/src/CheckButton/CheckButton.vue +0 -146
  181. package/src/CheckButton/index.md +0 -27
  182. package/src/CheckButton/index.ts +0 -3
  183. package/src/ConfigProvider/context.ts +0 -17
  184. package/src/ConfigProvider/index.tsx +0 -42
  185. package/src/Echarts/Echarts.vue +0 -43
  186. package/src/Echarts/index.ts +0 -3
  187. package/src/Ellipsis/Ellipsis.vue +0 -182
  188. package/src/Ellipsis/index.ts +0 -3
  189. package/src/Empty/Empty.vue +0 -43
  190. package/src/Empty/image.ts +0 -3
  191. package/src/Empty/index.ts +0 -2
  192. package/src/FullPage/FullPage.vue +0 -30
  193. package/src/FullPage/index.ts +0 -3
  194. package/src/Icon/icon.tsx +0 -40
  195. package/src/MonacoEditor/Monaco.vue +0 -242
  196. package/src/MonacoEditor/index.md +0 -26
  197. package/src/MonacoEditor/index.ts +0 -2
  198. package/src/PermissionButton/index.tsx +0 -110
  199. package/src/ProLayout/Basic/BasicLayout.tsx +0 -392
  200. package/src/ProLayout/Basic/Header.tsx +0 -115
  201. package/src/ProLayout/PageContainer/index.tsx +0 -441
  202. package/src/ProLayout/PageContainer/typings.ts +0 -56
  203. package/src/ProLayout/RouteContext.ts +0 -87
  204. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  205. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  206. package/src/ProLayout/SiderMenu/index.ts +0 -2
  207. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  208. package/src/ProLayout/TopHeader/index.tsx +0 -210
  209. package/src/ProLayout/defaultSettings.ts +0 -106
  210. package/src/ProLayout/style/index.ts +0 -1
  211. package/src/ProLayout/typings.ts +0 -87
  212. package/src/ProLayout/util.ts +0 -64
  213. package/src/ProTable/index.md +0 -53
  214. package/src/ProTable/index.tsx +0 -551
  215. package/src/ProTable/proTableTypes.ts +0 -70
  216. package/src/ProTable/style/index.ts +0 -1
  217. package/src/Scrollbar/Bar.vue +0 -75
  218. package/src/Scrollbar/Scrollbar.vue +0 -260
  219. package/src/Scrollbar/Thumb.vue +0 -163
  220. package/src/Scrollbar/constants.ts +0 -10
  221. package/src/Scrollbar/index.ts +0 -4
  222. package/src/Scrollbar/thumb.ts +0 -16
  223. package/src/Scrollbar/util.ts +0 -38
  224. package/src/Search/Advanced/History.vue +0 -140
  225. package/src/Search/Advanced/SaveHistory.vue +0 -108
  226. package/src/Search/Advanced/index.vue +0 -435
  227. package/src/Search/Item.vue +0 -525
  228. package/src/Search/Search.vue +0 -398
  229. package/src/Search/hooks/index.ts +0 -1
  230. package/src/Search/hooks/useSearchItems.ts +0 -68
  231. package/src/Search/index.md +0 -57
  232. package/src/Search/index.ts +0 -5
  233. package/src/Search/setting.ts +0 -55
  234. package/src/Search/typing.ts +0 -76
  235. package/src/Search/util.ts +0 -263
  236. package/src/ValueItem/ValueItem.vue +0 -192
  237. package/src/ValueItem/index.ts +0 -3
  238. package/src/ValueItem/util.ts +0 -16
  239. package/src/style/index.ts +0 -3
  240. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  241. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  242. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  243. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  244. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  245. /package/{src → es}/ProLayout/style/style.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';
1
+ @import 'ant-design-vue/es/style/themes/index.less';
2
2
 
3
3
  @basicLayout-prefix-cls: ~'@{ant-prefix}-pro-basicLayout';
4
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
+ }