vxe-pc-ui 4.6.4 → 4.6.6

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 (131) hide show
  1. package/es/button/src/button.js +83 -90
  2. package/es/button/style.css +24 -2
  3. package/es/button/style.min.css +1 -1
  4. package/es/color-picker/src/color-picker.js +19 -72
  5. package/es/color-picker/style.css +15 -0
  6. package/es/color-picker/style.min.css +1 -1
  7. package/es/date-picker/src/date-picker.js +19 -74
  8. package/es/date-picker/style.css +3 -2
  9. package/es/date-picker/style.min.css +1 -1
  10. package/es/date-range-picker/src/date-range-picker.js +24 -79
  11. package/es/date-range-picker/style.css +3 -2
  12. package/es/date-range-picker/style.min.css +1 -1
  13. package/es/icon/style.css +1 -1
  14. package/es/pulldown/src/pulldown.js +19 -74
  15. package/es/pulldown/style.css +0 -4
  16. package/es/pulldown/style.min.css +1 -1
  17. package/es/select/src/select.js +19 -72
  18. package/es/style.css +1 -1
  19. package/es/style.min.css +1 -1
  20. package/es/table-select/src/table-select.js +19 -72
  21. package/es/table-select/style.css +0 -1
  22. package/es/table-select/style.min.css +1 -1
  23. package/es/tree-select/src/tree-select.js +19 -72
  24. package/es/tree-select/style.css +0 -1
  25. package/es/tree-select/style.min.css +1 -1
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/dom.js +92 -0
  28. package/es/ui/src/log.js +1 -1
  29. package/es/vxe-button/style.css +24 -2
  30. package/es/vxe-button/style.min.css +1 -1
  31. package/es/vxe-color-picker/style.css +15 -0
  32. package/es/vxe-color-picker/style.min.css +1 -1
  33. package/es/vxe-date-picker/style.css +3 -2
  34. package/es/vxe-date-picker/style.min.css +1 -1
  35. package/es/vxe-date-range-picker/style.css +3 -2
  36. package/es/vxe-date-range-picker/style.min.css +1 -1
  37. package/es/vxe-pulldown/style.css +0 -4
  38. package/es/vxe-pulldown/style.min.css +1 -1
  39. package/es/vxe-table-select/style.css +0 -1
  40. package/es/vxe-table-select/style.min.css +1 -1
  41. package/es/vxe-tree-select/style.css +0 -1
  42. package/es/vxe-tree-select/style.min.css +1 -1
  43. package/lib/button/src/button.js +88 -93
  44. package/lib/button/src/button.min.js +1 -1
  45. package/lib/button/style/style.css +24 -2
  46. package/lib/button/style/style.min.css +1 -1
  47. package/lib/color-picker/src/color-picker.js +22 -77
  48. package/lib/color-picker/src/color-picker.min.js +1 -1
  49. package/lib/color-picker/style/style.css +15 -0
  50. package/lib/color-picker/style/style.min.css +1 -1
  51. package/lib/date-picker/src/date-picker.js +22 -79
  52. package/lib/date-picker/src/date-picker.min.js +1 -1
  53. package/lib/date-picker/style/style.css +3 -2
  54. package/lib/date-picker/style/style.min.css +1 -1
  55. package/lib/date-range-picker/src/date-range-picker.js +26 -83
  56. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  57. package/lib/date-range-picker/style/style.css +3 -2
  58. package/lib/date-range-picker/style/style.min.css +1 -1
  59. package/lib/icon/style/style.css +1 -1
  60. package/lib/icon/style/style.min.css +1 -1
  61. package/lib/index.umd.js +344 -645
  62. package/lib/index.umd.min.js +1 -1
  63. package/lib/pulldown/src/pulldown.js +22 -80
  64. package/lib/pulldown/src/pulldown.min.js +1 -1
  65. package/lib/pulldown/style/style.css +0 -4
  66. package/lib/pulldown/style/style.min.css +1 -1
  67. package/lib/select/src/select.js +22 -77
  68. package/lib/select/src/select.min.js +1 -1
  69. package/lib/style.css +1 -1
  70. package/lib/style.min.css +1 -1
  71. package/lib/table-select/src/table-select.js +22 -77
  72. package/lib/table-select/src/table-select.min.js +1 -1
  73. package/lib/table-select/style/style.css +0 -1
  74. package/lib/table-select/style/style.min.css +1 -1
  75. package/lib/tree-select/src/tree-select.js +22 -77
  76. package/lib/tree-select/src/tree-select.min.js +1 -1
  77. package/lib/tree-select/style/style.css +0 -1
  78. package/lib/tree-select/style/style.min.css +1 -1
  79. package/lib/ui/index.js +1 -1
  80. package/lib/ui/index.min.js +1 -1
  81. package/lib/ui/src/dom.js +97 -0
  82. package/lib/ui/src/dom.min.js +1 -1
  83. package/lib/ui/src/log.js +1 -1
  84. package/lib/ui/src/log.min.js +1 -1
  85. package/lib/vxe-button/style/style.css +24 -2
  86. package/lib/vxe-button/style/style.min.css +1 -1
  87. package/lib/vxe-color-picker/style/style.css +15 -0
  88. package/lib/vxe-color-picker/style/style.min.css +1 -1
  89. package/lib/vxe-date-picker/style/style.css +3 -2
  90. package/lib/vxe-date-picker/style/style.min.css +1 -1
  91. package/lib/vxe-date-range-picker/style/style.css +3 -2
  92. package/lib/vxe-date-range-picker/style/style.min.css +1 -1
  93. package/lib/vxe-pulldown/style/style.css +0 -4
  94. package/lib/vxe-pulldown/style/style.min.css +1 -1
  95. package/lib/vxe-table-select/style/style.css +0 -1
  96. package/lib/vxe-table-select/style/style.min.css +1 -1
  97. package/lib/vxe-tree-select/style/style.css +0 -1
  98. package/lib/vxe-tree-select/style/style.min.css +1 -1
  99. package/package.json +1 -1
  100. package/packages/button/src/button.ts +87 -88
  101. package/packages/color-picker/src/color-picker.ts +19 -69
  102. package/packages/date-picker/src/date-picker.ts +20 -72
  103. package/packages/date-range-picker/src/date-range-picker.ts +24 -76
  104. package/packages/pulldown/src/pulldown.ts +20 -72
  105. package/packages/select/src/select.ts +19 -69
  106. package/packages/table-select/src/table-select.ts +19 -69
  107. package/packages/tree-select/src/tree-select.ts +19 -69
  108. package/packages/ui/src/dom.ts +95 -0
  109. package/styles/components/button.scss +3 -20
  110. package/styles/components/color-picker.scss +2 -27
  111. package/styles/components/date-picker.scss +2 -34
  112. package/styles/components/date-range-picker.scss +2 -34
  113. package/styles/components/pulldown.scss +2 -41
  114. package/styles/components/select.scss +2 -35
  115. package/styles/components/table-select.scss +2 -36
  116. package/styles/components/tree-select.scss +2 -36
  117. package/styles/helpers/placement.scss +39 -0
  118. package/types/components/button.d.ts +12 -1
  119. package/types/components/table.d.ts +56 -3
  120. /package/es/icon/{iconfont.1747024965925.ttf → iconfont.1747109497236.ttf} +0 -0
  121. /package/es/icon/{iconfont.1747024965925.woff → iconfont.1747109497236.woff} +0 -0
  122. /package/es/icon/{iconfont.1747024965925.woff2 → iconfont.1747109497236.woff2} +0 -0
  123. /package/es/{iconfont.1747024965925.ttf → iconfont.1747109497236.ttf} +0 -0
  124. /package/es/{iconfont.1747024965925.woff → iconfont.1747109497236.woff} +0 -0
  125. /package/es/{iconfont.1747024965925.woff2 → iconfont.1747109497236.woff2} +0 -0
  126. /package/lib/icon/style/{iconfont.1747024965925.ttf → iconfont.1747109497236.ttf} +0 -0
  127. /package/lib/icon/style/{iconfont.1747024965925.woff → iconfont.1747109497236.woff} +0 -0
  128. /package/lib/icon/style/{iconfont.1747024965925.woff2 → iconfont.1747109497236.woff2} +0 -0
  129. /package/lib/{iconfont.1747024965925.ttf → iconfont.1747109497236.ttf} +0 -0
  130. /package/lib/{iconfont.1747024965925.woff → iconfont.1747109497236.woff} +0 -0
  131. /package/lib/{iconfont.1747024965925.woff2 → iconfont.1747109497236.woff2} +0 -0
@@ -1,5 +1,6 @@
1
1
  @use "sass:list";
2
2
  @use '../helpers/baseMixin.scss';
3
+ @use '../helpers/placement.scss';
3
4
 
4
5
  .vxe-date-range-picker--readonly {
5
6
  color: var(--vxe-ui-font-color);
@@ -106,40 +107,7 @@
106
107
  }
107
108
 
108
109
  .vxe-date-range-picker--panel {
109
- display: none;
110
- position: absolute;
111
- left: 0;
112
- padding: 4px 0;
113
- color: var(--vxe-ui-font-color);
114
- font-size: var(--vxe-ui-font-size-default);
115
- text-align: left;
116
- &.is--transfer {
117
- position: fixed;
118
- }
119
- &.ani--leave {
120
- display: block;
121
- opacity: 0;
122
- transform: scaleY(0.5);
123
- transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
124
- transform-origin: center top;
125
- backface-visibility: hidden;
126
- transform-style: preserve-3d;
127
- &[placement="top"] {
128
- transform-origin: center bottom;
129
- }
130
- }
131
- &.ani--enter {
132
- opacity: 1;
133
- transform: scaleY(1);
134
- & > div {
135
- &::after {
136
- display: none;
137
- }
138
- }
139
- }
140
- & > div {
141
- @include baseMixin.createEmptyMask();
142
- }
110
+ @include placement.createPlacementPanel();
143
111
  }
144
112
 
145
113
  .vxe-date-range-picker--panel {
@@ -1,4 +1,5 @@
1
1
  @use '../helpers/baseMixin.scss';
2
+ @use '../helpers/placement.scss';
2
3
 
3
4
  .vxe-pulldown {
4
5
  position: relative;
@@ -9,47 +10,7 @@
9
10
  }
10
11
 
11
12
  .vxe-pulldown--panel {
12
- display: none;
13
- position: absolute;
14
- left: 0;
15
- padding: 4px 0;
16
- color: var(--vxe-ui-font-color);
17
- text-align: left;
18
- outline: 0;
19
- &:not(.is--transfer) {
20
- min-width: 100%;
21
- }
22
- &.is--shadow {
23
- .vxe-pulldown--panel-wrapper {
24
- box-shadow: var(--vxe-ui-base-popup-box-shadow);
25
- }
26
- }
27
- &.is--transfer {
28
- position: fixed;
29
- }
30
- &.ani--leave {
31
- display: block;
32
- opacity: 0;
33
- transform: scaleY(0.5);
34
- transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
35
- transform-origin: center top;
36
- backface-visibility: hidden;
37
- &[placement="top"] {
38
- transform-origin: center bottom;
39
- }
40
- }
41
- &.ani--enter {
42
- opacity: 1;
43
- transform: scaleY(1);
44
- & > div {
45
- &::after {
46
- display: none;
47
- }
48
- }
49
- }
50
- & > div {
51
- @include baseMixin.createEmptyMask();
52
- }
13
+ @include placement.createPlacementPanel();
53
14
  }
54
15
  .vxe-pulldown--panel-wrapper {
55
16
  background-color: var(--vxe-ui-layout-background-color);
@@ -1,4 +1,5 @@
1
1
  @use '../helpers/baseMixin.scss';
2
+ @use '../helpers/placement.scss';
2
3
 
3
4
  .vxe-select {
4
5
  position: relative;
@@ -50,41 +51,7 @@
50
51
  }
51
52
 
52
53
  .vxe-select--panel {
53
- display: none;
54
- position: absolute;
55
- left: 0;
56
- padding: 4px 0;
57
- color: var(--vxe-ui-font-color);
58
- text-align: left;
59
- &:not(.is--transfer) {
60
- min-width: 100%;
61
- }
62
- &.is--transfer {
63
- position: fixed;
64
- }
65
- &.ani--leave {
66
- display: block;
67
- opacity: 0;
68
- transform: scaleY(0.5);
69
- transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
70
- transform-origin: center top;
71
- backface-visibility: hidden;
72
- &[placement="top"] {
73
- transform-origin: center bottom;
74
- }
75
- }
76
- &.ani--enter {
77
- opacity: 1;
78
- transform: scaleY(1);
79
- & > div {
80
- &::after {
81
- display: none;
82
- }
83
- }
84
- }
85
- & > div {
86
- @include baseMixin.createEmptyMask();
87
- }
54
+ @include placement.createPlacementPanel();
88
55
  }
89
56
 
90
57
  .vxe-select--panel-search {
@@ -1,4 +1,5 @@
1
1
  @use '../helpers/baseMixin.scss';
2
+ @use '../helpers/placement.scss';
2
3
 
3
4
  .vxe-table-select {
4
5
  position: relative;
@@ -46,42 +47,7 @@
46
47
  }
47
48
 
48
49
  .vxe-table-select--panel {
49
- display: none;
50
- position: absolute;
51
- left: 0;
52
- padding: 4px 0;
53
- color: var(--vxe-ui-font-color);
54
- text-align: left;
55
- pointer-events: none;
56
- &:not(.is--transfer) {
57
- min-width: 100%;
58
- }
59
- &.is--transfer {
60
- position: fixed;
61
- }
62
- &.ani--leave {
63
- display: block;
64
- opacity: 0;
65
- transform: scaleY(0.5);
66
- transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
67
- transform-origin: center top;
68
- backface-visibility: hidden;
69
- &[placement="top"] {
70
- transform-origin: center bottom;
71
- }
72
- }
73
- &.ani--enter {
74
- opacity: 1;
75
- transform: scaleY(1);
76
- & > div {
77
- &::after {
78
- display: none;
79
- }
80
- }
81
- }
82
- & > div {
83
- @include baseMixin.createEmptyMask();
84
- }
50
+ @include placement.createPlacementPanel();
85
51
  }
86
52
 
87
53
  .vxe-table-select--panel-search {
@@ -1,4 +1,5 @@
1
1
  @use '../helpers/baseMixin.scss';
2
+ @use '../helpers/placement.scss';
2
3
 
3
4
  .vxe-tree-select {
4
5
  position: relative;
@@ -46,42 +47,7 @@
46
47
  }
47
48
 
48
49
  .vxe-tree-select--panel {
49
- display: none;
50
- position: absolute;
51
- left: 0;
52
- padding: 4px 0;
53
- color: var(--vxe-ui-font-color);
54
- text-align: left;
55
- pointer-events: none;
56
- &:not(.is--transfer) {
57
- min-width: 100%;
58
- }
59
- &.is--transfer {
60
- position: fixed;
61
- }
62
- &.ani--leave {
63
- display: block;
64
- opacity: 0;
65
- transform: scaleY(0.5);
66
- transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
67
- transform-origin: center top;
68
- backface-visibility: hidden;
69
- &[placement="top"] {
70
- transform-origin: center bottom;
71
- }
72
- }
73
- &.ani--enter {
74
- opacity: 1;
75
- transform: scaleY(1);
76
- & > div {
77
- &::after {
78
- display: none;
79
- }
80
- }
81
- }
82
- & > div {
83
- @include baseMixin.createEmptyMask();
84
- }
50
+ @include placement.createPlacementPanel();
85
51
  }
86
52
 
87
53
  .vxe-tree-select--panel-search {
@@ -0,0 +1,39 @@
1
+ @use './baseMixin.scss';
2
+
3
+ @mixin createPlacementPanel {
4
+ display: none;
5
+ position: absolute;
6
+ left: 0;
7
+ padding: 4px 0;
8
+ color: var(--vxe-ui-font-color);
9
+ text-align: left;
10
+ &:not(.is--transfer) {
11
+ min-width: 100%;
12
+ }
13
+ &.is--transfer {
14
+ position: fixed;
15
+ }
16
+ &.ani--leave {
17
+ display: block;
18
+ opacity: 0;
19
+ transform: scaleY(0.5);
20
+ transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
21
+ transform-origin: center top;
22
+ backface-visibility: hidden;
23
+ &[placement="top"] {
24
+ transform-origin: center bottom;
25
+ }
26
+ }
27
+ &.ani--enter {
28
+ opacity: 1;
29
+ transform: scaleY(1);
30
+ & > div {
31
+ &::after {
32
+ display: none;
33
+ }
34
+ }
35
+ }
36
+ & > div {
37
+ @include baseMixin.createEmptyMask();
38
+ }
39
+ }
@@ -50,6 +50,7 @@ export namespace VxeButtonPropTypes {
50
50
  export type Loading = boolean
51
51
  export type Trigger = 'manual' | 'hover' | 'click' | '' | null
52
52
  export type Align = VxeComponentAlignType
53
+ export type Options = VxeButtonDefines.DownButtonOption[]
53
54
 
54
55
  export type PrefixTooltip = VxeTooltipDefines.TooltipHelperOption
55
56
  export type SuffixTooltip = VxeTooltipDefines.TooltipHelperOption
@@ -115,6 +116,11 @@ export interface VxeButtonProps {
115
116
  trigger?: VxeButtonPropTypes.Trigger
116
117
  align?: VxeButtonPropTypes.Align
117
118
 
119
+ /**
120
+ * 下拉按钮列表
121
+ */
122
+ options?: VxeButtonPropTypes.Options
123
+
118
124
  prefixTooltip?: VxeButtonPropTypes.PrefixTooltip
119
125
  suffixTooltip?: VxeButtonPropTypes.SuffixTooltip
120
126
  /**
@@ -176,6 +182,8 @@ export namespace VxeButtonDefines {
176
182
  $button: VxeButtonConstructor
177
183
  }
178
184
 
185
+ export type DownButtonOption = Pick<VxeButtonProps, 'type' | 'mode' | 'className' | 'name' | 'routerLink' | 'permissionCode' | 'title' | 'content' | 'status' | 'icon' | 'round' | 'circle' | 'disabled' | 'loading' | 'align'>
186
+
179
187
  export interface ClickParams { }
180
188
  export interface ClickEventParams extends ButtonEventParams, ClickParams { }
181
189
 
@@ -185,7 +193,10 @@ export namespace VxeButtonDefines {
185
193
  export interface MouseleaveParams { }
186
194
  export interface MouseleaveEventParams extends ButtonEventParams, MouseleaveParams { }
187
195
 
188
- export interface DropdownClickParams { }
196
+ export interface DropdownClickParams {
197
+ name: VxeButtonPropTypes.Name
198
+ option: VxeButtonDefines.DownButtonOption | null
199
+ }
189
200
  export interface DropdownClickEventParams extends ButtonEventParams, DropdownClickParams { }
190
201
  }
191
202
 
@@ -1943,6 +1943,54 @@ export namespace VxeTablePropTypes {
1943
1943
  replaceValue: string
1944
1944
  result: VxeTableExtendCellAreaDefines.FindAndReplaceResult[]
1945
1945
  }) => void
1946
+ /**
1947
+ * 匹配选项配置
1948
+ */
1949
+ matchOptions?: {
1950
+ /**
1951
+ * 是否启用正则表达式
1952
+ */
1953
+ isRE?: boolean
1954
+ /**
1955
+ * 是否启用全词匹配
1956
+ */
1957
+ isWhole?: boolean
1958
+ /**
1959
+ * 是否启用区分大小写
1960
+ */
1961
+ isSensitive?: boolean
1962
+ }
1963
+ /**
1964
+ * 列表配置项
1965
+ */
1966
+ listOptions?: {
1967
+ /**
1968
+ * 格式化列表的显示值
1969
+ */
1970
+ formatCellValue?(params: {
1971
+ item: VxeTableExtendCellAreaDefines.FNRSearch
1972
+ cellValue: any
1973
+ }): string | number
1974
+ }
1975
+ /**
1976
+ * 弹窗配置项
1977
+ */
1978
+ modalOptions?: {
1979
+ title?: VxeModalPropTypes.Title
1980
+ width?: VxeModalPropTypes.Width
1981
+ minWidth?: VxeModalPropTypes.MinWidth
1982
+ height?: VxeModalPropTypes.Height
1983
+ minHeight?: VxeModalPropTypes.MinHeight
1984
+ className?: VxeModalPropTypes.ClassName
1985
+ resize?: VxeModalPropTypes.Resize
1986
+ showMaximize?: VxeModalPropTypes.ShowMaximize
1987
+ showMinimize?: VxeModalPropTypes.ShowMinimize
1988
+ showZoom?: VxeModalPropTypes.ShowZoom
1989
+ lockView?: VxeModalPropTypes.LockView
1990
+ mask?: VxeModalPropTypes.Mask
1991
+ maskClosable?: VxeModalPropTypes.MaskClosable
1992
+ escClosable?: VxeModalPropTypes.EscClosable
1993
+ }
1946
1994
  }
1947
1995
  export interface FNROpts<DT = any> extends FnrConfig<DT> { }
1948
1996
 
@@ -2177,9 +2225,7 @@ export namespace VxeTablePropTypes {
2177
2225
  */
2178
2226
  export interface ScrollY {
2179
2227
  /**
2180
- * 默认行为,无需设置
2181
- * @deprecated
2182
- * @private
2228
+ * 滚动模式,会在受支持的场景中使用该模式,一般无需设置
2183
2229
  */
2184
2230
  mode?: 'default' | 'wheel'
2185
2231
  /**
@@ -2283,6 +2329,10 @@ export namespace VxeTablePropTypes {
2283
2329
  * 滚动到边界触发的阈值会触发 scroll-boundary 事件
2284
2330
  */
2285
2331
  threshold?: string | number
2332
+ /**
2333
+ * 滚动模式,会在受支持的场景中使用该模式,一般无需设置
2334
+ */
2335
+ mode?: 'default' | 'scroll' | 'wheel' | ''
2286
2336
  }
2287
2337
 
2288
2338
  /**
@@ -3095,6 +3145,7 @@ export interface VxeTableProps<D = any> {
3095
3145
  export interface TablePrivateComputed<D = any> {
3096
3146
  computeSize: ComputedRef<VxeTablePropTypes.Size>
3097
3147
  computeTableId: ComputedRef<string>
3148
+ computeRowField: ComputedRef<string>
3098
3149
  computeValidOpts: ComputedRef<VxeTablePropTypes.ValidOpts<D>>
3099
3150
  computeVirtualXOpts: ComputedRef<VxeTablePropTypes.VirtualXConfig & { gt: number }>
3100
3151
  computeVirtualYOpts: ComputedRef<VxeTablePropTypes.VirtualYConfig & { gt: number }>
@@ -3426,6 +3477,8 @@ export interface TableReactData<D = any> {
3426
3477
 
3427
3478
  export interface TableInternalData<D = any> {
3428
3479
  tZindex: number
3480
+ currKeyField: string
3481
+ isCurrDeepKey: boolean
3429
3482
  elemStore: {
3430
3483
  [key: string]: Ref<HTMLElement> |Ref<ComponentPublicInstance> | null
3431
3484
  }