@wyfex/ivue 0.14.0 → 0.16.0

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 (67) hide show
  1. package/README.md +1 -1
  2. package/dist/index.es.js +11 -11
  3. package/dist/index.umd.cjs +11 -11
  4. package/dist/ivue.css +1 -1
  5. package/dist/types/UseCrudTable/defaultExtConfig.d.ts +12 -0
  6. package/dist/types/UseCrudTable/index.vue.d.ts +44 -0
  7. package/dist/types/UseCrudTable/props.d.ts +18 -0
  8. package/dist/types/UseCrudTable/types.d.ts +26 -0
  9. package/dist/types/UseCrudTable/utils.d.ts +2 -0
  10. package/dist/types/UseElButton/index.vue.d.ts +1 -1
  11. package/dist/types/UseElConfigProvider/defaultExtConfig.d.ts +4 -0
  12. package/dist/types/UseElConfigProvider/props.d.ts +1 -1
  13. package/dist/types/UseElConfigProvider/types.d.ts +8 -4
  14. package/dist/types/UseElDatePicker/index.vue.d.ts +3 -3
  15. package/dist/types/UseElDatePicker/props.d.ts +2 -2
  16. package/dist/types/UseElDescriptions/hook.d.ts +1 -1
  17. package/dist/types/UseElDescriptions/index.vue.d.ts +8 -8
  18. package/dist/types/UseElDescriptions/props.d.ts +1 -1
  19. package/dist/types/UseElDescriptions/types.d.ts +1 -1
  20. package/dist/types/UseElForm/components/QueryForm.vue.d.ts +10 -4
  21. package/dist/types/UseElForm/components/RowForm.vue.d.ts +2 -2
  22. package/dist/types/UseElForm/components/controls/Cascader.vue.d.ts +1 -1
  23. package/dist/types/UseElForm/components/controls/DatePicker.vue.d.ts +1 -1
  24. package/dist/types/UseElForm/components/controls/Input.vue.d.ts +1 -1
  25. package/dist/types/UseElForm/components/controls/InputNumber.vue.d.ts +1 -1
  26. package/dist/types/UseElForm/components/controls/InputRange.vue.d.ts +1 -1
  27. package/dist/types/UseElForm/components/controls/Radio.vue.d.ts +1 -1
  28. package/dist/types/UseElForm/components/controls/Select.vue.d.ts +1 -1
  29. package/dist/types/UseElForm/components/controls/TimePicker.vue.d.ts +1 -1
  30. package/dist/types/UseElForm/components/controls/TimeSelect.vue.d.ts +1 -1
  31. package/dist/types/UseElForm/components/controls/TreeSelect.vue.d.ts +1 -1
  32. package/dist/types/UseElForm/components/useQueryColSpan.d.ts +1 -1
  33. package/dist/types/UseElForm/hook.d.ts +1 -1
  34. package/dist/types/UseElForm/index.vue.d.ts +2 -2
  35. package/dist/types/UseElForm/props.d.ts +1 -1
  36. package/dist/types/UseElForm/types.d.ts +1 -1
  37. package/dist/types/UseElInput/index.vue.d.ts +3 -3
  38. package/dist/types/UseElInput/props.d.ts +1 -1
  39. package/dist/types/UseElSelect/hook.d.ts +1 -1
  40. package/dist/types/UseElSelect/index.vue.d.ts +5 -5
  41. package/dist/types/UseElSelect/props.d.ts +2 -2
  42. package/dist/types/UseElTable/components/RecTableColumn.vue.d.ts +2 -2
  43. package/dist/types/UseElTable/defaultExtConfig.d.ts +3 -0
  44. package/dist/types/UseElTable/hooks/useElTable.d.ts +1 -1
  45. package/dist/types/UseElTable/hooks/useSelection.d.ts +2 -2
  46. package/dist/types/UseElTable/hooks/useTableColumnMinWidth.d.ts +1 -1
  47. package/dist/types/UseElTable/hooks/useTableHeightAdaptive.d.ts +9 -2
  48. package/dist/types/UseElTable/index.vue.d.ts +3 -3
  49. package/dist/types/UseElTable/props.d.ts +1 -1
  50. package/dist/types/UseElTable/types.d.ts +7 -2
  51. package/dist/types/UseElTable/utils.d.ts +1 -1
  52. package/dist/types/UseIconfont/index.vue.d.ts +50 -0
  53. package/dist/types/UseIconfont/props.d.ts +23 -0
  54. package/dist/types/UseRender/props.d.ts +1 -1
  55. package/dist/types/index.d.ts +2 -0
  56. package/package.json +5 -5
  57. package/src/components/UseCrudTable/defaultExtConfig.ts +28 -0
  58. package/src/components/UseCrudTable/props.ts +32 -0
  59. package/src/components/UseCrudTable/types.ts +51 -0
  60. package/src/components/UseElConfigProvider/defaultExtConfig.ts +7 -0
  61. package/src/components/UseElConfigProvider/types.ts +6 -2
  62. package/src/components/UseElForm/types.ts +1 -1
  63. package/src/components/UseElTable/defaultExtConfig.ts +7 -0
  64. package/src/components/UseElTable/props.ts +1 -1
  65. package/src/components/UseElTable/types.ts +9 -2
  66. package/src/components/UseIconfont/props.ts +40 -0
  67. package/src/types/index.ts +4 -0
@@ -103,14 +103,14 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
103
103
  "onUpdate:currentPage"?: ((currentPage: number) => any) | undefined;
104
104
  "onUpdate:pageSize"?: ((pageSize: number) => any) | undefined;
105
105
  }>, {
106
- extConfig: import('./types').ExtConfig;
107
- dictMap: import('../../types/index.ts').DictMap;
108
- dictProps: import('../../types/index.ts').DictProps;
109
106
  tableHeight: string;
110
107
  tableLoading: boolean;
111
108
  tableColumnAlign: string;
109
+ dictMap: import('../../types/index.ts').DictMap;
110
+ dictProps: import('../../types/index.ts').DictProps;
112
111
  showOverflowTooltip: boolean;
113
112
  headerCellStyle: Record<string, string>;
113
+ extConfig: import('./types').ExtConfig;
114
114
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
115
115
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
116
116
  declare const _default: typeof __VLS_export;
@@ -1,6 +1,6 @@
1
1
  import { PropType } from 'vue';
2
2
  import { ExtConfig, TableColumn } from './types';
3
- import { DictMap, DictProps } from '../../../types';
3
+ import { DictMap, DictProps } from '../../types';
4
4
  declare const _default: {
5
5
  tableColumns: {
6
6
  type: PropType<TableColumn[]>;
@@ -1,10 +1,10 @@
1
1
  import { Component, ExtractPropTypes } from 'vue';
2
- import { EditAttrs, GlobalConfig, UseDict } from '../../../types';
2
+ import { EditAttrs, GlobalConfig, UseDict } from '../../types';
3
3
  import { default as componentProps } from './props';
4
4
  export type Props = ExtractPropTypes<typeof componentProps>;
5
5
  export interface Emits {
6
6
  (e: 'onDictKeys', value?: string[]): void;
7
- (e: 'update:selectionData', selectionData: any[] | any): void;
7
+ (e: 'update:selectionData', selectionData: any): void;
8
8
  (e: 'update:currentRow', currentRow: any): void;
9
9
  (e: 'update:currentPage', currentPage: number): void;
10
10
  (e: 'update:pageSize', pageSize: number): void;
@@ -68,6 +68,11 @@ export interface ExtConfig {
68
68
  borderBottom?: string;
69
69
  };
70
70
  };
71
+ heightAdaptive?: {
72
+ isModal?: boolean;
73
+ modalFooterHeight?: number;
74
+ bottomOffset?: number;
75
+ };
71
76
  selection?: Selection;
72
77
  index?: {
73
78
  label?: string;
@@ -1,5 +1,5 @@
1
1
  import { TableColumn } from './types';
2
- import { GlobalConfig } from '../../../types';
2
+ import { GlobalConfig } from '../../types';
3
3
  export declare const processFieldProp: (row: Record<string, unknown>, item: TableColumn, globalConfig: GlobalConfig) => {
4
4
  class: string;
5
5
  style: string;
@@ -0,0 +1,50 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ name: {
3
+ type: StringConstructor;
4
+ required: boolean;
5
+ };
6
+ prefix: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ fontSize: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ color: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ clickable: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
23
+ name: {
24
+ type: StringConstructor;
25
+ required: boolean;
26
+ };
27
+ prefix: {
28
+ type: StringConstructor;
29
+ default: string;
30
+ };
31
+ fontSize: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ color: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ clickable: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ }>> & Readonly<{}>, {
44
+ prefix: string;
45
+ fontSize: string;
46
+ color: string;
47
+ clickable: boolean;
48
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
49
+ declare const _default: typeof __VLS_export;
50
+ export default _default;
@@ -0,0 +1,23 @@
1
+ declare const _default: {
2
+ name: {
3
+ type: StringConstructor;
4
+ required: boolean;
5
+ };
6
+ prefix: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ fontSize: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ color: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ clickable: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ };
23
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { RenderContent } from '../../../types';
2
+ import { RenderContent } from '../../types';
3
3
  declare const _default: {
4
4
  content: {
5
5
  type: PropType<RenderContent>;
@@ -1,3 +1,4 @@
1
+ export { default as UseCrudTable } from './UseCrudTable/index.vue';
1
2
  export { default as UseElButton } from './UseElButton/index.vue';
2
3
  export { default as UseElConfigProvider } from './UseElConfigProvider/index.vue';
3
4
  export { default as UseElDatePicker } from './UseElDatePicker/index.vue';
@@ -9,6 +10,7 @@ export { default as UseElInput } from './UseElInput/index.vue';
9
10
  export { default as UseElSelect } from './UseElSelect/index.vue';
10
11
  export { default as UseElSwitch } from './UseElSwitch/index.vue';
11
12
  export { default as UseElTable } from './UseElTable/index.vue';
13
+ export { default as UseIconfont } from './UseIconfont/index.vue';
12
14
  export { default as UseLineTitle } from './UseLineTitle/index.vue';
13
15
  export { default as UseRender } from './UseRender/index.vue';
14
16
  export { default as UseSvgIcon } from './UseSvgIcon/index.vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wyfex/ivue",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "万有前端 X 体系下基于 Vite8 + Vue3 + Typescript6 + ElementPlus2 构建的 iVue 组件库",
5
5
  "homepage": "https://wyfe.top/idocs/ivue",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "vue": ">=3.2.0 <4.0.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@types/node": "^25.9.3",
53
+ "@types/node": "^26.0.1",
54
54
  "@vitejs/plugin-vue": "^6.0.7",
55
55
  "@vue/tsconfig": "^0.9.1",
56
56
  "@wyfex/iutils": "file:D:/20260516/wyfex/wyfex-iutils/wyfex-iutils-0.35.0.tgz",
@@ -58,11 +58,11 @@
58
58
  "sass-embedded": "^1.100.0",
59
59
  "typescript": "~6.0.3",
60
60
  "unplugin-auto-import": "^21.0.0",
61
- "unplugin-dts": "^1.0.2",
61
+ "unplugin-dts": "^1.0.3",
62
62
  "unplugin-vue-components": "^32.1.0",
63
- "vite": "^8.0.16",
63
+ "vite": "^8.1.0",
64
64
  "vite-svg-loader": "^5.1.1",
65
- "vue": "^3.5.38",
65
+ "vue": "^3.5.39",
66
66
  "vue-tsc": "^3.3.5"
67
67
  }
68
68
  }
@@ -0,0 +1,28 @@
1
+ import type { ExtConfig } from './types'
2
+
3
+ /**
4
+ * 默认扩展配置
5
+ */
6
+ export default {
7
+ /**
8
+ * 操作栏配置项
9
+ */
10
+ actionBar: {
11
+ /**
12
+ * 操作栏外边距配置项
13
+ */
14
+ margin: '20px 0',
15
+ /**
16
+ * 是否显示【收起/展开查询】按钮配置项
17
+ */
18
+ showControlFormDisplayBtn: true,
19
+ /**
20
+ * 是否反转操作栏按钮 仅showControlFormDisplayBtn为true时生效
21
+ */
22
+ reverse: false,
23
+ /**
24
+ * 操作栏底部分割线配置项
25
+ */
26
+ divider: { show: false, borderStyle: 'solid' }
27
+ }
28
+ } satisfies ExtConfig
@@ -0,0 +1,32 @@
1
+ import type { PropType } from 'vue'
2
+ import type { ExtConfig as TableExtConfig } from '../UseElTable/types'
3
+ import type { Configs, ExtConfig } from './types'
4
+
5
+ /**
6
+ * 组件props
7
+ */
8
+ export default {
9
+ /**
10
+ * 配置项 必传
11
+ * 1、configs是【formColumns】和【tableColumns】的统一配置入口
12
+ * 2、configs在【formColumns】和【tableColumns】的配置基础上新增了【onlySearch】和【tableOrder】配置项用于兼容特殊应用场景
13
+ */
14
+ configs: {
15
+ type: Array as PropType<Configs[]>,
16
+ required: true
17
+ },
18
+ /**
19
+ * 表格扩展配置项
20
+ */
21
+ tableExtConfig: {
22
+ type: Object as PropType<TableExtConfig>,
23
+ default: () => ({})
24
+ },
25
+ /**
26
+ * 扩展配置 如【操作栏】等
27
+ */
28
+ extConfig: {
29
+ type: Object as PropType<ExtConfig>,
30
+ default: () => ({})
31
+ }
32
+ }
@@ -0,0 +1,51 @@
1
+ import type { ExtractPropTypes } from 'vue'
2
+ import componentProps from './props'
3
+ import type { FormColumn } from '../UseElForm/types'
4
+ import type { TableColumn } from '../UseElTable/types'
5
+
6
+ /**
7
+ * props类型
8
+ */
9
+ export type Props = ExtractPropTypes<typeof componentProps>
10
+
11
+ /**
12
+ * emits接口
13
+ */
14
+ export interface Emits {
15
+ // dictKeys事件
16
+ (e: 'onDictKeys', value?: string[]): void
17
+ }
18
+
19
+ /**
20
+ * 基础配置类型
21
+ */
22
+ export type BaseConfigs = Omit<FormColumn, 'prop'> & Omit<TableColumn, 'prop'>
23
+
24
+ /**
25
+ * 配置项接口
26
+ */
27
+ export interface Configs extends BaseConfigs {
28
+ prop: string
29
+ onlySearch?: boolean
30
+ tableOrder?: number
31
+ }
32
+
33
+ /**
34
+ * 分割线配置项接口
35
+ */
36
+ export interface Divider {
37
+ show: boolean
38
+ borderStyle: 'none' | 'solid' | 'hidden' | 'dashed'
39
+ }
40
+
41
+ /**
42
+ * extConfig接口
43
+ */
44
+ export interface ExtConfig {
45
+ actionBar: {
46
+ margin: string
47
+ showControlFormDisplayBtn: boolean
48
+ reverse: boolean
49
+ divider: Divider
50
+ }
51
+ }
@@ -4,6 +4,13 @@ import type { ExtConfig } from './types'
4
4
  * 默认扩展配置
5
5
  */
6
6
  export default {
7
+ /**
8
+ * 字典属性配置项
9
+ */
7
10
  dictProps: { value: 'value', label: 'label', children: 'children' },
11
+ /**
12
+ * 表格配置项
13
+ */
14
+ table: { bottomOffset: 20, modalFooterHeight: 82 },
8
15
  debug: { open: false, type: 'primary', toJson: false }
9
16
  } satisfies ExtConfig
@@ -33,9 +33,13 @@ export interface ExtConfig {
33
33
  /**
34
34
  * 字典属性配置项
35
35
  */
36
- dictProps: DictProps
36
+ dictProps?: DictProps
37
+ /**
38
+ * 表格配置
39
+ */
40
+ table?: { bottomOffset: number; modalFooterHeight?: number }
37
41
  /**
38
42
  * 调试配置项
39
43
  */
40
- debug: Debug
44
+ debug?: Debug
41
45
  }
@@ -13,7 +13,7 @@ export type Props = ExtractPropTypes<typeof componentProps>
13
13
  export interface Emits {
14
14
  // dictKeys事件
15
15
  (e: 'onDictKeys', value?: string[]): void
16
- // 更新formModel 仅formMode为inlineForm时支持
16
+ // 更新formModel
17
17
  (e: 'update:formModel', value: Record<string, any>): void
18
18
  }
19
19
 
@@ -15,6 +15,13 @@ export default {
15
15
  borderBottom: '1px solid var(--el-border-color-light)'
16
16
  }
17
17
  },
18
+ /**
19
+ * 高度自适应配置项
20
+ * isModal:是否弹窗模式,弹窗模式自动追加底部按钮预留
21
+ * modalFooterHeight:弹窗底部操作栏固定高度,isModal=true生效,该项由UseElConfigProvider组件统一提供默认值
22
+ * bottomOffset:底部预留偏移,该项由UseElConfigProvider组件统一提供默认值
23
+ */
24
+ heightAdaptive: { isModal: false },
18
25
  /**
19
26
  * 选择器配置项
20
27
  * 绑定v-model:selectionData="selectionData"则开启选择器 不显式设置type则默认为CHECKBOX复选
@@ -23,7 +23,7 @@ export default {
23
23
  required: true
24
24
  },
25
25
  /**
26
- * 表格高度 如为autoCalc则使用组件内部高度自适应逻辑,可指定具体高度值
26
+ * 表格高度 如为autoCalc则使用组件内部高度自适应逻辑,可指定具体高度值或auto
27
27
  */
28
28
  tableHeight: {
29
29
  type: String,
@@ -14,7 +14,7 @@ export interface Emits {
14
14
  // dictKeys事件
15
15
  (e: 'onDictKeys', value?: string[]): void
16
16
  // 选中数据更新事件(支持 v-model:selectionData)
17
- (e: 'update:selectionData', selectionData: any[] | any): void
17
+ (e: 'update:selectionData', selectionData: any): void
18
18
  // 当前行更新事件(支持 v-model:currentRow)
19
19
  (e: 'update:currentRow', currentRow: any): void
20
20
  // 当前页码更新事件(支持 v-model:currentPage)
@@ -83,7 +83,8 @@ export interface TableColumn {
83
83
  useDict?: boolean | string | UseDict
84
84
  /**
85
85
  * 插槽
86
- * 为true则在模板代码中添加`<template #prop="{ row }"></template>`即可,可传入string自定义具名插槽名称
86
+ * 为true则在模板代码中添加`<template #prop="{ row }"></template>`即可
87
+ * 可传入string自定义具名插槽名称
87
88
  */
88
89
  slot?: boolean | string
89
90
  width?: string | number
@@ -123,6 +124,12 @@ export interface ExtConfig {
123
124
  class?: string
124
125
  style?: { padding?: string; borderBottom?: string }
125
126
  }
127
+ // 高度配置项
128
+ heightAdaptive?: {
129
+ isModal?: boolean
130
+ modalFooterHeight?: number
131
+ bottomOffset?: number
132
+ }
126
133
  // 选择器配置项
127
134
  selection?: Selection
128
135
  // 序号列配置项
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 组件props
3
+ */
4
+ export default {
5
+ /**
6
+ * 图标名称 必传
7
+ */
8
+ name: {
9
+ type: String,
10
+ required: true
11
+ },
12
+ /**
13
+ * 图标前缀
14
+ */
15
+ prefix: {
16
+ type: String,
17
+ default: 'iconfont'
18
+ },
19
+ /**
20
+ * 图标大小
21
+ */
22
+ fontSize: {
23
+ type: String,
24
+ default: '18px'
25
+ },
26
+ /**
27
+ * 图标颜色
28
+ */
29
+ color: {
30
+ type: String,
31
+ default: ''
32
+ },
33
+ /**
34
+ * 是否可点击
35
+ */
36
+ clickable: {
37
+ type: Boolean,
38
+ default: false
39
+ }
40
+ }
@@ -98,6 +98,10 @@ export interface GlobalConfig {
98
98
  finalDictProps: DictProps
99
99
  // 最终字典映射
100
100
  finalDictMap: DictMap
101
+ // 最终表格底部预留偏移
102
+ finalTableBottomOffset: number
103
+ // 最终表格弹窗底部操作栏固定高度,isModal=true生效
104
+ finalTableModalFooterHeight?: number
101
105
  // 最终上传配置
102
106
  finalUploadConfig: UploadConfig
103
107
  }