@shwfed/config 2.3.26 → 2.3.28

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 (84) hide show
  1. package/dist/mcp.mjs +1211 -701
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-BkimX91E.js → config--PcXQV_r.js} +1 -1
  4. package/dist/preview/assets/{config-CO2iovZD.js → config-5KVDXgUF.js} +1 -1
  5. package/dist/preview/assets/{config-u1rl9w2L.js → config-B5avpKJE.js} +1 -1
  6. package/dist/preview/assets/{config-DgZ4NYoA.js → config-CJHPt8Gx.js} +1 -1
  7. package/dist/preview/assets/{config-ypYLVfRE.js → config-CNo3isHa.js} +1 -1
  8. package/dist/preview/assets/{config-Cm9t0CvW.js → config-CQHS6cZe.js} +1 -1
  9. package/dist/preview/assets/{config-DPFHMkHc.js → config-D0_1yZdF.js} +1 -1
  10. package/dist/preview/assets/{config-Dzqe6v-x.js → config-DDfTl9Cs.js} +1 -1
  11. package/dist/preview/assets/{config-BATy87wV.js → config-fvkC2rB8.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-CliXxe84.js → definition.vue_vue_type_script_setup_true_lang-RM-qDh0R.js} +1 -1
  13. package/dist/preview/assets/index-DNd8J9Zv.js +643 -0
  14. package/dist/preview/assets/index-DrIMqXAa.js +1 -0
  15. package/dist/preview/assets/index-a2QwAots.css +1 -0
  16. package/dist/preview/assets/{runtime-Dtc1ETUF.js → runtime-BGTWf-O7.js} +1 -1
  17. package/dist/preview/assets/{runtime-B_FMZ5eD.js → runtime-BPjZQmcY.js} +1 -1
  18. package/dist/preview/assets/{runtime-BTROwcw4.js → runtime-Bq3fmxeF.js} +1 -1
  19. package/dist/preview/assets/{runtime-Dsx8Y56q.js → runtime-CCbyrqQT.js} +1 -1
  20. package/dist/preview/assets/{runtime-T_tUqLxO.js → runtime-C_XX6a0C.js} +1 -1
  21. package/dist/preview/assets/{runtime-BR6-W3u_.js → runtime-CtqwtTE_.js} +1 -1
  22. package/dist/preview/assets/{runtime-D1xLbTQ9.js → runtime-DcrzodsN.js} +1 -1
  23. package/dist/preview/assets/{runtime-CTpsTb-X.js → runtime-Dr_10emf.js} +1 -1
  24. package/dist/preview/assets/{runtime-Cj0kLSqP.js → runtime-Dy4ZmQ-n.js} +1 -1
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.d.vue.ts +2 -0
  27. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue +57 -3
  28. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/config.vue.d.ts +2 -0
  29. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.d.vue.ts +2 -0
  30. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.vue +1 -0
  31. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/runtime.vue.d.ts +2 -0
  32. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.d.ts +2 -0
  33. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.tabs/schema.js +4 -0
  34. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +4 -4
  35. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +4 -4
  36. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +127 -0
  37. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue +593 -0
  38. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +127 -0
  39. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.d.vue.ts +8 -0
  40. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue +465 -0
  41. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue.d.ts +8 -0
  42. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.d.ts +95 -0
  43. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/schema.js +112 -0
  44. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +125 -0
  45. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue +525 -0
  46. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +125 -0
  47. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.d.vue.ts +8 -0
  48. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue +460 -0
  49. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue.d.ts +8 -0
  50. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.d.ts +92 -0
  51. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/schema.js +104 -0
  52. package/dist/runtime/components/form/fields/2026-05-26/tree-combobox-shared.d.ts +35 -0
  53. package/dist/runtime/components/form/fields/2026-05-26/tree-combobox-shared.js +31 -0
  54. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue +36 -13
  55. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/runtime.vue +36 -12
  56. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/runtime.vue +0 -1
  57. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +131 -0
  58. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +607 -0
  59. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +131 -0
  60. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
  61. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue +447 -0
  62. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
  63. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +90 -0
  64. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.js +143 -0
  65. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +129 -0
  66. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +538 -0
  67. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +129 -0
  68. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
  69. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue +429 -0
  70. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
  71. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +87 -0
  72. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.js +135 -0
  73. package/dist/runtime/components/table/columns/2026-05-27/tree-combobox-shared.d.ts +35 -0
  74. package/dist/runtime/components/table/columns/2026-05-27/tree-combobox-shared.js +31 -0
  75. package/dist/runtime/components/table/config.vue +29 -0
  76. package/dist/runtime/components/ui/command/CommandItem.vue +12 -4
  77. package/dist/runtime/components/ui/tree/Tree.d.vue.ts +2 -0
  78. package/dist/runtime/components/ui/tree/Tree.vue +7 -2
  79. package/dist/runtime/components/ui/tree/Tree.vue.d.ts +2 -0
  80. package/dist/runtime/components/ui/tree/TreeNode.vue +16 -26
  81. package/package.json +1 -1
  82. package/dist/preview/assets/index-6rM4rqXR.js +0 -1
  83. package/dist/preview/assets/index-BCE-G4Ha.css +0 -1
  84. package/dist/preview/assets/index-wBVA0mNO.js +0 -643
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Wrapping + adapter helpers shared by `tree.combobox.single` and
3
+ * `tree.combobox.multi`. The whole tree comes from `dataSource` in one
4
+ * shot, so wrapping is a pure walk over CEL-derived children: each raw
5
+ * node either has children (`branch`) or it doesn't (`terminal`).
6
+ */
7
+ export type WrappedNode = {
8
+ readonly kind: 'branch';
9
+ readonly raw: unknown;
10
+ readonly key: string;
11
+ readonly children: WrappedNode[];
12
+ } | {
13
+ readonly kind: 'terminal';
14
+ readonly raw: unknown;
15
+ readonly key: string;
16
+ };
17
+ export interface WrapStructureContext {
18
+ /** Stringified node id; one per raw node. Reuses `nodeKey` CEL. */
19
+ nodeKey: (raw: unknown) => string;
20
+ /**
21
+ * Normalised children array. `undefined`/`null`/empty all collapse to
22
+ * `undefined` here — the wrapping logic interprets that as
23
+ * "this node has no children" → `terminal`.
24
+ */
25
+ nodeChildren: (raw: unknown) => unknown[] | undefined;
26
+ }
27
+ export declare function wrapStructural(raw: unknown, ctx: WrapStructureContext): WrappedNode;
28
+ export declare function wrapStructuralAll(raws: unknown[], ctx: WrapStructureContext): WrappedNode[];
29
+ /** Synchronous `getChildren` adapter for ui/tree. */
30
+ export declare function getWrappedChildren(w: WrappedNode): WrappedNode[] | undefined;
31
+ /**
32
+ * Find the path from root to a node whose `key` matches. Returns `null`
33
+ * if the key isn't present in `roots`.
34
+ */
35
+ export declare function findWrappedPath(roots: WrappedNode[], key: string): WrappedNode[] | null;
@@ -0,0 +1,31 @@
1
+ export function wrapStructural(raw, ctx) {
2
+ const kids = ctx.nodeChildren(raw);
3
+ if (!kids || kids.length === 0) {
4
+ return { kind: "terminal", raw, key: ctx.nodeKey(raw) };
5
+ }
6
+ return {
7
+ kind: "branch",
8
+ raw,
9
+ key: ctx.nodeKey(raw),
10
+ children: kids.map((c) => wrapStructural(c, ctx))
11
+ };
12
+ }
13
+ export function wrapStructuralAll(raws, ctx) {
14
+ return raws.map((r) => wrapStructural(r, ctx));
15
+ }
16
+ export function getWrappedChildren(w) {
17
+ return w.kind === "branch" ? w.children : void 0;
18
+ }
19
+ export function findWrappedPath(roots, key) {
20
+ const trail = [];
21
+ function walk(siblings) {
22
+ for (const n of siblings) {
23
+ trail.push(n);
24
+ if (n.key === key) return true;
25
+ if (n.kind === "branch" && n.children.length > 0 && walk(n.children)) return true;
26
+ trail.pop();
27
+ }
28
+ return false;
29
+ }
30
+ return walk(roots) ? trail.slice() : null;
31
+ }
@@ -110,27 +110,51 @@ const selectedEntries = computed(() => {
110
110
  return list;
111
111
  });
112
112
  const selectedKeys = computed(() => selectedEntries.value.map((e) => e.key));
113
- const selectedKeySet = computed(() => new Set(selectedKeys.value));
113
+ const pendingKeys = ref(null);
114
+ const open = ref(false);
115
+ watch(open, (next, prev) => {
116
+ if (!prev && next) {
117
+ pendingKeys.value = [...selectedKeys.value];
118
+ return;
119
+ }
120
+ if (prev && !next && pendingKeys.value !== null) {
121
+ const mapped = [];
122
+ for (const key of pendingKeys.value) {
123
+ const entry = entries.value.find((e) => e.key === key);
124
+ if (entry) mapped.push(entry.value);
125
+ }
126
+ formState.setAt(props.column.binding, mapped);
127
+ pendingKeys.value = null;
128
+ }
129
+ });
130
+ const displayKeys = computed(
131
+ () => pendingKeys.value ?? selectedKeys.value
132
+ );
133
+ const displayKeySet = computed(() => new Set(displayKeys.value));
134
+ const displayEntries = computed(() => {
135
+ if (pendingKeys.value === null) return selectedEntries.value;
136
+ const list = [];
137
+ for (const key of displayKeys.value) {
138
+ const entry = entries.value.find((e) => e.key === key);
139
+ if (entry) list.push(entry);
140
+ }
141
+ return list;
142
+ });
114
143
  const triggerLabel = computed(() => {
115
- const arr = selectedEntries.value;
144
+ const arr = displayEntries.value;
116
145
  if (arr.length === 0) return "";
117
146
  if (arr.length === 1) return arr[0].label;
118
147
  return `${arr[0].label} +${arr.length - 1}`;
119
148
  });
120
- const open = ref(false);
121
149
  function handleSelect(next) {
122
150
  const keys = Array.isArray(next) ? next.filter((k) => typeof k === "string") : [];
123
- const mapped = [];
124
- for (const key of keys) {
125
- const entry = entries.value.find((e) => e.key === key);
126
- if (entry) mapped.push(entry.value);
127
- }
128
- formState.setAt(props.column.binding, mapped);
151
+ pendingKeys.value = keys;
129
152
  }
130
153
  const showClear = computed(
131
- () => !isDisabled.value && selectedEntries.value.length > 0
154
+ () => !isDisabled.value && displayEntries.value.length > 0
132
155
  );
133
156
  function handleClear() {
157
+ pendingKeys.value = null;
134
158
  formState.setAt(props.column.binding, []);
135
159
  open.value = false;
136
160
  }
@@ -201,10 +225,9 @@ const anyHasTooltip = computed(
201
225
  <PopoverContent
202
226
  class="w-auto p-0 [&_[data-slot=command-input-wrapper]]:h-7 [&_[data-slot=command-input-wrapper]]:px-2 [&_[data-slot=command-input-wrapper]_svg]:size-3 [&_[data-slot=command-input]]:h-7 [&_[data-slot=command-input]]:py-0 [&_[data-slot=command-input]]:text-[0.75rem] [&_[data-slot=command-item]]:px-2 [&_[data-slot=command-item]]:py-1 [&_[data-slot=command-item]]:text-[0.75rem]"
203
227
  :style="{ width: 'var(--reka-popover-trigger-width)' }"
204
- @focus-outside="(e) => e.preventDefault()"
205
228
  >
206
229
  <Command
207
- :model-value="selectedKeys"
230
+ :model-value="displayKeys"
208
231
  :multiple="true"
209
232
  :disabled="isDisabled"
210
233
  @update:model-value="handleSelect"
@@ -224,7 +247,7 @@ const anyHasTooltip = computed(
224
247
  >
225
248
  <span class="flex-1">{{ entry.label }}</span>
226
249
  <Icon
227
- v-if="selectedKeySet.has(entry.key)"
250
+ v-if="displayKeySet.has(entry.key)"
228
251
  icon="fluent:checkmark-20-regular"
229
252
  class="size-3 text-zinc-700"
230
253
  />
@@ -212,27 +212,51 @@ const selectedEntries = computed(() => {
212
212
  return list;
213
213
  });
214
214
  const selectedKeys = computed(() => selectedEntries.value.map((e) => e.key));
215
- const selectedKeySet = computed(() => new Set(selectedKeys.value));
215
+ const pendingKeys = ref(null);
216
+ const open = ref(false);
217
+ watch(open, (next, prev) => {
218
+ if (!prev && next) {
219
+ pendingKeys.value = [...selectedKeys.value];
220
+ return;
221
+ }
222
+ if (prev && !next && pendingKeys.value !== null) {
223
+ const mapped = [];
224
+ for (const key of pendingKeys.value) {
225
+ const entry = entries.value.find((e) => e.key === key);
226
+ if (entry) mapped.push(entry.value);
227
+ }
228
+ formState.setAt(props.column.binding, mapped);
229
+ pendingKeys.value = null;
230
+ }
231
+ });
232
+ const displayKeys = computed(
233
+ () => pendingKeys.value ?? selectedKeys.value
234
+ );
235
+ const displayKeySet = computed(() => new Set(displayKeys.value));
236
+ const displayEntries = computed(() => {
237
+ if (pendingKeys.value === null) return selectedEntries.value;
238
+ const list = [];
239
+ for (const key of displayKeys.value) {
240
+ const entry = entries.value.find((e) => e.key === key);
241
+ if (entry) list.push(entry);
242
+ }
243
+ return list;
244
+ });
216
245
  const triggerLabel = computed(() => {
217
- const arr = selectedEntries.value;
246
+ const arr = displayEntries.value;
218
247
  if (arr.length === 0) return "";
219
248
  if (arr.length === 1) return arr[0].label;
220
249
  return `${arr[0].label} +${arr.length - 1}`;
221
250
  });
222
- const open = ref(false);
223
251
  function handleSelect(next) {
224
252
  const keys = Array.isArray(next) ? next.filter((k) => typeof k === "string") : [];
225
- const mapped = [];
226
- for (const key of keys) {
227
- const entry = entries.value.find((e) => e.key === key);
228
- if (entry) mapped.push(entry.value);
229
- }
230
- formState.setAt(props.column.binding, mapped);
253
+ pendingKeys.value = keys;
231
254
  }
232
255
  const showClear = computed(
233
- () => !isDisabled.value && selectedEntries.value.length > 0
256
+ () => !isDisabled.value && displayEntries.value.length > 0
234
257
  );
235
258
  function handleClear() {
259
+ pendingKeys.value = null;
236
260
  formState.setAt(props.column.binding, []);
237
261
  open.value = false;
238
262
  }
@@ -315,7 +339,7 @@ const anyHasTooltip = computed(
315
339
  :style="{ width: 'var(--reka-popover-trigger-width)' }"
316
340
  >
317
341
  <Command
318
- :model-value="selectedKeys"
342
+ :model-value="displayKeys"
319
343
  :multiple="true"
320
344
  :disabled="isDisabled"
321
345
  @update:model-value="handleSelect"
@@ -343,7 +367,7 @@ const anyHasTooltip = computed(
343
367
  >
344
368
  <span class="flex-1"><Markdown :source="entry.label" /></span>
345
369
  <Icon
346
- v-if="selectedKeySet.has(entry.key)"
370
+ v-if="displayKeySet.has(entry.key)"
347
371
  icon="fluent:checkmark-20-regular"
348
372
  class="size-3 text-zinc-700"
349
373
  />
@@ -379,7 +379,6 @@ const anyHasTooltip = computed(
379
379
  <PopoverContent
380
380
  class="w-auto p-0 [&_[data-slot=command-input-wrapper]]:h-7 [&_[data-slot=command-input-wrapper]]:px-2 [&_[data-slot=command-input-wrapper]_svg]:size-3 [&_[data-slot=command-input]]:h-7 [&_[data-slot=command-input]]:py-0 [&_[data-slot=command-input]]:text-[0.75rem] [&_[data-slot=command-item]]:px-2 [&_[data-slot=command-item]]:py-1 [&_[data-slot=command-item]]:text-[0.75rem]"
381
381
  :style="{ width: 'var(--reka-popover-trigger-width)' }"
382
- @focus-outside="(e) => e.preventDefault()"
383
382
  >
384
383
  <Command
385
384
  :model-value="selectedKeys"
@@ -0,0 +1,131 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly size?: number | undefined;
8
+ readonly disabled?: string | undefined;
9
+ readonly type: "com.shwfed.table.column.tree-combobox-multi";
10
+ readonly id: string;
11
+ readonly title: readonly [{
12
+ readonly locale: "zh";
13
+ readonly message: string;
14
+ }, ...{
15
+ readonly locale: "en" | "ja" | "ko";
16
+ readonly message: string;
17
+ }[]];
18
+ readonly hidden?: string | undefined;
19
+ readonly tooltip?: readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]] | undefined;
26
+ readonly compatibilityDate: "2026-05-27";
27
+ readonly groupId?: string | undefined;
28
+ readonly placeholder?: readonly [{
29
+ readonly locale: "zh";
30
+ readonly message: string;
31
+ }, ...{
32
+ readonly locale: "en" | "ja" | "ko";
33
+ readonly message: string;
34
+ }[]] | undefined;
35
+ readonly readonly?: string | undefined;
36
+ readonly grow?: boolean | undefined;
37
+ readonly binding: string;
38
+ readonly derived?: {
39
+ readonly mode: "formula" | "prefill";
40
+ readonly expression: string;
41
+ } | undefined;
42
+ readonly dataSource: {
43
+ readonly data: string;
44
+ readonly request?: string | undefined;
45
+ };
46
+ readonly nodeKey: string;
47
+ readonly nodeChildren: string;
48
+ readonly nodeLabel: readonly [{
49
+ readonly locale: "zh";
50
+ readonly message: string;
51
+ }, ...{
52
+ readonly locale: "en" | "ja" | "ko";
53
+ readonly message: string;
54
+ }[]];
55
+ readonly expandAll: boolean;
56
+ readonly cascade: "independent" | "cascade-down" | "cascade-both";
57
+ readonly enableSorting?: boolean | undefined;
58
+ readonly nodeTooltip?: readonly [{
59
+ readonly locale: "zh";
60
+ readonly message: string;
61
+ }, ...{
62
+ readonly locale: "en" | "ja" | "ko";
63
+ readonly message: string;
64
+ }[]] | undefined;
65
+ readonly nodeSelectable?: string | undefined;
66
+ }) => any;
67
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
68
+ "onUpdate:modelValue"?: ((value: {
69
+ readonly size?: number | undefined;
70
+ readonly disabled?: string | undefined;
71
+ readonly type: "com.shwfed.table.column.tree-combobox-multi";
72
+ readonly id: string;
73
+ readonly title: readonly [{
74
+ readonly locale: "zh";
75
+ readonly message: string;
76
+ }, ...{
77
+ readonly locale: "en" | "ja" | "ko";
78
+ readonly message: string;
79
+ }[]];
80
+ readonly hidden?: string | undefined;
81
+ readonly tooltip?: readonly [{
82
+ readonly locale: "zh";
83
+ readonly message: string;
84
+ }, ...{
85
+ readonly locale: "en" | "ja" | "ko";
86
+ readonly message: string;
87
+ }[]] | undefined;
88
+ readonly compatibilityDate: "2026-05-27";
89
+ readonly groupId?: string | undefined;
90
+ readonly placeholder?: readonly [{
91
+ readonly locale: "zh";
92
+ readonly message: string;
93
+ }, ...{
94
+ readonly locale: "en" | "ja" | "ko";
95
+ readonly message: string;
96
+ }[]] | undefined;
97
+ readonly readonly?: string | undefined;
98
+ readonly grow?: boolean | undefined;
99
+ readonly binding: string;
100
+ readonly derived?: {
101
+ readonly mode: "formula" | "prefill";
102
+ readonly expression: string;
103
+ } | undefined;
104
+ readonly dataSource: {
105
+ readonly data: string;
106
+ readonly request?: string | undefined;
107
+ };
108
+ readonly nodeKey: string;
109
+ readonly nodeChildren: string;
110
+ readonly nodeLabel: readonly [{
111
+ readonly locale: "zh";
112
+ readonly message: string;
113
+ }, ...{
114
+ readonly locale: "en" | "ja" | "ko";
115
+ readonly message: string;
116
+ }[]];
117
+ readonly expandAll: boolean;
118
+ readonly cascade: "independent" | "cascade-down" | "cascade-both";
119
+ readonly enableSorting?: boolean | undefined;
120
+ readonly nodeTooltip?: readonly [{
121
+ readonly locale: "zh";
122
+ readonly message: string;
123
+ }, ...{
124
+ readonly locale: "en" | "ja" | "ko";
125
+ readonly message: string;
126
+ }[]] | undefined;
127
+ readonly nodeSelectable?: string | undefined;
128
+ }) => any) | undefined;
129
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
130
+ declare const _default: typeof __VLS_export;
131
+ export default _default;