@veltra/desktop 1.0.13 → 1.0.15

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 (166) hide show
  1. package/dist/components/action/action-group.js +110 -3
  2. package/dist/components/action/action-group.js.map +1 -1
  3. package/dist/components/action/action-group.vue.d.ts +16 -3
  4. package/dist/components/action/action.js +26 -13
  5. package/dist/components/action/action.js.map +1 -1
  6. package/dist/components/action/style.js +2 -1
  7. package/dist/components/action/style2.css +35 -7
  8. package/dist/components/batch-edit/batch-edit-form.js +106 -42
  9. package/dist/components/batch-edit/batch-edit-form.js.map +1 -1
  10. package/dist/components/batch-edit/batch-edit-list.js +84 -47
  11. package/dist/components/batch-edit/batch-edit-list.js.map +1 -1
  12. package/dist/components/batch-edit/batch-edit.js +42 -10
  13. package/dist/components/batch-edit/batch-edit.js.map +1 -1
  14. package/dist/components/batch-edit/style.js +2 -4
  15. package/dist/components/batch-edit/style2.css +202 -30
  16. package/dist/components/batch-edit/use-edit.js +45 -9
  17. package/dist/components/batch-edit/use-edit.js.map +1 -1
  18. package/dist/components/cascade/cascade.js +3 -1
  19. package/dist/components/cascade/cascade.js.map +1 -1
  20. package/dist/components/code-editor/code-editor.js +145 -49
  21. package/dist/components/code-editor/code-editor.js.map +1 -1
  22. package/dist/components/code-editor/code-editor.vue.d.ts +2 -0
  23. package/dist/components/code-editor/style2.css +87 -19
  24. package/dist/components/dialog/dialog.js +6 -2
  25. package/dist/components/dialog/dialog.js.map +1 -1
  26. package/dist/components/dialog/style2.css +2 -3
  27. package/dist/components/expression-editor/components/path-preview.js +27 -0
  28. package/dist/components/expression-editor/components/path-preview.js.map +1 -0
  29. package/dist/components/expression-editor/components/variable-picker.js +200 -153
  30. package/dist/components/expression-editor/components/variable-picker.js.map +1 -1
  31. package/dist/components/expression-editor/core/chip.js +54 -0
  32. package/dist/components/expression-editor/core/chip.js.map +1 -0
  33. package/dist/components/expression-editor/core/editor.js +425 -0
  34. package/dist/components/expression-editor/core/editor.js.map +1 -0
  35. package/dist/components/expression-editor/core/mention.js +91 -0
  36. package/dist/components/expression-editor/core/mention.js.map +1 -0
  37. package/dist/components/expression-editor/core/model.js +64 -0
  38. package/dist/components/expression-editor/core/model.js.map +1 -0
  39. package/dist/components/expression-editor/di.js +4 -10
  40. package/dist/components/expression-editor/di.js.map +1 -1
  41. package/dist/components/expression-editor/expression-editor.js +168 -114
  42. package/dist/components/expression-editor/expression-editor.js.map +1 -1
  43. package/dist/components/expression-editor/expression-editor.vue.d.ts +2 -1
  44. package/dist/components/expression-editor/style.js +0 -2
  45. package/dist/components/expression-editor/style2.css +145 -218
  46. package/dist/components/index.js +54 -54
  47. package/dist/components/layout/layout.js +12 -11
  48. package/dist/components/layout/layout.js.map +1 -1
  49. package/dist/components/multi-select/multi-select.vue.d.ts +1 -1
  50. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +1 -1
  51. package/dist/components/number-input/number-input.js +4 -4
  52. package/dist/components/number-input/number-input.js.map +1 -1
  53. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  54. package/dist/components/rich-text-editor/rich-text-editor.js +1 -1
  55. package/dist/components/rich-text-editor/toolbar.js +2 -2
  56. package/dist/components/steps/steps.vue.d.ts +1 -1
  57. package/dist/components/table/use-table.js +16 -0
  58. package/dist/components/table/use-table.js.map +1 -1
  59. package/dist/components/tabs/tabs-horizontal.vue.d.ts +3 -3
  60. package/dist/components/tabs/tabs-vertical.vue.d.ts +2 -2
  61. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  62. package/dist/components/tip/tip.js +4 -5
  63. package/dist/components/tip/tip.js.map +1 -1
  64. package/dist/components/tip/tip.vue.d.ts +1 -1
  65. package/dist/components/tree/style2.css +18 -12
  66. package/dist/components/tree/tree-node.js +7 -4
  67. package/dist/components/tree/tree-node.js.map +1 -1
  68. package/dist/components/tree-select/tree-select.vue.d.ts +1 -1
  69. package/dist/index.d.ts +3 -3
  70. package/dist/index.js +83 -83
  71. package/dist/style.js +3 -3
  72. package/dist/types/action.d.ts +38 -4
  73. package/dist/types/cascade.d.ts +2 -3
  74. package/dist/types/code-editor.d.ts +9 -2
  75. package/dist/types/expression-editor.d.ts +9 -1
  76. package/dist/types/index.d.ts +2 -2
  77. package/package.json +11 -12
  78. package/src/components/action/action-group.vue +126 -56
  79. package/src/components/action/action.vue +35 -12
  80. package/src/components/action/style.scss +46 -10
  81. package/src/components/action/style.ts +2 -1
  82. package/src/components/batch-edit/batch-edit-form.vue +121 -45
  83. package/src/components/batch-edit/batch-edit-list.vue +56 -39
  84. package/src/components/batch-edit/batch-edit.vue +57 -6
  85. package/src/components/batch-edit/style.scss +251 -37
  86. package/src/components/batch-edit/style.ts +5 -8
  87. package/src/components/batch-edit/use-edit.ts +58 -11
  88. package/src/components/cascade/cascade.vue +3 -1
  89. package/src/components/code-editor/code-editor.vue +198 -63
  90. package/src/components/code-editor/style.scss +110 -12
  91. package/src/components/dialog/dialog.vue +6 -2
  92. package/src/components/dialog/style.scss +4 -4
  93. package/src/components/expression-editor/__test__/chip.test.ts +86 -0
  94. package/src/components/expression-editor/__test__/editor.test.ts +47 -0
  95. package/src/components/expression-editor/__test__/mention.test.ts +122 -0
  96. package/src/components/expression-editor/__test__/model.test.ts +127 -0
  97. package/src/components/expression-editor/components/path-preview.vue +32 -0
  98. package/src/components/expression-editor/components/variable-picker.vue +225 -219
  99. package/src/components/expression-editor/core/chip.ts +101 -0
  100. package/src/components/expression-editor/core/editor.ts +514 -0
  101. package/src/components/expression-editor/core/mention.ts +121 -0
  102. package/src/components/expression-editor/core/model.ts +109 -0
  103. package/src/components/expression-editor/di.ts +4 -32
  104. package/src/components/expression-editor/expression-editor.vue +184 -151
  105. package/src/components/expression-editor/style.scss +148 -219
  106. package/src/components/expression-editor/style.ts +0 -2
  107. package/src/components/layout/layout.vue +17 -19
  108. package/src/components/number-input/number-input.vue +4 -4
  109. package/src/components/table/use-table.ts +16 -0
  110. package/src/components/tip/tip.vue +4 -3
  111. package/src/components/tree/style.scss +30 -33
  112. package/src/components/tree/tree-node.vue +4 -2
  113. package/src/types/action.ts +42 -4
  114. package/src/types/cascade.ts +4 -3
  115. package/src/types/code-editor.ts +9 -2
  116. package/src/types/expression-editor.ts +9 -0
  117. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js +0 -65
  118. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +0 -1
  119. package/dist/components/expression-editor/constants.js +0 -9
  120. package/dist/components/expression-editor/constants.js.map +0 -1
  121. package/dist/components/expression-editor/internal/editor-runtime/create-runtime.js +0 -47
  122. package/dist/components/expression-editor/internal/editor-runtime/create-runtime.js.map +0 -1
  123. package/dist/components/expression-editor/internal/editor-runtime/model-sync.js +0 -49
  124. package/dist/components/expression-editor/internal/editor-runtime/model-sync.js.map +0 -1
  125. package/dist/components/expression-editor/internal/features/commands/register-command-packs.js +0 -215
  126. package/dist/components/expression-editor/internal/features/commands/register-command-packs.js.map +0 -1
  127. package/dist/components/expression-editor/internal/features/drag-drop/drag-drop-service.js +0 -33
  128. package/dist/components/expression-editor/internal/features/drag-drop/drag-drop-service.js.map +0 -1
  129. package/dist/components/expression-editor/internal/features/insertion/insertion-service.js +0 -33
  130. package/dist/components/expression-editor/internal/features/insertion/insertion-service.js.map +0 -1
  131. package/dist/components/expression-editor/nodes/variable-node.js +0 -94
  132. package/dist/components/expression-editor/nodes/variable-node.js.map +0 -1
  133. package/dist/components/expression-editor/parser.js +0 -32
  134. package/dist/components/expression-editor/parser.js.map +0 -1
  135. package/dist/components/expression-editor/plain-text.js +0 -19
  136. package/dist/components/expression-editor/plain-text.js.map +0 -1
  137. package/dist/components/expression-editor/use-context.js +0 -69
  138. package/dist/components/expression-editor/use-context.js.map +0 -1
  139. package/dist/components/expression-editor/use-decorators.js +0 -27
  140. package/dist/components/expression-editor/use-decorators.js.map +0 -1
  141. package/dist/components/expression-editor/use-expression-drag-drop.js +0 -275
  142. package/dist/components/expression-editor/use-expression-drag-drop.js.map +0 -1
  143. package/src/components/batch-edit/batch-edit-new.vue +0 -168
  144. package/src/components/batch-edit/style-new.scss +0 -35
  145. package/src/components/batch-edit/use-edit-new.ts +0 -68
  146. package/src/components/batch-edit/use-tip.ts +0 -47
  147. package/src/components/expression-editor/__test__/architecture-boundaries.test.ts +0 -103
  148. package/src/components/expression-editor/__test__/architecture-compatibility.test.ts +0 -52
  149. package/src/components/expression-editor/__test__/drag-drop.test.ts +0 -171
  150. package/src/components/expression-editor/__test__/parser.test.ts +0 -62
  151. package/src/components/expression-editor/constants.ts +0 -6
  152. package/src/components/expression-editor/internal/contracts/editor-runtime.ts +0 -11
  153. package/src/components/expression-editor/internal/editor-runtime/create-runtime.ts +0 -64
  154. package/src/components/expression-editor/internal/editor-runtime/index.ts +0 -1
  155. package/src/components/expression-editor/internal/editor-runtime/model-sync.ts +0 -68
  156. package/src/components/expression-editor/internal/features/commands/register-command-packs.ts +0 -517
  157. package/src/components/expression-editor/internal/features/drag-drop/drag-drop-service.ts +0 -51
  158. package/src/components/expression-editor/internal/features/insertion/insertion-service.ts +0 -56
  159. package/src/components/expression-editor/nodes/variable-node.tsx +0 -118
  160. package/src/components/expression-editor/parser.ts +0 -46
  161. package/src/components/expression-editor/plain-text.ts +0 -25
  162. package/src/components/expression-editor/plan.md +0 -22
  163. package/src/components/expression-editor/use-context.ts +0 -134
  164. package/src/components/expression-editor/use-decorators.tsx +0 -29
  165. package/src/components/expression-editor/use-editor.ts +0 -12
  166. package/src/components/expression-editor/use-expression-drag-drop.ts +0 -396
@@ -47,22 +47,6 @@
47
47
  .u-expression-editor.is-readonly:hover {
48
48
  border-color: var(--u-border-color);
49
49
  }
50
- .u-expression-editor__tools {
51
- text-align: right;
52
- margin-bottom: var(--u-gap-small);
53
- }
54
- .u-expression-editor__tools > * {
55
- cursor: pointer;
56
- transition: color 0.2s ease;
57
- }
58
- .u-expression-editor__tools > *:hover {
59
- color: var(--u-color-primary);
60
- }
61
- .u-expression-editor__paragraph {
62
- margin: 0;
63
- padding: 0;
64
- line-height: 1.6;
65
- }
66
50
  .u-expression-editor__placeholder {
67
51
  position: absolute;
68
52
  color: var(--u-text-color-placeholder);
@@ -84,209 +68,135 @@
84
68
  .u-expression-editor__container:empty::before {
85
69
  content: "​";
86
70
  }
87
- .u-expression-editor__container .ultra-expression-variable-source {
88
- cursor: grab;
89
- }
90
- .u-expression-editor__container .ultra-expression-variable-source.is-dragging {
91
- opacity: 0.5;
92
- cursor: grabbing;
93
- }
94
- .u-expression-editor__container .expression-editor__drop-indicator {
95
- position: absolute;
96
- width: 2px;
97
- border-radius: 999px;
98
- transform: translateX(-1px);
99
- pointer-events: none;
100
- background-color: var(--u-color-primary);
101
- box-shadow: 0 0 0 1px var(--u-color-primary-light-8);
102
- transition: opacity 0.12s ease;
103
- z-index: 3;
104
- }
105
- .u-expression-editor__fallback {
106
- display: flex;
107
- flex-direction: column;
108
- gap: 6px;
109
- margin-top: 8px;
110
- padding-top: 8px;
111
- border-top: var(--u-border);
112
- }
113
- .u-expression-editor__fallback-item {
114
- display: flex;
115
- align-items: center;
116
- justify-content: space-between;
117
- gap: 8px;
118
- }
119
- .u-expression-editor__fallback-label {
120
- min-width: 0;
121
- flex: 1;
122
- font-size: 12px;
123
- color: var(--u-text-color-main);
124
- overflow: hidden;
125
- text-overflow: ellipsis;
126
- white-space: nowrap;
71
+ .u-expression-editor__container > [data-seg=text] {
72
+ white-space: pre-wrap;
127
73
  }
128
- .u-expression-editor__fallback-actions {
74
+ .u-expression-editor__chip {
129
75
  display: inline-flex;
130
76
  align-items: center;
131
77
  gap: 4px;
132
- flex-shrink: 0;
133
- }
134
- .u-expression-editor__fallback-button {
135
- border: var(--u-border);
136
- border-radius: var(--u-radius-small);
137
- background-color: var(--u-bg-color-top);
138
- color: var(--u-text-color-main);
139
- font-size: 12px;
140
- line-height: 1;
141
- height: 22px;
78
+ margin: 0 2px;
142
79
  padding: 0 8px;
143
- cursor: pointer;
144
- transition: all 0.12s ease;
145
- }
146
- .u-expression-editor__fallback-button:hover:not(:disabled) {
80
+ height: 22px;
81
+ line-height: 1;
82
+ font-size: 12px;
147
83
  color: var(--u-color-primary);
148
- border-color: var(--u-color-primary);
149
84
  background-color: var(--u-color-primary-light-9);
85
+ border-radius: 999px;
86
+ cursor: pointer;
87
+ user-select: none;
88
+ transition: background-color 0.12s ease, box-shadow 0.12s ease;
150
89
  }
151
- .u-expression-editor__fallback-button:disabled {
152
- cursor: not-allowed;
153
- color: var(--u-text-color-placeholder);
154
- border-color: var(--u-border-color);
155
- background-color: var(--u-bg-color-middle);
156
- }
157
- .u-expression-editor--small {
158
- min-height: var(--u-form-component-height-small);
159
- padding: var(--u-gap-small);
160
- }
161
- .u-expression-editor--small .u-expression-editor__placeholder {
162
- top: var(--u-gap-small);
163
- left: var(--u-gap-small);
164
- font-size: var(--u-font-size-main-small);
165
- }
166
- .u-expression-editor--small .u-expression-editor__container {
167
- font-size: var(--u-font-size-main-small);
168
- }
169
- .u-expression-editor--small .u-expression-editor__clear {
170
- font-size: var(--u-font-size-main-small);
171
- }
172
- .u-expression-editor--default {
173
- min-height: var(--u-form-component-height-default);
174
- padding: var(--u-gap-default);
175
- }
176
- .u-expression-editor--default .u-expression-editor__placeholder {
177
- top: var(--u-gap-default);
178
- left: var(--u-gap-default);
179
- font-size: var(--u-font-size-main-default);
180
- }
181
- .u-expression-editor--default .u-expression-editor__container {
182
- font-size: var(--u-font-size-main-default);
90
+ .u-expression-editor__chip:hover {
91
+ color: var(--u-color-primary);
92
+ background-color: var(--u-color-primary-light-8);
93
+ box-shadow: 0 1px 4px var(--u-shadow-color);
183
94
  }
184
- .u-expression-editor--default .u-expression-editor__clear {
185
- font-size: var(--u-font-size-main-default);
95
+ .u-expression-editor__chip:hover .u-expression-editor__chip-close {
96
+ opacity: 1;
97
+ max-width: 14px;
98
+ margin-left: 2px;
186
99
  }
187
- .u-expression-editor--large {
188
- min-height: var(--u-form-component-height-large);
189
- padding: var(--u-gap-large);
190
- }
191
- .u-expression-editor--large .u-expression-editor__placeholder {
192
- top: var(--u-gap-large);
193
- left: var(--u-gap-large);
194
- font-size: var(--u-font-size-main-large);
100
+ .u-expression-editor__chip.is-focused {
101
+ box-shadow: 0 0 0 2px var(--u-color-primary-light-7);
195
102
  }
196
- .u-expression-editor--large .u-expression-editor__container {
197
- font-size: var(--u-font-size-main-large);
103
+ .u-expression-editor__chip-label {
104
+ pointer-events: none;
198
105
  }
199
- .u-expression-editor--large .u-expression-editor__clear {
200
- font-size: var(--u-font-size-main-large);
106
+ .u-expression-editor__chip-close {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ width: 14px;
111
+ max-width: 0;
112
+ margin-left: 0;
113
+ overflow: hidden;
114
+ font-size: 14px;
115
+ line-height: 1;
116
+ color: var(--u-color-primary);
117
+ opacity: 0;
118
+ transition: opacity 0.12s ease, max-width 0.12s ease, margin-left 0.12s ease;
119
+ cursor: pointer;
201
120
  }
202
- .u-expression-editor__variable-empty {
203
- padding: 16px;
204
- text-align: center;
205
- color: var(--u-text-color-second);
206
- font-size: 13px;
207
- font-weight: 500;
121
+ .u-expression-editor__chip-close:hover {
122
+ transform: scale(1.1);
208
123
  }
209
- .u-expression-editor__variable-list {
210
- padding: 6px 0;
211
- margin: 0;
212
- list-style: none;
213
- max-height: 240px;
214
- overflow-y: auto;
124
+ .u-expression-editor__picker {
125
+ min-width: 220px;
215
126
  background-color: var(--u-bg-color-top);
216
127
  }
217
- .u-expression-editor__variable-list::-webkit-scrollbar {
218
- width: 8px;
128
+ .u-expression-editor__picker-body {
129
+ display: flex;
130
+ align-items: stretch;
131
+ min-height: 200px;
219
132
  }
220
- .u-expression-editor__variable-list::-webkit-scrollbar-track {
221
- background-color: var(--u-bg-color-middle);
222
- border-radius: var(--u-radius-small);
133
+ .u-expression-editor__panel {
134
+ flex: 1 1 auto;
135
+ min-width: 0;
136
+ max-height: 320px;
223
137
  }
224
- .u-expression-editor__variable-list::-webkit-scrollbar-thumb {
225
- background-color: var(--u-text-color-placeholder);
226
- border-radius: var(--u-radius-small);
227
- border: 2px solid var(--u-bg-color-middle);
138
+ .u-expression-editor__panel-list {
139
+ height: 100%;
140
+ min-height: 200px;
228
141
  }
229
- .u-expression-editor__variable-list::-webkit-scrollbar-thumb:hover {
230
- background-color: var(--u-text-color-second);
142
+ .u-expression-editor__panel-content {
143
+ padding: 4px 0;
231
144
  }
232
- .u-expression-editor__variable-item {
233
- padding: 8px 14px;
234
- margin: 2px 6px;
145
+ .u-expression-editor__item {
146
+ padding: 6px 12px;
235
147
  cursor: pointer;
236
- transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
237
- border-radius: var(--u-radius-default);
238
- font-size: 13px;
148
+ user-select: none;
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: space-between;
152
+ gap: 8px;
153
+ transition: background-color 0.12s ease, color 0.12s ease;
239
154
  color: var(--u-text-color-main);
240
- font-weight: 500;
241
- }
242
- .u-expression-editor__variable-item:hover {
243
- background-color: var(--u-color-primary-light-9);
244
- color: var(--u-color-primary);
245
- transform: translateX(2px);
155
+ font-size: 13px;
156
+ line-height: 1.4;
157
+ border-radius: var(--u-radius-small);
158
+ margin: 1px 4px;
246
159
  }
247
- .u-expression-editor__variable-item.is-active {
160
+ .u-expression-editor__item.is-active {
248
161
  background-color: var(--u-color-primary);
249
162
  color: var(--u-text-color-white);
250
- font-weight: 600;
251
- box-shadow: 0 2px 4px var(--u-shadow-color);
252
163
  }
253
- .u-expression-editor__filter {
254
- padding: 6px;
255
- border-bottom: var(--u-border);
164
+ .u-expression-editor__item.is-active .u-expression-editor__item-expand {
165
+ color: var(--u-text-color-white);
166
+ }
167
+ .u-expression-editor__item-label {
168
+ flex: 1;
169
+ overflow: hidden;
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
172
+ }
173
+ .u-expression-editor__item-expand {
174
+ flex-shrink: 0;
175
+ color: var(--u-text-color-placeholder);
176
+ font-size: 12px;
177
+ }
178
+ .u-expression-editor__empty {
179
+ flex: 1;
180
+ padding: 32px 16px;
181
+ text-align: center;
256
182
  }
257
183
  .u-expression-editor__breadcrumbs {
258
184
  display: flex;
259
185
  align-items: center;
186
+ flex-wrap: wrap;
260
187
  padding: 6px 10px;
261
188
  border-bottom: var(--u-border);
262
- background-color: var(--u-bg-color-middle);
263
189
  font-size: 12px;
264
190
  color: var(--u-text-color-second);
265
- overflow-x: auto;
266
- white-space: nowrap;
267
- }
268
- .u-expression-editor__breadcrumbs::-webkit-scrollbar {
269
- height: 4px;
270
- }
271
- .u-expression-editor__breadcrumbs::-webkit-scrollbar-track {
272
- background-color: transparent;
273
- }
274
- .u-expression-editor__breadcrumbs::-webkit-scrollbar-thumb {
275
- background-color: var(--u-border-color);
276
- border-radius: 2px;
277
- }
278
- .u-expression-editor__breadcrumbs::-webkit-scrollbar-thumb:hover {
279
- background-color: var(--u-text-color-placeholder);
280
191
  }
281
192
  .u-expression-editor__breadcrumb-item {
282
- display: flex;
193
+ display: inline-flex;
283
194
  align-items: center;
284
195
  gap: 4px;
285
196
  }
286
197
  .u-expression-editor__breadcrumb-link {
287
198
  cursor: pointer;
288
- transition: all 0.15s ease;
289
- font-weight: 500;
199
+ transition: color 0.12s ease, background-color 0.12s ease;
290
200
  padding: 2px 6px;
291
201
  border-radius: var(--u-radius-small);
292
202
  }
@@ -301,59 +211,76 @@
301
211
  .u-expression-editor__breadcrumb-separator {
302
212
  font-size: 10px;
303
213
  color: var(--u-text-color-placeholder);
304
- margin: 0 2px;
305
214
  }
306
- .u-expression-editor__panel {
307
- min-height: 200px;
308
- max-height: 360px;
215
+ .u-expression-editor__path-preview {
216
+ flex: 0 0 200px;
217
+ border-left: var(--u-border);
218
+ padding: 8px 12px;
219
+ background-color: var(--u-bg-color-middle);
220
+ font-size: 12px;
309
221
  }
310
- .u-expression-editor__panel-list {
311
- height: 100%;
312
- min-height: 200px;
222
+ .u-expression-editor__path-preview-title {
223
+ color: var(--u-text-color-second);
224
+ margin-bottom: 6px;
225
+ font-weight: 600;
313
226
  }
314
- .u-expression-editor__panel-content {
315
- padding: 2px 0;
227
+ .u-expression-editor__path-tree {
228
+ list-style: none;
229
+ margin: 0;
230
+ padding: 0;
316
231
  }
317
- .u-expression-editor__item {
318
- padding: 5px 10px;
319
- cursor: pointer;
320
- user-select: none;
232
+ .u-expression-editor__path-tree-item {
321
233
  display: flex;
322
234
  align-items: center;
323
- justify-content: space-between;
324
- gap: 8px;
325
- transition: all 0.12s ease;
235
+ gap: 4px;
236
+ line-height: 1.6;
326
237
  color: var(--u-text-color-main);
327
- font-size: 13px;
328
- line-height: 1.4;
329
- border-radius: var(--u-radius-small);
330
- margin: 1px 4px;
331
238
  }
332
- .u-expression-editor__item:hover {
333
- background-color: var(--u-bg-color-hover);
334
- }
335
- .u-expression-editor__item.is-active {
336
- background-color: var(--u-color-primary);
337
- color: var(--u-text-color-white);
338
- font-weight: 500;
339
- box-shadow: 0 1px 3px var(--u-shadow-color);
239
+ .u-expression-editor__path-tree-item.is-active {
240
+ color: var(--u-color-primary);
241
+ font-weight: 600;
340
242
  }
341
- .u-expression-editor__item.is-active .u-expression-editor__item-expand {
342
- color: var(--u-text-color-white);
243
+ .u-expression-editor__path-tree-branch {
244
+ color: var(--u-text-color-placeholder);
343
245
  }
344
- .u-expression-editor__item-label {
345
- flex: 1;
246
+ .u-expression-editor__path-tree-label {
346
247
  overflow: hidden;
347
248
  text-overflow: ellipsis;
348
249
  white-space: nowrap;
349
250
  }
350
- .u-expression-editor__item-expand {
351
- flex-shrink: 0;
352
- color: var(--u-text-color-placeholder);
353
- font-size: 11px;
354
- transition: color 0.15s ease;
251
+ .u-expression-editor--small {
252
+ min-height: var(--u-form-component-height-small);
253
+ padding: var(--u-gap-small);
355
254
  }
356
- .u-expression-editor__empty {
357
- padding: 40px 20px;
358
- text-align: center;
255
+ .u-expression-editor--small .u-expression-editor__placeholder {
256
+ top: var(--u-gap-small);
257
+ left: var(--u-gap-small);
258
+ font-size: var(--u-font-size-main-small);
259
+ }
260
+ .u-expression-editor--small .u-expression-editor__container {
261
+ font-size: var(--u-font-size-main-small);
262
+ }
263
+ .u-expression-editor--default {
264
+ min-height: var(--u-form-component-height-default);
265
+ padding: var(--u-gap-default);
266
+ }
267
+ .u-expression-editor--default .u-expression-editor__placeholder {
268
+ top: var(--u-gap-default);
269
+ left: var(--u-gap-default);
270
+ font-size: var(--u-font-size-main-default);
271
+ }
272
+ .u-expression-editor--default .u-expression-editor__container {
273
+ font-size: var(--u-font-size-main-default);
274
+ }
275
+ .u-expression-editor--large {
276
+ min-height: var(--u-form-component-height-large);
277
+ padding: var(--u-gap-large);
278
+ }
279
+ .u-expression-editor--large .u-expression-editor__placeholder {
280
+ top: var(--u-gap-large);
281
+ left: var(--u-gap-large);
282
+ font-size: var(--u-font-size-main-large);
283
+ }
284
+ .u-expression-editor--large .u-expression-editor__container {
285
+ font-size: var(--u-font-size-main-large);
359
286
  }
@@ -68,34 +68,34 @@ import _sfc_main$52 from "./expression-editor/expression-editor.js";
68
68
  import _sfc_main$53 from "./watermark/watermark.js";
69
69
  import _sfc_main$54 from "./pop-confirm/pop-confirm.js";
70
70
  import _sfc_main$55 from "./action/action.js";
71
- import action_group_default from "./action/action-group.js";
72
- import _sfc_main$56 from "./batch-edit/batch-edit.js";
71
+ import _sfc_main$56 from "./action/action-group.js";
72
+ import _sfc_main$57 from "./batch-edit/batch-edit.js";
73
73
  import { defineBatchEditColumns } from "./batch-edit/helper.js";
74
- import _sfc_main$57 from "./textarea/textarea.js";
75
- import _sfc_main$58 from "./cascade/cascade.js";
76
- import _sfc_main$59 from "./steps/steps.js";
77
- import _sfc_main$60 from "./date-picker/date-picker.js";
78
- import _sfc_main$61 from "./palette/palette.js";
79
- import _sfc_main$62 from "./select/select.js";
80
- import _sfc_main$63 from "./theme/theme.js";
81
- import _sfc_main$64 from "./multi-tree-select/multi-tree-select.js";
82
- import _sfc_main$65 from "./group-input/group-input.js";
83
- import _sfc_main$66 from "./list/list.js";
84
- import _sfc_main$67 from "./list/list-item.js";
85
- import _sfc_main$68 from "./rich-text-editor/rich-text-editor.js";
86
- import _sfc_main$69 from "./menu/menu-item.js";
87
- import _sfc_main$70 from "./menu/menu-sub.js";
88
- import _sfc_main$71 from "./menu/menu.js";
89
- import _sfc_main$72 from "./grid-input/grid-input.js";
90
- import _sfc_main$73 from "./switch/switch.js";
91
- import _sfc_main$74 from "./radio-group/radio-group.js";
92
- import _sfc_main$75 from "./checkbox-group/checkbox-group.js";
93
- import _sfc_main$76 from "./file-viewer/file-viewer.js";
94
- import _sfc_main$77 from "./text/text.js";
95
- import _sfc_main$78 from "./breadcrumb/breadcrumb.js";
96
- import _sfc_main$79 from "./paginator/paginator.js";
97
- import _sfc_main$80 from "./float-button/float-button.js";
98
- import _sfc_main$81 from "./badge/badge.js";
74
+ import _sfc_main$58 from "./textarea/textarea.js";
75
+ import _sfc_main$59 from "./cascade/cascade.js";
76
+ import _sfc_main$60 from "./steps/steps.js";
77
+ import _sfc_main$61 from "./date-picker/date-picker.js";
78
+ import _sfc_main$62 from "./palette/palette.js";
79
+ import _sfc_main$63 from "./select/select.js";
80
+ import _sfc_main$64 from "./theme/theme.js";
81
+ import _sfc_main$65 from "./multi-tree-select/multi-tree-select.js";
82
+ import _sfc_main$66 from "./group-input/group-input.js";
83
+ import _sfc_main$67 from "./list/list.js";
84
+ import _sfc_main$68 from "./list/list-item.js";
85
+ import _sfc_main$69 from "./rich-text-editor/rich-text-editor.js";
86
+ import _sfc_main$70 from "./menu/menu-item.js";
87
+ import _sfc_main$71 from "./menu/menu-sub.js";
88
+ import _sfc_main$72 from "./menu/menu.js";
89
+ import _sfc_main$73 from "./grid-input/grid-input.js";
90
+ import _sfc_main$74 from "./switch/switch.js";
91
+ import _sfc_main$75 from "./radio-group/radio-group.js";
92
+ import _sfc_main$76 from "./checkbox-group/checkbox-group.js";
93
+ import _sfc_main$77 from "./file-viewer/file-viewer.js";
94
+ import _sfc_main$78 from "./text/text.js";
95
+ import _sfc_main$79 from "./breadcrumb/breadcrumb.js";
96
+ import _sfc_main$80 from "./paginator/paginator.js";
97
+ import _sfc_main$81 from "./float-button/float-button.js";
98
+ import _sfc_main$82 from "./badge/badge.js";
99
99
  //#region src/components/index.ts
100
100
  var components_exports = /* @__PURE__ */ __exportAll({
101
101
  DynamicFormModel: () => DynamicFormModel,
@@ -103,11 +103,11 @@ var components_exports = /* @__PURE__ */ __exportAll({
103
103
  MessageConfirm: () => MessageConfirm,
104
104
  Notification: () => Notification,
105
105
  UAction: () => _sfc_main$55,
106
- UActionGroup: () => action_group_default,
106
+ UActionGroup: () => _sfc_main$56,
107
107
  UAutoComplete: () => _sfc_main$30,
108
- UBadge: () => _sfc_main$81,
109
- UBatchEdit: () => _sfc_main$56,
110
- UBreadcrumb: () => _sfc_main$78,
108
+ UBadge: () => _sfc_main$82,
109
+ UBatchEdit: () => _sfc_main$57,
110
+ UBreadcrumb: () => _sfc_main$79,
111
111
  UButton: () => _sfc_main$16,
112
112
  UButtonGroup: () => _sfc_main$17,
113
113
  UCalendar: () => _sfc_main$19,
@@ -116,18 +116,18 @@ var components_exports = /* @__PURE__ */ __exportAll({
116
116
  UCardContent: () => _sfc_main$24,
117
117
  UCardCover: () => _sfc_main$23,
118
118
  UCardHeader: () => _sfc_main$22,
119
- UCascade: () => _sfc_main$58,
119
+ UCascade: () => _sfc_main$59,
120
120
  UCheckTag: () => _sfc_main$47,
121
121
  UCheckbox: () => _sfc_main$7,
122
122
  UCheckboxButton: () => _sfc_main$35,
123
- UCheckboxGroup: () => _sfc_main$75,
123
+ UCheckboxGroup: () => _sfc_main$76,
124
124
  UCodeEditor: () => _sfc_main$11,
125
125
  UCollapse: () => _sfc_main$43,
126
126
  UCollapseItem: () => _sfc_main$44,
127
127
  UConditionEditor: () => _sfc_main,
128
128
  UContextMenu: () => _sfc_main$48,
129
129
  UDatePanel: () => _sfc_main$26,
130
- UDatePicker: () => _sfc_main$60,
130
+ UDatePicker: () => _sfc_main$61,
131
131
  UDateRangePicker: () => _sfc_main$27,
132
132
  UDialog: () => _sfc_main$51,
133
133
  UDrawer: () => _sfc_main$12,
@@ -135,56 +135,56 @@ var components_exports = /* @__PURE__ */ __exportAll({
135
135
  UEmpty: () => _sfc_main$6,
136
136
  UExpressionEditor: () => _sfc_main$52,
137
137
  UFilePicker: () => _sfc_main$40,
138
- UFileViewer: () => _sfc_main$76,
139
- UFloatButton: () => _sfc_main$80,
138
+ UFileViewer: () => _sfc_main$77,
139
+ UFloatButton: () => _sfc_main$81,
140
140
  UForm: () => form_default,
141
141
  UFormItem: () => form_item_default,
142
142
  UGanttChart: () => _sfc_main$38,
143
143
  UGrid: () => _sfc_main$13,
144
- UGridInput: () => _sfc_main$72,
144
+ UGridInput: () => _sfc_main$73,
145
145
  UGridItem: () => _sfc_main$14,
146
- UGroupInput: () => _sfc_main$65,
146
+ UGroupInput: () => _sfc_main$66,
147
147
  UIcon: () => _sfc_main$2,
148
148
  UInput: () => input_default,
149
149
  ULayout: () => _sfc_main$33,
150
- UList: () => _sfc_main$66,
151
- UListItem: () => _sfc_main$67,
150
+ UList: () => _sfc_main$67,
151
+ UListItem: () => _sfc_main$68,
152
152
  ULoading: () => _sfc_main$28,
153
- UMenu: () => _sfc_main$71,
154
- UMenuItem: () => _sfc_main$69,
155
- UMenuSub: () => _sfc_main$70,
153
+ UMenu: () => _sfc_main$72,
154
+ UMenuItem: () => _sfc_main$70,
155
+ UMenuSub: () => _sfc_main$71,
156
156
  UMessage: () => _sfc_main$39,
157
157
  UMessageConfirm: () => _sfc_main$18,
158
158
  UMultiSelect: () => _sfc_main$36,
159
- UMultiTreeSelect: () => _sfc_main$64,
159
+ UMultiTreeSelect: () => _sfc_main$65,
160
160
  UNodeRender: () => NodeRender,
161
161
  UNotification: () => _sfc_main$32,
162
162
  UNumber: () => _sfc_main$50,
163
163
  UNumberInput: () => _sfc_main$41,
164
164
  UNumberRangeInput: () => _sfc_main$42,
165
- UPaginator: () => _sfc_main$79,
166
- UPalette: () => _sfc_main$61,
165
+ UPaginator: () => _sfc_main$80,
166
+ UPalette: () => _sfc_main$62,
167
167
  UPasswordInput: () => _sfc_main$49,
168
168
  UPopConfirm: () => _sfc_main$54,
169
169
  UProgress: () => _sfc_main$31,
170
170
  UProgressNodes: () => _sfc_main$29,
171
171
  URadio: () => _sfc_main$20,
172
- URadioGroup: () => _sfc_main$74,
173
- URichTextEditor: () => _sfc_main$68,
172
+ URadioGroup: () => _sfc_main$75,
173
+ URichTextEditor: () => _sfc_main$69,
174
174
  UScroll: () => _sfc_main$1,
175
- USelect: () => _sfc_main$62,
175
+ USelect: () => _sfc_main$63,
176
176
  USlider: () => _sfc_main$37,
177
- USteps: () => _sfc_main$59,
178
- USwitch: () => _sfc_main$73,
177
+ USteps: () => _sfc_main$60,
178
+ USwitch: () => _sfc_main$74,
179
179
  UTable: () => _sfc_main$45,
180
180
  UTableEditor: () => _sfc_main$46,
181
181
  UTabs: () => _sfc_main$5,
182
182
  UTabsHorizontal: () => _sfc_main$3,
183
183
  UTabsVertical: () => _sfc_main$4,
184
184
  UTag: () => _sfc_main$34,
185
- UText: () => _sfc_main$77,
186
- UTextarea: () => _sfc_main$57,
187
- UTheme: () => _sfc_main$63,
185
+ UText: () => _sfc_main$78,
186
+ UTextarea: () => _sfc_main$58,
187
+ UTheme: () => _sfc_main$64,
188
188
  UTip: () => _sfc_main$15,
189
189
  UTree: () => _sfc_main$8,
190
190
  UTreeSelect: () => _sfc_main$10,
@@ -24,7 +24,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  templateCols.value = [];
25
25
  return;
26
26
  }
27
- templateCols.value = typeof cols === "string" ? cols.split(" ") : cols;
27
+ templateCols.value = typeof cols === "string" ? cols.split(" ") : [...cols];
28
28
  });
29
29
  const style = computed(() => {
30
30
  const { rows, gap, resizable } = props;
@@ -64,19 +64,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
64
64
  });
65
65
  }
66
66
  });
67
- let prevSize = "0";
68
- let nextSize = "0";
67
+ let prevSize = 0;
68
+ let nextSize = 0;
69
69
  const handleStartResize = (index) => {
70
- prevSize = templateCols.value[index];
71
- nextSize = templateCols.value[index + 1];
72
- if (!prevSize.endsWith("px") && !nextSize.endsWith("px")) {
73
- const rect = containerRef.value?.children[index + 1]?.getBoundingClientRect();
74
- if (rect) nextSize = rect.width + "px";
75
- }
70
+ const container = containerRef.value;
71
+ if (!container) return;
72
+ const prevDom = container.children[index];
73
+ const nextDom = container.children[index + 1];
74
+ prevSize = prevDom ? prevDom.getBoundingClientRect().width : 0;
75
+ nextSize = nextDom ? nextDom.getBoundingClientRect().width : 0;
76
76
  };
77
77
  const handleResize = (offset, index) => {
78
- if (prevSize?.endsWith("px")) templateCols.value[index] = `${parseInt(prevSize) + offset}px`;
79
- if (nextSize?.endsWith("px")) templateCols.value[index + 1] = `${parseInt(nextSize) - offset}px`;
78
+ const clamped = Math.max(-prevSize, Math.min(nextSize, offset));
79
+ templateCols.value[index] = `${prevSize + clamped}px`;
80
+ templateCols.value[index + 1] = `${nextSize - clamped}px`;
80
81
  };
81
82
  provide(LayoutDIKey, { cls });
82
83
  return (_ctx, _cache) => {