@veltra/desktop 1.2.24 → 1.2.25

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 (87) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action.vue.d.ts +1 -1
  3. package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
  4. package/dist/components/cascade/cascade.js +5 -3
  5. package/dist/components/cascade/cascade.js.map +1 -1
  6. package/dist/components/cascade/cascade.vue.d.ts +3 -3
  7. package/dist/components/cascade/use-data-map.js +2 -1
  8. package/dist/components/cascade/use-data-map.js.map +1 -1
  9. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  10. package/dist/components/checkbox-group/checkbox-group.js +10 -10
  11. package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
  12. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +2 -2
  13. package/dist/components/code-editor/basic-setup.js +2 -1
  14. package/dist/components/code-editor/basic-setup.js.map +1 -1
  15. package/dist/components/code-editor/code-editor.js +136 -79
  16. package/dist/components/code-editor/code-editor.js.map +1 -1
  17. package/dist/components/code-editor/code-editor.vue.d.ts +10 -2
  18. package/dist/components/code-editor/shell-extension.js +139 -0
  19. package/dist/components/code-editor/shell-extension.js.map +1 -0
  20. package/dist/components/code-editor/style.js +1 -0
  21. package/dist/components/code-editor/style2.css +15 -11
  22. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  23. package/dist/components/date-picker/date-picker.vue.d.ts +2 -2
  24. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +2 -2
  25. package/dist/components/empty/empty.vue.d.ts +1 -1
  26. package/dist/components/input/input.vue.d.ts +2 -2
  27. package/dist/components/multi-select/multi-select.js +31 -36
  28. package/dist/components/multi-select/multi-select.js.map +1 -1
  29. package/dist/components/multi-select/multi-select.vue.d.ts +2 -2
  30. package/dist/components/multi-tree-select/multi-tree-select.js +8 -6
  31. package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -1
  32. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +2 -2
  33. package/dist/components/number-input/number-input.vue.d.ts +2 -2
  34. package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
  35. package/dist/components/password-input/password-input.vue.d.ts +1 -1
  36. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  37. package/dist/components/progress-nodes/progress-nodes.js +6 -4
  38. package/dist/components/progress-nodes/progress-nodes.js.map +1 -1
  39. package/dist/components/radio-group/radio-group.js +8 -6
  40. package/dist/components/radio-group/radio-group.js.map +1 -1
  41. package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
  42. package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +1 -1
  43. package/dist/components/select/select.js +13 -13
  44. package/dist/components/select/select.js.map +1 -1
  45. package/dist/components/select/select.vue.d.ts +2 -2
  46. package/dist/components/select/use-options.js +7 -4
  47. package/dist/components/select/use-options.js.map +1 -1
  48. package/dist/components/steps/steps.js +3 -2
  49. package/dist/components/steps/steps.js.map +1 -1
  50. package/dist/components/steps/steps.vue.d.ts +2 -2
  51. package/dist/components/textarea/textarea.vue.d.ts +2 -2
  52. package/dist/components/tip/tip.vue.d.ts +1 -1
  53. package/dist/components/tree/use-check.js +2 -1
  54. package/dist/components/tree/use-check.js.map +1 -1
  55. package/dist/components/tree/use-select.js +3 -1
  56. package/dist/components/tree/use-select.js.map +1 -1
  57. package/dist/components/tree/use-tree-nodes.js +4 -1
  58. package/dist/components/tree/use-tree-nodes.js.map +1 -1
  59. package/dist/components/tree-select/tree-select.js +6 -4
  60. package/dist/components/tree-select/tree-select.js.map +1 -1
  61. package/dist/components/tree-select/tree-select.vue.d.ts +2 -2
  62. package/dist/components/watermark/watermark.vue.d.ts +1 -1
  63. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js +12 -1
  64. package/dist/node_modules/.bun/@codemirror_commands@6.10.4/node_modules/@codemirror/commands/dist/index.js.map +1 -1
  65. package/dist/style.js +1 -1
  66. package/dist/types/code-editor.d.ts +13 -2
  67. package/package.json +6 -6
  68. package/src/components/cascade/cascade.vue +6 -3
  69. package/src/components/cascade/use-data-map.ts +3 -2
  70. package/src/components/checkbox-group/checkbox-group.vue +10 -8
  71. package/src/components/code-editor/basic-setup.ts +3 -1
  72. package/src/components/code-editor/code-editor.vue +154 -96
  73. package/src/components/code-editor/shell-extension.ts +199 -0
  74. package/src/components/code-editor/style.scss +20 -13
  75. package/src/components/code-editor/style.ts +1 -0
  76. package/src/components/multi-select/multi-select.vue +31 -30
  77. package/src/components/multi-tree-select/multi-tree-select.vue +5 -2
  78. package/src/components/progress-nodes/progress-nodes.vue +7 -4
  79. package/src/components/radio-group/radio-group.vue +5 -1
  80. package/src/components/select/select.vue +13 -11
  81. package/src/components/select/use-options.ts +7 -4
  82. package/src/components/steps/steps.vue +3 -1
  83. package/src/components/tree/use-check.ts +2 -1
  84. package/src/components/tree/use-select.ts +3 -1
  85. package/src/components/tree/use-tree-nodes.ts +5 -9
  86. package/src/components/tree-select/tree-select.vue +7 -4
  87. package/src/types/code-editor.ts +13 -2
@@ -1,3 +1,4 @@
1
+ import { fieldKey } from '@veltra/utils'
1
2
  import { nextTick, shallowRef, watch, type ComputedRef, type ShallowRef } from 'vue'
2
3
 
3
4
  import type { TreeEmit, TreeProps } from '../../types'
@@ -55,7 +56,8 @@ export function useSelect(options: Options): UseSelectReturned {
55
56
  if (node.disabled) return
56
57
  selectedData.value = node.data === selectedData.value ? undefined : node.data
57
58
 
58
- emit('update:selected', selectedData.value?.[props.valueKey!], selectedData.value, node)
59
+ const valueKey = fieldKey(props.valueKey, 'value')
60
+ emit('update:selected', selectedData.value?.[valueKey], selectedData.value, node)
59
61
 
60
62
  nextTick(() => {
61
63
  selectByEvent = false
@@ -1,4 +1,5 @@
1
1
  import { Forest } from '@cat-kit/core'
2
+ import { fieldKey } from '@veltra/utils'
2
3
  import { computed, shallowRef, triggerRef, watch, type ShallowRef, type ComputedRef } from 'vue'
3
4
 
4
5
  import type { TreeProps } from '../../types'
@@ -36,8 +37,10 @@ export function useTreeNodes(options: Options): UseTreeNodesReturned {
36
37
  const nodes = shallowRef<TreeNode[]>([])
37
38
 
38
39
  function buildForest(): Forest<Record<string, unknown>, any> {
39
- const { disabledNode, expandAll = false, valueKey, labelKey } = props
40
+ const { disabledNode, expandAll = false } = props
40
41
  const childrenKey = props.childrenKey ?? 'children'
42
+ const valueKey = fieldKey(props.valueKey, 'value')
43
+ const labelKey = fieldKey(props.labelKey, 'label')
41
44
 
42
45
  function createNode(
43
46
  data: Record<string, any>,
@@ -45,14 +48,7 @@ export function useTreeNodes(options: Options): UseTreeNodesReturned {
45
48
  depth: number,
46
49
  parent?: TreeNode
47
50
  ): TreeNode {
48
- const node = new TreeNode({
49
- data,
50
- index,
51
- depth,
52
- parent,
53
- valueKey: valueKey!,
54
- labelKey: labelKey!
55
- })
51
+ const node = new TreeNode({ data, index, depth, parent, valueKey, labelKey })
56
52
  node.expanded = expandAll
57
53
  return node
58
54
  }
@@ -63,7 +63,7 @@
63
63
  import { dfs, o } from '@cat-kit/core'
64
64
  import { useFormFallbackProps } from '@veltra/compositions'
65
65
  import { ArrowDown, Search } from '@veltra/icons/normal'
66
- import { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'
66
+ import { bem, fieldKey, FORM_EMPTY_CONTENT } from '@veltra/utils'
67
67
  import { injectFormContext } from '@veltra/utils'
68
68
  import { computed, nextTick, shallowRef, watch } from 'vue'
69
69
 
@@ -114,6 +114,9 @@ const treeProps = computed(() => {
114
114
 
115
115
  const cls = bem('tree-select')
116
116
 
117
+ const labelKey = computed(() => fieldKey(props.labelKey, 'label'))
118
+ const valueKey = computed(() => fieldKey(props.valueKey, 'value'))
119
+
117
120
  /**过滤 */
118
121
  const qs = shallowRef('')
119
122
  watch(qs, (qs) => {
@@ -158,8 +161,8 @@ watch(
158
161
  dfs(
159
162
  item,
160
163
  (v) => {
161
- if (v[props.valueKey] === model) {
162
- label.value = v[props.labelKey]
164
+ if (v[valueKey.value] === model) {
165
+ label.value = v[labelKey.value]
163
166
  founded = true
164
167
  return true
165
168
  }
@@ -182,7 +185,7 @@ const handleSelect = (selected?: string | number, selectedData?: Record<string,
182
185
  model.value = selected ?? ''
183
186
 
184
187
  if (selectedData) {
185
- label.value = o(selectedData).get(props.labelKey)
188
+ label.value = o(selectedData).get(labelKey.value)
186
189
  } else {
187
190
  label.value = ''
188
191
  }
@@ -5,8 +5,16 @@ export type CodeEditorLang = 'js' | 'sql' | 'java' | 'json'
5
5
  /** 代码编辑器组件属性(不支持 `size`) */
6
6
  export interface CodeEditorProps extends Omit<FormComponentProps, 'size'> {
7
7
  modelValue?: string
8
- /** 定义语言 */
9
- language?: CodeEditorLang
8
+ /**
9
+ * 可选语言列表。长度大于 1 时在编辑器右上角显示内置语言选择器
10
+ */
11
+ langs?: CodeEditorLang[]
12
+ /** 当前语言,配合 `v-model:lang` 使用 */
13
+ lang?: CodeEditorLang
14
+ /** 不可编辑的前缀外壳(展示在编辑器内,不计入 v-model) */
15
+ prefix?: string
16
+ /** 不可编辑的后缀外壳(展示在编辑器内,不计入 v-model) */
17
+ suffix?: string
10
18
  /** 是否使用暗色主题 */
11
19
  dark?: boolean
12
20
  /**
@@ -19,6 +27,9 @@ export interface CodeEditorProps extends Omit<FormComponentProps, 'size'> {
19
27
  /** 代码编辑器组件定义的事件 */
20
28
  export interface CodeEditorEmits {
21
29
  (e: 'update:modelValue', value: string): void
30
+ (e: 'update:lang', value: CodeEditorLang | undefined): void
31
+ /** 在编辑器失焦且内容有变更时触发 */
32
+ (e: 'change', value: string): void
22
33
  }
23
34
 
24
35
  /** 代码编辑器组件暴露的属性和方法(组件内部使用) */