vxe-pc-ui 4.12.0 → 4.12.2

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 (169) hide show
  1. package/es/calendar/src/calendar.js +254 -97
  2. package/es/calendar/style.css +248 -69
  3. package/es/calendar/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +3 -1
  5. package/es/icon/style.css +1 -1
  6. package/es/language/ar-EG.js +4 -0
  7. package/es/language/de-DE.js +4 -0
  8. package/es/language/en-US.js +4 -0
  9. package/es/language/es-ES.js +4 -0
  10. package/es/language/fr-FR.js +4 -0
  11. package/es/language/hu-HU.js +4 -0
  12. package/es/language/hy-AM.js +4 -0
  13. package/es/language/id-ID.js +4 -0
  14. package/es/language/it-IT.js +4 -0
  15. package/es/language/ja-JP.js +4 -0
  16. package/es/language/ko-KR.js +4 -0
  17. package/es/language/ms-MY.js +4 -0
  18. package/es/language/nb-NO.js +4 -0
  19. package/es/language/pt-BR.js +4 -0
  20. package/es/language/ru-RU.js +4 -0
  21. package/es/language/th-TH.js +4 -0
  22. package/es/language/ug-CN.js +4 -0
  23. package/es/language/uk-UA.js +4 -0
  24. package/es/language/uz-UZ.js +4 -0
  25. package/es/language/vi-VN.js +4 -0
  26. package/es/language/zh-CHT.js +4 -0
  27. package/es/language/zh-CN.js +4 -0
  28. package/es/menu/src/menu.js +67 -8
  29. package/es/style.css +1 -1
  30. package/es/style.min.css +1 -1
  31. package/es/tree/src/tree.js +10 -2
  32. package/es/ui/index.js +1 -1
  33. package/es/ui/src/log.js +1 -1
  34. package/es/vxe-calendar/style.css +248 -69
  35. package/es/vxe-calendar/style.min.css +1 -1
  36. package/lib/calendar/src/calendar.js +283 -104
  37. package/lib/calendar/src/calendar.min.js +1 -1
  38. package/lib/calendar/style/style.css +248 -69
  39. package/lib/calendar/style/style.min.css +1 -1
  40. package/lib/date-panel/src/date-panel.js +3 -1
  41. package/lib/date-panel/src/date-panel.min.js +1 -1
  42. package/lib/icon/style/style.css +1 -1
  43. package/lib/icon/style/style.min.css +1 -1
  44. package/lib/index.umd.js +443 -161
  45. package/lib/index.umd.min.js +1 -1
  46. package/lib/language/ar-EG.js +4 -0
  47. package/lib/language/ar-EG.min.js +1 -1
  48. package/lib/language/ar-EG.umd.js +4 -0
  49. package/lib/language/de-DE.js +4 -0
  50. package/lib/language/de-DE.min.js +1 -1
  51. package/lib/language/de-DE.umd.js +4 -0
  52. package/lib/language/en-US.js +4 -0
  53. package/lib/language/en-US.min.js +1 -1
  54. package/lib/language/en-US.umd.js +4 -0
  55. package/lib/language/es-ES.js +4 -0
  56. package/lib/language/es-ES.min.js +1 -1
  57. package/lib/language/es-ES.umd.js +4 -0
  58. package/lib/language/fr-FR.js +4 -0
  59. package/lib/language/fr-FR.min.js +1 -1
  60. package/lib/language/fr-FR.umd.js +4 -0
  61. package/lib/language/hu-HU.js +4 -0
  62. package/lib/language/hu-HU.min.js +1 -1
  63. package/lib/language/hu-HU.umd.js +4 -0
  64. package/lib/language/hy-AM.js +4 -0
  65. package/lib/language/hy-AM.min.js +1 -1
  66. package/lib/language/hy-AM.umd.js +4 -0
  67. package/lib/language/id-ID.js +4 -0
  68. package/lib/language/id-ID.min.js +1 -1
  69. package/lib/language/id-ID.umd.js +4 -0
  70. package/lib/language/it-IT.js +4 -0
  71. package/lib/language/it-IT.min.js +1 -1
  72. package/lib/language/it-IT.umd.js +4 -0
  73. package/lib/language/ja-JP.js +4 -0
  74. package/lib/language/ja-JP.min.js +1 -1
  75. package/lib/language/ja-JP.umd.js +4 -0
  76. package/lib/language/ko-KR.js +4 -0
  77. package/lib/language/ko-KR.min.js +1 -1
  78. package/lib/language/ko-KR.umd.js +4 -0
  79. package/lib/language/ms-MY.js +4 -0
  80. package/lib/language/ms-MY.min.js +1 -1
  81. package/lib/language/ms-MY.umd.js +4 -0
  82. package/lib/language/nb-NO.js +4 -0
  83. package/lib/language/nb-NO.min.js +1 -1
  84. package/lib/language/nb-NO.umd.js +4 -0
  85. package/lib/language/pt-BR.js +4 -0
  86. package/lib/language/pt-BR.min.js +1 -1
  87. package/lib/language/pt-BR.umd.js +4 -0
  88. package/lib/language/ru-RU.js +4 -0
  89. package/lib/language/ru-RU.min.js +1 -1
  90. package/lib/language/ru-RU.umd.js +4 -0
  91. package/lib/language/th-TH.js +4 -0
  92. package/lib/language/th-TH.min.js +1 -1
  93. package/lib/language/th-TH.umd.js +4 -0
  94. package/lib/language/ug-CN.js +4 -0
  95. package/lib/language/ug-CN.min.js +1 -1
  96. package/lib/language/ug-CN.umd.js +4 -0
  97. package/lib/language/uk-UA.js +4 -0
  98. package/lib/language/uk-UA.min.js +1 -1
  99. package/lib/language/uk-UA.umd.js +4 -0
  100. package/lib/language/uz-UZ.js +4 -0
  101. package/lib/language/uz-UZ.min.js +1 -1
  102. package/lib/language/uz-UZ.umd.js +4 -0
  103. package/lib/language/vi-VN.js +4 -0
  104. package/lib/language/vi-VN.min.js +1 -1
  105. package/lib/language/vi-VN.umd.js +4 -0
  106. package/lib/language/zh-CHT.js +4 -0
  107. package/lib/language/zh-CHT.min.js +1 -1
  108. package/lib/language/zh-CHT.umd.js +4 -0
  109. package/lib/language/zh-CN.js +4 -0
  110. package/lib/language/zh-CN.min.js +1 -1
  111. package/lib/language/zh-CN.umd.js +4 -0
  112. package/lib/menu/src/menu.js +89 -10
  113. package/lib/menu/src/menu.min.js +1 -1
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/tree/src/tree.js +62 -44
  117. package/lib/tree/src/tree.min.js +1 -1
  118. package/lib/ui/index.js +1 -1
  119. package/lib/ui/index.min.js +1 -1
  120. package/lib/ui/src/log.js +1 -1
  121. package/lib/ui/src/log.min.js +1 -1
  122. package/lib/vxe-calendar/style/style.css +248 -69
  123. package/lib/vxe-calendar/style/style.min.css +1 -1
  124. package/package.json +1 -1
  125. package/packages/calendar/src/calendar.ts +259 -97
  126. package/packages/date-panel/src/date-panel.ts +3 -1
  127. package/packages/language/ar-EG.ts +4 -0
  128. package/packages/language/de-DE.ts +4 -0
  129. package/packages/language/en-US.ts +4 -0
  130. package/packages/language/es-ES.ts +4 -0
  131. package/packages/language/fr-FR.ts +4 -0
  132. package/packages/language/hu-HU.ts +4 -0
  133. package/packages/language/hy-AM.ts +4 -0
  134. package/packages/language/id-ID.ts +4 -0
  135. package/packages/language/it-IT.ts +4 -0
  136. package/packages/language/ja-JP.ts +4 -0
  137. package/packages/language/ko-KR.ts +4 -0
  138. package/packages/language/ms-MY.ts +4 -0
  139. package/packages/language/nb-NO.ts +4 -0
  140. package/packages/language/pt-BR.ts +4 -0
  141. package/packages/language/ru-RU.ts +4 -0
  142. package/packages/language/th-TH.ts +4 -0
  143. package/packages/language/ug-CN.ts +4 -0
  144. package/packages/language/uk-UA.ts +4 -0
  145. package/packages/language/uz-UZ.ts +4 -0
  146. package/packages/language/vi-VN.ts +4 -0
  147. package/packages/language/zh-CHT.ts +4 -0
  148. package/packages/language/zh-CN.ts +4 -0
  149. package/packages/menu/src/menu.ts +79 -15
  150. package/packages/tree/src/tree.ts +11 -2
  151. package/styles/components/calendar.scss +281 -78
  152. package/types/components/calendar.d.ts +47 -3
  153. package/types/components/form-design.d.ts +106 -21
  154. package/types/components/menu.d.ts +50 -2
  155. package/types/handles/form-design.d.ts +5 -1
  156. package/types/ui/menus.d.ts +54 -5
  157. package/types/ui/renderer.d.ts +2 -1
  158. /package/es/icon/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  159. /package/es/icon/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  160. /package/es/icon/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  161. /package/es/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  162. /package/es/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  163. /package/es/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  164. /package/lib/icon/style/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  165. /package/lib/icon/style/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  166. /package/lib/icon/style/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
  167. /package/lib/{iconfont.1768384392686.ttf → iconfont.1768473788689.ttf} +0 -0
  168. /package/lib/{iconfont.1768384392686.woff → iconfont.1768473788689.woff} +0 -0
  169. /package/lib/{iconfont.1768384392686.woff2 → iconfont.1768473788689.woff2} +0 -0
@@ -1,44 +1,14 @@
1
- @use '../helpers/baseMixin.scss';
1
+ @use "sass:list";
2
2
 
3
3
  .vxe-calendar {
4
- display: inline-flex;
4
+ color: var(--vxe-ui-font-color);
5
+ display: flex;
5
6
  flex-direction: column;
7
+ flex-shrink: 0;
6
8
  width: 100%;
7
9
  height: 38em;
8
10
  border: 1px solid var(--vxe-ui-base-popup-border-color);
9
11
  border-radius: var(--vxe-ui-base-border-radius);
10
- &.type--date {
11
- .vxe-calendar--body {
12
- td {
13
- width: 14.28571%;
14
- }
15
- }
16
- }
17
- &.type--week {
18
- .vxe-calendar--body {
19
- td {
20
- width: 12%;
21
- &:first-child {
22
- width: 14%;
23
- }
24
- }
25
- }
26
- }
27
- &.type--quarter {
28
- .vxe-calendar--body {
29
- td {
30
- width: 50%;
31
- }
32
- }
33
- }
34
- &.type--month,
35
- &.type--year {
36
- .vxe-calendar--body {
37
- td {
38
- width: 25%;
39
- }
40
- }
41
- }
42
12
  }
43
13
 
44
14
  .vxe-calendar--confirm {
@@ -108,113 +78,347 @@
108
78
  table-layout: fixed
109
79
  }
110
80
  }
111
- .vxe-calendar--view-th {
112
- font-weight: 700;
81
+
82
+ .vxe-calendar--wrapper {
83
+ border: 0 solid var(--vxe-ui-base-popup-border-color);
84
+ border-radius: var(--vxe-ui-base-border-radius);
85
+ }
86
+
87
+ .vxe-calendar--wrapper {
88
+ display: inline-flex;
89
+ flex-direction: column;
90
+ padding: 0.8em;
91
+ }
92
+
93
+ .vxe-calendar--picker-header {
94
+ display: flex;
95
+ flex-direction: row;
96
+ align-items: center;
97
+ height: 3em;
98
+ padding-bottom: 0.5em;
99
+ }
100
+
101
+ .vxe-calendar--picker-header {
102
+ user-select: none;
103
+ .vxe-calendar--picker-type-wrapper {
104
+ flex-grow: 1;
105
+ font-size: 1.1em;
106
+ }
107
+ .vxe-calendar--picker-btn-wrapper {
108
+ flex-shrink: 0;
109
+ text-align: center;
110
+ }
111
+ }
112
+ .vxe-calendar--picker-type-wrapper {
113
+ display: flex;
114
+ align-items: center;
115
+ .vxe-calendar--picker-label,
116
+ .vxe-calendar--picker-btn {
117
+ display: inline-block;
118
+ }
119
+ }
120
+ .vxe-calendar--picker-btn-wrapper {
121
+ display: flex;
122
+ flex-direction: row;
123
+ .vxe-calendar--picker-prev-btn,
124
+ .vxe-calendar--picker-current-btn,
125
+ .vxe-calendar--picker-next-btn {
126
+ height: 2.2em;
127
+ padding: 0 0.5em;
128
+ border-radius: var(--vxe-ui-base-border-radius);
129
+ border: 1px solid var(--vxe-ui-input-border-color);
130
+ margin-left: 0.5em;
131
+ i {
132
+ font-size: 1.2em;
133
+ }
134
+ }
135
+ .vxe-calendar--picker-btn {
136
+ &:not(.is--disabled) {
137
+ &:active {
138
+ transform: scale(0.9);
139
+ }
140
+ }
141
+ }
142
+ }
143
+ .vxe-calendar--picker-label,
144
+ .vxe-calendar--picker-btn {
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ background-color: var(--vxe-ui-layout-background-color);
149
+ }
150
+ .vxe-calendar--picker-btn {
151
+ &.is--disabled {
152
+ color: var(--vxe-ui-font-disabled-color);
153
+ cursor: no-drop;
154
+ }
155
+ &:not(.is--disabled) {
156
+ cursor: pointer;
157
+ &:hover {
158
+ color: var(--vxe-ui-font-primary-color);
159
+ background-color: #fff;
160
+ }
161
+ &:active {
162
+ background-color: #fff;
163
+ }
164
+ }
165
+ }
166
+ .vxe-calendar--picker-btns {
167
+ .vxe-calendar--picker-btn {
168
+ margin-left: 0.6em;
169
+ &:first-child {
170
+ margin-left: 0;
171
+ }
172
+ }
173
+ }
174
+
175
+ .vxe-calendar--view-wrapper {
176
+ display: flex;
177
+ flex-direction: column;
178
+ line-height: 1.5;
179
+ height: 100%;
113
180
  }
114
- .vxe-calendar--view-td {
115
- font-weight: normal;
181
+ .vxe-calendar--picker-body {
182
+ border-radius: var(--vxe-ui-base-border-radius);
183
+ border: 1px solid var(--vxe-ui-base-popup-border-color);
116
184
  user-select: none;
117
- @include baseMixin.createAnimationTransition(all, 0.1s);
185
+ }
186
+ .vxe-calendar--view-header {
187
+ box-shadow: inset 0 -1px 0 0 var(--vxe-ui-base-popup-border-color);
188
+ text-align: center;
189
+ }
190
+ .vxe-calendar--view-body {
191
+ display: inline-flex;
192
+ flex-direction: column;
193
+ flex-grow: 1;
194
+ width: 100%;
195
+ }
196
+ .vxe-calendar--view-header {
197
+ .vxe-calendar--view-row {
198
+ height: 100%;
199
+ }
200
+ .vxe-calendar--view-item-label {
201
+ font-weight: 700;
202
+ }
203
+ }
204
+
205
+ .vxe-calendar--view-body {
206
+ .vxe-calendar--view-item {
207
+ cursor: pointer;
208
+ &.is--range-disabled,
209
+ &.is--disabled {
210
+ cursor: no-drop;
211
+ }
212
+ &.is--over {
213
+ cursor: no-drop;
214
+ }
215
+ }
216
+ }
217
+ .vxe-calendar--view-row {
218
+ display: flex;
219
+ flex-direction: row;
220
+ }
221
+ .vxe-calendar--view-item {
118
222
  &.is--prev,
119
223
  &.is--next {
120
- color: var(--vxe-ui-font-disabled-color);
121
- .vxe-calendar--date-label,
122
- .vxe-calendar--date-festival {
224
+ .vxe-calendar--view-item-inner {
225
+ color: var(--vxe-ui-font-disabled-color);
226
+ }
227
+ .vxe-calendar--label,
228
+ .vxe-calendar--festival {
123
229
  color: var(--vxe-ui-font-disabled-color);
124
230
  }
125
231
  }
126
232
  &.is--now {
233
+ .vxe-calendar--view-item-inner {
234
+ color: var(--vxe-ui-base-popup-border-color);
235
+ }
127
236
  &:not(.is--selected) {
128
237
  &.is--current {
129
238
  color: var(--vxe-ui-font-primary-color);
130
- .vxe-calendar--date-label,
131
- .vxe-calendar--date-festival {
239
+ .vxe-calendar--label,
240
+ .vxe-calendar--festival {
132
241
  color: var(--vxe-ui-font-primary-color);
133
242
  }
134
243
  }
135
244
  }
136
245
  }
137
246
  &.is--hover {
138
- background-color: var(--vxe-ui-base-hover-background-color);
247
+ .vxe-calendar--view-item-inner {
248
+ background-color: var(--vxe-ui-font-primary-tinge-color);
249
+ }
139
250
  }
140
251
  &.is--selected {
141
- color: var(--vxe-ui-calendar-selected-color);
142
- background-color: var(--vxe-ui-font-primary-color);
252
+ .vxe-calendar--view-item-inner {
253
+ color: var(--vxe-ui-input-date-picker-selected-color);
254
+ background-color: var(--vxe-ui-font-primary-color);
255
+ }
256
+ &.is--hover {
257
+ .vxe-calendar--view-item-inner {
258
+ box-shadow: 0 0px 6px 1px var(--vxe-ui-font-primary-color);
259
+ }
260
+ }
143
261
  &.is--prev,
144
262
  &.is--next {
145
- background-color: var(--vxe-ui-font-primary-lighten-color);
263
+ .vxe-calendar--label,
264
+ .vxe-calendar--festival {
265
+ color: var(--vxe-ui-base-popup-border-color);
266
+ }
146
267
  }
147
- .vxe-calendar--date-label,
148
- .vxe-calendar--date-festival {
149
- color: var(--vxe-ui-calendar-festival-selected-color);
268
+ .vxe-calendar--label,
269
+ .vxe-calendar--festival {
270
+ color: var(--vxe-ui-input-date-picker-festival-selected-color);
150
271
  }
151
- .vxe-calendar--date-label {
272
+ .vxe-calendar--label {
152
273
  &.is-notice {
153
274
  &:before {
154
- background-color: var(--vxe-ui-calendar-notice-selected-background-color);
275
+ background-color: var(--vxe-ui-input-date-picker-notice-selected-background-color);
155
276
  }
156
277
  }
157
278
  }
158
279
  }
159
- &:not(.is--disabled) {
160
- cursor: pointer;
280
+ &.is--range-disabled {
281
+ .vxe-calendar--view-item-inner {
282
+ color: var(--vxe-ui-input-disabled-color);
283
+ background-color: inherit;
284
+ }
161
285
  }
162
286
  &.is--disabled {
163
- cursor: no-drop;
164
- color: var(--vxe-ui-input-disabled-color);
165
- background-color: var(--vxe-ui-input-disabled-background-color);
166
- .vxe-calendar--date-label,
167
- .vxe-calendar--date-festival {
287
+ .vxe-calendar--view-item-inner {
288
+ color: var(--vxe-ui-input-disabled-color);
289
+ background-color: var(--vxe-ui-input-disabled-background-color);
290
+ }
291
+ .vxe-calendar--label,
292
+ .vxe-calendar--festival {
168
293
  color: var(--vxe-ui-input-disabled-color);
169
294
  }
170
295
  }
171
296
  }
172
297
 
173
- .vxe-calendar--date-label,
174
- .vxe-calendar--date-festival {
298
+ // .vxe-date-range-picker--panel {
299
+ // .vxe-calendar--view-item {
300
+ // &.is--range-disabled {
301
+ // .vxe-calendar--view-item-inner {
302
+ // color: var(--vxe-ui-input-disabled-color);
303
+ // background-color: inherit;
304
+ // }
305
+ // }
306
+ // }
307
+ // }
308
+
309
+ .vxe-calendar--view-wrapper {
310
+ &.type--week {
311
+ .vxe-calendar--view-item {
312
+ padding: 0.2em 0;
313
+ .vxe-calendar--view-item-inner {
314
+ border-radius: 0;
315
+ }
316
+ &:first-child {
317
+ padding: 0.2em 0 0.2em 0.2em;
318
+ border-right: 1px solid var(--vxe-ui-base-popup-border-color);
319
+ .vxe-calendar--view-item-inner {
320
+ color: var(--vxe-ui-input-date-festival-color);
321
+ }
322
+ }
323
+ &:last-child {
324
+ padding: 0.2em 0.2em 0.2em 0;
325
+ }
326
+ &.is--hover,
327
+ &.is--selected {
328
+ &:first-child {
329
+ .vxe-calendar--view-item-inner {
330
+ border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);
331
+ }
332
+ }
333
+ &:last-child {
334
+ .vxe-calendar--view-item-inner {
335
+ border-radius: 0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0;
336
+ }
337
+ }
338
+ }
339
+ &.is--now {
340
+ &:not(.is--selected) {
341
+ &:first-child {
342
+ .vxe-calendar--view-item-inner {
343
+ color: var(--vxe-ui-font-primary-color);
344
+ }
345
+ }
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ .vxe-calendar--view-item-inner {
352
+ display: flex;
353
+ flex-direction: column;
354
+ align-items: center;
355
+ justify-content: center;
356
+ height: 100%;
357
+ width: 100%;
358
+ border: 1px solid transparent;
359
+ border-radius: var(--vxe-ui-base-border-radius);
360
+ overflow: hidden;
361
+ }
362
+ .vxe-calendar--view-item-label {
363
+ width: 100%;
364
+ overflow: hidden;
365
+ text-overflow: ellipsis;
366
+ white-space: nowrap;
367
+ }
368
+
369
+ .vxe-calendar--label,
370
+ .vxe-calendar--festival {
371
+ width: 100%;
175
372
  display: block;
176
373
  overflow: hidden;
374
+ text-align: center;
375
+ }
376
+
377
+ .vxe-calendar--label--number {
378
+ font-size: 1.2em;
177
379
  }
178
380
 
179
- .vxe-calendar--date-label {
381
+ .vxe-calendar--label {
180
382
  position: relative;
383
+ height: 1.8em;
384
+ line-height: 1.8em;
181
385
  &.is-notice {
182
386
  &:before {
183
387
  content: "";
184
388
  position: absolute;
185
- width: 4px;
186
- height: 4px;
187
- left: 0.8em;
188
- top: 0.1em;
389
+ width: 0.25em;
390
+ height: 0.25em;
391
+ left: 50%;
392
+ top: 0;
189
393
  transform: translateX(-50%);
190
394
  border-radius: 100%;
191
395
  background-color: var(--vxe-ui-input-date-notice-background-color);
192
396
  }
193
397
  }
194
398
  }
195
- .vxe-calendar--date-label--extra {
399
+ .vxe-calendar--label--extra {
196
400
  position: absolute;
197
401
  right: 0.1em;
198
- top: -0.2em;
199
- transform: scale(0.9);
402
+ top: -0.4em;
403
+ font-size: 0.85em;
200
404
  color: var(--vxe-ui-input-date-extra-color);
201
405
  &.is-important {
202
406
  color: var(--vxe-ui-input-date-extra-important-color);
203
407
  }
204
408
  }
205
409
 
206
- .vxe-calendar--date-festival {
410
+ .vxe-calendar--festival {
207
411
  color: var(--vxe-ui-input-date-festival-color);
208
- height: 14px;
209
- line-height: 1;
412
+ height: 1.2em;
413
+ line-height: 1.2em;
210
414
  overflow: hidden;
211
415
  &.is-important {
212
416
  color: var(--vxe-ui-input-date-festival-important-color);
213
417
  }
214
418
  }
215
- .vxe-calendar--date-festival--label {
419
+ .vxe-calendar--festival--label {
216
420
  display: block;
217
- transform: scale(0.8);
421
+ font-size: 0.95em;
218
422
  }
219
423
 
220
424
  @keyframes festivalOverlap2 {
@@ -238,9 +442,9 @@
238
442
  }
239
443
  }
240
444
 
241
- .vxe-calendar--date-festival--overlap {
445
+ .vxe-calendar--festival--overlap {
242
446
  display: block;
243
- font-size: 12px;
447
+ font-size: 0.86em;
244
448
  &.overlap--2 {
245
449
  animation: festivalOverlap2 6s infinite ease-in-out;
246
450
  }
@@ -250,7 +454,6 @@
250
454
  & > span {
251
455
  height: 14px;
252
456
  display: block;
253
- transform: scale(0.8);
254
457
  }
255
458
  }
256
459
 
@@ -1,5 +1,6 @@
1
1
  import { RenderFunction, SetupContext, Ref } from 'vue'
2
2
  import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentStyleType, VxeComponentSizeType } from '@vxe-ui/core'
3
+ import { VxeContextMenuPropTypes, VxeContextMenuDefines } from './context-menu'
3
4
 
4
5
  /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
5
6
 
@@ -39,6 +40,27 @@ export namespace VxeCalendarPropTypes {
39
40
  export type FestivalMethod = (params: VxeCalendarDefines.DateFestivalParams) => VxeCalendarDefines.DateFestivalInfo | null | void
40
41
  export type DisabledMethod = (params: VxeCalendarDefines.DateDisabledParams) => boolean
41
42
  export type CellStyle = (params: VxeCalendarDefines.CellStyleParams) => void | null | Partial<CSSStyleDeclaration>
43
+
44
+ export interface MenuConfig {
45
+ /**
46
+ * 是否启用
47
+ */
48
+ enabled?: boolean
49
+ /**
50
+ * 菜单配置
51
+ */
52
+ options: VxeContextMenuPropTypes.Options
53
+ /**
54
+ * 该函数的返回值用来决定是否允许显示右键菜单(对于需要对菜单进行权限控制时可能会用到)
55
+ */
56
+ visibleMethod?(params: {
57
+ $calendar: VxeCalendarConstructor
58
+ options: VxeContextMenuPropTypes.Options
59
+ date: Date
60
+ type: string
61
+ viewType: VxeCalendarDefines.DatePanelType
62
+ }): boolean
63
+ }
42
64
  }
43
65
 
44
66
  export type VxeCalendarProps = {
@@ -58,6 +80,7 @@ export type VxeCalendarProps = {
58
80
  festivalMethod?: VxeCalendarPropTypes.FestivalMethod
59
81
  disabledMethod?: VxeCalendarPropTypes.DisabledMethod
60
82
  cellStyle?: VxeCalendarPropTypes.CellStyle
83
+ menuConfig?: VxeCalendarPropTypes.MenuConfig
61
84
  }
62
85
 
63
86
  export interface CalendarPrivateComputed {
@@ -91,11 +114,13 @@ export interface VxeCalendarPrivateMethods extends CalendarPrivateMethods { }
91
114
  export type VxeCalendarEmits = [
92
115
  'update:modelValue',
93
116
  'change',
94
- 'click',
117
+ 'cell-click',
95
118
  'date-prev',
96
119
  'date-today',
97
120
  'date-next',
98
- 'view-change'
121
+ 'view-change',
122
+ 'cell-menu',
123
+ 'menu-click'
99
124
  ]
100
125
 
101
126
  export namespace VxeCalendarDefines {
@@ -159,7 +184,11 @@ export namespace VxeCalendarDefines {
159
184
  export interface ChangeEventParams extends CalendarEventParams {
160
185
  value: string
161
186
  }
162
- export interface ClickEventParams extends CalendarEventParams { }
187
+ export interface ClickEventParams extends CalendarEventParams {
188
+ type: string
189
+ viewType: DatePanelType
190
+ date: Date
191
+ }
163
192
  export interface DatePrevEventParams extends CalendarEventParams {
164
193
  type: DatePanelType
165
194
  }
@@ -173,6 +202,15 @@ export namespace VxeCalendarDefines {
173
202
  viewType: DatePanelType
174
203
  viewDates: Date[]
175
204
  }
205
+ export interface CellMemuEventParams extends CalendarEventParams {
206
+ type: string
207
+ viewType: DatePanelType
208
+ date: Date
209
+ }
210
+ export interface MenuClickEventParams extends CellMemuEventParams {
211
+ date: Date
212
+ option: VxeContextMenuDefines.MenuFirstOption | VxeContextMenuDefines.MenuChildOption
213
+ }
176
214
  }
177
215
 
178
216
  export type VxeCalendarEventProps = {
@@ -184,6 +222,8 @@ export type VxeCalendarEventProps = {
184
222
  onDateToday?: VxeCalendarEvents.DateToday
185
223
  onDateNext?: VxeCalendarEvents.DateNext
186
224
  onViewChange?: VxeCalendarEvents.ViewChange
225
+ onCellMemu?: VxeCalendarEvents.CellMemu
226
+ onMenuClick?: VxeCalendarEvents.MenuClick
187
227
  }
188
228
 
189
229
  export interface VxeCalendarListeners {
@@ -195,6 +235,8 @@ export interface VxeCalendarListeners {
195
235
  dateToday?: VxeCalendarEvents.DateToday
196
236
  dateNext?: VxeCalendarEvents.DateNext
197
237
  viewChange?: VxeCalendarEvents.ViewChange
238
+ cellMenu?: VxeCalendarEvents.CellMemu
239
+ memuClick?: VxeCalendarEvents.MenuClick
198
240
  }
199
241
 
200
242
  export namespace VxeCalendarEvents {
@@ -206,6 +248,8 @@ export namespace VxeCalendarEvents {
206
248
  export type DateToday = (params: VxeCalendarDefines.DateTodayEventParams) => void
207
249
  export type DateNext = (params: VxeCalendarDefines.DateNextEventParams) => void
208
250
  export type ViewChange = (params: VxeCalendarDefines.ViewChangeEventParams) => void
251
+ export type CellMemu = (params: VxeCalendarDefines.CellMemuEventParams) => void
252
+ export type MenuClick = (params: VxeCalendarDefines.MenuClickEventParams) => void
209
253
  }
210
254
 
211
255
  export namespace VxeCalendarSlotTypes {