@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,268 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.baseMenuProps = void 0;
8
+ var _vue = require("vue");
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
+ var _defaultSettings = require("../defaultSettings");
15
+ var _RouteContext = require("../RouteContext");
16
+ var _Icon = _interopRequireDefault(require("../../Icon"));
17
+ var _utils = require("@jetlinks-web/utils");
18
+ var _antDesignVue = require("ant-design-vue");
19
+ var _iconsVue = require("@ant-design/icons-vue/lib/icons");
20
+ var baseMenuProps = exports.baseMenuProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _defaultSettings.defaultSettingProps), {}, {
21
+ prefixCls: {
22
+ type: String,
23
+ default: function _default() {
24
+ return _RouteContext.defaultPrefixCls;
25
+ }
26
+ },
27
+ locale: {
28
+ type: [Function, Boolean],
29
+ default: function _default(t) {
30
+ return t;
31
+ }
32
+ },
33
+ menuData: {
34
+ type: Array,
35
+ default: function _default() {
36
+ return [];
37
+ }
38
+ },
39
+ mode: {
40
+ type: String,
41
+ default: 'inline'
42
+ },
43
+ theme: {
44
+ type: String,
45
+ default: 'dark'
46
+ },
47
+ collapsed: {
48
+ type: Boolean,
49
+ default: function _default() {
50
+ return false;
51
+ }
52
+ },
53
+ openKeys: {
54
+ type: Array,
55
+ default: function _default() {
56
+ return undefined;
57
+ }
58
+ },
59
+ selectedKeys: {
60
+ type: Array,
61
+ default: function _default() {
62
+ return undefined;
63
+ }
64
+ },
65
+ menuProps: {
66
+ type: Object,
67
+ default: function _default() {
68
+ return null;
69
+ }
70
+ },
71
+ menuItemRender: {
72
+ type: [Object, Function, Boolean],
73
+ default: function _default() {
74
+ return undefined;
75
+ }
76
+ },
77
+ subMenuItemRender: {
78
+ type: [Object, Function, Boolean],
79
+ default: function _default() {
80
+ return undefined;
81
+ }
82
+ },
83
+ onClick: [Function, Object]
84
+ });
85
+ var AntdIconFont = (0, _iconsVue.createFromIconfontCN)({
86
+ scriptUrl: ''
87
+ });
88
+ var LazyIcon = function LazyIcon(props) {
89
+ var icon = props.icon,
90
+ iconUrl = props.iconUrl,
91
+ _props$prefixCls = props.prefixCls,
92
+ prefixCls = _props$prefixCls === void 0 ? _RouteContext.defaultPrefixCls : _props$prefixCls;
93
+ if (!icon) return null;
94
+ if ((0, _vue.isVNode)(icon)) {
95
+ return icon;
96
+ }
97
+ if (typeof icon === 'string' && icon !== '') {
98
+ if (_utils.regular.isUrl(icon) || _utils.regular.isImg(icon)) {
99
+ return (0, _vue.createVNode)("img", {
100
+ "src": icon,
101
+ "alt": "icon",
102
+ "class": "".concat(prefixCls, "-sider-menu-icon")
103
+ }, null);
104
+ }
105
+ return iconUrl ? (0, _vue.createVNode)(AntdIconFont, {
106
+ "type": icon
107
+ }, null) : (0, _vue.createVNode)(_Icon.default, {
108
+ "type": icon
109
+ }, null);
110
+ }
111
+ };
112
+ var MenuUtil = /*#__PURE__*/(0, _createClass2.default)(function MenuUtil(_props, ctx) {
113
+ var _this = this;
114
+ (0, _classCallCheck2.default)(this, MenuUtil);
115
+ (0, _defineProperty2.default)(this, "getNavMenuItems", function () {
116
+ var menusData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
117
+ return menusData.map(function (item) {
118
+ return _this.getSubMenuOrItem(item);
119
+ }).filter(function (item) {
120
+ return item;
121
+ });
122
+ });
123
+ (0, _defineProperty2.default)(this, "getSubMenuOrItem", function (item) {
124
+ var _item$meta, _item$meta2, _item$meta7, _item$meta8;
125
+ if (Array.isArray(item.children) && item.children.length > 0 && !(item !== null && item !== void 0 && (_item$meta = item.meta) !== null && _item$meta !== void 0 && _item$meta.hideInMenu) && !(item !== null && item !== void 0 && (_item$meta2 = item.meta) !== null && _item$meta2 !== void 0 && _item$meta2.hideChildrenInMenu)) {
126
+ var _item$meta3, _item$meta4, _item$meta5, _item$meta6;
127
+ if (_this.props.subMenuItemRender) {
128
+ var subMenuItemRender = (0, _vue.withCtx)(_this.props.subMenuItemRender, _this.ctx);
129
+ return subMenuItemRender({
130
+ item: item,
131
+ children: _this.getNavMenuItems(item.children)
132
+ });
133
+ }
134
+ var _this$props = _this.props,
135
+ prefixCls = _this$props.prefixCls,
136
+ locale = _this$props.locale;
137
+ var menuTitle = locale && locale((_item$meta3 = item.meta) === null || _item$meta3 === void 0 ? void 0 : _item$meta3.title) || ((_item$meta4 = item.meta) === null || _item$meta4 === void 0 ? void 0 : _item$meta4.title);
138
+ var defaultTitle = (_item$meta5 = item.meta) !== null && _item$meta5 !== void 0 && _item$meta5.icon ? (0, _vue.createVNode)("span", {
139
+ "class": "".concat(prefixCls, "-menu-item")
140
+ }, [(0, _vue.createVNode)("span", {
141
+ "class": "".concat(prefixCls, "-menu-item-title")
142
+ }, [menuTitle])]) : (0, _vue.createVNode)("span", {
143
+ "class": "".concat(prefixCls, "-menu-item")
144
+ }, [menuTitle]);
145
+ return (0, _vue.createVNode)(_antDesignVue.Menu.SubMenu, {
146
+ "title": defaultTitle,
147
+ "key": item.path,
148
+ "popupClassName": "".concat(prefixCls, "-menu-popup"),
149
+ "icon": (0, _vue.createVNode)(LazyIcon, {
150
+ "iconUrl": _this.props.iconfontUrl,
151
+ "icon": (_item$meta6 = item.meta) === null || _item$meta6 === void 0 ? void 0 : _item$meta6.icon
152
+ }, null)
153
+ }, {
154
+ default: function _default() {
155
+ return [_this.getNavMenuItems(item.children)];
156
+ }
157
+ });
158
+ }
159
+ var menuItemRender = _this.props.menuItemRender && (0, _vue.withCtx)(_this.props.menuItemRender, _this.ctx);
160
+ var _this$getMenuItem = _this.getMenuItem(item),
161
+ _this$getMenuItem2 = (0, _slicedToArray2.default)(_this$getMenuItem, 2),
162
+ title = _this$getMenuItem2[0],
163
+ icon = _this$getMenuItem2[1];
164
+ return menuItemRender && menuItemRender({
165
+ item: item,
166
+ title: title,
167
+ icon: icon
168
+ }) || (0, _vue.createVNode)(_antDesignVue.Menu.Item, {
169
+ "disabled": (_item$meta7 = item.meta) === null || _item$meta7 === void 0 ? void 0 : _item$meta7.disabled,
170
+ "danger": (_item$meta8 = item.meta) === null || _item$meta8 === void 0 ? void 0 : _item$meta8.danger,
171
+ "key": item.path
172
+ }, {
173
+ default: function _default() {
174
+ return [title];
175
+ }
176
+ });
177
+ });
178
+ (0, _defineProperty2.default)(this, "getMenuItem", function (item) {
179
+ var _item$meta9, _item$meta10, _item$meta11, _item$meta12, _item$meta13;
180
+ var meta = (0, _objectSpread2.default)({}, item.meta);
181
+ var target = meta.target || null;
182
+ var hasUrl = _utils.regular.isUrl(item.path);
183
+ var CustomTag = target && 'a' || _this.RouterLink;
184
+ var props = {
185
+ to: (0, _objectSpread2.default)({
186
+ name: item.name
187
+ }, item.meta)
188
+ };
189
+ var attrs = hasUrl || target ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item.meta), {}, {
190
+ href: item.path,
191
+ target: target
192
+ }) : {};
193
+ var _this$props2 = _this.props,
194
+ prefixCls = _this$props2.prefixCls,
195
+ locale = _this$props2.locale;
196
+ var icon = ((_item$meta9 = item.meta) === null || _item$meta9 === void 0 ? void 0 : _item$meta9.icon) && (0, _vue.createVNode)(LazyIcon, {
197
+ "iconUrl": _this.props.iconfontUrl,
198
+ "icon": (_item$meta10 = item.meta) === null || _item$meta10 === void 0 ? void 0 : _item$meta10.icon
199
+ }, null) || undefined;
200
+ var menuTitle = locale && locale((_item$meta11 = item.meta) === null || _item$meta11 === void 0 ? void 0 : _item$meta11.title) || ((_item$meta12 = item.meta) === null || _item$meta12 === void 0 ? void 0 : _item$meta12.title);
201
+ var defaultTitle = (_item$meta13 = item.meta) !== null && _item$meta13 !== void 0 && _item$meta13.icon ? (0, _vue.createVNode)(CustomTag, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, attrs), props), {}, {
202
+ "class": "".concat(prefixCls, "-menu-item")
203
+ }), {
204
+ default: function _default() {
205
+ return [icon, (0, _vue.createVNode)("span", {
206
+ "class": "".concat(prefixCls, "-menu-item-title")
207
+ }, [menuTitle])];
208
+ }
209
+ }) : (0, _vue.createVNode)(CustomTag, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, attrs), props), {}, {
210
+ "class": "".concat(prefixCls, "-menu-item")
211
+ }), {
212
+ default: function _default() {
213
+ return [(0, _vue.createVNode)("span", null, [menuTitle])];
214
+ }
215
+ });
216
+ return [defaultTitle, icon];
217
+ });
218
+ this.props = _props;
219
+ this.ctx = ctx;
220
+ this.RouterLink = (0, _vue.resolveComponent)('router-link');
221
+ });
222
+ var _default2 = exports.default = (0, _vue.defineComponent)({
223
+ name: 'BaseMenu',
224
+ props: baseMenuProps,
225
+ emits: ['update:openKeys', 'update:selectedKeys', 'click'],
226
+ setup: function setup(props, _ref) {
227
+ var emit = _ref.emit;
228
+ var ctx = (0, _vue.getCurrentInstance)();
229
+ var menuUtil = new MenuUtil(props, ctx);
230
+ (0, _vue.watchEffect)(function () {
231
+ if (props.iconfontUrl) {
232
+ AntdIconFont = (0, _iconsVue.createFromIconfontCN)({
233
+ scriptUrl: props.iconfontUrl
234
+ });
235
+ }
236
+ });
237
+ var handleOpenChange = function handleOpenChange(openKeys) {
238
+ emit('update:openKeys', openKeys);
239
+ };
240
+ var handleSelect = function handleSelect(args) {
241
+ // ignore https? link handle selectkeys
242
+ if (_utils.regular.isUrl(args.key)) {
243
+ return;
244
+ }
245
+ emit('update:selectedKeys', args.selectedKeys);
246
+ };
247
+ var handleClick = function handleClick(args) {
248
+ emit('click', args);
249
+ };
250
+ return function () {
251
+ return (0, _vue.createVNode)(_antDesignVue.Menu, (0, _objectSpread2.default)({
252
+ "key": "Menu",
253
+ "inlineIndent": 16,
254
+ "mode": props.mode,
255
+ "theme": props.theme,
256
+ "openKeys": props.openKeys === false ? [] : props.openKeys,
257
+ "selectedKeys": props.selectedKeys || [],
258
+ "onOpenChange": handleOpenChange,
259
+ "onSelect": handleSelect,
260
+ "onClick": handleClick
261
+ }, props.menuProps), {
262
+ default: function _default() {
263
+ return [menuUtil.getNavMenuItems(props.menuData)];
264
+ }
265
+ });
266
+ };
267
+ }
268
+ });
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.siderMenuProps = exports.defaultRenderLogoAndTitle = exports.defaultRenderLogo = exports.defaultRenderCollapsedButton = exports.default = void 0;
9
+ var _vue = require("vue");
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+ var _antDesignVue = require("ant-design-vue");
14
+ var _BaseMenu = _interopRequireWildcard(require("./BaseMenu"));
15
+ var _defaultSettings = require("../defaultSettings");
16
+ var _vueTypes = _interopRequireDefault(require("ant-design-vue/es/_util/vue-types"));
17
+ var _Icon = _interopRequireDefault(require("../../Icon"));
18
+ var _RouteContext = require("../RouteContext");
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ var siderMenuProps = exports.siderMenuProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _defaultSettings.defaultSettingProps), _BaseMenu.baseMenuProps), {}, {
22
+ logo: {
23
+ type: [Object, String, Function],
24
+ default: function _default() {
25
+ return undefined;
26
+ }
27
+ },
28
+ logoStyle: {
29
+ type: Object,
30
+ default: function _default() {
31
+ return undefined;
32
+ }
33
+ },
34
+ siderWidth: _vueTypes.default.number.def(208),
35
+ headerHeight: _vueTypes.default.number.def(48),
36
+ collapsedWidth: _vueTypes.default.number.def(48),
37
+ menuHeaderRender: {
38
+ type: [Function, Object, Boolean],
39
+ default: function _default() {
40
+ return undefined;
41
+ }
42
+ },
43
+ menuContentRender: {
44
+ type: [Function, Object, Boolean],
45
+ default: function _default() {
46
+ return undefined;
47
+ }
48
+ },
49
+ menuExtraRender: {
50
+ type: [Function, Object, Boolean],
51
+ default: function _default() {
52
+ return undefined;
53
+ }
54
+ },
55
+ collapsedButtonRender: {
56
+ type: [Function, Object, Boolean],
57
+ default: function _default() {
58
+ return undefined;
59
+ }
60
+ },
61
+ breakpoint: {
62
+ type: [Object, Boolean],
63
+ default: function _default() {
64
+ return false;
65
+ }
66
+ },
67
+ splitMenus: _vueTypes.default.looseBool,
68
+ fixed: _vueTypes.default.looseBool,
69
+ hide: _vueTypes.default.looseBool,
70
+ matchMenuKeys: {
71
+ type: Array,
72
+ default: function _default() {
73
+ return [];
74
+ }
75
+ },
76
+ // events
77
+ onMenuHeaderClick: _vueTypes.default.func,
78
+ onMenuClick: _vueTypes.default.func,
79
+ onCollapse: {
80
+ type: Function
81
+ },
82
+ onOpenKeys: {
83
+ type: Function
84
+ },
85
+ onSelect: {
86
+ type: Function
87
+ }
88
+ });
89
+ var defaultRenderLogo = exports.defaultRenderLogo = function defaultRenderLogo(logo, logoStyle) {
90
+ if (!logo) {
91
+ return null;
92
+ }
93
+ if (typeof logo === 'string') {
94
+ return (0, _vue.createVNode)("img", {
95
+ "src": logo,
96
+ "alt": "logo",
97
+ "style": logoStyle
98
+ }, null);
99
+ }
100
+ if (typeof logo === 'function') {
101
+ // @ts-ignore
102
+ return logo();
103
+ }
104
+ return logo;
105
+ };
106
+ var defaultRenderLogoAndTitle = exports.defaultRenderLogoAndTitle = function defaultRenderLogoAndTitle(props) {
107
+ var renderKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'menuHeaderRender';
108
+ var _props$logo = props.logo,
109
+ logo = _props$logo === void 0 ? 'http://demo.jetlinks.cn/static/logo.760eb65c.png' : _props$logo,
110
+ logoStyle = props.logoStyle,
111
+ title = props.title,
112
+ layout = props.layout;
113
+ var renderFunction = props[renderKey || ''];
114
+ if (layout === 'mix' && renderFunction === false) {
115
+ return null;
116
+ }
117
+ var logoDom = defaultRenderLogo(logo, logoStyle);
118
+ var titleDom = (0, _vue.createVNode)("h1", null, [title]);
119
+ if (renderKey === 'menuHeaderRender') {
120
+ return null;
121
+ }
122
+ // call menuHeaderRender
123
+ if (typeof renderFunction === 'function') {
124
+ // @ts-ignore
125
+ return renderFunction(logoDom, props.collapsed ? null : titleDom, props);
126
+ }
127
+ if (Array.isArray(renderFunction)) {
128
+ return (0, _vue.createVNode)(_vue.Fragment, null, [renderFunction]);
129
+ }
130
+ return (0, _vue.createVNode)("a", null, [logoDom, props.collapsed ? null : titleDom]);
131
+ };
132
+ var defaultRenderCollapsedButton = exports.defaultRenderCollapsedButton = function defaultRenderCollapsedButton(collapsed) {
133
+ return collapsed ? (0, _vue.createVNode)(_Icon.default, {
134
+ "type": 'MenuUnfoldOutlined'
135
+ }, null) : (0, _vue.createVNode)(_Icon.default, {
136
+ "type": 'MenuFoldOutlined'
137
+ }, null);
138
+ };
139
+ var SiderMenu = function SiderMenu(props) {
140
+ var collapsed = props.collapsed,
141
+ siderWidth = props.siderWidth,
142
+ breakpoint = props.breakpoint,
143
+ _props$collapsedWidth = props.collapsedWidth,
144
+ collapsedWidth = _props$collapsedWidth === void 0 ? 48 : _props$collapsedWidth,
145
+ _props$menuExtraRende = props.menuExtraRender,
146
+ menuExtraRender = _props$menuExtraRende === void 0 ? false : _props$menuExtraRende,
147
+ _props$menuContentRen = props.menuContentRender,
148
+ menuContentRender = _props$menuContentRen === void 0 ? false : _props$menuContentRen,
149
+ _props$collapsedButto = props.collapsedButtonRender,
150
+ collapsedButtonRender = _props$collapsedButto === void 0 ? defaultRenderCollapsedButton : _props$collapsedButto,
151
+ theme = props.theme;
152
+ var context = (0, _RouteContext.useRouteContext)();
153
+ var getPrefixCls = context.getPrefixCls;
154
+ var baseClassName = getPrefixCls('sider');
155
+ var hasSplitMenu = (0, _vue.computed)(function () {
156
+ return props.layout === 'mix' && props.splitMenus;
157
+ });
158
+ var sSideWidth = (0, _vue.computed)(function () {
159
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
160
+ });
161
+ var classNames = (0, _vue.computed)(function () {
162
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, baseClassName, true), "".concat(baseClassName, "-fixed"), context.fixSiderbar), "".concat(baseClassName, "-").concat(theme), true), "".concat(baseClassName, "-layout-").concat(props.layout), props.layout);
163
+ });
164
+ var handleSelect = function handleSelect($event) {
165
+ if (props.onSelect) {
166
+ if ((0, _vue.unref)(hasSplitMenu)) {
167
+ props.onSelect([context.selectedKeys[0]].concat((0, _toConsumableArray2.default)($event)));
168
+ return;
169
+ }
170
+ props.onSelect($event);
171
+ }
172
+ };
173
+ var headerDom = defaultRenderLogoAndTitle(props);
174
+ var extraDom = menuExtraRender && menuExtraRender(props);
175
+ if (hasSplitMenu.value && (0, _vue.unref)(context.flatMenuData).length === 0) {
176
+ return null;
177
+ }
178
+ var defaultMenuDom = (0, _vue.createVNode)(_BaseMenu.default, {
179
+ "prefixCls": getPrefixCls(),
180
+ "locale": props.locale || context.locale,
181
+ "theme": theme,
182
+ "mode": "inline",
183
+ "menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
184
+ "collapsed": props.collapsed,
185
+ "openKeys": context.openKeys,
186
+ "selectedKeys": context.selectedKeys,
187
+ "menuItemRender": props.menuItemRender,
188
+ "subMenuItemRender": props.subMenuItemRender,
189
+ "iconfontUrl": props.iconfontUrl,
190
+ "onClick": props.onMenuClick,
191
+ "style": {
192
+ width: '100%'
193
+ },
194
+ "class": "".concat(baseClassName, "-menu"),
195
+ 'onUpdate:openKeys': function onUpdateOpenKeys($event) {
196
+ return props.onOpenKeys && props.onOpenKeys($event);
197
+ },
198
+ 'onUpdate:selectedKeys': handleSelect
199
+ }, null);
200
+ return (0, _vue.createVNode)(_vue.Fragment, null, [context.fixSiderbar && (0, _vue.createVNode)("div", {
201
+ "style": {
202
+ width: "".concat(sSideWidth.value, "px"),
203
+ overflow: 'hidden',
204
+ flex: "0 0 ".concat(sSideWidth.value, "px"),
205
+ maxWidth: "".concat(sSideWidth.value, "px"),
206
+ minWidth: "".concat(sSideWidth.value, "px"),
207
+ transition: "background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)"
208
+ }
209
+ }, null), (0, _vue.createVNode)(_antDesignVue.LayoutSider, {
210
+ "collapsible": true,
211
+ "trigger": null,
212
+ "collapsed": collapsed,
213
+ "breakpoint": breakpoint || undefined,
214
+ "onCollapse": function onCollapse(collapse) {
215
+ var _props$onCollapse;
216
+ (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 ? void 0 : _props$onCollapse.call(props, collapse);
217
+ },
218
+ "collapsedWidth": collapsedWidth,
219
+ "style": {
220
+ overflow: 'hidden',
221
+ paddingTop: "".concat(props.headerHeight, "px")
222
+ },
223
+ "width": siderWidth,
224
+ "theme": theme,
225
+ "class": classNames.value
226
+ }, {
227
+ default: function _default() {
228
+ return [headerDom && (0, _vue.createVNode)("div", {
229
+ "class": "".concat(baseClassName, "-logo"),
230
+ "onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
231
+ "id": "logo",
232
+ "style": props === null || props === void 0 ? void 0 : props.logoStyle
233
+ }, [headerDom]), extraDom && !props.collapsed && (0, _vue.createVNode)("div", {
234
+ "class": (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName, "-extra"), true), "".concat(baseClassName, "-extra-no-logo"), !headerDom)
235
+ }, [extraDom]), (0, _vue.createVNode)("div", {
236
+ "style": "flex: 1; overflow: hidden auto;"
237
+ }, [menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom]), (0, _vue.createVNode)("div", {
238
+ "class": "".concat(baseClassName, "-links")
239
+ }, [collapsedButtonRender !== false ? (0, _vue.createVNode)(_antDesignVue.Menu, {
240
+ "class": "".concat(baseClassName, "-link-menu"),
241
+ "inlineIndent": 16,
242
+ "theme": theme,
243
+ "selectedKeys": [],
244
+ "openKeys": [],
245
+ "mode": "inline",
246
+ "onClick": function onClick() {
247
+ if (props.onCollapse) {
248
+ props.onCollapse(!props.collapsed);
249
+ }
250
+ }
251
+ }, {
252
+ default: function _default() {
253
+ return [(0, _vue.createVNode)(_antDesignVue.Menu.Item, {
254
+ "key": 'collapsed-button',
255
+ "class": "".concat(baseClassName, "-collapsed-button"),
256
+ "title": false
257
+ }, {
258
+ default: function _default() {
259
+ return [collapsedButtonRender && typeof collapsedButtonRender === 'function' ? collapsedButtonRender(collapsed) : collapsedButtonRender];
260
+ }
261
+ })];
262
+ }
263
+ }) : null])];
264
+ }
265
+ })]);
266
+ };
267
+ var _default2 = exports.default = SiderMenu;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "BaseMenu", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _BaseMenu.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "SiderMenu", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _SiderMenu.default;
17
+ }
18
+ });
19
+ var _BaseMenu = _interopRequireDefault(require("./BaseMenu"));
20
+ var _SiderMenu = _interopRequireDefault(require("./SiderMenu"));