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