@meethive/components 0.0.8 → 0.0.10

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.
@@ -53,7 +53,7 @@ export const bodyProps = () => {
53
53
  default: false
54
54
  },
55
55
  rowSelection: {
56
- type: Object,
56
+ type: [Object, Boolean],
57
57
  default: undefined
58
58
  }
59
59
  }
@@ -1,4 +1,4 @@
1
- import { computed, unref, defineComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from 'vue';
1
+ import { computed, unref, createVNode as _createVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from 'vue';
2
2
  import { LayoutSider as Sider, Menu, Tooltip } from 'ant-design-vue';
3
3
  import BaseMenu, { baseMenuProps } from './BaseMenu.js';
4
4
  import { defaultSettingProps, LayoutType } from '../defaultSettings';
@@ -135,146 +135,140 @@ export const defaultRenderCollapsedButton = collapsed => {
135
135
  "type": "MenuFoldOutlined"
136
136
  }, null);
137
137
  };
138
- const SiderMenu = defineComponent({
139
- name: 'SiderMenu',
140
- props: siderMenuProps,
141
- setup(props) {
142
- const prefixCls = computed(() => 'pro-layout');
143
- const [wrapSSR, hashId] = useProLayoutStyle(prefixCls);
144
- const context = useRouteContext();
145
- const getPrefixCls = context.getPrefixCls;
146
- const baseClassName = getPrefixCls('sider');
147
- const hasSplitMenu = computed(() => {
148
- return props.layout === 'mix' && props.splitMenus;
149
- });
150
- const sSideWidth = computed(() => {
151
- return props.collapsed ? props.collapsedWidth : props.siderWidth;
152
- });
153
- const classNames = computed(() => ({
154
- [baseClassName]: true,
155
- [`${baseClassName}-fixed`]: context.fixSiderbar,
156
- [`${baseClassName}-${props.theme}`]: true,
157
- [`${baseClassName}-layout-${props.layout}`]: props.layout,
158
- [hashId.value]: true
159
- }));
160
- const logCls = computed(() => ({
161
- [`${baseClassName}-logo`]: true,
162
- [`${baseClassName}-logo-card`]: props.layoutType === LayoutType.CARD
163
- }));
164
- const handleSelect = $event => {
165
- if (props.onSelect) {
166
- if (unref(hasSplitMenu)) {
167
- props.onSelect([context.selectedKeys[0], ...$event]);
168
- return;
169
- }
170
- props.onSelect($event);
138
+ const SiderMenu = props => {
139
+ const {
140
+ collapsed,
141
+ siderWidth,
142
+ breakpoint,
143
+ collapsedWidth = 48,
144
+ menuExtraRender = false,
145
+ menuContentRender = false,
146
+ collapsedButtonRender = defaultRenderCollapsedButton,
147
+ linksRender,
148
+ theme
149
+ } = props;
150
+ const prefixCls = computed(() => 'pro-layout');
151
+ const [wrapSSR, hashId] = useProLayoutStyle(prefixCls);
152
+ const context = useRouteContext();
153
+ const getPrefixCls = context.getPrefixCls;
154
+ const baseClassName = getPrefixCls('sider');
155
+ const hasSplitMenu = computed(() => {
156
+ return props.layout === 'mix' && props.splitMenus;
157
+ });
158
+ const sSideWidth = computed(() => {
159
+ return props.collapsed ? props.collapsedWidth : props.siderWidth;
160
+ });
161
+ const classNames = computed(() => ({
162
+ [baseClassName]: true,
163
+ [`${baseClassName}-fixed`]: context.fixSiderbar,
164
+ [`${baseClassName}-${theme}`]: true,
165
+ [`${baseClassName}-layout-${props.layout}`]: props.layout,
166
+ [hashId.value]: true
167
+ }));
168
+ const logCls = computed(() => ({
169
+ [`${baseClassName}-logo`]: true,
170
+ [`${baseClassName}-logo-card`]: props.layoutType === LayoutType.CARD
171
+ }));
172
+ const handleSelect = $event => {
173
+ if (props.onSelect) {
174
+ if (unref(hasSplitMenu)) {
175
+ props.onSelect([context.selectedKeys[0], ...$event]);
176
+ return;
171
177
  }
172
- };
173
- const headerDom = computed(() => defaultRenderLogoAndTitle({
174
- ...props,
175
- baseClassName
176
- }));
177
- const extraDom = computed(() => props.menuExtraRender && props.menuExtraRender(props));
178
- return () => {
179
- const {
180
- collapsed,
181
- siderWidth,
182
- breakpoint,
183
- collapsedWidth = 48,
184
- menuExtraRender = false,
185
- menuContentRender = false,
186
- collapsedButtonRender = defaultRenderCollapsedButton,
187
- linksRender,
188
- theme
189
- } = props;
190
- if (props.layoutType !== LayoutType.CARD && hasSplitMenu.value && unref(context.flatMenuData).length === 0) {
191
- return null;
178
+ props.onSelect($event);
179
+ }
180
+ };
181
+ const headerDom = defaultRenderLogoAndTitle({
182
+ ...props,
183
+ baseClassName
184
+ });
185
+ const extraDom = menuExtraRender && menuExtraRender(props);
186
+ if (props.layoutType !== LayoutType.CARD && hasSplitMenu.value && unref(context.flatMenuData).length === 0) {
187
+ return null;
188
+ }
189
+ const defaultMenuDom = _createVNode(BaseMenu, {
190
+ "prefixCls": getPrefixCls(),
191
+ "locale": props.locale || context.locale,
192
+ "theme": theme,
193
+ "mode": "inline",
194
+ "menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
195
+ "collapsed": props.collapsed,
196
+ "openKeys": context.openKeys,
197
+ "selectedKeys": context.selectedKeys,
198
+ "menuItemRender": props.menuItemRender,
199
+ "subMenuItemRender": props.subMenuItemRender,
200
+ "iconfontUrl": props.iconfontUrl,
201
+ "onClick": props.onMenuClick,
202
+ "style": {
203
+ width: '100%'
204
+ },
205
+ "class": `${baseClassName}-menu`,
206
+ "onUpdate:openKeys": $event => props.onOpenKeys && props.onOpenKeys($event),
207
+ "onUpdate:selectedKeys": handleSelect
208
+ }, null);
209
+ return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
210
+ "style": {
211
+ width: `${sSideWidth.value}px`,
212
+ overflow: 'hidden',
213
+ flex: `0 0 ${sSideWidth.value}px`,
214
+ maxWidth: `${sSideWidth.value}px`,
215
+ minWidth: `${sSideWidth.value}px`,
216
+ transition: 'background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)'
217
+ }
218
+ }, null), _createVNode(Sider, {
219
+ "collapsible": true,
220
+ "trigger": null,
221
+ "collapsed": collapsed,
222
+ "breakpoint": breakpoint || undefined,
223
+ "onCollapse": collapse => {
224
+ props.onCollapse?.(collapse);
225
+ },
226
+ "collapsedWidth": collapsedWidth,
227
+ "style": {
228
+ overflow: 'hidden',
229
+ paddingTop: `${props.headerHeight}px`,
230
+ zIndex: props.layoutType === LayoutType.PAD ? 200 : 1
231
+ },
232
+ "width": siderWidth,
233
+ "theme": theme,
234
+ "class": classNames.value
235
+ }, {
236
+ default: () => [headerDom && _createVNode("div", {
237
+ "class": logCls.value,
238
+ "onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
239
+ "id": "logo",
240
+ "style": props?.logoStyle
241
+ }, [headerDom]), extraDom && _createVNode("div", {
242
+ "class": {
243
+ [`${baseClassName}-extra`]: true,
244
+ [`${baseClassName}-extra-no-logo`]: !headerDom
192
245
  }
193
- const defaultMenuDom = _createVNode(BaseMenu, {
194
- "prefixCls": getPrefixCls(),
195
- "locale": props.locale || context.locale,
196
- "theme": theme,
197
- "mode": "inline",
198
- "menuData": hasSplitMenu.value ? context.flatMenuData : context.menuData,
199
- "collapsed": props.collapsed,
200
- "openKeys": context.openKeys,
201
- "selectedKeys": context.selectedKeys,
202
- "menuItemRender": props.menuItemRender,
203
- "subMenuItemRender": props.subMenuItemRender,
204
- "iconfontUrl": props.iconfontUrl,
205
- "onClick": props.onMenuClick,
206
- "style": {
207
- width: '100%'
208
- },
209
- "class": `${baseClassName}-menu`,
210
- "onUpdate:openKeys": $event => props.onOpenKeys && props.onOpenKeys($event),
211
- "onUpdate:selectedKeys": handleSelect
212
- }, null);
213
- return _createVNode(_Fragment, null, [context.fixSiderbar && _createVNode("div", {
214
- "style": {
215
- width: `${sSideWidth.value}px`,
216
- overflow: 'hidden',
217
- flex: `0 0 ${sSideWidth.value}px`,
218
- maxWidth: `${sSideWidth.value}px`,
219
- minWidth: `${sSideWidth.value}px`,
220
- transition: 'background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)'
246
+ }, [extraDom]), _createVNode("div", {
247
+ "class": `${baseClassName}-body`,
248
+ "style": "flex: 1; overflow: hidden auto;"
249
+ }, [props.layoutType !== LayoutType.CARD ? menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), _createVNode("div", {
250
+ "class": `${baseClassName}-links`
251
+ }, [linksRender ? linksRender() : collapsedButtonRender !== false ? _createVNode(Menu, {
252
+ "class": `${baseClassName}-link-menu`,
253
+ "inlineIndent": 16,
254
+ "theme": theme,
255
+ "selectedKeys": [],
256
+ "openKeys": [],
257
+ "mode": "inline",
258
+ "onClick": () => {
259
+ if (props.onCollapse) {
260
+ props.onCollapse(!props.collapsed);
221
261
  }
222
- }, null), _createVNode(Sider, {
223
- "collapsible": true,
224
- "trigger": null,
225
- "collapsed": collapsed,
226
- "breakpoint": breakpoint || undefined,
227
- "onCollapse": collapse => {
228
- props.onCollapse?.(collapse);
229
- },
230
- "collapsedWidth": collapsedWidth,
231
- "style": {
232
- overflow: 'hidden',
233
- paddingTop: `${props.headerHeight}px`,
234
- zIndex: props.layoutType === LayoutType.PAD ? 200 : 1
235
- },
236
- "width": siderWidth,
237
- "theme": theme,
238
- "class": classNames.value
262
+ }
263
+ }, {
264
+ default: () => [_createVNode(Menu.Item, {
265
+ "key": "collapsed-button",
266
+ "class": `${baseClassName}-collapsed-button`,
267
+ "title": false
239
268
  }, {
240
- default: () => [headerDom.value && _createVNode("div", {
241
- "class": logCls.value,
242
- "onClick": props.layout !== 'mix' ? props.onMenuHeaderClick : undefined,
243
- "id": "logo",
244
- "style": props?.logoStyle
245
- }, [headerDom.value]), extraDom.value && _createVNode("div", {
246
- "class": {
247
- [`${baseClassName}-extra`]: true,
248
- [`${baseClassName}-extra-no-logo`]: !headerDom.value
249
- }
250
- }, [extraDom.value]), _createVNode("div", {
251
- "class": `${baseClassName}-body`,
252
- "style": "flex: 1; overflow: hidden auto;"
253
- }, [props.layoutType !== LayoutType.CARD ? menuContentRender && menuContentRender(props, defaultMenuDom) || defaultMenuDom : null]), _createVNode("div", {
254
- "class": `${baseClassName}-links`
255
- }, [linksRender ? linksRender() : collapsedButtonRender !== false ? _createVNode(Menu, {
256
- "class": `${baseClassName}-link-menu`,
257
- "inlineIndent": 16,
258
- "theme": theme,
259
- "selectedKeys": [],
260
- "openKeys": [],
261
- "mode": "inline",
262
- "onClick": () => {
263
- if (props.onCollapse) {
264
- props.onCollapse(!props.collapsed);
265
- }
266
- }
267
- }, {
268
- default: () => [_createVNode(Menu.Item, {
269
- "key": "collapsed-button",
270
- "class": `${baseClassName}-collapsed-button`,
271
- "title": false
272
- }, {
273
- default: () => [collapsedButtonRender && typeof collapsedButtonRender === 'function' ? collapsedButtonRender(collapsed) : collapsedButtonRender]
274
- })]
275
- }) : null])]
276
- })]);
277
- };
278
- }
279
- });
269
+ default: () => [collapsedButtonRender && typeof collapsedButtonRender === 'function' ? collapsedButtonRender(collapsed) : collapsedButtonRender]
270
+ })]
271
+ }) : null])]
272
+ })]);
273
+ };
280
274
  export default SiderMenu;
@@ -1,4 +1,4 @@
1
- import { computed, ref, defineComponent, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
1
+ import { computed, ref, createVNode as _createVNode, mergeProps as _mergeProps } from 'vue';
2
2
  import { default as ResizeObserver } from 'ant-design-vue/es/vc-resize-observer';
3
3
  import { defaultRenderLogoAndTitle, siderMenuProps } from '../SiderMenu/SiderMenu';
4
4
  import PropTypes from 'ant-design-vue/es/_util/vue-types';
@@ -75,96 +75,96 @@ const RightContent = ({
75
75
  })]) : rightContentRender]
76
76
  })])]);
77
77
  };
78
- export const TopNavHeader = defineComponent({
79
- name: 'TopNavHeader',
80
- props: topNavHeaderProps,
81
- setup(props) {
82
- const headerRef = ref();
83
- const context = useRouteContext();
84
- const stylePrefixCls = computed(() => 'pro-layout');
85
- const [wrapSSR, hashId] = useProLayoutStyle(stylePrefixCls);
86
- const prefixCls = computed(() => `${props.prefixCls || defaultPrefixCls}-top-nav-header`);
87
- const MenusData = computed(() => {
88
- let data = props.layout === 'side' ? [] : props.menuData;
89
- if (props.layout === 'mix' && props.splitMenus) {
90
- const noChildrenMenuData = (props.menuData || []).map(item => {
91
- return {
92
- ...item,
93
- children: undefined,
94
- component: undefined
95
- };
96
- });
97
- data = clearMenuItem(noChildrenMenuData);
98
- }
99
- return data;
100
- });
101
- const _mode = computed(() => {
102
- return props.layout === 'mix' && props.splitMenus ? 'horizontal' : props.mode;
103
- });
104
- const className = computed(() => ({
105
- [prefixCls.value]: true,
106
- [hashId.value]: true,
107
- 'light': props.theme === 'light',
108
- 'dark': props.theme === 'dark'
109
- }));
110
- const paddingLeft = computed(() => {
111
- return context.layoutType === LayoutType.PAD && props.collapsed ? context.headerLeftWidth + 'px' : 0;
78
+ export const TopNavHeader = props => {
79
+ const headerRef = ref();
80
+ const {
81
+ prefixCls: propPrefixCls,
82
+ onMenuHeaderClick,
83
+ onOpenKeys,
84
+ onSelect,
85
+ contentWidth,
86
+ rightContentRender,
87
+ topHeaderMenuRender,
88
+ layout,
89
+ menuData,
90
+ mode
91
+ } = props;
92
+ const context = useRouteContext();
93
+ const prefixCls = `${propPrefixCls || defaultPrefixCls}-top-nav-header`;
94
+ const stylePrefixCls = computed(() => 'pro-layout');
95
+ const [wrapSSR, hashId] = useProLayoutStyle(stylePrefixCls);
96
+ const headerDom = defaultRenderLogoAndTitle({
97
+ ...props,
98
+ collapsed: false
99
+ },
100
+ // REMARK:: Any time render header title
101
+ // layout === 'mix' ? 'headerTitleRender' : undefined,
102
+ // layout !== 'side' ? 'headerTitleRender' : undefined,
103
+ 'headerTitleRender');
104
+
105
+ //
106
+ let MenusData = props.layout === 'side' ? [] : menuData;
107
+ if (props.layout === 'mix' && props.splitMenus) {
108
+ const noChildrenMenuData = (menuData || []).map(item => {
109
+ return {
110
+ ...item,
111
+ children: undefined,
112
+ component: undefined
113
+ };
112
114
  });
113
- return () => {
114
- const headerDom = defaultRenderLogoAndTitle({
115
- ...props,
116
- collapsed: false
117
- }, 'headerTitleRender');
118
- const {
119
- prefixCls: propPrefixCls,
120
- onMenuHeaderClick,
121
- onOpenKeys,
122
- onSelect,
123
- contentWidth,
124
- rightContentRender,
125
- topHeaderMenuRender
126
- } = props;
127
- return _createVNode("div", {
128
- "class": className.value,
129
- "style": {
130
- paddingLeft: paddingLeft.value
131
- }
132
- }, [_createVNode("div", {
133
- "ref": headerRef,
134
- "class": `${prefixCls.value}-main ${contentWidth === 'Fixed' ? 'wide' : ''}`
135
- }, [headerDom && _createVNode("div", {
136
- "class": `${prefixCls.value}-main-left`,
137
- "onClick": onMenuHeaderClick
138
- }, [_createVNode("div", {
139
- "class": `${prefixCls.value}-logo`,
140
- "key": "logo",
141
- "id": "logo"
142
- }, [headerDom])]), _createVNode("div", {
143
- "style": {
144
- flex: 1
145
- },
146
- "class": `${prefixCls.value}-menu`
147
- }, [topHeaderMenuRender ? topHeaderMenuRender() : _createVNode(BaseMenu, {
148
- "prefixCls": propPrefixCls,
149
- "locale": props.locale || context.locale,
150
- "theme": props.theme,
151
- "mode": _mode.value,
152
- "collapsed": props.collapsed,
153
- "iconfontUrl": props.iconfontUrl,
154
- "menuData": MenusData.value,
155
- "menuItemRender": props.menuItemRender,
156
- "subMenuItemRender": props.subMenuItemRender,
157
- "openKeys": context.openKeys,
158
- "selectedKeys": context.selectedKeys,
159
- "class": {
160
- 'top-nav-menu': props.mode === 'horizontal'
161
- },
162
- "onUpdate:openKeys": $event => onOpenKeys && onOpenKeys($event),
163
- "onUpdate:selectedKeys": $event => onSelect && onSelect($event)
164
- }, null)]), rightContentRender && _createVNode(RightContent, _mergeProps({
165
- "rightContentRender": rightContentRender
166
- }, props), null)])]);
167
- };
115
+ MenusData = clearMenuItem(noChildrenMenuData);
168
116
  }
169
- });
117
+ const _mode = computed(() => {
118
+ return props.layout === 'mix' && props.splitMenus ? 'horizontal' : mode;
119
+ });
120
+ const className = computed(() => ({
121
+ [prefixCls]: true,
122
+ [hashId.value]: true,
123
+ 'light': props.theme === 'light',
124
+ 'dark': props.theme === 'dark'
125
+ }));
126
+ const paddingLeft = computed(() => {
127
+ return context.layoutType === LayoutType.PAD && props.collapsed ? context.headerLeftWidth + 'px' : 0;
128
+ });
129
+ return _createVNode("div", {
130
+ "class": className.value,
131
+ "style": {
132
+ paddingLeft: paddingLeft.value
133
+ }
134
+ }, [_createVNode("div", {
135
+ "ref": headerRef,
136
+ "class": `${prefixCls}-main ${contentWidth === 'Fixed' ? 'wide' : ''}`
137
+ }, [headerDom && _createVNode("div", {
138
+ "class": `${prefixCls}-main-left`,
139
+ "onClick": onMenuHeaderClick
140
+ }, [_createVNode("div", {
141
+ "class": `${prefixCls}-logo`,
142
+ "key": "logo",
143
+ "id": "logo"
144
+ }, [headerDom])]), _createVNode("div", {
145
+ "style": {
146
+ flex: 1
147
+ },
148
+ "class": `${prefixCls}-menu`
149
+ }, [topHeaderMenuRender ? topHeaderMenuRender() : _createVNode(BaseMenu, {
150
+ "prefixCls": propPrefixCls,
151
+ "locale": props.locale || context.locale,
152
+ "theme": props.theme,
153
+ "mode": _mode.value,
154
+ "collapsed": props.collapsed,
155
+ "iconfontUrl": props.iconfontUrl,
156
+ "menuData": MenusData,
157
+ "menuItemRender": props.menuItemRender,
158
+ "subMenuItemRender": props.subMenuItemRender,
159
+ "openKeys": context.openKeys,
160
+ "selectedKeys": context.selectedKeys,
161
+ "class": {
162
+ 'top-nav-menu': props.mode === 'horizontal'
163
+ },
164
+ "onUpdate:openKeys": $event => onOpenKeys && onOpenKeys($event),
165
+ "onUpdate:selectedKeys": $event => onSelect && onSelect($event)
166
+ }, null)]), rightContentRender && _createVNode(RightContent, _mergeProps({
167
+ "rightContentRender": rightContentRender
168
+ }, props), null)])]);
169
+ };
170
170
  export default TopNavHeader;
@@ -32,7 +32,7 @@ export default defineComponent({
32
32
  return {
33
33
  hashId,
34
34
  contextLocale,
35
- _message,
35
+ alertMessage: _message,
36
36
  onClose
37
37
  };
38
38
  }
@@ -69,11 +69,11 @@ export default defineComponent({
69
69
  return {
70
70
  hashId,
71
71
  contextLocale,
72
- _columns,
73
- _slots,
74
- _scroll,
72
+ tableColumns: _columns,
73
+ tableSlots: _slots,
74
+ tableScroll: _scroll,
75
75
  gridTemplateColumns,
76
- __rowSelection,
76
+ mergedRowSelection: __rowSelection,
77
77
  indeterminate,
78
78
  checkedAll,
79
79
  onClick,
@@ -49,7 +49,7 @@ export default defineComponent({
49
49
  return {
50
50
  hashId,
51
51
  className,
52
- _showTotal,
52
+ showTotal: _showTotal,
53
53
  onChange
54
54
  };
55
55
  }
@@ -242,15 +242,15 @@ export default defineComponent({
242
242
  slots,
243
243
  hashId,
244
244
  loading,
245
- _dataSource,
246
- _mode,
245
+ tableDataSource: _dataSource,
246
+ currentMode: _mode,
247
247
  column,
248
248
  page,
249
249
  myPagination,
250
250
  showAlert,
251
251
  showPagination,
252
252
  extraSlots,
253
- _rowSelection,
253
+ injectRowSelection: _rowSelection,
254
254
  onCheck,
255
255
  onPageChange,
256
256
  onClose
@@ -19,7 +19,7 @@ export const _alertProps = {
19
19
  default: true
20
20
  },
21
21
  rowSelection: {
22
- type: Object,
22
+ type: [Object, Boolean],
23
23
  default: () => undefined
24
24
  }
25
25
  }