@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,264 @@
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.default = exports.basicLayoutProps = void 0;
9
+ var _vue = require("vue");
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+ var _SiderMenu = _interopRequireWildcard(require("../SiderMenu/SiderMenu"));
14
+ var _defaultSettings = require("../defaultSettings");
15
+ var _TopHeader = require("../TopHeader");
16
+ var _Header = _interopRequireWildcard(require("./Header"));
17
+ var _useConfigInject2 = _interopRequireDefault(require("ant-design-vue/es/_util/hooks/useConfigInject"));
18
+ var _lodashEs = require("lodash");
19
+ var _RouteContext = require("../RouteContext");
20
+ var _util = require("../util");
21
+ var _antDesignVue = require("ant-design-vue");
22
+ var _excluded = ["pure", "onCollapse", "onOpenKeys", "onSelect", "onMenuClick"];
23
+ 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); }
24
+ 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; }
25
+ var basicLayoutProps = exports.basicLayoutProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _defaultSettings.defaultSettingProps), _SiderMenu.siderMenuProps), _TopHeader.baseHeaderProps), _Header.headerViewProps), {}, {
26
+ pure: Boolean,
27
+ loading: Boolean,
28
+ locale: {
29
+ type: [Function, Boolean],
30
+ default: function _default() {
31
+ return function (s) {
32
+ return s;
33
+ };
34
+ }
35
+ },
36
+ /**
37
+ * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可
38
+ */
39
+ disableMobile: {
40
+ type: Boolean,
41
+ required: false
42
+ },
43
+ isChildrenLayout: {
44
+ type: Boolean,
45
+ required: false
46
+ },
47
+ /**
48
+ * 兼用 content 的 margin
49
+ */
50
+ disableContentMargin: {
51
+ type: Boolean,
52
+ required: false
53
+ },
54
+ colSize: {
55
+ type: Number,
56
+ required: false
57
+ },
58
+ contentStyle: {
59
+ type: [String, Object],
60
+ default: function _default() {
61
+ return null;
62
+ }
63
+ },
64
+ breadcrumb: {
65
+ type: [Object, Function],
66
+ default: function _default() {
67
+ return null;
68
+ }
69
+ },
70
+ collapsedButtonRender: {
71
+ type: [Function, Object, Boolean],
72
+ default: function _default() {
73
+ return undefined;
74
+ }
75
+ },
76
+ breadcrumbRender: {
77
+ type: [Object, Function, Boolean],
78
+ default: function _default() {
79
+ return null;
80
+ }
81
+ },
82
+ headerContentRender: {
83
+ type: [Function, Object, Boolean],
84
+ default: function _default() {
85
+ return undefined;
86
+ }
87
+ },
88
+ headerRender: {
89
+ type: [Object, Function, Boolean],
90
+ default: function _default() {
91
+ return undefined;
92
+ }
93
+ }
94
+ });
95
+ var _default2 = exports.default = (0, _vue.defineComponent)({
96
+ name: 'JProLayout',
97
+ inheritAttrs: false,
98
+ props: basicLayoutProps,
99
+ emits: ['update:collapsed', 'update:open-keys', 'update:selected-keys', 'collapse', 'openKeys', 'select', 'menuHeaderClick', 'menuClick', 'backClick'],
100
+ setup: function setup(props, _ref) {
101
+ var emit = _ref.emit,
102
+ attrs = _ref.attrs,
103
+ slots = _ref.slots;
104
+ var _useConfigInject = (0, _useConfigInject2.default)('layout', {}),
105
+ prefixCls = _useConfigInject.prefixCls;
106
+ var isTop = (0, _vue.computed)(function () {
107
+ return props.layout === 'top';
108
+ });
109
+ var hasSide = (0, _vue.computed)(function () {
110
+ return props.layout === 'mix' || props.layout === 'side' || false;
111
+ });
112
+ var hasSplitMenu = (0, _vue.computed)(function () {
113
+ return props.layout === 'mix' && props.splitMenus;
114
+ });
115
+ var hasFlatMenu = (0, _vue.computed)(function () {
116
+ return hasSide.value && hasSplitMenu.value;
117
+ });
118
+ var siderWidth = (0, _vue.computed)(function () {
119
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
120
+ });
121
+ var onCollapse = function onCollapse(collapsed) {
122
+ emit('update:collapsed', collapsed);
123
+ emit('collapse', collapsed);
124
+ };
125
+ var onOpenKeys = function onOpenKeys(openKeys) {
126
+ emit('update:open-keys', openKeys);
127
+ emit('openKeys', openKeys);
128
+ };
129
+ var onSelect = function onSelect(selectedKeys) {
130
+ emit('update:selected-keys', selectedKeys);
131
+ emit('select', selectedKeys);
132
+ };
133
+ var onMenuHeaderClick = function onMenuHeaderClick(e) {
134
+ emit('menuHeaderClick', e);
135
+ };
136
+ var onMenuClick = function onMenuClick(args) {
137
+ emit('menuClick', args);
138
+ };
139
+ var onBack = function onBack(args) {
140
+ emit('backClick', args);
141
+ };
142
+ var baseClassName = (0, _vue.computed)(function () {
143
+ return "".concat(props.prefixCls, "-basicLayout");
144
+ });
145
+ var className = (0, _vue.computed)(function () {
146
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, baseClassName.value, true), "".concat(baseClassName.value, "-top-menu"), isTop.value), "".concat(baseClassName.value, "-is-children"), props.isChildrenLayout), "".concat(baseClassName.value, "-fix-siderbar"), props.fixSiderbar), "".concat(baseClassName.value, "-").concat(props.layout), props.layout);
147
+ });
148
+ var genLayoutStyle = (0, _vue.reactive)({
149
+ position: 'relative'
150
+ });
151
+ (0, _vue.watchEffect)(function () {
152
+ if (props.isChildrenLayout || props.contentStyle && props.contentStyle.minHeight) {
153
+ genLayoutStyle.minHeight = 0;
154
+ }
155
+ });
156
+ var headerRender = function headerRender(p, matchMenuKeys) {
157
+ if (p.headerRender === false || p.pure) {
158
+ return null;
159
+ }
160
+ return (0, _vue.h)(_Header.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, p), {}, {
161
+ matchMenuKeys: matchMenuKeys || []
162
+ }));
163
+ // <Header {...p} matchMenuKeys={matchMenuKeys || []} />;
164
+ };
165
+ var breadcrumb = (0, _vue.computed)(function () {
166
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props.breadcrumb), {}, {
167
+ itemRender: (0, _util.getSlot)(slots, props, 'breadcrumbRender')
168
+ });
169
+ });
170
+ var flatMenuData = (0, _vue.computed)(function () {
171
+ return hasFlatMenu.value && props.selectedKeys && (0, _util.getMenuFirstChildren)(props.menuData, props.selectedKeys[0]) || [];
172
+ });
173
+ var routeContext = (0, _vue.reactive)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _RouteContext.defaultRouteContext), (0, _lodashEs.pick)((0, _vue.toRefs)(props), ['pure', 'locale', 'menuData', 'openKeys', 'selectedKeys', 'contentWidth', 'disableMobile', 'fixSiderbar', 'fixedHeader', 'headerHeight'])), {}, {
174
+ siderWidth: siderWidth,
175
+ breadcrumb: breadcrumb,
176
+ flatMenuData: flatMenuData,
177
+ hasSide: hasSide,
178
+ back: onBack,
179
+ hasHeader: true,
180
+ flatMenu: hasFlatMenu
181
+ }));
182
+ (0, _vue.provide)(_RouteContext.routeContextInjectKey, routeContext);
183
+ return function () {
184
+ var _slots$default, _slots$default2;
185
+ var pure = props.pure,
186
+ propsOnCollapse = props.onCollapse,
187
+ propsOnOpenKeys = props.onOpenKeys,
188
+ propsOnSelect = props.onSelect,
189
+ propsOnMenuClick = props.onMenuClick,
190
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
191
+ var collapsedButtonRender = (0, _util.getSlot)(slots, props, 'collapsedButtonRender');
192
+ var headerContentRender = (0, _util.getSlot)(slots, props, 'headerContentRender');
193
+ var rightContentRender = (0, _util.getSlot)(slots, props, 'rightContentRender');
194
+ var customHeaderRender = (0, _util.getSlot)(slots, props, 'headerRender');
195
+ // menu
196
+ var menuHeaderRender = (0, _util.getSlot)(slots, props, 'menuHeaderRender');
197
+ var menuExtraRender = (0, _util.getSlot)(slots, props, 'menuExtraRender');
198
+ var menuContentRender = (0, _util.getSlot)(slots, props, 'menuContentRender');
199
+ var menuItemRender = (0, _util.getSlot)(slots, props, 'menuItemRender');
200
+ var subMenuItemRender = (0, _util.getSlot)(slots, props, 'subMenuItemRender');
201
+ var headerDom = (0, _vue.computed)(function () {
202
+ return headerRender((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
203
+ menuItemRender: menuItemRender,
204
+ subMenuItemRender: subMenuItemRender,
205
+ hasSiderMenu: !isTop.value,
206
+ menuData: props.menuData,
207
+ onCollapse: onCollapse,
208
+ onOpenKeys: onOpenKeys,
209
+ onSelect: onSelect,
210
+ onMenuHeaderClick: onMenuHeaderClick,
211
+ rightContentRender: rightContentRender,
212
+ collapsedButtonRender: collapsedButtonRender,
213
+ headerTitleRender: menuHeaderRender,
214
+ menuExtraRender: menuExtraRender,
215
+ menuContentRender: menuContentRender,
216
+ headerContentRender: headerContentRender,
217
+ headerRender: customHeaderRender,
218
+ theme: (props.theme || 'dark').toLocaleLowerCase().includes('dark') ? 'dark' : 'light'
219
+ }), props.matchMenuKeys);
220
+ });
221
+ routeContext.hasHeader = !!headerDom.value;
222
+ var contentClassName = (0, _vue.computed)(function () {
223
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(baseClassName.value, "-content"), true), "".concat(baseClassName.value, "-has-header"), headerDom), "".concat(baseClassName.value, "-content-disable-margin"), props.disableContentMargin);
224
+ });
225
+ return (0, _vue.createVNode)(_vue.Fragment, null, [pure ? (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots) : (0, _vue.createVNode)("div", {
226
+ "class": className.value
227
+ }, [(0, _vue.createVNode)(_antDesignVue.Layout, {
228
+ "style": (0, _objectSpread2.default)({
229
+ minHeight: '100vh'
230
+ }, attrs.style || {})
231
+ }, {
232
+ default: function _default() {
233
+ return [headerDom.value, (0, _vue.createVNode)(_antDesignVue.Layout, {
234
+ "style": genLayoutStyle,
235
+ "class": prefixCls.value
236
+ }, {
237
+ default: function _default() {
238
+ return [!isTop.value && (0, _vue.createVNode)(_SiderMenu.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
239
+ "menuHeaderRender": menuHeaderRender,
240
+ "menuExtraRender": menuExtraRender,
241
+ "menuContentRender": menuContentRender,
242
+ "menuItemRender": menuItemRender,
243
+ "subMenuItemRender": subMenuItemRender,
244
+ "collapsedButtonRender": collapsedButtonRender,
245
+ "onCollapse": onCollapse,
246
+ "onSelect": onSelect,
247
+ "onOpenKeys": onOpenKeys,
248
+ "onMenuClick": onMenuClick
249
+ }), null), (0, _vue.createVNode)(_antDesignVue.Layout, null, {
250
+ default: function _default() {
251
+ return [(0, _vue.createVNode)(_antDesignVue.LayoutContent, null, {
252
+ default: function _default() {
253
+ return [(_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)];
254
+ }
255
+ })];
256
+ }
257
+ })];
258
+ }
259
+ })];
260
+ }
261
+ })])]);
262
+ };
263
+ }
264
+ });
@@ -0,0 +1,66 @@
1
+ @import '../style/default.less';
2
+
3
+ .@{basicLayout-prefix-cls} {
4
+ // BFC
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: 100%;
8
+ min-height: 100%;
9
+
10
+ .@{ant-prefix}-layout-header {
11
+ &.@{ant-prefix}-pro-fixed-header {
12
+ position: fixed;
13
+ top: 0;
14
+ }
15
+ }
16
+
17
+ &-content {
18
+ position: relative;
19
+ margin: 24px;
20
+
21
+ .@{ant-prefix}-pro-page-container {
22
+ margin: -24px -24px 0;
23
+ }
24
+
25
+ &-disable-margin {
26
+ margin: 0;
27
+
28
+ .@{ant-prefix}-pro-page-container {
29
+ margin: 0;
30
+ }
31
+ }
32
+
33
+ > .@{ant-prefix}-layout {
34
+ max-height: 100%;
35
+ }
36
+ }
37
+
38
+ // children should support fixed
39
+ .@{basicLayout-prefix-cls}-is-children.@{basicLayout-prefix-cls}-fix-siderbar {
40
+ height: 100vh;
41
+ overflow: hidden;
42
+ transform: rotate(0);
43
+ }
44
+
45
+ .@{basicLayout-prefix-cls}-has-header {
46
+ // tech-page-container
47
+ .tech-page-container {
48
+ height: calc(100vh - @pro-layout-header-height);
49
+ }
50
+
51
+ .@{basicLayout-prefix-cls}-is-children.@{basicLayout-prefix-cls}-has-header {
52
+ .tech-page-container {
53
+ height: calc(100vh - @pro-layout-header-height -
54
+ @pro-layout-header-height);
55
+ }
56
+
57
+ .@{basicLayout-prefix-cls}-is-children {
58
+ min-height: calc(100vh - @pro-layout-header-height);
59
+
60
+ &.@{basicLayout-prefix-cls}-fix-siderbar {
61
+ height: calc(100vh - @pro-layout-header-height);
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.headerViewProps = exports.default = void 0;
8
+ var _vue = require("vue");
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _TopHeader = require("../TopHeader");
12
+ var _vueTypes = _interopRequireDefault(require("ant-design-vue/es/_util/vue-types"));
13
+ var _RouteContext = require("../RouteContext");
14
+ var _antDesignVue = require("ant-design-vue");
15
+ var headerViewProps = exports.headerViewProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _TopHeader.baseHeaderProps), {}, {
16
+ headerRender: {
17
+ type: [Object, Function, Boolean],
18
+ default: function _default() {
19
+ return undefined;
20
+ }
21
+ },
22
+ headerTitleRender: {
23
+ type: [Object, Function, Boolean],
24
+ default: function _default() {
25
+ return undefined;
26
+ }
27
+ },
28
+ headerContentRender: {
29
+ type: [Object, Function, Boolean],
30
+ default: function _default() {
31
+ return undefined;
32
+ }
33
+ },
34
+ hasSiderMenu: _vueTypes.default.looseBool,
35
+ siderWidth: _vueTypes.default.number.def(208)
36
+ });
37
+ var _default2 = exports.default = (0, _vue.defineComponent)({
38
+ name: 'HeaderView',
39
+ inheritAttrs: false,
40
+ props: headerViewProps,
41
+ setup: function setup(props) {
42
+ var _toRefs = (0, _vue.toRefs)(props),
43
+ prefixCls = _toRefs.prefixCls,
44
+ fixedHeader = _toRefs.fixedHeader,
45
+ headerHeight = _toRefs.headerHeight,
46
+ layout = _toRefs.layout,
47
+ theme = _toRefs.theme,
48
+ onCollapse = _toRefs.onCollapse;
49
+ var context = (0, _RouteContext.useRouteContext)();
50
+ var needFixedHeader = (0, _vue.computed)(function () {
51
+ return fixedHeader.value || context.fixedHeader;
52
+ });
53
+ var isTop = (0, _vue.computed)(function () {
54
+ return layout.value === 'top';
55
+ });
56
+ var className = (0, _vue.computed)(function () {
57
+ return (0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(prefixCls.value, "-fixed-header"), needFixedHeader.value), "".concat(prefixCls.value, "-top-menu"), isTop.value);
58
+ });
59
+ var renderContent = function renderContent() {
60
+ var defaultDom = (0, _vue.createVNode)(_TopHeader.TopNavHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({
61
+ "theme": theme.value,
62
+ "mode": "horizontal"
63
+ }, props), {}, {
64
+ "onCollapse": onCollapse.value,
65
+ "menuData": context.menuData
66
+ }), null);
67
+ if (props.headerRender) {
68
+ return props.headerRender(props, defaultDom);
69
+ }
70
+ return defaultDom;
71
+ };
72
+ var right = (0, _vue.computed)(function () {
73
+ return needFixedHeader.value ? 0 : undefined;
74
+ });
75
+ return function () {
76
+ return (0, _vue.createVNode)(_vue.Fragment, null, [needFixedHeader.value && (0, _vue.createVNode)(_antDesignVue.Layout.Header, {
77
+ "style": {
78
+ height: "".concat(headerHeight.value, "px"),
79
+ lineHeight: "".concat(headerHeight.value, "px"),
80
+ background: 'transparent'
81
+ }
82
+ }, null), (0, _vue.createVNode)(_antDesignVue.Layout.Header, {
83
+ "style": {
84
+ padding: 0,
85
+ height: "".concat(headerHeight.value, "px"),
86
+ lineHeight: "".concat(headerHeight.value, "px"),
87
+ width: '100%',
88
+ zIndex: 100,
89
+ right: right.value
90
+ },
91
+ "class": className.value
92
+ }, {
93
+ default: function _default() {
94
+ return [renderContent()];
95
+ }
96
+ })]);
97
+ };
98
+ }
99
+ });
@@ -0,0 +1,8 @@
1
+ @import '../style/default.less';
2
+
3
+ @pro-layout-fixed-header-prefix-cls: ~'@{ant-prefix}-pro-fixed-header';
4
+
5
+ .@{pro-layout-fixed-header-prefix-cls} {
6
+ z-index: 9;
7
+ width: 100%;
8
+ }