@shwfed/config 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/mcp.mjs +135 -21
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{config-E-DM6b5t.js → config-BHInx1QR.js} +1 -1
  4. package/dist/preview/assets/{config-CK011_jJ.js → config-BVTakYXq.js} +1 -1
  5. package/dist/preview/assets/{config-C_bBX0wD.js → config-Bo8qCYUr.js} +1 -1
  6. package/dist/preview/assets/{config-Dx0zHfGt.js → config-CMWb8uI8.js} +1 -1
  7. package/dist/preview/assets/{config-DYL6kHr3.js → config-CoykdrWz.js} +1 -1
  8. package/dist/preview/assets/{config-Cbn8o9BY.js → config-D9Igjtte.js} +1 -1
  9. package/dist/preview/assets/{config-dwcdYHd4.js → config-DLuQtN-6.js} +1 -1
  10. package/dist/preview/assets/{config-BkytEQN5.js → config-DO6VRND9.js} +1 -1
  11. package/dist/preview/assets/{config-PjseWUbC.js → config-Du8jTCck.js} +1 -1
  12. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-uJFJXxli.js → definition.vue_vue_type_script_setup_true_lang-CjPPVjHf.js} +1 -1
  13. package/dist/preview/assets/{index-x-77enex.js → index-CLhRphC4.js} +102 -102
  14. package/dist/preview/assets/index-DRXgXfoM.js +1 -0
  15. package/dist/preview/assets/{index-7MVXgV5n.css → index-nvAUAYGM.css} +1 -1
  16. package/dist/preview/assets/{runtime-CHLboM_z.js → runtime-BVShchDS.js} +1 -1
  17. package/dist/preview/assets/{runtime-DJHpCLnr.js → runtime-BnXLPPWc.js} +1 -1
  18. package/dist/preview/assets/{runtime-DjpjaNec.js → runtime-Bs_EtAsE.js} +1 -1
  19. package/dist/preview/assets/{runtime-CeHdesjP.js → runtime-CCBYA0xX.js} +1 -1
  20. package/dist/preview/assets/{runtime-ZQryOEKm.js → runtime-Cxl0E6Hg.js} +1 -1
  21. package/dist/preview/assets/{runtime-D4_9FCLy.js → runtime-D7cNZpnE.js} +1 -1
  22. package/dist/preview/assets/{runtime-DKq86fZU.js → runtime-DTC0oZPz.js} +1 -1
  23. package/dist/preview/assets/{runtime-DHBTDws7.js → runtime-as-8tVjx.js} +1 -1
  24. package/dist/preview/assets/{runtime-BRMGkqSr.js → runtime-ePHYJvDG.js} +1 -1
  25. package/dist/preview/index.html +2 -2
  26. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +2 -2
  27. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +2 -2
  28. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.d.vue.ts +2 -2
  29. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/config.vue.d.ts +2 -2
  30. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +2 -2
  31. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +2 -2
  32. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +20 -20
  33. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +20 -20
  34. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +20 -20
  35. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +20 -20
  36. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +20 -20
  37. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +20 -20
  38. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +20 -20
  39. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +20 -20
  40. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +20 -20
  41. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +20 -20
  42. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +20 -20
  43. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +20 -20
  44. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +20 -20
  45. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +20 -20
  46. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.d.ts +1 -0
  47. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.actions/schema.js +8 -0
  48. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/config.vue +15 -9
  49. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.d.ts +1 -0
  50. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.date/schema.js +8 -0
  51. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/config.vue +20 -10
  52. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.d.ts +1 -0
  53. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.icon/schema.js +7 -0
  54. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/config.vue +19 -8
  55. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.d.ts +1 -0
  56. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.markdown/schema.js +7 -0
  57. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/config.vue +21 -14
  58. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.d.ts +1 -0
  59. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.number/schema.js +8 -0
  60. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.d.ts +1 -0
  61. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.select/schema.js +5 -0
  62. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/config.vue +21 -11
  63. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.d.ts +1 -0
  64. package/dist/runtime/components/table/columns/2026-04-14/com.shwfed.table.column.text/schema.js +7 -0
  65. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch/config.vue +1 -0
  66. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/config.vue +1 -0
  67. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.d.ts +1 -0
  68. package/dist/runtime/components/table/columns/2026-05-13/com.shwfed.table.column.switch.remote/schema.js +7 -0
  69. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +1 -0
  70. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +7 -0
  71. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +1 -0
  72. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +7 -0
  73. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +1 -0
  74. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +7 -0
  75. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +6 -6
  76. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue +1 -0
  77. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +6 -6
  78. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +4 -4
  79. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +4 -4
  80. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +6 -6
  81. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue +1 -0
  82. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +6 -6
  83. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +4 -4
  84. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +4 -4
  85. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  86. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  87. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +6 -6
  88. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +6 -6
  89. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  90. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  91. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +6 -6
  92. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +6 -6
  93. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +6 -6
  94. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +6 -6
  95. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +4 -4
  96. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +4 -4
  97. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +4 -4
  98. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +4 -4
  99. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  100. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/schema.js +8 -0
  101. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +4 -4
  102. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +4 -4
  103. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  104. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/schema.js +8 -0
  105. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +6 -6
  106. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +6 -6
  107. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +3 -0
  108. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +4 -4
  109. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +4 -4
  110. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +3 -0
  111. package/dist/runtime/components/table/config.vue +4 -58
  112. package/dist/runtime/components/table/utils/resolve.d.ts +14 -0
  113. package/dist/runtime/components/table/utils/resolve.js +2 -1
  114. package/package.json +1 -1
  115. package/dist/preview/assets/index-CmPiZG_4.js +0 -1
@@ -46,16 +46,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
46
46
  readonly data: string;
47
47
  readonly request?: string | undefined;
48
48
  };
49
- readonly nodeKey: string;
50
- readonly nodeChildren: string;
51
- readonly nodeLabel: readonly [{
52
- readonly locale: "zh";
53
- readonly message: string;
54
- }, ...{
55
- readonly locale: "en" | "ja" | "ko";
56
- readonly message: string;
57
- }[]];
58
- readonly expandAll: boolean;
59
49
  readonly validations?: readonly {
60
50
  readonly message: readonly [{
61
51
  readonly locale: "zh";
@@ -67,6 +57,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
67
57
  readonly warning?: boolean | undefined;
68
58
  readonly when: string;
69
59
  }[] | undefined;
60
+ readonly nodeKey: string;
61
+ readonly nodeChildren: string;
62
+ readonly nodeLabel: readonly [{
63
+ readonly locale: "zh";
64
+ readonly message: string;
65
+ }, ...{
66
+ readonly locale: "en" | "ja" | "ko";
67
+ readonly message: string;
68
+ }[]];
70
69
  readonly nodeTooltip?: readonly [{
71
70
  readonly locale: "zh";
72
71
  readonly message: string;
@@ -75,6 +74,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
75
74
  readonly message: string;
76
75
  }[]] | undefined;
77
76
  readonly nodeSelectable?: string | undefined;
77
+ readonly expandAll: boolean;
78
78
  }) => any;
79
79
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
80
80
  "onUpdate:modelValue"?: ((value: {
@@ -120,16 +120,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
120
  readonly data: string;
121
121
  readonly request?: string | undefined;
122
122
  };
123
- readonly nodeKey: string;
124
- readonly nodeChildren: string;
125
- readonly nodeLabel: readonly [{
126
- readonly locale: "zh";
127
- readonly message: string;
128
- }, ...{
129
- readonly locale: "en" | "ja" | "ko";
130
- readonly message: string;
131
- }[]];
132
- readonly expandAll: boolean;
133
123
  readonly validations?: readonly {
134
124
  readonly message: readonly [{
135
125
  readonly locale: "zh";
@@ -141,6 +131,15 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
141
131
  readonly warning?: boolean | undefined;
142
132
  readonly when: string;
143
133
  }[] | undefined;
134
+ readonly nodeKey: string;
135
+ readonly nodeChildren: string;
136
+ readonly nodeLabel: readonly [{
137
+ readonly locale: "zh";
138
+ readonly message: string;
139
+ }, ...{
140
+ readonly locale: "en" | "ja" | "ko";
141
+ readonly message: string;
142
+ }[]];
144
143
  readonly nodeTooltip?: readonly [{
145
144
  readonly locale: "zh";
146
145
  readonly message: string;
@@ -149,6 +148,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
149
148
  readonly message: string;
150
149
  }[]] | undefined;
151
150
  readonly nodeSelectable?: string | undefined;
151
+ readonly expandAll: boolean;
152
152
  }) => any) | undefined;
153
153
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
154
154
  declare const _default: typeof __VLS_export;
@@ -149,4 +149,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
149
149
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
150
150
  }>;
151
151
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
152
+ export declare function defaults(): Partial<Value>;
152
153
  export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -32,6 +32,14 @@ export function schema(configure) {
32
32
  ...actionFieldsForColumn
33
33
  }).annotations({ title: "ActionsRenderer", description: "\u64CD\u4F5C\u6E32\u67D3\u5668" });
34
34
  }
35
+ export function defaults() {
36
+ return {
37
+ title: [{ locale: "zh", message: "" }],
38
+ size: 200,
39
+ groups: [],
40
+ items: []
41
+ };
42
+ }
35
43
  export function toColumnDef(value, { getLocaleText }) {
36
44
  return {
37
45
  header: value.title ? getLocaleText(value.title) : void 0,
@@ -65,7 +65,10 @@ const dateFormatExample = computed(() => {
65
65
  </template>
66
66
  {{ fieldTitle("title") }}
67
67
  </FieldLabel>
68
- <Locale v-model="value.title" />
68
+ <Locale
69
+ :model-value="value.title"
70
+ @update:model-value="(v) => value = { ...value, title: v }"
71
+ />
69
72
  </Field>
70
73
  <Field orientation="vertical">
71
74
  <FieldLabel class="text-xs text-zinc-500">
@@ -82,8 +85,9 @@ const dateFormatExample = computed(() => {
82
85
  {{ fieldTitle("tooltip") }}
83
86
  </FieldLabel>
84
87
  <Locale
85
- v-model="value.tooltip"
88
+ :model-value="value.tooltip"
86
89
  markdown
90
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
87
91
  />
88
92
  </Field>
89
93
  </div>
@@ -103,9 +107,10 @@ const dateFormatExample = computed(() => {
103
107
  {{ fieldTitle("accessor") }}
104
108
  </FieldLabel>
105
109
  <Input
106
- v-model="value.accessor"
110
+ :model-value="value.accessor"
107
111
  placeholder="如 row.joinDate"
108
112
  class="font-mono text-xs"
113
+ @update:model-value="(v) => value = { ...value, accessor: v }"
109
114
  />
110
115
  </Field>
111
116
  <Field orientation="vertical">
@@ -124,9 +129,10 @@ const dateFormatExample = computed(() => {
124
129
  </FieldLabel>
125
130
  <InputGroup>
126
131
  <InputGroupInput
127
- v-model="value.format"
132
+ :model-value="value.format"
128
133
  placeholder="yyyy-MM-dd"
129
134
  class="font-mono text-xs"
135
+ @update:model-value="(v) => value = { ...value, format: v }"
130
136
  />
131
137
  <InputGroupAddon
132
138
  v-if="dateFormatExample"
@@ -168,7 +174,7 @@ const dateFormatExample = computed(() => {
168
174
  <DropdownMenuItem
169
175
  v-for="opt in ALIGN_OPTIONS"
170
176
  :key="opt.value"
171
- @select="value.align = opt.value"
177
+ @select="value = { ...value, align: opt.value }"
172
178
  >
173
179
  <Icon :icon="opt.icon" />
174
180
  {{ opt.label }}
@@ -180,13 +186,13 @@ const dateFormatExample = computed(() => {
180
186
  :model-value="value.size"
181
187
  :disabled="value.grow"
182
188
  :min="0"
183
- @update:model-value="(v) => value.size = v"
189
+ @update:model-value="(v) => value = { ...value, size: v }"
184
190
  />
185
191
  <InputGroupAddon align="inline-end">
186
192
  <InputGroupButton
187
193
  :variant="value.grow ? 'primary' : 'ghost'"
188
194
  size="xs"
189
- @click="value.grow = !value.grow"
195
+ @click="value = { ...value, grow: !value.grow }"
190
196
  >
191
197
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
192
198
  {{ fieldTitle("grow") }}
@@ -218,13 +224,13 @@ const dateFormatExample = computed(() => {
218
224
  <InputGroupInput
219
225
  :model-value="value.sortKey"
220
226
  placeholder="例:created_at"
221
- @update:model-value="(v) => value.sortKey = v || void 0"
227
+ @update:model-value="(v) => value = { ...value, sortKey: v || void 0 }"
222
228
  />
223
229
  <InputGroupAddon align="inline-end">
224
230
  <InputGroupButton
225
231
  :variant="value.enableSorting ? 'primary' : 'ghost'"
226
232
  size="xs"
227
- @click="value.enableSorting = !value.enableSorting"
233
+ @click="value = { ...value, enableSorting: !value.enableSorting }"
228
234
  >
229
235
  <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
230
236
  {{ fieldTitle("enableSorting") }}
@@ -38,4 +38,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
38
38
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
39
39
  }>;
40
40
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
41
+ export declare function defaults(): Partial<Value>;
41
42
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -21,6 +21,14 @@ export function schema(configure) {
21
21
  })
22
22
  }).annotations({ title: "DateRenderer", description: "\u65E5\u671F\u6E32\u67D3\u5668" });
23
23
  }
24
+ export function defaults() {
25
+ return {
26
+ title: [{ locale: "zh", message: "" }],
27
+ accessor: "",
28
+ format: "yyyy-MM-dd",
29
+ size: 120
30
+ };
31
+ }
24
32
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
25
33
  return {
26
34
  header: getLocaleText(value.title),
@@ -9,6 +9,7 @@ import {
9
9
  InputGroup,
10
10
  InputGroupAddon,
11
11
  InputGroupButton,
12
+ InputGroupInput,
12
13
  InputGroupNumberField
13
14
  } from "../../../../ui/input-group";
14
15
  import {
@@ -37,8 +38,12 @@ const currentAlignIcon = computed(
37
38
  const colorModel = computed({
38
39
  get: () => value.value.color ?? "",
39
40
  set: (v) => {
40
- if (v === "") delete value.value.color;
41
- else value.value.color = v;
41
+ if (v === "") {
42
+ const { color: _drop, ...rest } = value.value;
43
+ value.value = rest;
44
+ } else {
45
+ value.value = { ...value.value, color: v };
46
+ }
42
47
  }
43
48
  });
44
49
  const ROW_VARS = {
@@ -64,7 +69,10 @@ const ROW_VARS = {
64
69
  </template>
65
70
  {{ fieldTitle("title") }}
66
71
  </FieldLabel>
67
- <Locale v-model="value.title" />
72
+ <Locale
73
+ :model-value="value.title"
74
+ @update:model-value="(v) => value = { ...value, title: v }"
75
+ />
68
76
  </Field>
69
77
  <Field orientation="vertical">
70
78
  <FieldLabel class="text-xs text-zinc-500">
@@ -81,8 +89,9 @@ const ROW_VARS = {
81
89
  {{ fieldTitle("tooltip") }}
82
90
  </FieldLabel>
83
91
  <Locale
84
- v-model="value.tooltip"
92
+ :model-value="value.tooltip"
85
93
  markdown
94
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
86
95
  />
87
96
  </Field>
88
97
  </div>
@@ -102,9 +111,10 @@ const ROW_VARS = {
102
111
  {{ fieldTitle("accessor") }}
103
112
  </FieldLabel>
104
113
  <ExpressionEditor
105
- v-model="value.accessor"
114
+ :model-value="value.accessor"
106
115
  placeholder="如 &quot;fluent:checkmark-circle-20-regular&quot;"
107
116
  :extra-vars="ROW_VARS"
117
+ @update:model-value="(v) => value = { ...value, accessor: v }"
108
118
  />
109
119
  </Field>
110
120
  <Field orientation="vertical">
@@ -137,7 +147,7 @@ const ROW_VARS = {
137
147
  <DropdownMenuItem
138
148
  v-for="opt in ALIGN_OPTIONS"
139
149
  :key="opt.value"
140
- @select="value.align = opt.value"
150
+ @select="value = { ...value, align: opt.value }"
141
151
  >
142
152
  <Icon :icon="opt.icon" />
143
153
  {{ opt.label }}
@@ -149,13 +159,13 @@ const ROW_VARS = {
149
159
  :model-value="value.size"
150
160
  :disabled="value.grow"
151
161
  :min="0"
152
- @update:model-value="(v) => value.size = v"
162
+ @update:model-value="(v) => value = { ...value, size: v }"
153
163
  />
154
164
  <InputGroupAddon align="inline-end">
155
165
  <InputGroupButton
156
166
  :variant="value.grow ? 'primary' : 'ghost'"
157
167
  size="xs"
158
- @click="value.grow = !value.grow"
168
+ @click="value = { ...value, grow: !value.grow }"
159
169
  >
160
170
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
161
171
  {{ fieldTitle("grow") }}
@@ -208,13 +218,13 @@ const ROW_VARS = {
208
218
  <InputGroupInput
209
219
  :model-value="value.sortKey"
210
220
  placeholder="例:created_at"
211
- @update:model-value="(v) => value.sortKey = v || void 0"
221
+ @update:model-value="(v) => value = { ...value, sortKey: v || void 0 }"
212
222
  />
213
223
  <InputGroupAddon align="inline-end">
214
224
  <InputGroupButton
215
225
  :variant="value.enableSorting ? 'primary' : 'ghost'"
216
226
  size="xs"
217
- @click="value.enableSorting = !value.enableSorting"
227
+ @click="value = { ...value, enableSorting: !value.enableSorting }"
218
228
  >
219
229
  <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
220
230
  {{ fieldTitle("enableSorting") }}
@@ -38,4 +38,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
38
38
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
39
39
  }>;
40
40
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
41
+ export declare function defaults(): Partial<Value>;
41
42
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -24,6 +24,13 @@ export function schema(configure) {
24
24
  align: Schema.optionalWith(Align.annotations({ title: "\u5BF9\u9F50" }), { default: () => "center" })
25
25
  }).annotations({ title: "IconRenderer", description: "\u56FE\u6807\u6E32\u67D3\u5668" });
26
26
  }
27
+ export function defaults() {
28
+ return {
29
+ title: [{ locale: "zh", message: "" }],
30
+ accessor: "",
31
+ size: 120
32
+ };
33
+ }
27
34
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
28
35
  return {
29
36
  header: getLocaleText(value.title),
@@ -36,8 +36,12 @@ const currentAlignIcon = computed(
36
36
  const copyExpressionModel = computed({
37
37
  get: () => value.value.copyExpression ?? "",
38
38
  set: (v) => {
39
- if (v === "") delete value.value.copyExpression;
40
- else value.value.copyExpression = v;
39
+ if (v === "") {
40
+ const { copyExpression: _drop, ...rest } = value.value;
41
+ value.value = rest;
42
+ } else {
43
+ value.value = { ...value.value, copyExpression: v };
44
+ }
41
45
  }
42
46
  });
43
47
  </script>
@@ -59,7 +63,10 @@ const copyExpressionModel = computed({
59
63
  </template>
60
64
  {{ fieldTitle("title") }}
61
65
  </FieldLabel>
62
- <Locale v-model="value.title" />
66
+ <Locale
67
+ :model-value="value.title"
68
+ @update:model-value="(v) => value = { ...value, title: v }"
69
+ />
63
70
  </Field>
64
71
  <Field orientation="vertical">
65
72
  <FieldLabel class="text-xs text-zinc-500">
@@ -76,8 +83,9 @@ const copyExpressionModel = computed({
76
83
  {{ fieldTitle("tooltip") }}
77
84
  </FieldLabel>
78
85
  <Locale
79
- v-model="value.tooltip"
86
+ :model-value="value.tooltip"
80
87
  markdown
88
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
81
89
  />
82
90
  </Field>
83
91
  </div>
@@ -112,7 +120,7 @@ const copyExpressionModel = computed({
112
120
  <DropdownMenuItem
113
121
  v-for="opt in ALIGN_OPTIONS"
114
122
  :key="opt.value"
115
- @select="value.align = opt.value"
123
+ @select="value = { ...value, align: opt.value }"
116
124
  >
117
125
  <Icon :icon="opt.icon" />
118
126
  {{ opt.label }}
@@ -124,13 +132,13 @@ const copyExpressionModel = computed({
124
132
  :model-value="value.size"
125
133
  :disabled="value.grow"
126
134
  :min="0"
127
- @update:model-value="(v) => value.size = v"
135
+ @update:model-value="(v) => value = { ...value, size: v }"
128
136
  />
129
137
  <InputGroupAddon align="inline-end">
130
138
  <InputGroupButton
131
139
  :variant="value.grow ? 'primary' : 'ghost'"
132
140
  size="xs"
133
- @click="value.grow = !value.grow"
141
+ @click="value = { ...value, grow: !value.grow }"
134
142
  >
135
143
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
136
144
  {{ fieldTitle("grow") }}
@@ -174,7 +182,10 @@ const copyExpressionModel = computed({
174
182
  </template>
175
183
  {{ fieldTitle("markdown") }}
176
184
  </FieldLabel>
177
- <Locale v-model="value.markdown" />
185
+ <Locale
186
+ :model-value="value.markdown"
187
+ @update:model-value="(v) => value = { ...value, markdown: v }"
188
+ />
178
189
  </Field>
179
190
  </div>
180
191
  </template>
@@ -48,4 +48,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
48
48
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
49
49
  }>;
50
50
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
51
+ export declare function defaults(): Partial<Value>;
51
52
  export declare function toColumnDef(value: Value, { getLocaleText }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -39,6 +39,13 @@ export function schema(configure) {
39
39
  }))
40
40
  }).annotations({ title: "MarkdownRenderer", description: "MD" });
41
41
  }
42
+ export function defaults() {
43
+ return {
44
+ title: [{ locale: "zh", message: "" }],
45
+ markdown: [{ locale: "zh", message: "" }],
46
+ size: 120
47
+ };
48
+ }
42
49
  export function toColumnDef(value, { getLocaleText }) {
43
50
  return {
44
51
  header: getLocaleText(value.title),
@@ -9,6 +9,7 @@ import {
9
9
  InputGroup,
10
10
  InputGroupAddon,
11
11
  InputGroupButton,
12
+ InputGroupInput,
12
13
  InputGroupNumberField
13
14
  } from "../../../../ui/input-group";
14
15
  import {
@@ -55,12 +56,13 @@ const currentPreserveModeLabel = computed(
55
56
  () => PRESERVE_MODE_OPTIONS.find((o) => o.value === (value.value.preserveMode ?? "round"))?.label
56
57
  );
57
58
  function onPreserveDigitsChange(v) {
58
- value.value.preserveDigits = v;
59
+ const next = { ...value.value, preserveDigits: v };
59
60
  if (v === void 0) {
60
- value.value.preserveMode = void 0;
61
- } else if (value.value.preserveMode === void 0) {
62
- value.value.preserveMode = "round";
61
+ next.preserveMode = void 0;
62
+ } else if (next.preserveMode === void 0) {
63
+ next.preserveMode = "round";
63
64
  }
65
+ value.value = next;
64
66
  }
65
67
  </script>
66
68
 
@@ -81,7 +83,10 @@ function onPreserveDigitsChange(v) {
81
83
  </template>
82
84
  {{ fieldTitle("title") }}
83
85
  </FieldLabel>
84
- <Locale v-model="value.title" />
86
+ <Locale
87
+ :model-value="value.title"
88
+ @update:model-value="(v) => value = { ...value, title: v }"
89
+ />
85
90
  </Field>
86
91
  <Field orientation="vertical">
87
92
  <FieldLabel class="text-xs text-zinc-500">
@@ -98,8 +103,9 @@ function onPreserveDigitsChange(v) {
98
103
  {{ fieldTitle("tooltip") }}
99
104
  </FieldLabel>
100
105
  <Locale
101
- v-model="value.tooltip"
106
+ :model-value="value.tooltip"
102
107
  markdown
108
+ @update:model-value="(v) => value = { ...value, tooltip: v }"
103
109
  />
104
110
  </Field>
105
111
  </div>
@@ -119,9 +125,10 @@ function onPreserveDigitsChange(v) {
119
125
  {{ fieldTitle("accessor") }}
120
126
  </FieldLabel>
121
127
  <Input
122
- v-model="value.accessor"
128
+ :model-value="value.accessor"
123
129
  placeholder="如 row.salary"
124
130
  class="font-mono text-xs"
131
+ @update:model-value="(v) => value = { ...value, accessor: v }"
125
132
  />
126
133
  </Field>
127
134
  <Field orientation="vertical">
@@ -154,7 +161,7 @@ function onPreserveDigitsChange(v) {
154
161
  <DropdownMenuItem
155
162
  v-for="opt in ALIGN_OPTIONS"
156
163
  :key="opt.value"
157
- @select="value.align = opt.value"
164
+ @select="value = { ...value, align: opt.value }"
158
165
  >
159
166
  <Icon :icon="opt.icon" />
160
167
  {{ opt.label }}
@@ -166,13 +173,13 @@ function onPreserveDigitsChange(v) {
166
173
  :model-value="value.size"
167
174
  :disabled="value.grow"
168
175
  :min="0"
169
- @update:model-value="(v) => value.size = v"
176
+ @update:model-value="(v) => value = { ...value, size: v }"
170
177
  />
171
178
  <InputGroupAddon align="inline-end">
172
179
  <InputGroupButton
173
180
  :variant="value.grow ? 'primary' : 'ghost'"
174
181
  size="xs"
175
- @click="value.grow = !value.grow"
182
+ @click="value = { ...value, grow: !value.grow }"
176
183
  >
177
184
  <Icon :icon="value.grow ? 'fluent:lock-closed-20-regular' : 'fluent:arrow-autofit-width-20-regular'" />
178
185
  {{ fieldTitle("grow") }}
@@ -196,7 +203,7 @@ function onPreserveDigitsChange(v) {
196
203
  </FieldLabel>
197
204
  <Select
198
205
  :model-value="value.displayMode ?? 'plain'"
199
- @update:model-value="(v) => value.displayMode = v"
206
+ @update:model-value="(v) => value = { ...value, displayMode: v }"
200
207
  >
201
208
  <SelectTrigger class="w-full">
202
209
  <SelectValue />
@@ -253,7 +260,7 @@ function onPreserveDigitsChange(v) {
253
260
  <DropdownMenuItem
254
261
  v-for="opt in PRESERVE_MODE_OPTIONS"
255
262
  :key="opt.value"
256
- @select="value.preserveMode = opt.value"
263
+ @select="value = { ...value, preserveMode: opt.value }"
257
264
  >
258
265
  {{ opt.label }}
259
266
  </DropdownMenuItem>
@@ -286,13 +293,13 @@ function onPreserveDigitsChange(v) {
286
293
  <InputGroupInput
287
294
  :model-value="value.sortKey"
288
295
  placeholder="例:created_at"
289
- @update:model-value="(v) => value.sortKey = v || void 0"
296
+ @update:model-value="(v) => value = { ...value, sortKey: v || void 0 }"
290
297
  />
291
298
  <InputGroupAddon align="inline-end">
292
299
  <InputGroupButton
293
300
  :variant="value.enableSorting ? 'primary' : 'ghost'"
294
301
  size="xs"
295
- @click="value.enableSorting = !value.enableSorting"
302
+ @click="value = { ...value, enableSorting: !value.enableSorting }"
296
303
  >
297
304
  <Icon :icon="value.enableSorting ? 'fluent:arrow-sort-up-16-regular' : 'fluent:arrow-sort-16-regular'" />
298
305
  {{ fieldTitle("enableSorting") }}
@@ -42,4 +42,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
42
42
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
43
43
  }>;
44
44
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
45
+ export declare function defaults(): Partial<Value>;
45
46
  export declare function toColumnDef(value: Value, { getLocaleText, $cel, inheritedContext }: ColumnDefDeps): Partial<ColumnDef<unknown, unknown>>;
@@ -29,6 +29,14 @@ export function schema(configure) {
29
29
  }))
30
30
  }).annotations({ title: "NumberRenderer", description: "\u6570\u503C\u6E32\u67D3\u5668" });
31
31
  }
32
+ export function defaults() {
33
+ return {
34
+ title: [{ locale: "zh", message: "" }],
35
+ accessor: "",
36
+ size: 120,
37
+ align: "right"
38
+ };
39
+ }
32
40
  export function toColumnDef(value, { getLocaleText, $cel, inheritedContext }) {
33
41
  return {
34
42
  header: getLocaleText(value.title),
@@ -19,4 +19,5 @@ export declare function schema(configure: (env: Environment) => void): Schema.St
19
19
  compatibilityDate: Schema.Literal<["2026-04-14"]>;
20
20
  }>;
21
21
  export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
22
+ export declare function defaults(): Partial<Value>;
22
23
  export declare function toColumnDef(value: Value): Partial<ColumnDef<unknown, unknown>>;
@@ -35,6 +35,11 @@ export function schema(configure) {
35
35
  })
36
36
  }).annotations({ title: "SelectRenderer", description: "\u9009\u62E9\u6E32\u67D3\u5668" });
37
37
  }
38
+ export function defaults() {
39
+ return {
40
+ mode: "checkbox"
41
+ };
42
+ }
38
43
  export function toColumnDef(value) {
39
44
  return {
40
45
  header: (ctx) => h(Header, { column: value, ctx }),