vxe-pc-ui 4.5.36 → 4.6.1

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 (318) hide show
  1. package/README.md +1 -0
  2. package/es/calendar/src/calendar.js +1 -1
  3. package/es/components.js +6 -0
  4. package/es/date-panel/index.js +12 -0
  5. package/es/date-panel/src/date-panel.js +1587 -0
  6. package/es/date-panel/src/util.js +191 -0
  7. package/es/date-panel/style.css +443 -0
  8. package/es/date-panel/style.min.css +1 -0
  9. package/es/date-picker/index.js +0 -1
  10. package/es/date-picker/src/date-picker.js +274 -1663
  11. package/es/date-picker/style.css +68 -810
  12. package/es/date-picker/style.min.css +1 -1
  13. package/es/date-range-picker/index.js +12 -0
  14. package/es/date-range-picker/src/date-range-picker.js +1121 -0
  15. package/es/date-range-picker/style.css +284 -0
  16. package/es/date-range-picker/style.min.css +1 -0
  17. package/es/form/render/index.js +69 -23
  18. package/es/form/style.css +3 -0
  19. package/es/form/style.min.css +1 -1
  20. package/es/icon/style.css +1 -1
  21. package/es/input/src/input.js +1 -1
  22. package/es/language/ar-EG.js +4 -1
  23. package/es/language/de-DE.js +4 -1
  24. package/es/language/en-US.js +4 -1
  25. package/es/language/es-ES.js +4 -1
  26. package/es/language/fr-FR.d.ts +2 -0
  27. package/es/language/fr-FR.js +4 -1
  28. package/es/language/hu-HU.js +4 -1
  29. package/es/language/hy-AM.d.ts +2 -0
  30. package/es/language/hy-AM.js +4 -1
  31. package/es/language/id-ID.d.ts +2 -0
  32. package/es/language/id-ID.js +4 -1
  33. package/es/language/it-IT.d.ts +2 -0
  34. package/es/language/it-IT.js +4 -1
  35. package/es/language/ja-JP.js +4 -1
  36. package/es/language/ko-KR.js +4 -1
  37. package/es/language/ms-MY.d.ts +2 -0
  38. package/es/language/ms-MY.js +711 -0
  39. package/es/language/nb-NO.d.ts +2 -0
  40. package/es/language/nb-NO.js +4 -1
  41. package/es/language/pt-BR.js +4 -1
  42. package/es/language/ru-RU.js +4 -1
  43. package/es/language/th-TH.d.ts +2 -0
  44. package/es/language/th-TH.js +4 -1
  45. package/es/language/ug-CN.d.ts +2 -0
  46. package/es/language/ug-CN.js +4 -1
  47. package/es/language/uk-UA.js +4 -1
  48. package/es/language/uz-UZ.d.ts +2 -0
  49. package/es/language/uz-UZ.js +711 -0
  50. package/es/language/vi-VN.d.ts +2 -0
  51. package/es/language/vi-VN.js +4 -1
  52. package/es/language/zh-CHT.d.ts +2 -0
  53. package/es/language/zh-CHT.js +4 -1
  54. package/es/language/zh-CN.js +4 -1
  55. package/es/print/src/print.js +4 -0
  56. package/es/print/src/util.js +46 -3
  57. package/es/pulldown/style.css +15 -0
  58. package/es/pulldown/style.min.css +1 -1
  59. package/es/select/style.css +15 -0
  60. package/es/select/style.min.css +1 -1
  61. package/es/style.css +1 -1
  62. package/es/style.min.css +1 -1
  63. package/es/table-select/style.css +15 -0
  64. package/es/table-select/style.min.css +1 -1
  65. package/es/tree-select/style.css +15 -0
  66. package/es/tree-select/style.min.css +1 -1
  67. package/es/ui/index.js +31 -6
  68. package/es/ui/src/log.js +1 -1
  69. package/es/vxe-date-panel/index.js +3 -0
  70. package/es/vxe-date-panel/style.css +443 -0
  71. package/es/vxe-date-panel/style.min.css +1 -0
  72. package/es/vxe-date-picker/style.css +68 -810
  73. package/es/vxe-date-picker/style.min.css +1 -1
  74. package/es/vxe-date-range-picker/index.js +3 -0
  75. package/es/vxe-date-range-picker/style.css +284 -0
  76. package/es/vxe-date-range-picker/style.min.css +1 -0
  77. package/es/vxe-form/style.css +3 -0
  78. package/es/vxe-form/style.min.css +1 -1
  79. package/es/vxe-pulldown/style.css +15 -0
  80. package/es/vxe-pulldown/style.min.css +1 -1
  81. package/es/vxe-select/style.css +15 -0
  82. package/es/vxe-select/style.min.css +1 -1
  83. package/es/vxe-table-select/style.css +15 -0
  84. package/es/vxe-table-select/style.min.css +1 -1
  85. package/es/vxe-tree-select/style.css +15 -0
  86. package/es/vxe-tree-select/style.min.css +1 -1
  87. package/lib/calendar/src/calendar.js +1 -1
  88. package/lib/calendar/src/calendar.min.js +1 -1
  89. package/lib/components.js +25 -1
  90. package/lib/components.min.js +1 -1
  91. package/lib/date-panel/index.js +19 -0
  92. package/lib/date-panel/index.min.js +1 -0
  93. package/lib/date-panel/src/date-panel.js +1667 -0
  94. package/lib/date-panel/src/date-panel.min.js +1 -0
  95. package/lib/date-panel/src/util.js +219 -0
  96. package/lib/date-panel/src/util.min.js +1 -0
  97. package/lib/date-panel/style/index.js +1 -0
  98. package/lib/date-panel/style/style.css +443 -0
  99. package/lib/date-panel/style/style.min.css +1 -0
  100. package/lib/date-picker/index.js +0 -1
  101. package/lib/date-picker/index.min.js +1 -1
  102. package/lib/date-picker/src/date-picker.js +288 -1717
  103. package/lib/date-picker/src/date-picker.min.js +1 -1
  104. package/lib/date-picker/style/style.css +68 -810
  105. package/lib/date-picker/style/style.min.css +1 -1
  106. package/lib/date-range-picker/index.js +19 -0
  107. package/lib/date-range-picker/index.min.js +1 -0
  108. package/lib/date-range-picker/src/date-range-picker.js +1194 -0
  109. package/lib/date-range-picker/src/date-range-picker.min.js +1 -0
  110. package/lib/date-range-picker/style/index.js +1 -0
  111. package/lib/date-range-picker/style/style.css +284 -0
  112. package/lib/date-range-picker/style/style.min.css +1 -0
  113. package/lib/form/render/index.js +77 -23
  114. package/lib/form/render/index.min.js +1 -1
  115. package/lib/form/style/style.css +3 -0
  116. package/lib/form/style/style.min.css +1 -1
  117. package/lib/icon/style/style.css +1 -1
  118. package/lib/icon/style/style.min.css +1 -1
  119. package/lib/index.umd.js +3016 -1260
  120. package/lib/index.umd.min.js +1 -1
  121. package/lib/input/src/input.js +1 -1
  122. package/lib/input/src/input.min.js +1 -1
  123. package/lib/language/ar-EG.d.ts +2 -0
  124. package/lib/language/ar-EG.js +4 -1
  125. package/lib/language/ar-EG.min.js +1 -1
  126. package/lib/language/ar-EG.umd.js +731 -0
  127. package/lib/language/de-DE.d.ts +2 -0
  128. package/lib/language/de-DE.js +4 -1
  129. package/lib/language/de-DE.min.js +1 -1
  130. package/lib/language/de-DE.umd.js +731 -0
  131. package/lib/language/en-US.js +4 -1
  132. package/lib/language/en-US.min.js +1 -1
  133. package/lib/language/en-US.umd.js +4 -1
  134. package/lib/language/es-ES.js +4 -1
  135. package/lib/language/es-ES.min.js +1 -1
  136. package/lib/language/es-ES.umd.js +4 -1
  137. package/lib/language/fr-FR.d.ts +2 -0
  138. package/lib/language/fr-FR.js +4 -1
  139. package/lib/language/fr-FR.min.js +1 -1
  140. package/lib/language/fr-FR.umd.js +731 -0
  141. package/lib/language/hu-HU.js +4 -1
  142. package/lib/language/hu-HU.min.js +1 -1
  143. package/lib/language/hu-HU.umd.js +4 -1
  144. package/lib/language/hy-AM.d.ts +2 -0
  145. package/lib/language/hy-AM.js +4 -1
  146. package/lib/language/hy-AM.min.js +1 -1
  147. package/lib/language/hy-AM.umd.js +731 -0
  148. package/lib/language/id-ID.d.ts +2 -0
  149. package/lib/language/id-ID.js +4 -1
  150. package/lib/language/id-ID.min.js +1 -1
  151. package/lib/language/id-ID.umd.js +731 -0
  152. package/lib/language/it-IT.d.ts +2 -0
  153. package/lib/language/it-IT.js +4 -1
  154. package/lib/language/it-IT.min.js +1 -1
  155. package/lib/language/it-IT.umd.js +731 -0
  156. package/lib/language/ja-JP.js +4 -1
  157. package/lib/language/ja-JP.min.js +1 -1
  158. package/lib/language/ja-JP.umd.js +4 -1
  159. package/lib/language/ko-KR.js +4 -1
  160. package/lib/language/ko-KR.min.js +1 -1
  161. package/lib/language/ko-KR.umd.js +4 -1
  162. package/lib/language/ms-MY.d.ts +2 -0
  163. package/lib/language/ms-MY.js +717 -0
  164. package/lib/language/ms-MY.min.js +1 -0
  165. package/lib/language/ms-MY.umd.js +731 -0
  166. package/lib/language/nb-NO.d.ts +2 -0
  167. package/lib/language/nb-NO.js +4 -1
  168. package/lib/language/nb-NO.min.js +1 -1
  169. package/lib/language/nb-NO.umd.js +731 -0
  170. package/lib/language/pt-BR.js +4 -1
  171. package/lib/language/pt-BR.min.js +1 -1
  172. package/lib/language/pt-BR.umd.js +4 -1
  173. package/lib/language/ru-RU.js +4 -1
  174. package/lib/language/ru-RU.min.js +1 -1
  175. package/lib/language/ru-RU.umd.js +4 -1
  176. package/lib/language/th-TH.d.ts +2 -0
  177. package/lib/language/th-TH.js +4 -1
  178. package/lib/language/th-TH.min.js +1 -1
  179. package/lib/language/th-TH.umd.js +731 -0
  180. package/lib/language/ug-CN.d.ts +2 -0
  181. package/lib/language/ug-CN.js +4 -1
  182. package/lib/language/ug-CN.min.js +1 -1
  183. package/lib/language/ug-CN.umd.js +731 -0
  184. package/lib/language/uk-UA.js +4 -1
  185. package/lib/language/uk-UA.min.js +1 -1
  186. package/lib/language/uk-UA.umd.js +4 -1
  187. package/lib/language/uz-UZ.d.ts +2 -0
  188. package/lib/language/uz-UZ.js +717 -0
  189. package/lib/language/uz-UZ.min.js +1 -0
  190. package/lib/language/uz-UZ.umd.js +731 -0
  191. package/lib/language/vi-VN.d.ts +2 -0
  192. package/lib/language/vi-VN.js +4 -1
  193. package/lib/language/vi-VN.min.js +1 -1
  194. package/lib/language/vi-VN.umd.js +731 -0
  195. package/lib/language/zh-CHT.d.ts +2 -0
  196. package/lib/language/zh-CHT.js +4 -1
  197. package/lib/language/zh-CHT.min.js +1 -1
  198. package/lib/language/zh-CHT.umd.js +731 -0
  199. package/lib/language/zh-CN.js +4 -1
  200. package/lib/language/zh-CN.min.js +1 -1
  201. package/lib/language/zh-CN.umd.js +4 -1
  202. package/lib/language/zh-TC.min.js +1 -1
  203. package/lib/print/src/print.js +4 -0
  204. package/lib/print/src/print.min.js +1 -1
  205. package/lib/print/src/util.js +45 -2
  206. package/lib/print/src/util.min.js +1 -1
  207. package/lib/pulldown/style/style.css +15 -0
  208. package/lib/pulldown/style/style.min.css +1 -1
  209. package/lib/select/style/style.css +15 -0
  210. package/lib/select/style/style.min.css +1 -1
  211. package/lib/style.css +1 -1
  212. package/lib/style.min.css +1 -1
  213. package/lib/table-select/style/style.css +15 -0
  214. package/lib/table-select/style/style.min.css +1 -1
  215. package/lib/tree-select/style/style.css +15 -0
  216. package/lib/tree-select/style/style.min.css +1 -1
  217. package/lib/ui/index.js +31 -6
  218. package/lib/ui/index.min.js +1 -1
  219. package/lib/ui/src/log.js +1 -1
  220. package/lib/ui/src/log.min.js +1 -1
  221. package/lib/vxe-date-panel/index.js +22 -0
  222. package/lib/vxe-date-panel/index.min.js +1 -0
  223. package/lib/vxe-date-panel/style/index.js +1 -0
  224. package/lib/vxe-date-panel/style/style.css +443 -0
  225. package/lib/vxe-date-panel/style/style.min.css +1 -0
  226. package/lib/vxe-date-picker/style/style.css +68 -810
  227. package/lib/vxe-date-picker/style/style.min.css +1 -1
  228. package/lib/vxe-date-range-picker/index.js +22 -0
  229. package/lib/vxe-date-range-picker/index.min.js +1 -0
  230. package/lib/vxe-date-range-picker/style/index.js +1 -0
  231. package/lib/vxe-date-range-picker/style/style.css +284 -0
  232. package/lib/vxe-date-range-picker/style/style.min.css +1 -0
  233. package/lib/vxe-form/style/style.css +3 -0
  234. package/lib/vxe-form/style/style.min.css +1 -1
  235. package/lib/vxe-pulldown/style/style.css +15 -0
  236. package/lib/vxe-pulldown/style/style.min.css +1 -1
  237. package/lib/vxe-select/style/style.css +15 -0
  238. package/lib/vxe-select/style/style.min.css +1 -1
  239. package/lib/vxe-table-select/style/style.css +15 -0
  240. package/lib/vxe-table-select/style/style.min.css +1 -1
  241. package/lib/vxe-tree-select/style/style.css +15 -0
  242. package/lib/vxe-tree-select/style/style.min.css +1 -1
  243. package/package.json +4 -5
  244. package/packages/calendar/src/calendar.ts +10 -10
  245. package/packages/components.ts +6 -0
  246. package/packages/date-panel/index.ts +16 -0
  247. package/packages/date-panel/src/date-panel.ts +1654 -0
  248. package/packages/date-panel/src/util.ts +212 -0
  249. package/packages/date-picker/index.ts +0 -1
  250. package/packages/date-picker/src/date-picker.ts +298 -1697
  251. package/packages/date-range-picker/index.ts +16 -0
  252. package/packages/date-range-picker/src/date-range-picker.ts +1196 -0
  253. package/packages/form/render/index.ts +76 -22
  254. package/packages/input/src/input.ts +15 -15
  255. package/packages/language/ar-EG.ts +4 -1
  256. package/packages/language/de-DE.ts +4 -1
  257. package/packages/language/en-US.ts +4 -1
  258. package/packages/language/es-ES.ts +4 -1
  259. package/packages/language/fr-FR.ts +4 -1
  260. package/packages/language/hu-HU.ts +4 -1
  261. package/packages/language/hy-AM.ts +4 -1
  262. package/packages/language/id-ID.ts +4 -1
  263. package/packages/language/it-IT.ts +4 -1
  264. package/packages/language/ja-JP.ts +4 -1
  265. package/packages/language/ko-KR.ts +4 -1
  266. package/packages/language/ms-MY.ts +711 -0
  267. package/packages/language/nb-NO.ts +4 -1
  268. package/packages/language/pt-BR.ts +4 -1
  269. package/packages/language/ru-RU.ts +4 -1
  270. package/packages/language/th-TH.ts +4 -1
  271. package/packages/language/ug-CN.ts +4 -1
  272. package/packages/language/uk-UA.ts +4 -1
  273. package/packages/language/uz-UZ.ts +711 -0
  274. package/packages/language/vi-VN.ts +4 -1
  275. package/packages/language/zh-CHT.ts +4 -1
  276. package/packages/language/zh-CN.ts +4 -1
  277. package/packages/print/src/print.ts +4 -0
  278. package/packages/print/src/util.ts +47 -4
  279. package/packages/ui/index.ts +30 -5
  280. package/styles/all.scss +2 -0
  281. package/styles/components/date-panel.scss +491 -0
  282. package/styles/components/date-picker.scss +62 -652
  283. package/styles/components/date-range-picker.scss +284 -0
  284. package/styles/components/form.scss +3 -0
  285. package/styles/components/pulldown.scss +10 -0
  286. package/styles/components/select.scss +8 -0
  287. package/styles/components/table-select.scss +8 -0
  288. package/styles/components/tree-select.scss +8 -0
  289. package/styles/helpers/baseMixin.scss +13 -0
  290. package/types/all.d.ts +6 -0
  291. package/types/components/button-group.d.ts +1 -1
  292. package/types/components/column.d.ts +9 -0
  293. package/types/components/date-panel.d.ts +240 -0
  294. package/types/components/date-picker.d.ts +35 -142
  295. package/types/components/date-range-picker.d.ts +267 -0
  296. package/types/components/form-item.d.ts +4 -0
  297. package/types/components/print.d.ts +8 -0
  298. package/types/ui/commands.d.ts +28 -2
  299. package/types/ui/global-config.d.ts +4 -0
  300. package/es/date-picker/src/util.js +0 -41
  301. package/lib/date-picker/src/util.js +0 -46
  302. package/lib/date-picker/src/util.min.js +0 -1
  303. package/lib/language/zh-TC.umd.js +0 -23
  304. package/packages/date-picker/src/util.ts +0 -42
  305. /package/es/icon/{iconfont.1746417522210.ttf → iconfont.1746801282055.ttf} +0 -0
  306. /package/es/icon/{iconfont.1746417522210.woff → iconfont.1746801282055.woff} +0 -0
  307. /package/es/icon/{iconfont.1746417522210.woff2 → iconfont.1746801282055.woff2} +0 -0
  308. /package/es/{iconfont.1746417522210.ttf → iconfont.1746801282055.ttf} +0 -0
  309. /package/es/{iconfont.1746417522210.woff → iconfont.1746801282055.woff} +0 -0
  310. /package/es/{iconfont.1746417522210.woff2 → iconfont.1746801282055.woff2} +0 -0
  311. /package/es/language/{zh-TC.d.ts → ar-EG.d.ts} +0 -0
  312. /package/{lib/language/zh-TC.d.ts → es/language/de-DE.d.ts} +0 -0
  313. /package/lib/icon/style/{iconfont.1746417522210.ttf → iconfont.1746801282055.ttf} +0 -0
  314. /package/lib/icon/style/{iconfont.1746417522210.woff → iconfont.1746801282055.woff} +0 -0
  315. /package/lib/icon/style/{iconfont.1746417522210.woff2 → iconfont.1746801282055.woff2} +0 -0
  316. /package/lib/{iconfont.1746417522210.ttf → iconfont.1746801282055.ttf} +0 -0
  317. /package/lib/{iconfont.1746417522210.woff → iconfont.1746801282055.woff} +0 -0
  318. /package/lib/{iconfont.1746417522210.woff2 → iconfont.1746801282055.woff2} +0 -0
@@ -0,0 +1,284 @@
1
+ @use "sass:list";
2
+ @use '../helpers/baseMixin.scss';
3
+
4
+ .vxe-date-range-picker--readonly {
5
+ color: var(--vxe-ui-font-color);
6
+ display: inline-flex;
7
+ }
8
+ .vxe-date-range-picker--wrapper {
9
+ flex-grow: 1;
10
+ overflow: hidden;
11
+ }
12
+ .vxe-date-range-picker--inner {
13
+ display: block;
14
+ width: 100%;
15
+ height: 100%;
16
+ outline: 0;
17
+ margin: 0;
18
+ font-size: inherit;
19
+ font-family: inherit;
20
+ line-height: inherit;
21
+ padding: 0 0.5em;
22
+ color: var(--vxe-ui-font-color);
23
+ border: 0;
24
+ border-radius: var(--vxe-ui-base-border-radius);
25
+ background-color: var(--vxe-ui-layout-background-color);
26
+ box-shadow: none;
27
+ &::placeholder {
28
+ color: var(--vxe-ui-input-placeholder-color);
29
+ }
30
+ &::-webkit-autofill {
31
+ background-color: var(--vxe-ui-layout-background-color);
32
+ }
33
+ &[disabled] {
34
+ cursor: not-allowed;
35
+ color: var(--vxe-ui-font-disabled-color);
36
+ background-color: var(--vxe-ui-input-disabled-background-color);
37
+ }
38
+ }
39
+
40
+ // 禁用
41
+ .vxe-date-range-picker {
42
+ &.is--disabled {
43
+ background-color: var(--vxe-ui-input-disabled-background-color);
44
+ .vxe-date-range-picker--prefix,
45
+ .vxe-date-range-picker--suffix,
46
+ .vxe-date-range-picker--clear-icon,
47
+ .vxe-date-range-picker--control-icon {
48
+ cursor: not-allowed;
49
+ }
50
+ .vxe-date-range-picker--prefix,
51
+ .vxe-date-range-picker--suffix {
52
+ background-color: var(--vxe-ui-input-disabled-background-color);
53
+ }
54
+ }
55
+ }
56
+
57
+ // 图标
58
+ .vxe-date-range-picker {
59
+ display: inline-flex;
60
+ flex-direction: row;
61
+ position: relative;
62
+ border-radius: var(--vxe-ui-base-border-radius);
63
+ width: 330px;
64
+ border: 1px solid var(--vxe-ui-input-border-color);
65
+ &.is--active {
66
+ border: 1px solid var(--vxe-ui-font-primary-color);
67
+ }
68
+ &.show--clear {
69
+ &:hover {
70
+ .vxe-date-range-picker--clear-icon {
71
+ display: block;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ .vxe-date-range-picker--prefix,
77
+ .vxe-date-range-picker--suffix {
78
+ display: flex;
79
+ flex-direction: row;
80
+ align-items: center;
81
+ flex-shrink: 0;
82
+ background-color: var(--vxe-ui-layout-background-color);
83
+ }
84
+ .vxe-date-range-picker--prefix-icon {
85
+ padding-left: 0.5em;
86
+ }
87
+ .vxe-date-range-picker--clear-icon,
88
+ .vxe-date-range-picker--control-icon,
89
+ .vxe-date-range-picker--suffix-icon {
90
+ padding-right: 0.5em;
91
+ }
92
+ .vxe-date-range-picker--clear-icon,
93
+ .vxe-date-range-picker--control-icon {
94
+ height: 100%;
95
+ color: var(--vxe-ui-input-placeholder-color);
96
+ cursor: pointer;
97
+ }
98
+ .vxe-date-range-picker--clear-icon {
99
+ display: none;
100
+ &:hover {
101
+ color: var(--vxe-ui-font-color);
102
+ }
103
+ &:active {
104
+ color: var(--vxe-ui-font-primary-color);
105
+ }
106
+ }
107
+
108
+ .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
+ }
143
+ }
144
+
145
+ .vxe-date-range-picker--panel {
146
+ pointer-events: none;
147
+ &.show--top,
148
+ &.show--right {
149
+ .vxe-date-range-picker--layout-wrapper,
150
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
151
+ border-top-right-radius: 0;
152
+ }
153
+ }
154
+ &.show--right,
155
+ &.show--bottom {
156
+ .vxe-date-range-picker--layout-wrapper,
157
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
158
+ border-bottom-right-radius: 0;
159
+ }
160
+ }
161
+ &.show--bottom,
162
+ &.show--left {
163
+ .vxe-date-range-picker--layout-wrapper,
164
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
165
+ border-bottom-left-radius: 0;
166
+ }
167
+ }
168
+ &.show--top,
169
+ &.show--left {
170
+ .vxe-date-range-picker--layout-wrapper,
171
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
172
+ border-top-left-radius: 0;
173
+ }
174
+ }
175
+ &.show--top {
176
+ .vxe-date-range-picker--layout-wrapper,
177
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
178
+ border-top-width: 1px;
179
+ }
180
+ }
181
+ &.show--bottom {
182
+ .vxe-date-range-picker--layout-wrapper,
183
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
184
+ border-bottom-width: 1px;
185
+ }
186
+ }
187
+ &.show--left {
188
+ .vxe-date-range-picker--layout-wrapper,
189
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
190
+ border-left-width: 1px;
191
+ }
192
+ }
193
+ &.show--right {
194
+ .vxe-date-range-picker--layout-wrapper,
195
+ .vxe-date-range-picker--layout-datetime-layout-wrapper {
196
+ border-right-width: 1px;
197
+ }
198
+ }
199
+ }
200
+
201
+ .vxe-date-range-picker--layout-all-wrapper {
202
+ display: inline-flex;
203
+ flex-direction: column;
204
+ pointer-events: auto;
205
+ background-color: var(--vxe-ui-layout-background-color);
206
+ border: 1px solid var(--vxe-ui-base-popup-border-color);
207
+ box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
208
+ border-radius: var(--vxe-ui-base-border-radius);
209
+ line-height: 1.5;
210
+ }
211
+ .vxe-date-range-picker--layout-body-layout-wrapper {
212
+ display: flex;
213
+ flex-direction: row;
214
+ white-space: nowrap;
215
+ }
216
+ .vxe-date-range-picker--layout-body-content-wrapper,
217
+ .vxe-date-range-picker--layout-body-layout-wrapper,
218
+ .vxe-date-range-picker--layout-body-wrapper {
219
+ flex-grow: 1;
220
+ }
221
+ .vxe-date-range-picker--layout-body-wrapper {
222
+ display: flex;
223
+ flex-direction: row;
224
+ }
225
+ .vxe-date-range-picker--layout-top-wrapper,
226
+ .vxe-date-range-picker--layout-bottom-wrapper,
227
+ .vxe-date-range-picker--layout-left-wrapper,
228
+ .vxe-date-range-picker--layout-right-wrapper,
229
+ .vxe-date-range-picker--layout-header-wrapper,
230
+ .vxe-date-range-picker--layout-footer-wrapper {
231
+ flex-shrink: 0;
232
+ }
233
+
234
+ .vxe-date-range-picker--layout-top-wrapper {
235
+ border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
236
+ }
237
+ .vxe-date-range-picker--layout-bottom-wrapper {
238
+ border-top: 1px solid var(--vxe-ui-base-popup-border-color);
239
+ }
240
+ .vxe-date-range-picker--layout-left-wrapper {
241
+ border-right: 1px solid var(--vxe-ui-base-popup-border-color);
242
+ }
243
+ .vxe-date-range-picker--layout-right-wrapper {
244
+ border-left: 1px solid var(--vxe-ui-base-popup-border-color);
245
+ }
246
+
247
+ .vxe-date-range-picker--layout-footer-wrapper {
248
+ display: flex;
249
+ flex-direction: row;
250
+ padding: 0 0.8em 0.8em 0.8em;
251
+ }
252
+ .vxe-date-range-picker--layout-footer-label {
253
+ padding-right: 0.8em;
254
+ flex-shrink: 0;
255
+ }
256
+ .vxe-date-range-picker--layout-footer-custom {
257
+ flex-grow: 1;
258
+ text-align: right;
259
+ }
260
+ .vxe-date-range-picker--layout-footer-btns {
261
+ flex-shrink: 0;
262
+ padding-left: 0.8em;
263
+ }
264
+
265
+ .vxe-date-range-picker {
266
+ font-size: var(--vxe-ui-font-size-default);
267
+ height: var(--vxe-ui-input-height-default);
268
+ line-height: var(--vxe-ui-input-height-default);
269
+ &.size--medium {
270
+ font-size: var(--vxe-ui-font-size-medium);
271
+ height: var(--vxe-ui-input-height-medium);
272
+ line-height: var(--vxe-ui-input-height-medium);
273
+ }
274
+ &.size--small {
275
+ font-size: var(--vxe-ui-font-size-small);
276
+ height: var(--vxe-ui-input-height-small);
277
+ line-height: var(--vxe-ui-input-height-small);
278
+ }
279
+ &.size--mini {
280
+ font-size: var(--vxe-ui-font-size-mini);
281
+ height: var(--vxe-ui-input-height-mini);
282
+ line-height: var(--vxe-ui-input-height-mini);
283
+ }
284
+ }
@@ -247,6 +247,7 @@
247
247
  .vxe-number-input,
248
248
  .vxe-password-input,
249
249
  .vxe-date-picker,
250
+ .vxe-date-range-picker,
250
251
  .vxe-textarea,
251
252
  .vxe-select,
252
253
  .vxe-tree-select,
@@ -260,6 +261,7 @@
260
261
  .vxe-number-input,
261
262
  .vxe-password-input,
262
263
  .vxe-date-picker,
264
+ .vxe-date-range-picker,
263
265
  .vxe-textarea > .vxe-textarea--inner,
264
266
  .vxe-upload .vxe-upload--image-action-box,
265
267
  .vxe-upload .vxe-upload--file-action-btn > .vxe-button,
@@ -276,6 +278,7 @@
276
278
  .vxe-number-input,
277
279
  .vxe-password-input,
278
280
  .vxe-date-picker,
281
+ .vxe-date-range-picker,
279
282
  .vxe-textarea>.vxe-textarea--inner,
280
283
  .vxe-default-input[type="text"],
281
284
  .vxe-default-input[type="search"],
@@ -1,3 +1,5 @@
1
+ @use '../helpers/baseMixin.scss';
2
+
1
3
  .vxe-pulldown {
2
4
  position: relative;
3
5
  display: inline-block;
@@ -39,6 +41,14 @@
39
41
  &.ani--enter {
40
42
  opacity: 1;
41
43
  transform: scaleY(1);
44
+ & > div {
45
+ &::after {
46
+ display: none;
47
+ }
48
+ }
49
+ }
50
+ & > div {
51
+ @include baseMixin.createEmptyMask();
42
52
  }
43
53
  }
44
54
  .vxe-pulldown--panel-wrapper {
@@ -76,6 +76,14 @@
76
76
  &.ani--enter {
77
77
  opacity: 1;
78
78
  transform: scaleY(1);
79
+ & > div {
80
+ &::after {
81
+ display: none;
82
+ }
83
+ }
84
+ }
85
+ & > div {
86
+ @include baseMixin.createEmptyMask();
79
87
  }
80
88
  }
81
89
 
@@ -73,6 +73,14 @@
73
73
  &.ani--enter {
74
74
  opacity: 1;
75
75
  transform: scaleY(1);
76
+ & > div {
77
+ &::after {
78
+ display: none;
79
+ }
80
+ }
81
+ }
82
+ & > div {
83
+ @include baseMixin.createEmptyMask();
76
84
  }
77
85
  }
78
86
 
@@ -73,6 +73,14 @@
73
73
  &.ani--enter {
74
74
  opacity: 1;
75
75
  transform: scaleY(1);
76
+ & > div {
77
+ &::after {
78
+ display: none;
79
+ }
80
+ }
81
+ }
82
+ & > div {
83
+ @include baseMixin.createEmptyMask();
76
84
  }
77
85
  }
78
86
 
@@ -80,3 +80,16 @@
80
80
  vertical-align: middle;
81
81
  }
82
82
  }
83
+
84
+ @mixin createEmptyMask {
85
+ &::after {
86
+ content: "";
87
+ position: absolute;
88
+ top: 0;
89
+ left: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ z-index: 1;
93
+ user-select: none;
94
+ }
95
+ }
package/types/all.d.ts CHANGED
@@ -21,7 +21,9 @@ import VxeCollapse from './components/collapse'
21
21
  import VxeCollapsePane from './components/collapse-pane'
22
22
  import VxeColorPicker from './components/color-picker'
23
23
  import VxeCountdown from './components/countdown'
24
+ import VxeDatePanel from './components/date-panel'
24
25
  import VxeDatePicker from './components/date-picker'
26
+ import VxeDateRangePicker from './components/date-range-picker'
25
27
  import VxeDrawer from './components/drawer'
26
28
  import VxeEmpty from './components/empty'
27
29
  import VxeFlowDesign from './components/flow-design'
@@ -115,7 +117,9 @@ interface AllComponents {
115
117
  VxeCollapsePane: typeof VxeCollapsePane
116
118
  VxeColorPicker: typeof VxeColorPicker
117
119
  VxeCountdown: typeof VxeCountdown
120
+ VxeDatePanel: typeof VxeDatePanel
118
121
  VxeDatePicker: typeof VxeDatePicker
122
+ VxeDateRangePicker: typeof VxeDateRangePicker
119
123
  VxeDrawer: typeof VxeDrawer
120
124
  VxeEmpty: typeof VxeEmpty
121
125
  VxeFlowDesign: typeof VxeFlowDesign
@@ -218,7 +222,9 @@ export * from './components/collapse'
218
222
  export * from './components/collapse-pane'
219
223
  export * from './components/color-picker'
220
224
  export * from './components/countdown'
225
+ export * from './components/date-panel'
221
226
  export * from './components/date-picker'
227
+ export * from './components/date-range-picker'
222
228
  export * from './components/drawer'
223
229
  export * from './components/empty'
224
230
  export * from './components/flow-design'
@@ -84,7 +84,7 @@ export namespace VxeButtonGroupDefines {
84
84
 
85
85
  export interface ClickEventParams extends ButtonGroupEventParams {
86
86
  name: VxeButtonPropTypes.Name
87
- option: VxeButtonProps
87
+ option: VxeButtonProps & Record<string, any>
88
88
  }
89
89
  }
90
90
 
@@ -131,6 +131,9 @@ export namespace VxeColumnPropTypes {
131
131
  */
132
132
  children?: any[]
133
133
 
134
+ startField?: string
135
+ endField?: string
136
+
134
137
  enabled?: boolean
135
138
  options?: any[]
136
139
  optionProps?: VxeGlobalRendererHandles.RenderOptionProps
@@ -219,6 +222,9 @@ export namespace VxeColumnPropTypes {
219
222
  */
220
223
  children?: any[]
221
224
 
225
+ startField?: string
226
+ endField?: string
227
+
222
228
  events?: Record<string, (cellParams: VxeColumnSlotTypes.DefaultSlotParams<D>, ...args: any[]) => any>
223
229
  options?: any[]
224
230
  optionProps?: VxeGlobalRendererHandles.RenderOptionProps
@@ -253,6 +259,9 @@ export namespace VxeColumnPropTypes {
253
259
  */
254
260
  children?: any[]
255
261
 
262
+ startField?: string
263
+ endField?: string
264
+
256
265
  events?: Record<string, (cellParams: VxeColumnSlotTypes.EditSlotParams<D>, ...args: any[]) => any>
257
266
  enabled?: boolean
258
267
  options?: any[]
@@ -0,0 +1,240 @@
1
+ import { RenderFunction, SetupContext, Ref } from 'vue'
2
+ import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentStyleType, VxeComponentSizeType } from '@vxe-ui/core'
3
+
4
+ /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
5
+
6
+ export declare const VxeDatePanel: DefineVxeComponentApp<VxeDatePanelProps, VxeDatePanelEventProps, VxeDatePanelSlots, VxeDatePanelMethods>
7
+ export type VxeDatePanelComponent = DefineVxeComponentOptions<VxeDatePanelProps, VxeDatePanelEventProps>
8
+
9
+ export type VxeDatePanelInstance = DefineVxeComponentInstance<VxeDatePanelProps, VxeDatePanelConstructor>
10
+
11
+ export interface VxeDatePanelConstructor extends VxeComponentBaseOptions, VxeDatePanelMethods {
12
+ props: VxeDatePanelProps
13
+ context: SetupContext<VxeDatePanelEmits>
14
+ reactData: DatePanelReactData
15
+ getRefMaps(): DatePanelPrivateRef
16
+ getComputeMaps(): DatePanelPrivateComputed
17
+ renderVN: RenderFunction
18
+ }
19
+
20
+ export interface DatePanelPrivateRef {
21
+ refElem: Ref<HTMLDivElement | undefined>
22
+ refInput: Ref<HTMLInputElement>
23
+ }
24
+ export interface VxeDatePanelPrivateRef extends DatePanelPrivateRef { }
25
+
26
+ export namespace VxeDatePanelPropTypes {
27
+ export type Size = VxeComponentSizeType
28
+ export type ModelValue = string | number | Date | null
29
+ export type ClassName = string
30
+ export type Type = 'date' | 'time' | 'datetime' | 'week' | 'month' | 'quarter' | 'year'
31
+ export type Multiple = boolean
32
+ export type LimitCount = string | number
33
+ export type StartDate = string | number | Date
34
+ export type EndDate = string | number | Date
35
+ export type MinDate = string | number | Date
36
+ export type MaxDate = string | number | Date
37
+ export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
38
+ export type SelectDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
39
+ export type LabelFormat = string
40
+ export type ValueFormat = string
41
+ export type FestivalMethod = (params: VxeDatePanelDefines.DateFestivalParams) => VxeDatePanelDefines.DateFestivalInfo | null | void
42
+ export type DisabledMethod = (params: VxeDatePanelDefines.DateDisabledParams) => boolean
43
+ }
44
+
45
+ export interface VxeDatePanelProps {
46
+ size?: VxeDatePanelPropTypes.Size
47
+ modelValue?: VxeDatePanelPropTypes.ModelValue
48
+ className?: VxeDatePanelPropTypes.ClassName
49
+ type?: VxeDatePanelPropTypes.Type
50
+ multiple?: VxeDatePanelPropTypes.Multiple
51
+ limitCount?: VxeDatePanelPropTypes.LimitCount
52
+
53
+ /**
54
+ * 日期面板的起始周为星期几
55
+ */
56
+ startDate?: VxeDatePanelPropTypes.StartDate
57
+ endDate?: VxeDatePanelPropTypes.EndDate
58
+ minDate?: VxeDatePanelPropTypes.MinDate
59
+ maxDate?: VxeDatePanelPropTypes.MaxDate
60
+
61
+ startDay?: VxeDatePanelPropTypes.StartDay
62
+ labelFormat?: VxeDatePanelPropTypes.LabelFormat
63
+ valueFormat?: VxeDatePanelPropTypes.ValueFormat
64
+ festivalMethod?: VxeDatePanelPropTypes.FestivalMethod
65
+ disabledMethod?: VxeDatePanelPropTypes.DisabledMethod
66
+
67
+ /**
68
+ * 只对 type=week 有效,选中日期后指定为一周的哪一天
69
+ */
70
+ selectDay?: VxeDatePanelPropTypes.SelectDay
71
+ }
72
+
73
+ export interface DatePanelPrivateComputed {
74
+ }
75
+ export interface VxeDatePanelPrivateComputed extends DatePanelPrivateComputed { }
76
+
77
+ export interface DatePanelReactData {
78
+ visiblePanel: boolean
79
+ isAniVisible: boolean
80
+ isActivated: boolean
81
+ inputValue: any
82
+ datetimePanelValue: Date | null
83
+ datePanelValue: Date | null
84
+ datePanelLabel: string
85
+ datePanelType: VxeDatePanelDefines.DatePanelType
86
+ selectMonth: any
87
+ currentDate: any
88
+ }
89
+
90
+ export interface DatePanelInternalData {
91
+ yearSize: number
92
+ monthSize: number
93
+ quarterSize: number
94
+ hpTimeout?: undefined | number
95
+ }
96
+
97
+ export interface DatePanelMethods {
98
+ dispatchEvent(type: ValueOf<VxeDatePanelEmits>, params: Record<string, any>, evnt: Event | null): void
99
+
100
+ getValue(): string
101
+ setPanelDate(date: Date): void
102
+ getPanelDate(): Date
103
+ checkValue(inputLabel: string): void
104
+ confirmByEvent(event: Event): void
105
+ }
106
+ export interface VxeDatePanelMethods extends DatePanelMethods { }
107
+
108
+ export interface DatePanelPrivateMethods { }
109
+ export interface VxeDatePanelPrivateMethods extends DatePanelPrivateMethods { }
110
+
111
+ export type VxeDatePanelEmits = [
112
+ 'update:modelValue',
113
+ 'change',
114
+ 'click',
115
+ 'clear',
116
+ 'date-prev',
117
+ 'date-today',
118
+ 'date-next',
119
+ 'confirm'
120
+ ]
121
+
122
+ export namespace VxeDatePanelDefines {
123
+ export interface DatePanelEventParams extends VxeComponentEventParams {
124
+ $datePanel: VxeDatePanelConstructor
125
+ }
126
+
127
+ export interface DateYearItem {
128
+ date: Date;
129
+ isPrev: boolean;
130
+ isCurrent: boolean;
131
+ isNow: boolean;
132
+ isNext: boolean;
133
+ year: number;
134
+ }
135
+
136
+ export interface DateMonthItem {
137
+ date: Date;
138
+ isPrev: boolean;
139
+ isCurrent: boolean;
140
+ isNow: boolean;
141
+ isNext: boolean;
142
+ month: number;
143
+ }
144
+
145
+ export interface DateQuarterItem {
146
+ date: Date;
147
+ isPrev: boolean;
148
+ isCurrent: boolean;
149
+ isNow: boolean;
150
+ isNext: boolean;
151
+ quarter: number;
152
+ }
153
+
154
+ export interface DateDayItem {
155
+ date: Date;
156
+ isWeekNumber?: boolean;
157
+ isPrev: boolean;
158
+ isCurrent: boolean;
159
+ isNow: boolean;
160
+ isNext: boolean;
161
+ label: number;
162
+ }
163
+
164
+ export interface DateHourMinuteSecondItem {
165
+ value: number;
166
+ label: string;
167
+ }
168
+
169
+ export type DatePanelType = 'year' | 'quarter' | 'month' | 'week' | 'day'
170
+
171
+ interface DateFestivalItem {
172
+ /**
173
+ * 显示名称
174
+ */
175
+ label?: string
176
+ /**
177
+ * 标记为重要信息
178
+ */
179
+ important?: boolean
180
+ className?: string
181
+ style?: VxeComponentStyleType
182
+ }
183
+
184
+ /**
185
+ * 日期节日对象
186
+ */
187
+ export interface DateFestivalInfo extends DateFestivalItem {
188
+ /**
189
+ * 显示左上角小圆点通知
190
+ */
191
+ notice?: boolean
192
+ /**
193
+ * 显示右上角信息
194
+ */
195
+ extra?: string | DateFestivalItem
196
+ }
197
+
198
+ export interface DateFestivalParams {
199
+ $datePanel: VxeDatePanelConstructor
200
+ type: string
201
+ viewType: DatePanelType
202
+ date: Date
203
+ }
204
+
205
+ export interface DateDisabledParams {
206
+ $datePanel: VxeDatePanelConstructor
207
+ type: string
208
+ viewType: DatePanelType
209
+ date: Date
210
+ }
211
+
212
+ export interface DatePanelParams {
213
+ value: string
214
+ }
215
+
216
+ export interface ChangeEventParams extends DatePanelEventParams, DatePanelParams { }
217
+ }
218
+
219
+ export type VxeDatePanelEventProps = {
220
+ onChange?: VxeDatePanelEvents.Change
221
+ }
222
+
223
+ export interface VxeDatePanelListeners {
224
+ change?: VxeDatePanelEvents.Change
225
+ }
226
+
227
+ export namespace VxeDatePanelEvents {
228
+ export type Change = (params: VxeDatePanelDefines.ChangeEventParams) => void
229
+ }
230
+
231
+ export namespace VxeDatePanelSlotTypes {
232
+ export interface DefaultSlotParams {}
233
+ }
234
+
235
+ export interface VxeDatePanelSlots {
236
+ default?: (params: VxeDatePanelSlotTypes.DefaultSlotParams) => any
237
+ }
238
+
239
+ export const DatePanel: typeof VxeDatePanel
240
+ export default VxeDatePanel