@shwfed/config 3.0.2 → 3.0.4

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 (53) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.d.vue.ts +53 -0
  3. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.vue +174 -0
  4. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.vue.d.ts +53 -0
  5. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/runtime.d.vue.ts +8 -0
  6. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/runtime.vue +90 -0
  7. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/runtime.vue.d.ts +8 -0
  8. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/schema.d.ts +49 -0
  9. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/schema.js +90 -0
  10. package/dist/runtime/components/actions/components/triggers-field.d.vue.ts +9 -0
  11. package/dist/runtime/components/actions/components/triggers-field.vue +13 -15
  12. package/dist/runtime/components/actions/components/triggers-field.vue.d.ts +9 -0
  13. package/dist/runtime/components/actions/utils/steps.d.ts +26 -0
  14. package/dist/runtime/components/actions/utils/steps.js +9 -0
  15. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +68 -68
  16. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +68 -68
  17. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +68 -68
  18. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +68 -68
  19. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +34 -34
  20. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.d.vue.ts +22 -22
  21. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/config.vue.d.ts +22 -22
  22. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +22 -22
  23. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +22 -22
  24. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +55 -51
  25. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +54 -50
  26. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  27. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  28. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  29. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  30. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  31. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  32. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  33. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  34. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  35. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  36. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +52 -48
  37. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  38. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  39. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +51 -47
  40. package/dist/runtime/components/table/schema.d.ts +68 -68
  41. package/dist/runtime/components/ui/command/CommandList.d.vue.ts +2 -2
  42. package/dist/runtime/components/ui/command/CommandList.vue +12 -4
  43. package/dist/runtime/components/ui/command/CommandList.vue.d.ts +2 -2
  44. package/dist/runtime/components/ui/expression-editor/ExpressionEditor.vue +1 -1
  45. package/dist/runtime/components/ui/input-group/InputGroupCombobox.d.vue.ts +2 -2
  46. package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue +6 -0
  47. package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue.d.ts +2 -2
  48. package/dist/runtime/components/ui/scroll-area/ScrollArea.d.vue.ts +1 -0
  49. package/dist/runtime/components/ui/scroll-area/ScrollArea.vue +9 -3
  50. package/dist/runtime/components/ui/scroll-area/ScrollArea.vue.d.ts +1 -0
  51. package/dist/runtime/share/event-bus.d.ts +9 -1
  52. package/dist/runtime/share/event-bus.js +4 -4
  53. package/package.json +1 -1
@@ -43,7 +43,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
43
43
  readonly data: string;
44
44
  readonly request?: string | undefined;
45
45
  };
46
- readonly enableSorting?: boolean | undefined;
47
46
  readonly nodeKey: string;
48
47
  readonly nodeChildren: string;
49
48
  readonly nodeLabel: readonly [{
@@ -53,6 +52,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
52
  readonly locale: "en" | "ja" | "ko";
54
53
  readonly message: string;
55
54
  }[]];
55
+ readonly enableSorting?: boolean | undefined;
56
56
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
57
57
  readonly nodeTooltip?: readonly [{
58
58
  readonly locale: "zh";
@@ -106,7 +106,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
106
106
  readonly data: string;
107
107
  readonly request?: string | undefined;
108
108
  };
109
- readonly enableSorting?: boolean | undefined;
110
109
  readonly nodeKey: string;
111
110
  readonly nodeChildren: string;
112
111
  readonly nodeLabel: readonly [{
@@ -116,6 +115,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
116
115
  readonly locale: "en" | "ja" | "ko";
117
116
  readonly message: string;
118
117
  }[]];
118
+ readonly enableSorting?: boolean | undefined;
119
119
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
120
120
  readonly nodeTooltip?: readonly [{
121
121
  readonly locale: "zh";
@@ -43,7 +43,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
43
43
  readonly data: string;
44
44
  readonly request?: string | undefined;
45
45
  };
46
- readonly enableSorting?: boolean | undefined;
47
46
  readonly nodeKey: string;
48
47
  readonly nodeChildren: string;
49
48
  readonly nodeLabel: readonly [{
@@ -53,6 +52,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
52
  readonly locale: "en" | "ja" | "ko";
54
53
  readonly message: string;
55
54
  }[]];
55
+ readonly enableSorting?: boolean | undefined;
56
56
  readonly nodeTooltip?: readonly [{
57
57
  readonly locale: "zh";
58
58
  readonly message: string;
@@ -105,7 +105,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
105
105
  readonly data: string;
106
106
  readonly request?: string | undefined;
107
107
  };
108
- readonly enableSorting?: boolean | undefined;
109
108
  readonly nodeKey: string;
110
109
  readonly nodeChildren: string;
111
110
  readonly nodeLabel: readonly [{
@@ -115,6 +114,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
115
114
  readonly locale: "en" | "ja" | "ko";
116
115
  readonly message: string;
117
116
  }[]];
117
+ readonly enableSorting?: boolean | undefined;
118
118
  readonly nodeTooltip?: readonly [{
119
119
  readonly locale: "zh";
120
120
  readonly message: string;
@@ -43,7 +43,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
43
43
  readonly data: string;
44
44
  readonly request?: string | undefined;
45
45
  };
46
- readonly enableSorting?: boolean | undefined;
47
46
  readonly nodeKey: string;
48
47
  readonly nodeChildren: string;
49
48
  readonly nodeLabel: readonly [{
@@ -53,6 +52,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
52
  readonly locale: "en" | "ja" | "ko";
54
53
  readonly message: string;
55
54
  }[]];
55
+ readonly enableSorting?: boolean | undefined;
56
56
  readonly nodeTooltip?: readonly [{
57
57
  readonly locale: "zh";
58
58
  readonly message: string;
@@ -105,7 +105,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
105
105
  readonly data: string;
106
106
  readonly request?: string | undefined;
107
107
  };
108
- readonly enableSorting?: boolean | undefined;
109
108
  readonly nodeKey: string;
110
109
  readonly nodeChildren: string;
111
110
  readonly nodeLabel: readonly [{
@@ -115,6 +114,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
115
114
  readonly locale: "en" | "ja" | "ko";
116
115
  readonly message: string;
117
116
  }[]];
117
+ readonly enableSorting?: boolean | undefined;
118
118
  readonly nodeTooltip?: readonly [{
119
119
  readonly locale: "zh";
120
120
  readonly message: string;
@@ -44,7 +44,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
44
44
  readonly data: string;
45
45
  readonly request?: string | undefined;
46
46
  };
47
- readonly enableSorting?: boolean | undefined;
48
47
  readonly nodeKey: string;
49
48
  readonly nodeChildren: string;
50
49
  readonly nodeLabel: readonly [{
@@ -54,6 +53,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
53
  readonly locale: "en" | "ja" | "ko";
55
54
  readonly message: string;
56
55
  }[]];
56
+ readonly enableSorting?: boolean | undefined;
57
57
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
58
58
  readonly nodeTooltip?: readonly [{
59
59
  readonly locale: "zh";
@@ -108,7 +108,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly data: string;
109
109
  readonly request?: string | undefined;
110
110
  };
111
- readonly enableSorting?: boolean | undefined;
112
111
  readonly nodeKey: string;
113
112
  readonly nodeChildren: string;
114
113
  readonly nodeLabel: readonly [{
@@ -118,6 +117,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
118
117
  readonly locale: "en" | "ja" | "ko";
119
118
  readonly message: string;
120
119
  }[]];
120
+ readonly enableSorting?: boolean | undefined;
121
121
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
122
122
  readonly nodeTooltip?: readonly [{
123
123
  readonly locale: "zh";
@@ -44,7 +44,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
44
44
  readonly data: string;
45
45
  readonly request?: string | undefined;
46
46
  };
47
- readonly enableSorting?: boolean | undefined;
48
47
  readonly nodeKey: string;
49
48
  readonly nodeChildren: string;
50
49
  readonly nodeLabel: readonly [{
@@ -54,6 +53,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
53
  readonly locale: "en" | "ja" | "ko";
55
54
  readonly message: string;
56
55
  }[]];
56
+ readonly enableSorting?: boolean | undefined;
57
57
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
58
58
  readonly nodeTooltip?: readonly [{
59
59
  readonly locale: "zh";
@@ -108,7 +108,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
108
  readonly data: string;
109
109
  readonly request?: string | undefined;
110
110
  };
111
- readonly enableSorting?: boolean | undefined;
112
111
  readonly nodeKey: string;
113
112
  readonly nodeChildren: string;
114
113
  readonly nodeLabel: readonly [{
@@ -118,6 +117,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
118
117
  readonly locale: "en" | "ja" | "ko";
119
118
  readonly message: string;
120
119
  }[]];
120
+ readonly enableSorting?: boolean | undefined;
121
121
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
122
122
  readonly nodeTooltip?: readonly [{
123
123
  readonly locale: "zh";
@@ -44,7 +44,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
44
44
  readonly data: string;
45
45
  readonly request?: string | undefined;
46
46
  };
47
- readonly enableSorting?: boolean | undefined;
48
47
  readonly nodeKey: string;
49
48
  readonly nodeChildren: string;
50
49
  readonly nodeLabel: readonly [{
@@ -54,6 +53,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
53
  readonly locale: "en" | "ja" | "ko";
55
54
  readonly message: string;
56
55
  }[]];
56
+ readonly enableSorting?: boolean | undefined;
57
57
  readonly nodeTooltip?: readonly [{
58
58
  readonly locale: "zh";
59
59
  readonly message: string;
@@ -107,7 +107,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
107
  readonly data: string;
108
108
  readonly request?: string | undefined;
109
109
  };
110
- readonly enableSorting?: boolean | undefined;
111
110
  readonly nodeKey: string;
112
111
  readonly nodeChildren: string;
113
112
  readonly nodeLabel: readonly [{
@@ -117,6 +116,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
116
  readonly locale: "en" | "ja" | "ko";
118
117
  readonly message: string;
119
118
  }[]];
119
+ readonly enableSorting?: boolean | undefined;
120
120
  readonly nodeTooltip?: readonly [{
121
121
  readonly locale: "zh";
122
122
  readonly message: string;
@@ -44,7 +44,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
44
44
  readonly data: string;
45
45
  readonly request?: string | undefined;
46
46
  };
47
- readonly enableSorting?: boolean | undefined;
48
47
  readonly nodeKey: string;
49
48
  readonly nodeChildren: string;
50
49
  readonly nodeLabel: readonly [{
@@ -54,6 +53,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
54
53
  readonly locale: "en" | "ja" | "ko";
55
54
  readonly message: string;
56
55
  }[]];
56
+ readonly enableSorting?: boolean | undefined;
57
57
  readonly nodeTooltip?: readonly [{
58
58
  readonly locale: "zh";
59
59
  readonly message: string;
@@ -107,7 +107,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
107
107
  readonly data: string;
108
108
  readonly request?: string | undefined;
109
109
  };
110
- readonly enableSorting?: boolean | undefined;
111
110
  readonly nodeKey: string;
112
111
  readonly nodeChildren: string;
113
112
  readonly nodeLabel: readonly [{
@@ -117,6 +116,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
116
  readonly locale: "en" | "ja" | "ko";
118
117
  readonly message: string;
119
118
  }[]];
119
+ readonly enableSorting?: boolean | undefined;
120
120
  readonly nodeTooltip?: readonly [{
121
121
  readonly locale: "zh";
122
122
  readonly message: string;
@@ -45,10 +45,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly data: string;
46
46
  readonly request?: string | undefined;
47
47
  };
48
- readonly enableSorting?: boolean | undefined;
49
48
  readonly nodeKey: string;
50
49
  readonly nodeChildren: string;
51
50
  readonly nodeLabel: string;
51
+ readonly enableSorting?: boolean | undefined;
52
52
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
53
53
  readonly nodeTooltip?: readonly [{
54
54
  readonly locale: "zh";
@@ -104,10 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
104
104
  readonly data: string;
105
105
  readonly request?: string | undefined;
106
106
  };
107
- readonly enableSorting?: boolean | undefined;
108
107
  readonly nodeKey: string;
109
108
  readonly nodeChildren: string;
110
109
  readonly nodeLabel: string;
110
+ readonly enableSorting?: boolean | undefined;
111
111
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
112
112
  readonly nodeTooltip?: readonly [{
113
113
  readonly locale: "zh";
@@ -45,10 +45,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly data: string;
46
46
  readonly request?: string | undefined;
47
47
  };
48
- readonly enableSorting?: boolean | undefined;
49
48
  readonly nodeKey: string;
50
49
  readonly nodeChildren: string;
51
50
  readonly nodeLabel: string;
51
+ readonly enableSorting?: boolean | undefined;
52
52
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
53
53
  readonly nodeTooltip?: readonly [{
54
54
  readonly locale: "zh";
@@ -104,10 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
104
104
  readonly data: string;
105
105
  readonly request?: string | undefined;
106
106
  };
107
- readonly enableSorting?: boolean | undefined;
108
107
  readonly nodeKey: string;
109
108
  readonly nodeChildren: string;
110
109
  readonly nodeLabel: string;
110
+ readonly enableSorting?: boolean | undefined;
111
111
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
112
112
  readonly nodeTooltip?: readonly [{
113
113
  readonly locale: "zh";
@@ -12,6 +12,7 @@ import { fetchJsonOption } from "../../../../../share/request";
12
12
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
13
13
  import { Markdown } from "../../../../ui/markdown";
14
14
  import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
15
+ import { ScrollArea } from "../../../../ui/scroll-area";
15
16
  import { Skeleton } from "../../../../ui/skeleton";
16
17
  import { Tree as UiTree } from "../../../../ui/tree";
17
18
  import { useFormState } from "../../../../form/utils/state";
@@ -427,58 +428,61 @@ const hoveredTooltip = computed(() => {
427
428
  <Skeleton class="h-4 w-3/5" />
428
429
  </div>
429
430
 
430
- <UiTree
431
+ <ScrollArea
431
432
  v-else
432
- :roots="roots"
433
- :get-key="(w) => w.key"
434
- :get-children="getWrappedChildren"
435
- selection-mode="multi"
436
- :cascade="column.cascade ?? 'independent'"
437
- :model-value="displayKeys"
438
- :selectable="wrappedSelectable"
439
- :filter-predicate="filterPredicate"
440
- :filter-query="filterQuery"
441
- :initial-expanded="initialExpanded"
442
- :show-focused-row="false"
443
- :class="isDisabled ? 'pointer-events-none opacity-60' : void 0"
444
- class="max-h-72 overflow-y-auto"
445
- @update:model-value="handleUpdate"
433
+ class="max-h-72"
446
434
  >
447
- <template #node="{ node, selected }">
448
- <span
449
- class="flex flex-1 min-w-0 items-center justify-between gap-2"
450
- @mouseenter="hoveredKey = node.key"
451
- @focusin="hoveredKey = node.key"
452
- >
453
- <span class="min-w-0 truncate text-[0.75rem] text-zinc-700">{{ wrappedLabelText(node) }}</span>
454
- <Icon
455
- v-if="selected"
456
- icon="fluent:checkmark-20-regular"
457
- class="size-3 shrink-0 text-zinc-700"
458
- />
459
- </span>
460
- </template>
435
+ <UiTree
436
+ :roots="roots"
437
+ :get-key="(w) => w.key"
438
+ :get-children="getWrappedChildren"
439
+ selection-mode="multi"
440
+ :cascade="column.cascade ?? 'independent'"
441
+ :model-value="displayKeys"
442
+ :selectable="wrappedSelectable"
443
+ :filter-predicate="filterPredicate"
444
+ :filter-query="filterQuery"
445
+ :initial-expanded="initialExpanded"
446
+ :show-focused-row="false"
447
+ :class="isDisabled ? 'pointer-events-none opacity-60' : void 0"
448
+ @update:model-value="handleUpdate"
449
+ >
450
+ <template #node="{ node, selected }">
451
+ <span
452
+ class="flex flex-1 min-w-0 items-center justify-between gap-2"
453
+ @mouseenter="hoveredKey = node.key"
454
+ @focusin="hoveredKey = node.key"
455
+ >
456
+ <span class="min-w-0 truncate text-[0.75rem] text-zinc-700">{{ wrappedLabelText(node) }}</span>
457
+ <Icon
458
+ v-if="selected"
459
+ icon="fluent:checkmark-20-regular"
460
+ class="size-3 shrink-0 text-zinc-700"
461
+ />
462
+ </span>
463
+ </template>
461
464
 
462
- <template #empty>
463
- <div class="min-h-7 px-2 py-1 text-[0.75rem] text-zinc-400">
464
- {{ t("tree-combobox-multi-empty") }}
465
- </div>
466
- </template>
465
+ <template #empty>
466
+ <div class="min-h-7 px-2 py-1 text-[0.75rem] text-zinc-400">
467
+ {{ t("tree-combobox-multi-empty") }}
468
+ </div>
469
+ </template>
467
470
 
468
- <template #error="{ error, retry }">
469
- <span class="inline-flex items-center gap-1 text-xs text-red-500">
470
- {{ t("tree-combobox-multi-load-error") }}
471
- <button
472
- type="button"
473
- class="underline hover:text-red-600"
474
- @click.stop="retry"
475
- >
476
- {{ t("tree-combobox-multi-retry") }}
477
- </button>
478
- <span class="sr-only">{{ String(error) }}</span>
479
- </span>
480
- </template>
481
- </UiTree>
471
+ <template #error="{ error, retry }">
472
+ <span class="inline-flex items-center gap-1 text-xs text-red-500">
473
+ {{ t("tree-combobox-multi-load-error") }}
474
+ <button
475
+ type="button"
476
+ class="underline hover:text-red-600"
477
+ @click.stop="retry"
478
+ >
479
+ {{ t("tree-combobox-multi-retry") }}
480
+ </button>
481
+ <span class="sr-only">{{ String(error) }}</span>
482
+ </span>
483
+ </template>
484
+ </UiTree>
485
+ </ScrollArea>
482
486
  </div>
483
487
  <div
484
488
  v-if="anyHasTooltip && hoveredTooltip"
@@ -45,10 +45,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly data: string;
46
46
  readonly request?: string | undefined;
47
47
  };
48
- readonly enableSorting?: boolean | undefined;
49
48
  readonly nodeKey: string;
50
49
  readonly nodeChildren: string;
51
50
  readonly nodeLabel: string;
51
+ readonly enableSorting?: boolean | undefined;
52
52
  readonly nodeTooltip?: readonly [{
53
53
  readonly locale: "zh";
54
54
  readonly message: string;
@@ -103,10 +103,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
103
103
  readonly data: string;
104
104
  readonly request?: string | undefined;
105
105
  };
106
- readonly enableSorting?: boolean | undefined;
107
106
  readonly nodeKey: string;
108
107
  readonly nodeChildren: string;
109
108
  readonly nodeLabel: string;
109
+ readonly enableSorting?: boolean | undefined;
110
110
  readonly nodeTooltip?: readonly [{
111
111
  readonly locale: "zh";
112
112
  readonly message: string;
@@ -45,10 +45,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly data: string;
46
46
  readonly request?: string | undefined;
47
47
  };
48
- readonly enableSorting?: boolean | undefined;
49
48
  readonly nodeKey: string;
50
49
  readonly nodeChildren: string;
51
50
  readonly nodeLabel: string;
51
+ readonly enableSorting?: boolean | undefined;
52
52
  readonly nodeTooltip?: readonly [{
53
53
  readonly locale: "zh";
54
54
  readonly message: string;
@@ -103,10 +103,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
103
103
  readonly data: string;
104
104
  readonly request?: string | undefined;
105
105
  };
106
- readonly enableSorting?: boolean | undefined;
107
106
  readonly nodeKey: string;
108
107
  readonly nodeChildren: string;
109
108
  readonly nodeLabel: string;
109
+ readonly enableSorting?: boolean | undefined;
110
110
  readonly nodeTooltip?: readonly [{
111
111
  readonly locale: "zh";
112
112
  readonly message: string;
@@ -12,6 +12,7 @@ import { fetchJsonOption } from "../../../../../share/request";
12
12
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
13
13
  import { Markdown } from "../../../../ui/markdown";
14
14
  import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
15
+ import { ScrollArea } from "../../../../ui/scroll-area";
15
16
  import { Skeleton } from "../../../../ui/skeleton";
16
17
  import { Tree as UiTree } from "../../../../ui/tree";
17
18
  import { useFormState } from "../../../../form/utils/state";
@@ -393,57 +394,60 @@ const hoveredTooltip = computed(() => {
393
394
  <Skeleton class="h-4 w-3/5" />
394
395
  </div>
395
396
 
396
- <UiTree
397
+ <ScrollArea
397
398
  v-else
398
- :roots="roots"
399
- :get-key="(w) => w.key"
400
- :get-children="getWrappedChildren"
401
- selection-mode="single"
402
- :model-value="model"
403
- :selectable="wrappedSelectable"
404
- :filter-predicate="filterPredicate"
405
- :filter-query="filterQuery"
406
- :initial-expanded="initialExpanded"
407
- :show-focused-row="false"
408
- :class="isDisabled ? 'pointer-events-none opacity-60' : void 0"
409
- class="max-h-72 overflow-y-auto"
410
- @update:model-value="handleUpdate"
399
+ class="max-h-72"
411
400
  >
412
- <template #node="{ node, selected }">
413
- <span
414
- class="flex flex-1 min-w-0 items-center justify-between gap-2"
415
- @mouseenter="hoveredKey = node.key"
416
- @focusin="hoveredKey = node.key"
417
- >
418
- <span class="min-w-0 truncate text-[0.75rem] text-zinc-700">{{ wrappedLabelText(node) }}</span>
419
- <Icon
420
- v-if="selected"
421
- icon="fluent:checkmark-20-regular"
422
- class="size-3 shrink-0 text-zinc-700"
423
- />
424
- </span>
425
- </template>
401
+ <UiTree
402
+ :roots="roots"
403
+ :get-key="(w) => w.key"
404
+ :get-children="getWrappedChildren"
405
+ selection-mode="single"
406
+ :model-value="model"
407
+ :selectable="wrappedSelectable"
408
+ :filter-predicate="filterPredicate"
409
+ :filter-query="filterQuery"
410
+ :initial-expanded="initialExpanded"
411
+ :show-focused-row="false"
412
+ :class="isDisabled ? 'pointer-events-none opacity-60' : void 0"
413
+ @update:model-value="handleUpdate"
414
+ >
415
+ <template #node="{ node, selected }">
416
+ <span
417
+ class="flex flex-1 min-w-0 items-center justify-between gap-2"
418
+ @mouseenter="hoveredKey = node.key"
419
+ @focusin="hoveredKey = node.key"
420
+ >
421
+ <span class="min-w-0 truncate text-[0.75rem] text-zinc-700">{{ wrappedLabelText(node) }}</span>
422
+ <Icon
423
+ v-if="selected"
424
+ icon="fluent:checkmark-20-regular"
425
+ class="size-3 shrink-0 text-zinc-700"
426
+ />
427
+ </span>
428
+ </template>
426
429
 
427
- <template #empty>
428
- <div class="min-h-7 px-2 py-1 text-[0.75rem] text-zinc-400">
429
- {{ t("tree-combobox-single-empty") }}
430
- </div>
431
- </template>
430
+ <template #empty>
431
+ <div class="min-h-7 px-2 py-1 text-[0.75rem] text-zinc-400">
432
+ {{ t("tree-combobox-single-empty") }}
433
+ </div>
434
+ </template>
432
435
 
433
- <template #error="{ error, retry }">
434
- <span class="inline-flex items-center gap-1 text-xs text-red-500">
435
- {{ t("tree-combobox-single-load-error") }}
436
- <button
437
- type="button"
438
- class="underline hover:text-red-600"
439
- @click.stop="retry"
440
- >
441
- {{ t("tree-combobox-single-retry") }}
442
- </button>
443
- <span class="sr-only">{{ String(error) }}</span>
444
- </span>
445
- </template>
446
- </UiTree>
436
+ <template #error="{ error, retry }">
437
+ <span class="inline-flex items-center gap-1 text-xs text-red-500">
438
+ {{ t("tree-combobox-single-load-error") }}
439
+ <button
440
+ type="button"
441
+ class="underline hover:text-red-600"
442
+ @click.stop="retry"
443
+ >
444
+ {{ t("tree-combobox-single-retry") }}
445
+ </button>
446
+ <span class="sr-only">{{ String(error) }}</span>
447
+ </span>
448
+ </template>
449
+ </UiTree>
450
+ </ScrollArea>
447
451
  </div>
448
452
  <div
449
453
  v-if="anyHasTooltip && hoveredTooltip"