@jetlinks-web/components 2.0.2-2 → 2.0.2-5

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 (227) 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 +212 -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/scrollbarProps.js +100 -0
  53. package/es/Scrollbar/util.js +30 -0
  54. package/es/Search/Advanced/History.js +183 -0
  55. package/es/Search/Advanced/SaveHistory.js +153 -0
  56. package/es/Search/Advanced/index.js +520 -0
  57. package/es/Search/Item.js +497 -0
  58. package/es/Search/Search.js +249 -0
  59. package/es/Search/hooks/index.js +1 -0
  60. package/es/Search/hooks/useSearchItems.js +40 -0
  61. package/es/Search/index.js +4 -0
  62. package/es/Search/setting.js +91 -0
  63. package/es/Search/typing.js +1 -0
  64. package/es/Search/util.js +234 -0
  65. package/es/ValueItem/ValueItem.js +233 -0
  66. package/es/ValueItem/index.js +2 -0
  67. package/es/ValueItem/util.js +16 -0
  68. package/es/index.js +24 -0
  69. package/es/style/index.js +3 -0
  70. package/es/style/variable.css +0 -0
  71. package/{src → es}/style/variable.less +0 -2
  72. package/lib/AMap/Map.js +124 -0
  73. package/lib/AMap/index.js +9 -0
  74. package/lib/AMap/util.js +62 -0
  75. package/lib/BadgeStatus/Badge.js +54 -0
  76. package/lib/BadgeStatus/color.js +27 -0
  77. package/lib/BadgeStatus/index.js +22 -0
  78. package/lib/CardSelect/CardSelect.js +123 -0
  79. package/lib/CardSelect/index.js +9 -0
  80. package/lib/CheckButton/CheckButton.js +121 -0
  81. package/lib/CheckButton/index.js +9 -0
  82. package/lib/ConfigProvider/context.js +19 -0
  83. package/lib/ConfigProvider/index.js +37 -0
  84. package/lib/Echarts/Echarts.js +47 -0
  85. package/lib/Echarts/index.js +9 -0
  86. package/lib/Ellipsis/Ellipsis.js +189 -0
  87. package/lib/Ellipsis/index.js +9 -0
  88. package/lib/Empty/Empty.js +56 -0
  89. package/lib/Empty/image.js +8 -0
  90. package/lib/Empty/index.js +9 -0
  91. package/lib/FullPage/FullPage.js +31 -0
  92. package/lib/FullPage/index.js +9 -0
  93. package/lib/Icon/icon.js +52 -0
  94. package/lib/Icon/index.js +9 -0
  95. package/lib/MonacoEditor/Monaco.js +238 -0
  96. package/lib/MonacoEditor/index.js +9 -0
  97. package/lib/PermissionButton/index.js +124 -0
  98. package/lib/ProLayout/Basic/BasicLayout.js +264 -0
  99. package/lib/ProLayout/Basic/BasicLayout.less +66 -0
  100. package/lib/ProLayout/Basic/Header.js +99 -0
  101. package/lib/ProLayout/Basic/Header.less +8 -0
  102. package/lib/ProLayout/PageContainer/index.js +323 -0
  103. package/lib/ProLayout/PageContainer/index.less +103 -0
  104. package/lib/ProLayout/PageContainer/typings.js +5 -0
  105. package/lib/ProLayout/RouteContext.js +28 -0
  106. package/lib/ProLayout/SiderMenu/BaseMenu.js +268 -0
  107. package/lib/ProLayout/SiderMenu/SiderMenu.js +267 -0
  108. package/lib/ProLayout/SiderMenu/index.js +20 -0
  109. package/lib/ProLayout/SiderMenu/index.less +212 -0
  110. package/lib/ProLayout/SiderMenu/typings.js +5 -0
  111. package/lib/ProLayout/TopHeader/index.js +161 -0
  112. package/lib/ProLayout/TopHeader/index.less +174 -0
  113. package/lib/ProLayout/defaultSettings.js +72 -0
  114. package/lib/ProLayout/index.js +16 -0
  115. package/lib/ProLayout/style/default.less +4 -0
  116. package/lib/ProLayout/style/index.js +3 -0
  117. package/lib/ProLayout/style/style.less +7 -0
  118. package/lib/ProLayout/typings.js +5 -0
  119. package/lib/ProLayout/util.js +72 -0
  120. package/lib/ProTable/index.js +412 -0
  121. package/lib/ProTable/proTableTypes.js +17 -0
  122. package/lib/ProTable/style/index.css +65 -0
  123. package/lib/ProTable/style/index.js +3 -0
  124. package/lib/ProTable/style/index.less +92 -0
  125. package/lib/Scrollbar/Bar.js +114 -0
  126. package/lib/Scrollbar/Scrollbar.js +212 -0
  127. package/lib/Scrollbar/Thumb.js +16 -0
  128. package/lib/Scrollbar/constants.js +7 -0
  129. package/lib/Scrollbar/index.js +9 -0
  130. package/{src/Scrollbar/scrollbar.ts → lib/Scrollbar/scrollbarProps.js} +106 -108
  131. package/lib/Scrollbar/util.js +37 -0
  132. package/lib/Search/Advanced/History.js +183 -0
  133. package/lib/Search/Advanced/SaveHistory.js +153 -0
  134. package/lib/Search/Advanced/index.js +520 -0
  135. package/lib/Search/Item.js +497 -0
  136. package/lib/Search/Search.js +249 -0
  137. package/lib/Search/hooks/index.js +16 -0
  138. package/lib/Search/hooks/useSearchItems.js +47 -0
  139. package/lib/Search/index.js +16 -0
  140. package/lib/Search/setting.js +97 -0
  141. package/lib/Search/typing.js +5 -0
  142. package/lib/Search/util.js +241 -0
  143. package/lib/ValueItem/ValueItem.js +233 -0
  144. package/lib/ValueItem/index.js +9 -0
  145. package/lib/ValueItem/util.js +22 -0
  146. package/lib/index.js +158 -0
  147. package/lib/style/components.less +1 -0
  148. package/lib/style/index.js +4 -0
  149. package/lib/style/variable.css +0 -0
  150. package/lib/style/variable.less +2 -0
  151. package/package.json +120 -11
  152. package/index.ts +0 -64
  153. package/src/AMap/Map.vue +0 -110
  154. package/src/AMap/index.ts +0 -1
  155. package/src/AMap/util.ts +0 -56
  156. package/src/BadgeStatus/Badge.vue +0 -41
  157. package/src/BadgeStatus/color.ts +0 -25
  158. package/src/BadgeStatus/index.ts +0 -4
  159. package/src/CardSelect/CardSelect.vue +0 -136
  160. package/src/CardSelect/index.ts +0 -3
  161. package/src/CheckButton/CheckButton.vue +0 -146
  162. package/src/CheckButton/index.md +0 -27
  163. package/src/CheckButton/index.ts +0 -3
  164. package/src/ConfigProvider/context.ts +0 -17
  165. package/src/ConfigProvider/index.tsx +0 -40
  166. package/src/Echarts/Echarts.vue +0 -43
  167. package/src/Echarts/index.ts +0 -3
  168. package/src/Ellipsis/Ellipsis.vue +0 -182
  169. package/src/Ellipsis/index.ts +0 -3
  170. package/src/Empty/Empty.vue +0 -43
  171. package/src/Empty/image.ts +0 -3
  172. package/src/Empty/index.ts +0 -2
  173. package/src/FullPage/FullPage.vue +0 -30
  174. package/src/FullPage/index.ts +0 -3
  175. package/src/Icon/icon.tsx +0 -40
  176. package/src/MonacoEditor/Monaco.vue +0 -242
  177. package/src/MonacoEditor/index.md +0 -26
  178. package/src/MonacoEditor/index.ts +0 -2
  179. package/src/PermissionButton/index.tsx +0 -110
  180. package/src/ProLayout/Basic/BasicLayout.tsx +0 -395
  181. package/src/ProLayout/Basic/Header.tsx +0 -115
  182. package/src/ProLayout/PageContainer/index.tsx +0 -441
  183. package/src/ProLayout/PageContainer/typings.ts +0 -56
  184. package/src/ProLayout/RouteContext.ts +0 -87
  185. package/src/ProLayout/SiderMenu/BaseMenu.tsx +0 -296
  186. package/src/ProLayout/SiderMenu/SiderMenu.tsx +0 -320
  187. package/src/ProLayout/SiderMenu/index.ts +0 -2
  188. package/src/ProLayout/SiderMenu/typings.ts +0 -49
  189. package/src/ProLayout/TopHeader/index.tsx +0 -210
  190. package/src/ProLayout/defaultSettings.ts +0 -106
  191. package/src/ProLayout/style/index.ts +0 -1
  192. package/src/ProLayout/typings.ts +0 -87
  193. package/src/ProLayout/util.ts +0 -64
  194. package/src/ProTable/index.md +0 -53
  195. package/src/ProTable/index.tsx +0 -551
  196. package/src/ProTable/proTableTypes.ts +0 -70
  197. package/src/ProTable/style/index.ts +0 -1
  198. package/src/Scrollbar/Bar.vue +0 -75
  199. package/src/Scrollbar/Scrollbar.vue +0 -260
  200. package/src/Scrollbar/Thumb.vue +0 -163
  201. package/src/Scrollbar/constants.ts +0 -10
  202. package/src/Scrollbar/index.ts +0 -4
  203. package/src/Scrollbar/thumb.ts +0 -16
  204. package/src/Scrollbar/util.ts +0 -38
  205. package/src/Search/Advanced/History.vue +0 -140
  206. package/src/Search/Advanced/SaveHistory.vue +0 -108
  207. package/src/Search/Advanced/index.vue +0 -435
  208. package/src/Search/Item.vue +0 -525
  209. package/src/Search/Search.vue +0 -398
  210. package/src/Search/hooks/index.ts +0 -1
  211. package/src/Search/hooks/useSearchItems.ts +0 -68
  212. package/src/Search/index.md +0 -57
  213. package/src/Search/index.ts +0 -5
  214. package/src/Search/setting.ts +0 -55
  215. package/src/Search/typing.ts +0 -76
  216. package/src/Search/util.ts +0 -263
  217. package/src/ValueItem/ValueItem.vue +0 -192
  218. package/src/ValueItem/index.ts +0 -3
  219. package/src/ValueItem/util.ts +0 -16
  220. package/src/style/index.ts +0 -3
  221. /package/{src → es}/ProLayout/Basic/BasicLayout.less +0 -0
  222. /package/{src → es}/ProLayout/Basic/Header.less +0 -0
  223. /package/{src → es}/ProLayout/PageContainer/index.less +0 -0
  224. /package/{src → es}/ProLayout/SiderMenu/index.less +0 -0
  225. /package/{src → es}/ProLayout/TopHeader/index.less +0 -0
  226. /package/{src → es}/ProLayout/style/style.less +0 -0
  227. /package/{src → es}/ProTable/style/index.less +0 -0
@@ -0,0 +1,117 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ var _excluded = ["popConfirm", "tooltip", "hasPermission", "noPermissionTitle"];
5
+ import { h, defineComponent, computed } from "vue";
6
+ import { Button, Tooltip, Popconfirm } from 'ant-design-vue';
7
+ import "ant-design-vue/es";
8
+ import { omit } from "lodash-es";
9
+ import { buttonProps } from "ant-design-vue/es/button/button";
10
+ import { usePermission } from '@jetlinks-web/hooks';
11
+ var definedProps = _objectSpread({
12
+ tooltip: {
13
+ type: Object
14
+ },
15
+ popConfirm: {
16
+ type: Object
17
+ },
18
+ hasPermission: {
19
+ type: [String, Array, Boolean],
20
+ default: undefined
21
+ },
22
+ style: {
23
+ type: Object
24
+ },
25
+ noPermissionTitle: {
26
+ type: String
27
+ }
28
+ }, omit(buttonProps(), 'icon'));
29
+ var PermissionButton = defineComponent({
30
+ name: 'PermissionButton',
31
+ // @ts-ignore
32
+ slots: ['button', 'icon'],
33
+ props: definedProps,
34
+ setup: function setup(props, _ref) {
35
+ var slots = _ref.slots;
36
+ var popConfirm = props.popConfirm,
37
+ tooltip = props.tooltip;
38
+ var _usePermission = usePermission(props.hasPermission),
39
+ hasPerm = _usePermission.hasPerm;
40
+ var permission = computed(function () {
41
+ if (!props.hasPermission || props.hasPermission === true) {
42
+ return true;
43
+ }
44
+ return hasPerm.value;
45
+ });
46
+ var isPermission = computed(function () {
47
+ if ('hasPermission' in props && permission.value) {
48
+ return 'disabled' in props ? props.disabled : false;
49
+ }
50
+ return true;
51
+ });
52
+ var hasPopConfirm = computed(function () {
53
+ return !!popConfirm;
54
+ }); // 是否包含确认弹窗
55
+ var hasTooltip = computed(function () {
56
+ return !!tooltip;
57
+ }); // 是否包含文字提示
58
+ return function () {
59
+ var popConfirm = props.popConfirm,
60
+ tooltip = props.tooltip,
61
+ hasPermission = props.hasPermission,
62
+ noPermissionTitle = props.noPermissionTitle,
63
+ buttonProps = _objectWithoutProperties(props, _excluded);
64
+ var button = !slots.button ? h(Button, _objectSpread(_objectSpread({}, buttonProps), {}, {
65
+ disabled: isPermission.value
66
+ }), {
67
+ default: function _default() {
68
+ var _slots$default;
69
+ return slots === null || slots === void 0 ? void 0 : (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots);
70
+ },
71
+ icon: function icon() {
72
+ var _slots$icon;
73
+ return slots === null || slots === void 0 ? void 0 : (_slots$icon = slots.icon) === null || _slots$icon === void 0 ? void 0 : _slots$icon.call(slots);
74
+ }
75
+ }) : slots.button();
76
+ // 文字提示
77
+ var _tooltip = tooltip ? h(Tooltip, _extends(tooltip, {
78
+ disabled: isPermission.value
79
+ }), {
80
+ default: function _default() {
81
+ return button;
82
+ }
83
+ }) : undefined;
84
+ // 无权限
85
+ var noPermissionButton = !permission.value ? h(Tooltip, {
86
+ title: noPermissionTitle || '暂无权限,请联系管理员'
87
+ }, {
88
+ default: function _default() {
89
+ return button;
90
+ }
91
+ }) : undefined;
92
+ // 二次确认
93
+ var _popConfirm = popConfirm ? h(Popconfirm, _extends({
94
+ overlayStyle: {
95
+ width: '220px'
96
+ }
97
+ }, popConfirm, {
98
+ disabled: !permission.value || buttonProps.disabled
99
+ }), {
100
+ default: function _default() {
101
+ return tooltip ? _tooltip : button;
102
+ }
103
+ }) : undefined;
104
+ if (permission.value) {
105
+ if (hasPopConfirm.value) {
106
+ return _popConfirm;
107
+ }
108
+ if (hasTooltip.value) {
109
+ return _tooltip;
110
+ }
111
+ return button;
112
+ }
113
+ return noPermissionButton;
114
+ };
115
+ }
116
+ });
117
+ export default PermissionButton;
@@ -0,0 +1,255 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ var _excluded = ["pure", "onCollapse", "onOpenKeys", "onSelect", "onMenuClick"];
5
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
6
+ import SiderMenu, { siderMenuProps } from '../SiderMenu/SiderMenu';
7
+ import { computed, defineComponent, provide, reactive, watchEffect, toRefs, h } from 'vue';
8
+ import { defaultSettingProps } from '../defaultSettings';
9
+ import { baseHeaderProps } from '../TopHeader';
10
+ import Header, { headerViewProps } from './Header';
11
+ import useConfigInject from 'ant-design-vue/es/_util/hooks/useConfigInject';
12
+ import { pick } from 'lodash-es';
13
+ import { defaultRouteContext, routeContextInjectKey } from '../RouteContext';
14
+ import { getMenuFirstChildren, getSlot } from '../util';
15
+ import { Layout, LayoutContent } from 'ant-design-vue';
16
+ export var basicLayoutProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, defaultSettingProps), siderMenuProps), baseHeaderProps), headerViewProps), {}, {
17
+ pure: Boolean,
18
+ loading: Boolean,
19
+ locale: {
20
+ type: [Function, Boolean],
21
+ default: function _default() {
22
+ return function (s) {
23
+ return s;
24
+ };
25
+ }
26
+ },
27
+ /**
28
+ * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可
29
+ */
30
+ disableMobile: {
31
+ type: Boolean,
32
+ required: false
33
+ },
34
+ isChildrenLayout: {
35
+ type: Boolean,
36
+ required: false
37
+ },
38
+ /**
39
+ * 兼用 content 的 margin
40
+ */
41
+ disableContentMargin: {
42
+ type: Boolean,
43
+ required: false
44
+ },
45
+ colSize: {
46
+ type: Number,
47
+ required: false
48
+ },
49
+ contentStyle: {
50
+ type: [String, Object],
51
+ default: function _default() {
52
+ return null;
53
+ }
54
+ },
55
+ breadcrumb: {
56
+ type: [Object, Function],
57
+ default: function _default() {
58
+ return null;
59
+ }
60
+ },
61
+ collapsedButtonRender: {
62
+ type: [Function, Object, Boolean],
63
+ default: function _default() {
64
+ return undefined;
65
+ }
66
+ },
67
+ breadcrumbRender: {
68
+ type: [Object, Function, Boolean],
69
+ default: function _default() {
70
+ return null;
71
+ }
72
+ },
73
+ headerContentRender: {
74
+ type: [Function, Object, Boolean],
75
+ default: function _default() {
76
+ return undefined;
77
+ }
78
+ },
79
+ headerRender: {
80
+ type: [Object, Function, Boolean],
81
+ default: function _default() {
82
+ return undefined;
83
+ }
84
+ }
85
+ });
86
+ export default defineComponent({
87
+ name: 'JProLayout',
88
+ inheritAttrs: false,
89
+ props: basicLayoutProps,
90
+ emits: ['update:collapsed', 'update:open-keys', 'update:selected-keys', 'collapse', 'openKeys', 'select', 'menuHeaderClick', 'menuClick', 'backClick'],
91
+ setup: function setup(props, _ref) {
92
+ var emit = _ref.emit,
93
+ attrs = _ref.attrs,
94
+ slots = _ref.slots;
95
+ var _useConfigInject = useConfigInject('layout', {}),
96
+ prefixCls = _useConfigInject.prefixCls;
97
+ var isTop = computed(function () {
98
+ return props.layout === 'top';
99
+ });
100
+ var hasSide = computed(function () {
101
+ return props.layout === 'mix' || props.layout === 'side' || false;
102
+ });
103
+ var hasSplitMenu = computed(function () {
104
+ return props.layout === 'mix' && props.splitMenus;
105
+ });
106
+ var hasFlatMenu = computed(function () {
107
+ return hasSide.value && hasSplitMenu.value;
108
+ });
109
+ var siderWidth = computed(function () {
110
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
111
+ });
112
+ var onCollapse = function onCollapse(collapsed) {
113
+ emit('update:collapsed', collapsed);
114
+ emit('collapse', collapsed);
115
+ };
116
+ var onOpenKeys = function onOpenKeys(openKeys) {
117
+ emit('update:open-keys', openKeys);
118
+ emit('openKeys', openKeys);
119
+ };
120
+ var onSelect = function onSelect(selectedKeys) {
121
+ emit('update:selected-keys', selectedKeys);
122
+ emit('select', selectedKeys);
123
+ };
124
+ var onMenuHeaderClick = function onMenuHeaderClick(e) {
125
+ emit('menuHeaderClick', e);
126
+ };
127
+ var onMenuClick = function onMenuClick(args) {
128
+ emit('menuClick', args);
129
+ };
130
+ var onBack = function onBack(args) {
131
+ emit('backClick', args);
132
+ };
133
+ var baseClassName = computed(function () {
134
+ return "".concat(props.prefixCls, "-basicLayout");
135
+ });
136
+ var className = computed(function () {
137
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, 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);
138
+ });
139
+ var genLayoutStyle = reactive({
140
+ position: 'relative'
141
+ });
142
+ watchEffect(function () {
143
+ if (props.isChildrenLayout || props.contentStyle && props.contentStyle.minHeight) {
144
+ genLayoutStyle.minHeight = 0;
145
+ }
146
+ });
147
+ var headerRender = function headerRender(p, matchMenuKeys) {
148
+ if (p.headerRender === false || p.pure) {
149
+ return null;
150
+ }
151
+ return h(Header, _objectSpread(_objectSpread({}, p), {}, {
152
+ matchMenuKeys: matchMenuKeys || []
153
+ }));
154
+ // <Header {...p} matchMenuKeys={matchMenuKeys || []} />;
155
+ };
156
+ var breadcrumb = computed(function () {
157
+ return _objectSpread(_objectSpread({}, props.breadcrumb), {}, {
158
+ itemRender: getSlot(slots, props, 'breadcrumbRender')
159
+ });
160
+ });
161
+ var flatMenuData = computed(function () {
162
+ return hasFlatMenu.value && props.selectedKeys && getMenuFirstChildren(props.menuData, props.selectedKeys[0]) || [];
163
+ });
164
+ var routeContext = reactive(_objectSpread(_objectSpread(_objectSpread({}, defaultRouteContext), pick(toRefs(props), ['pure', 'locale', 'menuData', 'openKeys', 'selectedKeys', 'contentWidth', 'disableMobile', 'fixSiderbar', 'fixedHeader', 'headerHeight'])), {}, {
165
+ siderWidth: siderWidth,
166
+ breadcrumb: breadcrumb,
167
+ flatMenuData: flatMenuData,
168
+ hasSide: hasSide,
169
+ back: onBack,
170
+ hasHeader: true,
171
+ flatMenu: hasFlatMenu
172
+ }));
173
+ provide(routeContextInjectKey, routeContext);
174
+ return function () {
175
+ var _slots$default, _slots$default2;
176
+ var pure = props.pure,
177
+ propsOnCollapse = props.onCollapse,
178
+ propsOnOpenKeys = props.onOpenKeys,
179
+ propsOnSelect = props.onSelect,
180
+ propsOnMenuClick = props.onMenuClick,
181
+ restProps = _objectWithoutProperties(props, _excluded);
182
+ var collapsedButtonRender = getSlot(slots, props, 'collapsedButtonRender');
183
+ var headerContentRender = getSlot(slots, props, 'headerContentRender');
184
+ var rightContentRender = getSlot(slots, props, 'rightContentRender');
185
+ var customHeaderRender = getSlot(slots, props, 'headerRender');
186
+ // menu
187
+ var menuHeaderRender = getSlot(slots, props, 'menuHeaderRender');
188
+ var menuExtraRender = getSlot(slots, props, 'menuExtraRender');
189
+ var menuContentRender = getSlot(slots, props, 'menuContentRender');
190
+ var menuItemRender = getSlot(slots, props, 'menuItemRender');
191
+ var subMenuItemRender = getSlot(slots, props, 'subMenuItemRender');
192
+ var headerDom = computed(function () {
193
+ return headerRender(_objectSpread(_objectSpread({}, props), {}, {
194
+ menuItemRender: menuItemRender,
195
+ subMenuItemRender: subMenuItemRender,
196
+ hasSiderMenu: !isTop.value,
197
+ menuData: props.menuData,
198
+ onCollapse: onCollapse,
199
+ onOpenKeys: onOpenKeys,
200
+ onSelect: onSelect,
201
+ onMenuHeaderClick: onMenuHeaderClick,
202
+ rightContentRender: rightContentRender,
203
+ collapsedButtonRender: collapsedButtonRender,
204
+ headerTitleRender: menuHeaderRender,
205
+ menuExtraRender: menuExtraRender,
206
+ menuContentRender: menuContentRender,
207
+ headerContentRender: headerContentRender,
208
+ headerRender: customHeaderRender,
209
+ theme: (props.theme || 'dark').toLocaleLowerCase().includes('dark') ? 'dark' : 'light'
210
+ }), props.matchMenuKeys);
211
+ });
212
+ routeContext.hasHeader = !!headerDom.value;
213
+ var contentClassName = computed(function () {
214
+ return _defineProperty(_defineProperty(_defineProperty({}, "".concat(baseClassName.value, "-content"), true), "".concat(baseClassName.value, "-has-header"), headerDom), "".concat(baseClassName.value, "-content-disable-margin"), props.disableContentMargin);
215
+ });
216
+ return _createVNode(_Fragment, null, [pure ? (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots) : _createVNode("div", {
217
+ "class": className.value
218
+ }, [_createVNode(Layout, {
219
+ "style": _objectSpread({
220
+ minHeight: '100vh'
221
+ }, attrs.style || {})
222
+ }, {
223
+ default: function _default() {
224
+ return [headerDom.value, _createVNode(Layout, {
225
+ "style": genLayoutStyle,
226
+ "class": prefixCls.value
227
+ }, {
228
+ default: function _default() {
229
+ return [!isTop.value && _createVNode(SiderMenu, _objectSpread(_objectSpread({}, restProps), {}, {
230
+ "menuHeaderRender": menuHeaderRender,
231
+ "menuExtraRender": menuExtraRender,
232
+ "menuContentRender": menuContentRender,
233
+ "menuItemRender": menuItemRender,
234
+ "subMenuItemRender": subMenuItemRender,
235
+ "collapsedButtonRender": collapsedButtonRender,
236
+ "onCollapse": onCollapse,
237
+ "onSelect": onSelect,
238
+ "onOpenKeys": onOpenKeys,
239
+ "onMenuClick": onMenuClick
240
+ }), null), _createVNode(Layout, null, {
241
+ default: function _default() {
242
+ return [_createVNode(LayoutContent, null, {
243
+ default: function _default() {
244
+ return [(_slots$default2 = slots.default) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)];
245
+ }
246
+ })];
247
+ }
248
+ })];
249
+ }
250
+ })];
251
+ }
252
+ })])]);
253
+ };
254
+ }
255
+ });
@@ -0,0 +1,93 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
4
+ import { baseHeaderProps, TopNavHeader } from '../TopHeader';
5
+ import PropTypes from 'ant-design-vue/es/_util/vue-types';
6
+ import { defineComponent, computed, toRefs } from 'vue';
7
+ import { useRouteContext } from '../RouteContext';
8
+ import { Layout } from 'ant-design-vue';
9
+ export var headerViewProps = _objectSpread(_objectSpread({}, baseHeaderProps), {}, {
10
+ headerRender: {
11
+ type: [Object, Function, Boolean],
12
+ default: function _default() {
13
+ return undefined;
14
+ }
15
+ },
16
+ headerTitleRender: {
17
+ type: [Object, Function, Boolean],
18
+ default: function _default() {
19
+ return undefined;
20
+ }
21
+ },
22
+ headerContentRender: {
23
+ type: [Object, Function, Boolean],
24
+ default: function _default() {
25
+ return undefined;
26
+ }
27
+ },
28
+ hasSiderMenu: PropTypes.looseBool,
29
+ siderWidth: PropTypes.number.def(208)
30
+ });
31
+ export default defineComponent({
32
+ name: 'HeaderView',
33
+ inheritAttrs: false,
34
+ props: headerViewProps,
35
+ setup: function setup(props) {
36
+ var _toRefs = toRefs(props),
37
+ prefixCls = _toRefs.prefixCls,
38
+ fixedHeader = _toRefs.fixedHeader,
39
+ headerHeight = _toRefs.headerHeight,
40
+ layout = _toRefs.layout,
41
+ theme = _toRefs.theme,
42
+ onCollapse = _toRefs.onCollapse;
43
+ var context = useRouteContext();
44
+ var needFixedHeader = computed(function () {
45
+ return fixedHeader.value || context.fixedHeader;
46
+ });
47
+ var isTop = computed(function () {
48
+ return layout.value === 'top';
49
+ });
50
+ var className = computed(function () {
51
+ return _defineProperty(_defineProperty({}, "".concat(prefixCls.value, "-fixed-header"), needFixedHeader.value), "".concat(prefixCls.value, "-top-menu"), isTop.value);
52
+ });
53
+ var renderContent = function renderContent() {
54
+ var defaultDom = _createVNode(TopNavHeader, _objectSpread(_objectSpread({
55
+ "theme": theme.value,
56
+ "mode": "horizontal"
57
+ }, props), {}, {
58
+ "onCollapse": onCollapse.value,
59
+ "menuData": context.menuData
60
+ }), null);
61
+ if (props.headerRender) {
62
+ return props.headerRender(props, defaultDom);
63
+ }
64
+ return defaultDom;
65
+ };
66
+ var right = computed(function () {
67
+ return needFixedHeader.value ? 0 : undefined;
68
+ });
69
+ return function () {
70
+ return _createVNode(_Fragment, null, [needFixedHeader.value && _createVNode(Layout.Header, {
71
+ "style": {
72
+ height: "".concat(headerHeight.value, "px"),
73
+ lineHeight: "".concat(headerHeight.value, "px"),
74
+ background: 'transparent'
75
+ }
76
+ }, null), _createVNode(Layout.Header, {
77
+ "style": {
78
+ padding: 0,
79
+ height: "".concat(headerHeight.value, "px"),
80
+ lineHeight: "".concat(headerHeight.value, "px"),
81
+ width: '100%',
82
+ zIndex: 100,
83
+ right: right.value
84
+ },
85
+ "class": className.value
86
+ }, {
87
+ default: function _default() {
88
+ return [renderContent()];
89
+ }
90
+ })]);
91
+ };
92
+ }
93
+ });