vxe-pc-ui 4.10.10 → 4.10.11

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 (115) hide show
  1. package/es/components.js +6 -0
  2. package/es/icon/style.css +1 -1
  3. package/es/split/index.js +2 -2
  4. package/es/split/style.css +79 -79
  5. package/es/split/style.min.css +1 -1
  6. package/es/split-pane/index.js +2 -2
  7. package/es/splitter/index.js +12 -0
  8. package/es/{split/src/split-pane.js → splitter/src/splitter-panel.js} +15 -15
  9. package/es/{split/src/split.js → splitter/src/splitter.js} +137 -68
  10. package/es/splitter/src/util.js +17 -0
  11. package/es/splitter/style.css +288 -0
  12. package/es/splitter/style.min.css +1 -0
  13. package/es/splitter-panel/index.js +12 -0
  14. package/es/splitter-panel/style.css +0 -0
  15. package/es/splitter-panel/style.min.css +0 -0
  16. package/es/style.css +1 -1
  17. package/es/style.min.css +1 -1
  18. package/es/ui/index.js +3 -3
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-split/style.css +79 -79
  21. package/es/vxe-split/style.min.css +1 -1
  22. package/es/vxe-splitter/index.js +3 -0
  23. package/es/vxe-splitter/style.css +288 -0
  24. package/es/vxe-splitter/style.min.css +1 -0
  25. package/es/vxe-splitter-panel/index.js +3 -0
  26. package/es/vxe-splitter-panel/style.css +0 -0
  27. package/es/vxe-splitter-panel/style.min.css +0 -0
  28. package/lib/components.js +25 -1
  29. package/lib/components.min.js +1 -1
  30. package/lib/icon/style/style.css +1 -1
  31. package/lib/icon/style/style.min.css +1 -1
  32. package/lib/index.umd.js +231 -115
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/split/index.js +4 -4
  35. package/lib/split/index.min.js +1 -1
  36. package/lib/split/style/style.css +79 -79
  37. package/lib/split/style/style.min.css +1 -1
  38. package/lib/split-pane/index.js +5 -5
  39. package/lib/split-pane/index.min.js +1 -1
  40. package/lib/splitter/index.js +19 -0
  41. package/lib/splitter/index.min.js +1 -0
  42. package/lib/{split/src/split-pane.js → splitter/src/splitter-panel.js} +14 -14
  43. package/lib/splitter/src/splitter-panel.min.js +1 -0
  44. package/lib/{split/src/split.js → splitter/src/splitter.js} +150 -72
  45. package/lib/splitter/src/splitter.min.js +1 -0
  46. package/lib/{split → splitter}/src/util.js +8 -8
  47. package/lib/splitter/src/util.min.js +1 -0
  48. package/lib/splitter/style/index.js +1 -0
  49. package/lib/splitter/style/style.css +288 -0
  50. package/lib/splitter/style/style.min.css +1 -0
  51. package/lib/splitter-panel/index.js +19 -0
  52. package/lib/splitter-panel/index.min.js +1 -0
  53. package/lib/splitter-panel/style/index.js +1 -0
  54. package/lib/splitter-panel/style/style.css +0 -0
  55. package/lib/splitter-panel/style/style.min.css +0 -0
  56. package/lib/style.css +1 -1
  57. package/lib/style.min.css +1 -1
  58. package/lib/ui/index.js +3 -3
  59. package/lib/ui/index.min.js +1 -1
  60. package/lib/ui/src/log.js +1 -1
  61. package/lib/ui/src/log.min.js +1 -1
  62. package/lib/vxe-split/style/style.css +79 -79
  63. package/lib/vxe-split/style/style.min.css +1 -1
  64. package/lib/vxe-splitter/index.js +22 -0
  65. package/lib/vxe-splitter/index.min.js +1 -0
  66. package/lib/vxe-splitter/style/index.js +1 -0
  67. package/lib/vxe-splitter/style/style.css +288 -0
  68. package/lib/vxe-splitter/style/style.min.css +1 -0
  69. package/lib/vxe-splitter-panel/index.js +22 -0
  70. package/lib/vxe-splitter-panel/index.min.js +1 -0
  71. package/lib/vxe-splitter-panel/style/index.js +1 -0
  72. package/lib/vxe-splitter-panel/style/style.css +0 -0
  73. package/lib/vxe-splitter-panel/style/style.min.css +0 -0
  74. package/package.json +1 -1
  75. package/packages/components.ts +6 -0
  76. package/packages/split/index.ts +2 -2
  77. package/packages/split-pane/index.ts +2 -2
  78. package/packages/splitter/index.ts +16 -0
  79. package/packages/splitter/src/splitter-panel.ts +145 -0
  80. package/packages/{split/src/split.ts → splitter/src/splitter.ts} +168 -96
  81. package/packages/splitter/src/util.ts +21 -0
  82. package/packages/splitter-panel/index.ts +16 -0
  83. package/packages/ui/index.ts +2 -2
  84. package/styles/components/split.scss +1 -317
  85. package/styles/components/splitter-panel.scss +0 -0
  86. package/styles/components/splitter.scss +317 -0
  87. package/styles/theme/base.scss +6 -6
  88. package/styles/theme/dark.scss +3 -3
  89. package/styles/theme/light.scss +3 -3
  90. package/styles/variable.scss +3 -3
  91. package/types/all.d.ts +6 -0
  92. package/types/components/split-pane.d.ts +42 -14
  93. package/types/components/split.d.ts +54 -18
  94. package/types/components/splitter-panel.d.ts +105 -0
  95. package/types/components/splitter.d.ts +288 -0
  96. package/types/ui/global-config.d.ts +4 -0
  97. package/types/ui/global-icon.d.ts +1 -1
  98. package/es/split/src/util.js +0 -17
  99. package/lib/split/src/split-pane.min.js +0 -1
  100. package/lib/split/src/split.min.js +0 -1
  101. package/lib/split/src/util.min.js +0 -1
  102. package/packages/split/src/split-pane.ts +0 -145
  103. package/packages/split/src/util.ts +0 -21
  104. /package/es/icon/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
  105. /package/es/icon/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
  106. /package/es/icon/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
  107. /package/es/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
  108. /package/es/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
  109. /package/es/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
  110. /package/lib/icon/style/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
  111. /package/lib/icon/style/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
  112. /package/lib/icon/style/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
  113. /package/lib/{iconfont.1761298747069.ttf → iconfont.1761614052122.ttf} +0 -0
  114. /package/lib/{iconfont.1761298747069.woff → iconfont.1761614052122.woff} +0 -0
  115. /package/lib/{iconfont.1761298747069.woff2 → iconfont.1761614052122.woff2} +0 -0
@@ -0,0 +1,288 @@
1
+ .vxe-splitter {
2
+ position: relative;
3
+ width: 100%;
4
+ }
5
+ .vxe-splitter.is--vertical > .vxe-splitter-wrapper {
6
+ flex-direction: column;
7
+ }
8
+ .vxe-splitter.is--vertical > .vxe-splitter-wrapper > .vxe-splitter-panel {
9
+ width: 100%;
10
+ }
11
+ .vxe-splitter.is--drag {
12
+ -webkit-user-select: none;
13
+ -moz-user-select: none;
14
+ user-select: none;
15
+ }
16
+ .vxe-splitter.is--drag.is-resize--immediate.is--horizontal {
17
+ cursor: w-resize;
18
+ }
19
+ .vxe-splitter.is--drag.is-resize--immediate.is--vertical {
20
+ cursor: n-resize;
21
+ }
22
+ .vxe-splitter.is--drag.is-resize--lazy.is--horizontal {
23
+ cursor: col-resize;
24
+ }
25
+ .vxe-splitter.is--drag.is-resize--lazy.is--vertical {
26
+ cursor: row-resize;
27
+ }
28
+ .vxe-splitter.is--drag > .vxe-splitter-wrapper > .vxe-splitter-panel > .vxe-splitter-panel--wrapper::after {
29
+ content: "";
30
+ position: absolute;
31
+ top: 0;
32
+ left: 0;
33
+ width: 100%;
34
+ height: 100%;
35
+ z-index: 1;
36
+ background: transparent;
37
+ -webkit-user-select: none;
38
+ -moz-user-select: none;
39
+ user-select: none;
40
+ }
41
+
42
+ .vxe-splitter--resizable-splitter-tip {
43
+ display: none;
44
+ position: absolute;
45
+ top: 0;
46
+ left: 0;
47
+ z-index: 7;
48
+ pointer-events: none;
49
+ -webkit-user-select: none;
50
+ -moz-user-select: none;
51
+ user-select: none;
52
+ cursor: col-resize;
53
+ }
54
+ .vxe-splitter--resizable-splitter-tip.is-resize--lazy:before {
55
+ content: "";
56
+ display: block;
57
+ height: 100%;
58
+ background-color: var(--vxe-ui-splitter-resizable-drag-line-color);
59
+ }
60
+ .vxe-splitter--resizable-splitter-tip.is--horizontal {
61
+ width: 1px;
62
+ height: 100%;
63
+ }
64
+ .vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-prev {
65
+ right: 0;
66
+ }
67
+ .vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-next {
68
+ left: 1px;
69
+ }
70
+ .vxe-splitter--resizable-splitter-tip.is--vertical {
71
+ width: 100%;
72
+ height: 1px;
73
+ }
74
+ .vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-prev {
75
+ bottom: 0;
76
+ }
77
+ .vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-next {
78
+ top: 1px;
79
+ }
80
+
81
+ .vxe-splitter--resizable-splitter-tip-number {
82
+ position: absolute;
83
+ top: 0;
84
+ left: 0;
85
+ -webkit-user-select: none;
86
+ -moz-user-select: none;
87
+ user-select: none;
88
+ pointer-events: none;
89
+ }
90
+
91
+ .vxe-splitter--resizable-splitter-number-prev,
92
+ .vxe-splitter--resizable-splitter-number-next {
93
+ position: absolute;
94
+ padding: 0.25em 0.25em;
95
+ font-size: 12px;
96
+ border-radius: var(--vxe-ui-border-radius);
97
+ white-space: nowrap;
98
+ color: #ffffff;
99
+ background-color: var(--vxe-ui-splitter-resizable-drag-line-color);
100
+ }
101
+
102
+ .vxe-splitter-wrapper {
103
+ height: 100%;
104
+ display: flex;
105
+ flex-direction: row;
106
+ overflow: hidden;
107
+ }
108
+
109
+ .vxe-splitter-slots {
110
+ display: none;
111
+ }
112
+
113
+ .vxe-splitter-panel-handle {
114
+ display: flex;
115
+ position: relative;
116
+ flex-shrink: 0;
117
+ -webkit-user-select: none;
118
+ -moz-user-select: none;
119
+ user-select: none;
120
+ }
121
+
122
+ .vxe-splitter-panel--wrapper {
123
+ position: relative;
124
+ word-break: break-word;
125
+ overflow: hidden;
126
+ flex-grow: 1;
127
+ }
128
+
129
+ .vxe-splitter-panel--inner {
130
+ height: 100%;
131
+ width: 100%;
132
+ overflow: auto;
133
+ }
134
+ .vxe-splitter-panel--inner > .vxe-splitter {
135
+ height: 100%;
136
+ }
137
+
138
+ .vxe-splitter-panel-handle-bar {
139
+ background-color: var(--vxe-ui-splitter-handle-bar-background-color);
140
+ }
141
+ .vxe-splitter-panel-handle-bar:hover {
142
+ background-color: var(--vxe-ui-splitter-handle-bar-hover-background-color);
143
+ }
144
+
145
+ .vxe-splitter-panel-action-btn-wrapper {
146
+ position: absolute;
147
+ display: flex;
148
+ top: 50%;
149
+ left: 50%;
150
+ transform: translate(-50%, -50%);
151
+ z-index: 2;
152
+ }
153
+
154
+ .vxe-splitter-panel-action-btn {
155
+ display: flex;
156
+ flex-direction: row;
157
+ align-items: center;
158
+ justify-content: center;
159
+ border-radius: var(--vxe-ui-base-border-radius);
160
+ color: var(--vxe-ui-layout-background-color);
161
+ background-color: var(--vxe-ui-splitter-handle-button-background-color);
162
+ border: 1px solid var(--vxe-ui-input-border-color);
163
+ cursor: pointer;
164
+ transition: transform 0.1s ease-in-out;
165
+ }
166
+ .vxe-splitter-panel-action-btn:hover {
167
+ color: #ffffff;
168
+ background-color: var(--vxe-ui-font-primary-color);
169
+ }
170
+ .vxe-splitter-panel-action-btn:active {
171
+ transform: scale(0.9);
172
+ }
173
+ .vxe-splitter-panel-action-btn > i {
174
+ font-size: 0.6em;
175
+ }
176
+
177
+ .vxe-splitter-panel-handle.is--horizontal {
178
+ flex-direction: row;
179
+ }
180
+ .vxe-splitter-panel-handle.is--horizontal.is--border {
181
+ border-width: 1px 0 1px 0;
182
+ }
183
+ .vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper {
184
+ flex-direction: column;
185
+ }
186
+ .vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper div {
187
+ margin-top: 1em;
188
+ }
189
+ .vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper div:first-child {
190
+ margin-top: 0;
191
+ }
192
+ .vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-handle-bar {
193
+ width: var(--vxe-ui-splitter-handle-bar-horizontal-width);
194
+ height: 100%;
195
+ }
196
+ .vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn {
197
+ width: var(--vxe-ui-splitter-handle-bar-horizontal-width);
198
+ height: var(--vxe-ui-splitter-handle-bar-horizontal-height);
199
+ }
200
+ .vxe-splitter-panel-handle.is--vertical {
201
+ flex-direction: column;
202
+ }
203
+ .vxe-splitter-panel-handle.is--vertical.is--border {
204
+ border-width: 0 1px 0 1px;
205
+ }
206
+ .vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper {
207
+ flex-direction: row;
208
+ }
209
+ .vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper div {
210
+ margin-left: 1em;
211
+ }
212
+ .vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper div:first-child {
213
+ margin-left: 0;
214
+ }
215
+ .vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-handle-bar {
216
+ height: var(--vxe-ui-splitter-handle-bar-vertical-height);
217
+ width: 100%;
218
+ }
219
+ .vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn {
220
+ width: var(--vxe-ui-splitter-handle-bar-vertical-width);
221
+ height: var(--vxe-ui-splitter-handle-bar-vertical-height);
222
+ }
223
+ .vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--horizontal .vxe-splitter-panel-handle-bar {
224
+ cursor: w-resize;
225
+ }
226
+ .vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--vertical .vxe-splitter-panel-handle-bar {
227
+ cursor: n-resize;
228
+ }
229
+ .vxe-splitter-panel-handle.is--resize.is-resize--immediate > .vxe-splitter-panel-handle-bar:active {
230
+ background-color: var(--vxe-ui-font-primary-color);
231
+ }
232
+ .vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--horizontal .vxe-splitter-panel-handle-bar {
233
+ cursor: col-resize;
234
+ }
235
+ .vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--vertical .vxe-splitter-panel-handle-bar {
236
+ cursor: row-resize;
237
+ }
238
+
239
+ .vxe-splitter-panel {
240
+ display: flex;
241
+ position: relative;
242
+ overflow: hidden;
243
+ }
244
+ .vxe-splitter-panel.is--fill {
245
+ flex-grow: 1;
246
+ }
247
+ .vxe-splitter-panel.is--hidden.is--horizontal {
248
+ width: 0;
249
+ }
250
+ .vxe-splitter-panel.is--hidden.is--vertical {
251
+ height: 0;
252
+ }
253
+ .vxe-splitter-panel.is--padding > .vxe-splitter-panel--wrapper {
254
+ padding: var(--vxe-ui-layout-padding-default);
255
+ }
256
+ .vxe-splitter-panel.is--hidden, .vxe-splitter-panel.is--width, .vxe-splitter-panel.is--height {
257
+ flex-shrink: 0;
258
+ }
259
+ .vxe-splitter-panel.is--border > .vxe-splitter-panel--wrapper {
260
+ border: 1px solid var(--vxe-ui-base-popup-border-color);
261
+ }
262
+
263
+ .vxe-splitter--render-vars {
264
+ width: 0;
265
+ height: 0;
266
+ overflow: hidden;
267
+ }
268
+ .vxe-splitter--render-vars .vxe-splitter--handle-bar-info {
269
+ width: var(--vxe-ui-splitter-handle-bar-horizontal-width);
270
+ height: var(--vxe-ui-splitter-handle-bar-vertical-height);
271
+ }
272
+
273
+ .vxe-modal--content > .vxe-splitter {
274
+ height: 100%;
275
+ }
276
+
277
+ .vxe-splitter {
278
+ font-size: var(--vxe-ui-font-size-default);
279
+ }
280
+ .vxe-splitter.size--medium {
281
+ font-size: var(--vxe-ui-font-size-medium);
282
+ }
283
+ .vxe-splitter.size--small {
284
+ font-size: var(--vxe-ui-font-size-small);
285
+ }
286
+ .vxe-splitter.size--mini {
287
+ font-size: var(--vxe-ui-font-size-mini);
288
+ }
@@ -0,0 +1 @@
1
+ .vxe-splitter{position:relative;width:100%}.vxe-splitter.is--vertical>.vxe-splitter-wrapper{flex-direction:column}.vxe-splitter.is--vertical>.vxe-splitter-wrapper>.vxe-splitter-panel{width:100%}.vxe-splitter.is--drag{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter.is--drag.is-resize--immediate.is--horizontal{cursor:w-resize}.vxe-splitter.is--drag.is-resize--immediate.is--vertical{cursor:n-resize}.vxe-splitter.is--drag.is-resize--lazy.is--horizontal{cursor:col-resize}.vxe-splitter.is--drag.is-resize--lazy.is--vertical{cursor:row-resize}.vxe-splitter.is--drag>.vxe-splitter-wrapper>.vxe-splitter-panel>.vxe-splitter-panel--wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter--resizable-splitter-tip{display:none;position:absolute;top:0;left:0;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-splitter--resizable-splitter-tip.is-resize--lazy:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter--resizable-splitter-tip.is--horizontal{width:1px;height:100%}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-prev{right:0}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-next{left:1px}.vxe-splitter--resizable-splitter-tip.is--vertical{width:100%;height:1px}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-prev{bottom:0}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-next{top:1px}.vxe-splitter--resizable-splitter-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-splitter--resizable-splitter-number-next,.vxe-splitter--resizable-splitter-number-prev{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter-wrapper{height:100%;display:flex;flex-direction:row;overflow:hidden}.vxe-splitter-slots{display:none}.vxe-splitter-panel-handle{display:flex;position:relative;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter-panel--wrapper{position:relative;word-break:break-word;overflow:hidden;flex-grow:1}.vxe-splitter-panel--inner{height:100%;width:100%;overflow:auto}.vxe-splitter-panel--inner>.vxe-splitter{height:100%}.vxe-splitter-panel-handle-bar{background-color:var(--vxe-ui-splitter-handle-bar-background-color)}.vxe-splitter-panel-handle-bar:hover{background-color:var(--vxe-ui-splitter-handle-bar-hover-background-color)}.vxe-splitter-panel-action-btn-wrapper{position:absolute;display:flex;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.vxe-splitter-panel-action-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:var(--vxe-ui-base-border-radius);color:var(--vxe-ui-layout-background-color);background-color:var(--vxe-ui-splitter-handle-button-background-color);border:1px solid var(--vxe-ui-input-border-color);cursor:pointer;transition:transform .1s ease-in-out}.vxe-splitter-panel-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-action-btn:active{transform:scale(.9)}.vxe-splitter-panel-action-btn>i{font-size:.6em}.vxe-splitter-panel-handle.is--horizontal{flex-direction:row}.vxe-splitter-panel-handle.is--horizontal.is--border{border-width:1px 0 1px 0}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper{flex-direction:column}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper div{margin-top:1em}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper div:first-child{margin-top:0}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-handle-bar{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:100%}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-horizontal-height)}.vxe-splitter-panel-handle.is--vertical{flex-direction:column}.vxe-splitter-panel-handle.is--vertical.is--border{border-width:0 1px 0 1px}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper{flex-direction:row}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper div{margin-left:1em}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper div:first-child{margin-left:0}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-handle-bar{height:var(--vxe-ui-splitter-handle-bar-vertical-height);width:100%}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn{width:var(--vxe-ui-splitter-handle-bar-vertical-width);height:var(--vxe-ui-splitter-handle-bar-vertical-height)}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--horizontal .vxe-splitter-panel-handle-bar{cursor:w-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--vertical .vxe-splitter-panel-handle-bar{cursor:n-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate>.vxe-splitter-panel-handle-bar:active{background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--horizontal .vxe-splitter-panel-handle-bar{cursor:col-resize}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--vertical .vxe-splitter-panel-handle-bar{cursor:row-resize}.vxe-splitter-panel{display:flex;position:relative;overflow:hidden}.vxe-splitter-panel.is--fill{flex-grow:1}.vxe-splitter-panel.is--hidden.is--horizontal{width:0}.vxe-splitter-panel.is--hidden.is--vertical{height:0}.vxe-splitter-panel.is--padding>.vxe-splitter-panel--wrapper{padding:var(--vxe-ui-layout-padding-default)}.vxe-splitter-panel.is--height,.vxe-splitter-panel.is--hidden,.vxe-splitter-panel.is--width{flex-shrink:0}.vxe-splitter-panel.is--border>.vxe-splitter-panel--wrapper{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-splitter--render-vars{width:0;height:0;overflow:hidden}.vxe-splitter--render-vars .vxe-splitter--handle-bar-info{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-vertical-height)}.vxe-modal--content>.vxe-splitter{height:100%}.vxe-splitter{font-size:var(--vxe-ui-font-size-default)}.vxe-splitter.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-splitter.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-splitter.size--mini{font-size:var(--vxe-ui-font-size-mini)}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports.default = void 0;
8
+ var _splitterPanel = _interopRequireWildcard(require("../splitter-panel"));
9
+ Object.keys(_splitterPanel).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
12
+ if (key in exports && exports[key] === _splitterPanel[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _splitterPanel[key];
17
+ }
18
+ });
19
+ });
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ var _default = exports.default = _splitterPanel.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={},_splitterPanel=(exports.default=void 0,_interopRequireWildcard(require("../splitter-panel")));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,n,a={__proto__:null},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((n=l?Object.getOwnPropertyDescriptor(e,r):null)&&(n.get||n.set)?Object.defineProperty(a,r,n):a[r]=e[r]);return a.default=e,t&&t.set(e,a),a}Object.keys(_splitterPanel).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_splitterPanel[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _splitterPanel[e]}})});var _default=exports.default=_splitterPanel.default;
@@ -0,0 +1 @@
1
+ require('./style.css')
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.10.10",
3
+ "version": "4.10.11",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -65,6 +65,8 @@ import VxeRate from './rate'
65
65
  import VxeResult from './result'
66
66
  import VxeRow from './row'
67
67
  import VxeSelect from './select'
68
+ import VxeSplitter from './splitter'
69
+ import VxeSplitterPanel from './splitter-panel'
68
70
  import VxeSplit from './split'
69
71
  import VxeSplitPane from './split-pane'
70
72
  import VxeSlider from './slider'
@@ -154,6 +156,8 @@ const components = [
154
156
  VxeResult,
155
157
  VxeRow,
156
158
  VxeSelect,
159
+ VxeSplitter,
160
+ VxeSplitterPanel,
157
161
  VxeSplit,
158
162
  VxeSplitPane,
159
163
  VxeSlider,
@@ -260,6 +264,8 @@ export * from './rate'
260
264
  export * from './result'
261
265
  export * from './row'
262
266
  export * from './select'
267
+ export * from './splitter'
268
+ export * from './splitter-panel'
263
269
  export * from './split'
264
270
  export * from './split-pane'
265
271
  export * from './slider'
@@ -1,11 +1,11 @@
1
1
  import { App } from 'vue'
2
2
  import { VxeUI } from '@vxe-ui/core'
3
- import VxeSplitComponent from './src/split'
3
+ import VxeSplitComponent from '../splitter/src/splitter'
4
4
  import { dynamicApp } from '../dynamics'
5
5
 
6
6
  export const VxeSplit = Object.assign({}, VxeSplitComponent, {
7
7
  install (app: App) {
8
- app.component(VxeSplitComponent.name as string, VxeSplitComponent)
8
+ app.component('VxeSplit', VxeSplitComponent)
9
9
  }
10
10
  })
11
11
 
@@ -1,11 +1,11 @@
1
1
  import { App } from 'vue'
2
2
  import { VxeUI } from '@vxe-ui/core'
3
- import VxeSplitPaneComponent from '../split/src/split-pane'
3
+ import VxeSplitPaneComponent from '../splitter/src/splitter-panel'
4
4
  import { dynamicApp } from '../dynamics'
5
5
 
6
6
  export const VxeSplitPane = Object.assign({}, VxeSplitPaneComponent, {
7
7
  install (app: App) {
8
- app.component(VxeSplitPaneComponent.name as string, VxeSplitPaneComponent)
8
+ app.component('VxeSplitPane', VxeSplitPaneComponent)
9
9
  app.component('VxeSplitItem', VxeSplitPaneComponent)
10
10
  }
11
11
  })
@@ -0,0 +1,16 @@
1
+ import { App } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeSplitterComponent from './src/splitter'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeSplitter = Object.assign({}, VxeSplitterComponent, {
7
+ install (app: App) {
8
+ app.component(VxeSplitterComponent.name as string, VxeSplitterComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeSplitter)
13
+ VxeUI.component(VxeSplitterComponent)
14
+
15
+ export const Splitter = VxeSplitter
16
+ export default VxeSplitter
@@ -0,0 +1,145 @@
1
+ import { PropType, ref, h, reactive, watch, provide, inject, onMounted, onUnmounted } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
3
+ import { createEvent } from '../../ui'
4
+ import { assembleSplitterItem, destroySplitterItem } from './util'
5
+ import XEUtils from 'xe-utils'
6
+
7
+ import type { SplitterItemReactData, VxeSplitterPanelPropTypes, SplitterItemPrivateRef, SplitterItemInternalData, SplitterItemMethods, VxeSplitterPanelPrivateComputed, SplitterItemPrivateMethods, VxeSplitterPanelEmits, VxeSplitterPanelConstructor, ValueOf, VxeSplitterDefines, VxeSplitterPanelPrivateMethods, VxeSplitterConstructor, VxeSplitterPrivateMethods } from '../../../types'
8
+
9
+ export default defineVxeComponent({
10
+ name: 'VxeSplitterPanel',
11
+ props: {
12
+ name: [Number, String] as PropType<VxeSplitterPanelPropTypes.Name>,
13
+ width: [Number, String] as PropType<VxeSplitterPanelPropTypes.Width>,
14
+ height: [Number, String] as PropType<VxeSplitterPanelPropTypes.Height>,
15
+ minWidth: {
16
+ type: [Number, String] as PropType<VxeSplitterPanelPropTypes.MinWidth>,
17
+ default: () => null
18
+ },
19
+ minHeight: {
20
+ type: [Number, String] as PropType<VxeSplitterPanelPropTypes.MinHeight>,
21
+ default: () => null
22
+ },
23
+
24
+ // 已废弃
25
+ showAction: Boolean as PropType<VxeSplitterPanelPropTypes.ShowAction>
26
+ },
27
+ emits: [
28
+ ] as VxeSplitterPanelEmits,
29
+ setup (props, context) {
30
+ const { emit, slots } = context
31
+
32
+ const xID = XEUtils.uniqueId()
33
+
34
+ const $xeSplitter = inject<(VxeSplitterConstructor & VxeSplitterPrivateMethods) | null>('$xeSplitter', null)
35
+
36
+ const refElem = ref<HTMLDivElement>()
37
+
38
+ const paneConfig = reactive<VxeSplitterDefines.PaneConfig>({
39
+ id: xID,
40
+ name: props.name,
41
+ width: props.width,
42
+ height: props.height,
43
+ minWidth: props.minWidth,
44
+ minHeight: props.minHeight,
45
+ showAction: props.showAction,
46
+ isExpand: true,
47
+ renderWidth: 0,
48
+ resizeWidth: 0,
49
+ foldWidth: 0,
50
+ renderHeight: 0,
51
+ resizeHeight: 0,
52
+ foldHeight: 0,
53
+ slots: slots
54
+ })
55
+
56
+ const reactData = reactive<SplitterItemReactData>({
57
+ })
58
+
59
+ const internalData: SplitterItemInternalData = {
60
+ }
61
+
62
+ const computeMaps: VxeSplitterPanelPrivateComputed = {
63
+ }
64
+
65
+ const refMaps: SplitterItemPrivateRef = {
66
+ refElem
67
+ }
68
+
69
+ const $xeSplitterItem = {
70
+ xID,
71
+ props,
72
+ context,
73
+ reactData,
74
+ internalData,
75
+
76
+ getRefMaps: () => refMaps,
77
+ getComputeMaps: () => computeMaps
78
+ } as unknown as VxeSplitterPanelConstructor & VxeSplitterPanelPrivateMethods
79
+
80
+ const dispatchEvent = (type: ValueOf<VxeSplitterPanelEmits>, params: Record<string, any>, evnt: Event | null) => {
81
+ emit(type, createEvent(evnt, { $splitterPanel: $xeSplitterItem }, params))
82
+ }
83
+
84
+ const splitterPanelMethods: SplitterItemMethods = {
85
+ dispatchEvent
86
+ }
87
+
88
+ const splitterPanelPrivateMethods: SplitterItemPrivateMethods = {
89
+ }
90
+
91
+ Object.assign($xeSplitterItem, splitterPanelMethods, splitterPanelPrivateMethods)
92
+
93
+ const renderVN = () => {
94
+ return h('div', {
95
+ ref: refElem
96
+ })
97
+ }
98
+
99
+ watch(() => props.name, (val) => {
100
+ paneConfig.name = val
101
+ })
102
+
103
+ watch(() => props.width, (val) => {
104
+ paneConfig.width = val
105
+ })
106
+
107
+ watch(() => props.height, (val) => {
108
+ paneConfig.height = val
109
+ })
110
+
111
+ watch(() => props.minWidth, (val) => {
112
+ paneConfig.minWidth = val
113
+ })
114
+
115
+ watch(() => props.minHeight, (val) => {
116
+ paneConfig.minHeight = val
117
+ })
118
+
119
+ watch(() => props.showAction, (val) => {
120
+ paneConfig.showAction = val
121
+ })
122
+
123
+ onMounted(() => {
124
+ const elem = refElem.value
125
+ if ($xeSplitter && elem) {
126
+ assembleSplitterItem($xeSplitter, elem, paneConfig)
127
+ }
128
+ })
129
+
130
+ onUnmounted(() => {
131
+ if ($xeSplitter) {
132
+ destroySplitterItem($xeSplitter, paneConfig)
133
+ }
134
+ })
135
+
136
+ provide('$xeSplitterItem', $xeSplitterItem)
137
+
138
+ $xeSplitterItem.renderVN = renderVN
139
+
140
+ return $xeSplitterItem
141
+ },
142
+ render () {
143
+ return this.renderVN()
144
+ }
145
+ })