@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,324 @@
1
+ import { Fragment as _Fragment } from "vue";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import { createTextVNode as _createTextVNode } from "vue";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ import { createVNode as _createVNode, isVNode as _isVNode } from "vue";
6
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
+ var _excluded = ["title", "tabList", "tabActiveKey", "content", "pageHeaderRender", "header", "extraContent", "prefixedClassName", "prefixCls", "fixedHeader", "showBack"];
8
+ import { withInstall } from 'ant-design-vue/es/_util/type';
9
+ import { Affix, Spin, PageHeader, Tabs, Button } from 'ant-design-vue';
10
+ import { defineComponent, unref, toRefs, computed } from 'vue';
11
+ import { pageHeaderProps } from 'ant-design-vue/es/page-header';
12
+ import { useRouteContext } from '../RouteContext';
13
+ import { getSlotVNode } from '../util';
14
+ import 'ant-design-vue/es/_util/type';
15
+ import './index.less';
16
+ function _isSlot(s) {
17
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);
18
+ }
19
+ export var pageHeaderTabConfig = {
20
+ /**
21
+ * @name tabs 的列表
22
+ */
23
+ tabList: {
24
+ type: [Object, Function, Array],
25
+ default: function _default() {
26
+ return undefined;
27
+ }
28
+ },
29
+ /**
30
+ * @name 当前选中 tab 的 key
31
+ */
32
+ tabActiveKey: String,
33
+ /**
34
+ * @name tab 上多余的区域
35
+ */
36
+ tabBarExtraContent: {
37
+ type: [Object, Function],
38
+ default: function _default() {
39
+ return undefined;
40
+ }
41
+ },
42
+ /**
43
+ * @name tabs 的其他配置
44
+ */
45
+ tabProps: {
46
+ type: Object,
47
+ default: function _default() {
48
+ return undefined;
49
+ }
50
+ },
51
+ /**
52
+ * @name 固定 PageHeader 到页面顶部
53
+ */
54
+ fixedHeader: Boolean,
55
+ // events
56
+ onTabChange: Function,
57
+ pure: Boolean
58
+ };
59
+ export var pageContainerProps = _objectSpread(_objectSpread(_objectSpread({}, pageHeaderTabConfig), pageHeaderProps), {}, {
60
+ prefixCls: {
61
+ type: String,
62
+ default: 'ant-pro'
63
+ },
64
+ title: {
65
+ type: [Object, String, Boolean, Function],
66
+ default: function _default() {
67
+ return null;
68
+ }
69
+ },
70
+ subTitle: {
71
+ type: [Object, String, Boolean, Function],
72
+ default: function _default() {
73
+ return null;
74
+ }
75
+ },
76
+ content: {
77
+ type: [Object, String, Boolean, Function],
78
+ default: function _default() {
79
+ return null;
80
+ }
81
+ },
82
+ extra: {
83
+ type: [Object, String, Boolean, Function],
84
+ default: function _default() {
85
+ return null;
86
+ }
87
+ },
88
+ extraContent: {
89
+ type: [Object, String, Boolean, Function],
90
+ default: function _default() {
91
+ return null;
92
+ }
93
+ },
94
+ header: {
95
+ type: [Object, String, Boolean, Function],
96
+ default: function _default() {
97
+ return null;
98
+ }
99
+ },
100
+ pageHeaderRender: {
101
+ type: [Object, Function, Boolean],
102
+ default: function _default() {
103
+ return undefined;
104
+ }
105
+ },
106
+ affixProps: {
107
+ type: [Object, Function]
108
+ },
109
+ ghost: {
110
+ type: Boolean,
111
+ default: function _default() {
112
+ return false;
113
+ }
114
+ },
115
+ loading: {
116
+ type: Boolean,
117
+ default: function _default() {
118
+ return undefined;
119
+ }
120
+ },
121
+ childrenFullHeight: {
122
+ type: Boolean,
123
+ default: function _default() {
124
+ return true;
125
+ }
126
+ },
127
+ pure: {
128
+ type: Boolean,
129
+ default: false
130
+ },
131
+ showBack: {
132
+ type: Boolean,
133
+ default: false
134
+ },
135
+ contentStyle: {
136
+ type: Object,
137
+ default: function _default() {
138
+ return {};
139
+ }
140
+ }
141
+ });
142
+ var renderFooter = function renderFooter(props) {
143
+ var tabList = props.tabList,
144
+ tabActiveKey = props.tabActiveKey,
145
+ onTabChange = props.onTabChange,
146
+ tabBarExtraContent = props.tabBarExtraContent,
147
+ tabProps = props.tabProps;
148
+ var tabPane = function tabPane(item) {
149
+ return _createVNode("span", {
150
+ "class": item.class || "tab-pane-".concat(item.key)
151
+ }, [item.tab]);
152
+ };
153
+ if (tabList && tabList.length) {
154
+ var _slot;
155
+ return _createVNode(Tabs, _objectSpread({
156
+ "class": "page-container-tabs",
157
+ "activeKey": tabActiveKey,
158
+ "onChange": function onChange(key) {
159
+ if (onTabChange) {
160
+ onTabChange(key);
161
+ }
162
+ },
163
+ "tabBarExtraContent": tabBarExtraContent
164
+ }, tabProps), _isSlot(_slot = tabList.map(function (item) {
165
+ return _createVNode(Tabs.TabPane, _objectSpread(_objectSpread({}, item), {}, {
166
+ "tab": tabPane(item),
167
+ "key": item.key
168
+ }), null);
169
+ })) ? _slot : {
170
+ default: function _default() {
171
+ return [_slot];
172
+ }
173
+ });
174
+ }
175
+ return null;
176
+ };
177
+ var renderPageHeader = function renderPageHeader(content, extraContent, prefixedClassName) {
178
+ if (!content && !extraContent) {
179
+ return null;
180
+ }
181
+ return _createVNode("div", {
182
+ "class": "".concat(prefixedClassName, "-detail")
183
+ }, [_createVNode("div", {
184
+ "class": "".concat(prefixedClassName, "-main")
185
+ }, [_createVNode("div", {
186
+ "class": "".concat(prefixedClassName, "-row")
187
+ }, [content && _createVNode("div", {
188
+ "class": "".concat(prefixedClassName, "-content")
189
+ }, [
190
+ // @ts-ignore
191
+ typeof content === 'function' && content() || content]), extraContent && _createVNode("div", {
192
+ "class": "".concat(prefixedClassName, "-extraContent")
193
+ }, [
194
+ // @ts-ignore
195
+ typeof extraContent === 'function' && extraContent() || extraContent])])])]);
196
+ };
197
+ var ProPageHeader = function ProPageHeader(props) {
198
+ var title = props.title,
199
+ tabList = props.tabList,
200
+ tabActiveKey = props.tabActiveKey,
201
+ content = props.content,
202
+ pageHeaderRender = props.pageHeaderRender,
203
+ header = props.header,
204
+ extraContent = props.extraContent,
205
+ prefixedClassName = props.prefixedClassName,
206
+ prefixCls = props.prefixCls,
207
+ _ = props.fixedHeader,
208
+ showBack = props.showBack,
209
+ restProps = _objectWithoutProperties(props, _excluded);
210
+ var value = useRouteContext();
211
+ if (pageHeaderRender === false) {
212
+ return null;
213
+ }
214
+ if (pageHeaderRender) {
215
+ return pageHeaderRender(_objectSpread({}, props));
216
+ }
217
+ var pageHeaderTitle = title;
218
+ if (!title && title !== false) {
219
+ pageHeaderTitle = value.title;
220
+ }
221
+ var unrefBreadcrumb = unref(value.breadcrumb || {});
222
+ var breadcrumb = props.breadcrumb || _objectSpread(_objectSpread({}, unrefBreadcrumb), {}, {
223
+ routes: unrefBreadcrumb.routes,
224
+ itemRender: unrefBreadcrumb.itemRender
225
+ });
226
+ var backProps = {};
227
+ if (showBack) {
228
+ // @ts-ignore
229
+ backProps.backIcon = _createVNode(Button, null, {
230
+ default: function _default() {
231
+ return [_createTextVNode("\u8FD4\u56DE")];
232
+ }
233
+ });
234
+ backProps.onBack = function () {
235
+ var _value$back;
236
+ (_value$back = value.back) === null || _value$back === void 0 ? void 0 : _value$back.call(value);
237
+ };
238
+ }
239
+ return _createVNode("div", {
240
+ "class": "".concat(prefixedClassName, "-wrap")
241
+ }, [_createVNode(PageHeader, _objectSpread(_objectSpread(_objectSpread({}, backProps), restProps), {}, {
242
+ "title": pageHeaderTitle,
243
+ "breadcrumb": breadcrumb,
244
+ "footer": renderFooter(_objectSpread(_objectSpread({}, restProps), {}, {
245
+ tabList: tabList,
246
+ tabActiveKey: tabActiveKey
247
+ })),
248
+ "prefixCls": prefixCls
249
+ }), {
250
+ default: function _default() {
251
+ return [header || renderPageHeader(content, extraContent, prefixedClassName)];
252
+ }
253
+ })]);
254
+ };
255
+ var PageContainer = defineComponent({
256
+ name: 'JPageContainer',
257
+ inheritAttrs: false,
258
+ props: pageContainerProps,
259
+ setup: function setup(props, _ref) {
260
+ var slots = _ref.slots,
261
+ attrs = _ref.attrs;
262
+ var _toRefs = toRefs(props),
263
+ loading = _toRefs.loading,
264
+ affixProps = _toRefs.affixProps,
265
+ ghost = _toRefs.ghost,
266
+ childrenFullHeight = _toRefs.childrenFullHeight;
267
+ var value = useRouteContext();
268
+ var getPrefixCls = value.getPrefixCls;
269
+ var prefixCls = props.prefixCls || getPrefixCls();
270
+ var prefixedClassName = computed(function () {
271
+ return "".concat(prefixCls, "-page-container");
272
+ });
273
+ var classNames = computed(function () {
274
+ return _defineProperty(_defineProperty({}, prefixedClassName.value, true), "".concat(prefixCls, "-page-container-ghost"), ghost.value);
275
+ });
276
+ var headerDom = computed(function () {
277
+ // const tags = getSlotVNode<DefaultPropRender>(slots, props, 'tags');
278
+ var headerContent = getSlotVNode(slots, props, 'content');
279
+ var extra = getSlotVNode(slots, props, 'extra');
280
+ var extraContent = getSlotVNode(slots, props, 'extraContent');
281
+ var subTitle = getSlotVNode(slots, props, 'subTitle');
282
+ var title = getSlotVNode(slots, props, 'title');
283
+ // @ts-ignore
284
+ return _createVNode(ProPageHeader, _objectSpread(_objectSpread({}, props), {}, {
285
+ "prefixCls": undefined,
286
+ "prefixedClassName": prefixedClassName.value,
287
+ "ghost": ghost.value,
288
+ "title": title,
289
+ "subTitle": subTitle,
290
+ "content": headerContent,
291
+ "extra": extra,
292
+ "extraContent": extraContent
293
+ }), null);
294
+ });
295
+ return function () {
296
+ var _slots$default;
297
+ var fixedHeader = props.fixedHeader,
298
+ pure = props.pure;
299
+ return _createVNode(_Fragment, null, [pure ? _createVNode("div", {
300
+ "class": classNames.value
301
+ }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]) : _createVNode("div", {
302
+ "class": classNames.value,
303
+ "style": _objectSpread({}, attrs.style || {})
304
+ }, [fixedHeader && headerDom.value ? _createVNode(Affix, _objectSpread(_objectSpread({}, affixProps.value), {}, {
305
+ "offsetTop": value.hasHeader && value.fixedHeader ? value.headerHeight : 0
306
+ }), {
307
+ default: function _default() {
308
+ return [headerDom.value];
309
+ }
310
+ }) : headerDom.value, _createVNode("div", {
311
+ "class": "".concat(prefixedClassName.value, "-grid-content")
312
+ }, [loading.value ? _createVNode(Spin, null, null) : slots.default ? _createVNode("div", null, [_createVNode("div", {
313
+ "class": "".concat(prefixedClassName.value, "-children-content ").concat(childrenFullHeight.value ? 'children-full-height' : ''),
314
+ "style": _objectSpread({}, props.contentStyle || {})
315
+ }, [slots.default()]), value.hasFooterToolbar && _createVNode("div", {
316
+ "style": {
317
+ height: 48,
318
+ marginTop: 24
319
+ }
320
+ }, null)]) : null])])]);
321
+ };
322
+ }
323
+ });
324
+ export default withInstall(PageContainer);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { provide, reactive } from 'vue';
2
+ import { useContext } from '@jetlinks-web/hooks';
3
+ export var defaultPrefixCls = 'ant-pro';
4
+ export var getPrefixCls = function getPrefixCls(suffixCls, customizePrefixCls) {
5
+ if (customizePrefixCls) return customizePrefixCls;
6
+ return suffixCls ? "".concat(defaultPrefixCls, "-").concat(suffixCls) : defaultPrefixCls;
7
+ };
8
+ export var defaultRouteContext = reactive({
9
+ getPrefixCls: getPrefixCls,
10
+ locale: function locale(t) {
11
+ return t;
12
+ },
13
+ contentWidth: 'Fluid',
14
+ hasFooterToolbar: false
15
+ });
16
+ export var routeContextInjectKey = Symbol('jetlinks-route-context');
17
+ export var provideRouteContext = function provideRouteContext(value) {
18
+ provide(routeContextInjectKey, value);
19
+ };
20
+ export var useRouteContext = function useRouteContext() {
21
+ return useContext(routeContextInjectKey, defaultRouteContext);
22
+ };
@@ -0,0 +1,285 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { isVNode as _isVNode } from "vue";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
+ import { createVNode as _createVNode } from "vue";
7
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
8
+ import { defaultSettingProps } from '../defaultSettings';
9
+ import { defineComponent, getCurrentInstance, isVNode, resolveComponent, watchEffect, withCtx } from 'vue';
10
+ import { defaultPrefixCls } from '../RouteContext';
11
+ import IconFont from '../../Icon';
12
+ import { regular } from '@jetlinks-web/utils';
13
+ import { Menu } from 'ant-design-vue';
14
+ import { createFromIconfontCN } from '@ant-design/icons-vue';
15
+ function _isSlot(s) {
16
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);
17
+ }
18
+ export var baseMenuProps = _objectSpread(_objectSpread({}, defaultSettingProps), {}, {
19
+ prefixCls: {
20
+ type: String,
21
+ default: function _default() {
22
+ return defaultPrefixCls;
23
+ }
24
+ },
25
+ locale: {
26
+ type: [Function, Boolean],
27
+ default: function _default(t) {
28
+ return t;
29
+ }
30
+ },
31
+ menuData: {
32
+ type: Array,
33
+ default: function _default() {
34
+ return [];
35
+ }
36
+ },
37
+ mode: {
38
+ type: String,
39
+ default: 'inline'
40
+ },
41
+ theme: {
42
+ type: String,
43
+ default: 'dark'
44
+ },
45
+ collapsed: {
46
+ type: Boolean,
47
+ default: function _default() {
48
+ return false;
49
+ }
50
+ },
51
+ openKeys: {
52
+ type: Array,
53
+ default: function _default() {
54
+ return undefined;
55
+ }
56
+ },
57
+ selectedKeys: {
58
+ type: Array,
59
+ default: function _default() {
60
+ return undefined;
61
+ }
62
+ },
63
+ menuProps: {
64
+ type: Object,
65
+ default: function _default() {
66
+ return null;
67
+ }
68
+ },
69
+ menuItemRender: {
70
+ type: [Object, Function, Boolean],
71
+ default: function _default() {
72
+ return undefined;
73
+ }
74
+ },
75
+ subMenuItemRender: {
76
+ type: [Object, Function, Boolean],
77
+ default: function _default() {
78
+ return undefined;
79
+ }
80
+ },
81
+ onClick: [Function, Object]
82
+ });
83
+ var AntdIconFont = createFromIconfontCN({
84
+ scriptUrl: ''
85
+ });
86
+ var LazyIcon = function LazyIcon(props) {
87
+ var icon = props.icon,
88
+ iconUrl = props.iconUrl,
89
+ _props$prefixCls = props.prefixCls,
90
+ prefixCls = _props$prefixCls === void 0 ? defaultPrefixCls : _props$prefixCls;
91
+ if (!icon) return null;
92
+ if (isVNode(icon)) {
93
+ return icon;
94
+ }
95
+ if (typeof icon === 'string' && icon !== '') {
96
+ if (regular.isUrl(icon) || regular.isImg(icon)) {
97
+ return _createVNode("img", {
98
+ "src": icon,
99
+ "alt": "icon",
100
+ "class": "".concat(prefixCls, "-sider-menu-icon")
101
+ }, null);
102
+ }
103
+ return iconUrl ? _createVNode(AntdIconFont, {
104
+ "type": icon
105
+ }, null) : _createVNode(IconFont, {
106
+ "type": icon
107
+ }, null);
108
+ }
109
+ };
110
+ var MenuUtil = /*#__PURE__*/_createClass(function MenuUtil(_props, ctx) {
111
+ var _this = this;
112
+ _classCallCheck(this, MenuUtil);
113
+ _defineProperty(this, "getNavMenuItems", function () {
114
+ var menusData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
115
+ return menusData.map(function (item) {
116
+ return _this.getSubMenuOrItem(item);
117
+ }).filter(function (item) {
118
+ return item;
119
+ });
120
+ });
121
+ _defineProperty(this, "getSubMenuOrItem", function (item) {
122
+ var _item$meta, _item$meta2, _item$meta7, _item$meta8;
123
+ 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)) {
124
+ var _slot;
125
+ var _item$meta3, _item$meta4, _item$meta5, _item$meta6;
126
+ if (_this.props.subMenuItemRender) {
127
+ var subMenuItemRender = withCtx(_this.props.subMenuItemRender, _this.ctx);
128
+ return subMenuItemRender({
129
+ item: item,
130
+ children: _this.getNavMenuItems(item.children)
131
+ });
132
+ }
133
+ var _this$props = _this.props,
134
+ prefixCls = _this$props.prefixCls,
135
+ locale = _this$props.locale;
136
+ 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);
137
+ var defaultTitle = ((_item$meta5 = item.meta) === null || _item$meta5 === void 0 ? void 0 : _item$meta5.icon) ? _createVNode("span", {
138
+ "class": "".concat(prefixCls, "-menu-item")
139
+ }, [_createVNode("span", {
140
+ "class": "".concat(prefixCls, "-menu-item-title")
141
+ }, _isSlot(menuTitle) ? menuTitle : {
142
+ default: function _default() {
143
+ return [menuTitle];
144
+ }
145
+ })]) : _createVNode("span", {
146
+ "class": "".concat(prefixCls, "-menu-item")
147
+ }, _isSlot(menuTitle) ? menuTitle : {
148
+ default: function _default() {
149
+ return [menuTitle];
150
+ }
151
+ });
152
+ return _createVNode(Menu.SubMenu, {
153
+ "title": defaultTitle,
154
+ "key": item.path,
155
+ "popupClassName": "".concat(prefixCls, "-menu-popup"),
156
+ "icon": _createVNode(LazyIcon, {
157
+ "iconUrl": _this.props.iconfontUrl,
158
+ "icon": (_item$meta6 = item.meta) === null || _item$meta6 === void 0 ? void 0 : _item$meta6.icon
159
+ }, null)
160
+ }, _isSlot(_slot = _this.getNavMenuItems(item.children)) ? _slot : {
161
+ default: function _default() {
162
+ return [_slot];
163
+ }
164
+ });
165
+ }
166
+ var menuItemRender = _this.props.menuItemRender && withCtx(_this.props.menuItemRender, _this.ctx);
167
+ var _this$getMenuItem = _this.getMenuItem(item),
168
+ _this$getMenuItem2 = _slicedToArray(_this$getMenuItem, 2),
169
+ title = _this$getMenuItem2[0],
170
+ icon = _this$getMenuItem2[1];
171
+ return menuItemRender && menuItemRender({
172
+ item: item,
173
+ title: title,
174
+ icon: icon
175
+ }) || _createVNode(Menu.Item, {
176
+ "disabled": (_item$meta7 = item.meta) === null || _item$meta7 === void 0 ? void 0 : _item$meta7.disabled,
177
+ "danger": (_item$meta8 = item.meta) === null || _item$meta8 === void 0 ? void 0 : _item$meta8.danger,
178
+ "key": item.path
179
+ }, _isSlot(title) ? title : {
180
+ default: function _default() {
181
+ return [title];
182
+ }
183
+ });
184
+ });
185
+ _defineProperty(this, "getMenuItem", function (item) {
186
+ var _slot2;
187
+ var _item$meta9, _item$meta10, _item$meta11, _item$meta12, _item$meta13;
188
+ var meta = _objectSpread({}, item.meta);
189
+ var target = meta.target || null;
190
+ var hasUrl = regular.isUrl(item.path);
191
+ var CustomTag = target && 'a' || _this.RouterLink;
192
+ var props = {
193
+ to: _objectSpread({
194
+ name: item.name
195
+ }, item.meta)
196
+ };
197
+ var attrs = hasUrl || target ? _objectSpread(_objectSpread({}, item.meta), {}, {
198
+ href: item.path,
199
+ target: target
200
+ }) : {};
201
+ var _this$props2 = _this.props,
202
+ prefixCls = _this$props2.prefixCls,
203
+ locale = _this$props2.locale;
204
+ var icon = ((_item$meta9 = item.meta) === null || _item$meta9 === void 0 ? void 0 : _item$meta9.icon) && _createVNode(LazyIcon, {
205
+ "iconUrl": _this.props.iconfontUrl,
206
+ "icon": (_item$meta10 = item.meta) === null || _item$meta10 === void 0 ? void 0 : _item$meta10.icon
207
+ }, null) || undefined;
208
+ 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);
209
+ var defaultTitle = ((_item$meta13 = item.meta) === null || _item$meta13 === void 0 ? void 0 : _item$meta13.icon) ? _createVNode(CustomTag, _objectSpread(_objectSpread(_objectSpread({}, attrs), props), {}, {
210
+ "class": "".concat(prefixCls, "-menu-item")
211
+ }), {
212
+ default: function _default() {
213
+ return [icon, _createVNode("span", {
214
+ "class": "".concat(prefixCls, "-menu-item-title")
215
+ }, _isSlot(menuTitle) ? menuTitle : {
216
+ default: function _default() {
217
+ return [menuTitle];
218
+ }
219
+ })];
220
+ }
221
+ }) : _createVNode(CustomTag, _objectSpread(_objectSpread(_objectSpread({}, attrs), props), {}, {
222
+ "class": "".concat(prefixCls, "-menu-item")
223
+ }), _isSlot(_slot2 = _createVNode("span", null, _isSlot(menuTitle) ? menuTitle : {
224
+ default: function _default() {
225
+ return [menuTitle];
226
+ }
227
+ })) ? _slot2 : {
228
+ default: function _default() {
229
+ return [_slot2];
230
+ }
231
+ });
232
+ return [defaultTitle, icon];
233
+ });
234
+ this.props = _props;
235
+ this.ctx = ctx;
236
+ this.RouterLink = resolveComponent('router-link');
237
+ });
238
+ export default defineComponent({
239
+ name: 'BaseMenu',
240
+ props: baseMenuProps,
241
+ emits: ['update:openKeys', 'update:selectedKeys', 'click'],
242
+ setup: function setup(props, _ref) {
243
+ var emit = _ref.emit;
244
+ var ctx = getCurrentInstance();
245
+ var menuUtil = new MenuUtil(props, ctx);
246
+ watchEffect(function () {
247
+ if (props.iconfontUrl) {
248
+ AntdIconFont = createFromIconfontCN({
249
+ scriptUrl: props.iconfontUrl
250
+ });
251
+ }
252
+ });
253
+ var handleOpenChange = function handleOpenChange(openKeys) {
254
+ emit('update:openKeys', openKeys);
255
+ };
256
+ var handleSelect = function handleSelect(args) {
257
+ // ignore https? link handle selectkeys
258
+ if (regular.isUrl(args.key)) {
259
+ return;
260
+ }
261
+ emit('update:selectedKeys', args.selectedKeys);
262
+ };
263
+ var handleClick = function handleClick(args) {
264
+ emit('click', args);
265
+ };
266
+ return function () {
267
+ var _slot3;
268
+ return _createVNode(Menu, _objectSpread({
269
+ "key": "Menu",
270
+ "inlineIndent": 16,
271
+ "mode": props.mode,
272
+ "theme": props.theme,
273
+ "openKeys": props.openKeys === false ? [] : props.openKeys,
274
+ "selectedKeys": props.selectedKeys || [],
275
+ "onOpenChange": handleOpenChange,
276
+ "onSelect": handleSelect,
277
+ "onClick": handleClick
278
+ }, props.menuProps), _isSlot(_slot3 = menuUtil.getNavMenuItems(props.menuData)) ? _slot3 : {
279
+ default: function _default() {
280
+ return [_slot3];
281
+ }
282
+ });
283
+ };
284
+ }
285
+ });