@shwfed/config 3.0.1 → 3.0.3

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 (90) 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 +70 -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-27/com.shwfed.form.field.daterange/config.d.vue.ts +6 -6
  21. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +6 -6
  22. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +8 -8
  23. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +8 -8
  24. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
  25. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
  26. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +6 -6
  27. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +6 -6
  28. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +55 -51
  29. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +54 -50
  30. package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.d.ts +8 -2
  31. package/dist/runtime/components/operations/2026-06-11/com.shwfed.operation.http.request.json/schema.js +5 -4
  32. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.d.ts +8 -2
  33. package/dist/runtime/components/operations/2026-06-15/com.shwfed.operation.http.download/schema.js +5 -4
  34. package/dist/runtime/components/sidebar/index.vue +1 -1
  35. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +2 -2
  36. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +2 -2
  37. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.d.vue.ts +2 -2
  38. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/config.vue.d.ts +2 -2
  39. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +2 -2
  40. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +2 -2
  41. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.d.vue.ts +2 -2
  42. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/config.vue.d.ts +2 -2
  43. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.d.vue.ts +2 -2
  44. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/config.vue.d.ts +2 -2
  45. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.d.vue.ts +2 -2
  46. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/config.vue.d.ts +2 -2
  47. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  48. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  49. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  50. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  51. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  52. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  53. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  54. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  55. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  56. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  57. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  58. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  59. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -2
  60. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -2
  61. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -2
  62. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -2
  63. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  64. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  65. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +52 -48
  66. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  67. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  68. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +51 -47
  69. package/dist/runtime/components/table/schema.d.ts +68 -68
  70. package/dist/runtime/components/ui/command/CommandList.d.vue.ts +2 -2
  71. package/dist/runtime/components/ui/command/CommandList.vue +12 -4
  72. package/dist/runtime/components/ui/command/CommandList.vue.d.ts +2 -2
  73. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  74. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  75. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  76. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  77. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  78. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  79. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  80. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  81. package/dist/runtime/components/ui/expression-editor/ExpressionEditor.vue +1 -1
  82. package/dist/runtime/components/ui/input-group/InputGroupCombobox.d.vue.ts +2 -2
  83. package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue +6 -0
  84. package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue.d.ts +2 -2
  85. package/dist/runtime/components/ui/scroll-area/ScrollArea.d.vue.ts +1 -0
  86. package/dist/runtime/components/ui/scroll-area/ScrollArea.vue +9 -3
  87. package/dist/runtime/components/ui/scroll-area/ScrollArea.vue.d.ts +1 -0
  88. package/dist/runtime/share/event-bus.d.ts +9 -1
  89. package/dist/runtime/share/event-bus.js +4 -4
  90. package/package.json +1 -1
@@ -158,6 +158,40 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
158
158
  readonly message: string;
159
159
  }[]] | undefined;
160
160
  }[];
161
+ readonly query?: {
162
+ readonly style?: string | undefined;
163
+ readonly id?: string | undefined;
164
+ readonly initial?: {
165
+ readonly data: string;
166
+ readonly request?: string | undefined;
167
+ } | undefined;
168
+ readonly displayName?: string | undefined;
169
+ readonly kind: "shwfed.component.form";
170
+ readonly fields: readonly any[];
171
+ readonly layouts: readonly {
172
+ readonly name: string;
173
+ readonly layout: {
174
+ readonly style?: string | undefined;
175
+ readonly columns: number;
176
+ readonly gap?: number | undefined;
177
+ readonly rows?: number | undefined;
178
+ readonly placements: {
179
+ readonly [x: string]: {
180
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
181
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
182
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
183
+ };
184
+ };
185
+ };
186
+ readonly media?: string | undefined;
187
+ }[];
188
+ readonly readonly?: string | undefined;
189
+ } | undefined;
190
+ readonly dataSource?: {
191
+ readonly data: string;
192
+ readonly total?: string | undefined;
193
+ readonly request?: string | undefined;
194
+ } | undefined;
161
195
  readonly actions?: {
162
196
  readonly size: "default" | "sm" | "xs";
163
197
  readonly style?: string | undefined;
@@ -225,40 +259,6 @@ export declare function TableConfig(configure: (env: Environment) => void): Sche
225
259
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
226
260
  }[];
227
261
  } | undefined;
228
- readonly query?: {
229
- readonly style?: string | undefined;
230
- readonly id?: string | undefined;
231
- readonly initial?: {
232
- readonly data: string;
233
- readonly request?: string | undefined;
234
- } | undefined;
235
- readonly displayName?: string | undefined;
236
- readonly kind: "shwfed.component.form";
237
- readonly fields: readonly any[];
238
- readonly layouts: readonly {
239
- readonly name: string;
240
- readonly layout: {
241
- readonly style?: string | undefined;
242
- readonly columns: number;
243
- readonly gap?: number | undefined;
244
- readonly rows?: number | undefined;
245
- readonly placements: {
246
- readonly [x: string]: {
247
- readonly area: readonly [readonly [number, number], readonly [number, number]];
248
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
249
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
250
- };
251
- };
252
- };
253
- readonly media?: string | undefined;
254
- }[];
255
- readonly readonly?: string | undefined;
256
- } | undefined;
257
- readonly dataSource?: {
258
- readonly data: string;
259
- readonly total?: string | undefined;
260
- readonly request?: string | undefined;
261
- } | undefined;
262
262
  readonly bottomActions?: {
263
263
  readonly size: "default" | "sm" | "xs";
264
264
  readonly style?: string | undefined;
@@ -827,6 +827,40 @@ export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnTy
827
827
  readonly message: string;
828
828
  }[]] | undefined;
829
829
  }[];
830
+ query?: {
831
+ readonly style?: string | undefined;
832
+ readonly id?: string | undefined;
833
+ readonly initial?: {
834
+ readonly data: string;
835
+ readonly request?: string | undefined;
836
+ } | undefined;
837
+ readonly displayName?: string | undefined;
838
+ readonly kind: "shwfed.component.form";
839
+ readonly fields: readonly any[];
840
+ readonly layouts: readonly {
841
+ readonly name: string;
842
+ readonly layout: {
843
+ readonly style?: string | undefined;
844
+ readonly columns: number;
845
+ readonly gap?: number | undefined;
846
+ readonly rows?: number | undefined;
847
+ readonly placements: {
848
+ readonly [x: string]: {
849
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
850
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
851
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
852
+ };
853
+ };
854
+ };
855
+ readonly media?: string | undefined;
856
+ }[];
857
+ readonly readonly?: string | undefined;
858
+ } | undefined;
859
+ dataSource?: {
860
+ readonly data: string;
861
+ readonly total?: string | undefined;
862
+ readonly request?: string | undefined;
863
+ } | undefined;
830
864
  actions?: {
831
865
  readonly size: "default" | "sm" | "xs";
832
866
  readonly style?: string | undefined;
@@ -894,40 +928,6 @@ export declare function createTableConfig(body: Omit<Schema.Schema.Type<ReturnTy
894
928
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
895
929
  }[];
896
930
  } | undefined;
897
- query?: {
898
- readonly style?: string | undefined;
899
- readonly id?: string | undefined;
900
- readonly initial?: {
901
- readonly data: string;
902
- readonly request?: string | undefined;
903
- } | undefined;
904
- readonly displayName?: string | undefined;
905
- readonly kind: "shwfed.component.form";
906
- readonly fields: readonly any[];
907
- readonly layouts: readonly {
908
- readonly name: string;
909
- readonly layout: {
910
- readonly style?: string | undefined;
911
- readonly columns: number;
912
- readonly gap?: number | undefined;
913
- readonly rows?: number | undefined;
914
- readonly placements: {
915
- readonly [x: string]: {
916
- readonly area: readonly [readonly [number, number], readonly [number, number]];
917
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
918
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
919
- };
920
- };
921
- };
922
- readonly media?: string | undefined;
923
- }[];
924
- readonly readonly?: string | undefined;
925
- } | undefined;
926
- dataSource?: {
927
- readonly data: string;
928
- readonly total?: string | undefined;
929
- readonly request?: string | undefined;
930
- } | undefined;
931
931
  bottomActions?: {
932
932
  readonly size: "default" | "sm" | "xs";
933
933
  readonly style?: string | undefined;
@@ -3,9 +3,9 @@ import type { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = ListboxContentProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => any;
8
+ default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -2,6 +2,7 @@
2
2
  import { reactiveOmit } from "@vueuse/core";
3
3
  import { ListboxContent, useForwardProps } from "reka-ui";
4
4
  import { cn } from "../../../utils/cn";
5
+ import { ScrollArea } from "../scroll-area";
5
6
  const props = defineProps({
6
7
  asChild: { type: Boolean, required: false },
7
8
  as: { type: null, required: false },
@@ -12,13 +13,20 @@ const forwarded = useForwardProps(delegatedProps);
12
13
  </script>
13
14
 
14
15
  <template>
16
+ <!-- The cap stays on ListboxContent so callers keep overriding it through
17
+ `class`; ScrollArea inherits it and owns the actual overflow. -->
15
18
  <ListboxContent
16
19
  data-slot="command-list"
17
20
  v-bind="forwarded"
18
- :class="cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', props.class)"
21
+ :class="cn('max-h-[300px] overflow-hidden', props.class)"
19
22
  >
20
- <div role="presentation">
21
- <slot />
22
- </div>
23
+ <ScrollArea
24
+ class="max-h-[inherit]"
25
+ viewport-class="scroll-py-1"
26
+ >
27
+ <div role="presentation">
28
+ <slot />
29
+ </div>
30
+ </ScrollArea>
23
31
  </ListboxContent>
24
32
  </template>
@@ -3,9 +3,9 @@ import type { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = ListboxContentProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => any;
8
+ default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -28,8 +28,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
28
28
  "onUpdate:modelValue"?: ((args_0: Date | undefined) => any) | undefined;
29
29
  }>, {
30
30
  size: "sm" | "md" | "lg";
31
- clearIcon: string;
32
31
  clearable: boolean;
32
+ clearIcon: string;
33
33
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -28,8 +28,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
28
28
  "onUpdate:modelValue"?: ((args_0: Date | undefined) => any) | undefined;
29
29
  }>, {
30
30
  size: "sm" | "md" | "lg";
31
- clearIcon: string;
32
31
  clearable: boolean;
32
+ clearIcon: string;
33
33
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -22,8 +22,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
22
22
  size: "sm" | "md" | "lg";
23
23
  granularity: "hour" | "minute" | "second";
24
24
  hourCycle: 12 | 24;
25
- clearIcon: string;
26
25
  clearable: boolean;
26
+ clearIcon: string;
27
27
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
28
  declare const _default: typeof __VLS_export;
29
29
  export default _default;
@@ -22,8 +22,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
22
22
  size: "sm" | "md" | "lg";
23
23
  granularity: "hour" | "minute" | "second";
24
24
  hourCycle: 12 | 24;
25
- clearIcon: string;
26
25
  clearable: boolean;
26
+ clearIcon: string;
27
27
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
28
  declare const _default: typeof __VLS_export;
29
29
  export default _default;
@@ -29,8 +29,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
29
29
  "onUpdate:endValue"?: ((args_0: Date | undefined) => any) | undefined;
30
30
  }>, {
31
31
  size: "sm" | "md" | "lg";
32
- clearIcon: string;
33
32
  clearable: boolean;
33
+ clearIcon: string;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
35
  declare const _default: typeof __VLS_export;
36
36
  export default _default;
@@ -29,8 +29,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
29
29
  "onUpdate:endValue"?: ((args_0: Date | undefined) => any) | undefined;
30
30
  }>, {
31
31
  size: "sm" | "md" | "lg";
32
- clearIcon: string;
33
32
  clearable: boolean;
33
+ clearIcon: string;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
35
  declare const _default: typeof __VLS_export;
36
36
  export default _default;
@@ -26,9 +26,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
26
26
  size: "sm" | "md" | "lg";
27
27
  granularity: "hour" | "minute" | "second";
28
28
  hourCycle: 12 | 24;
29
- rangeSeparatorIcon: string;
30
- clearIcon: string;
31
29
  clearable: boolean;
30
+ clearIcon: string;
31
+ rangeSeparatorIcon: string;
32
32
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
33
  declare const _default: typeof __VLS_export;
34
34
  export default _default;
@@ -26,9 +26,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
26
26
  size: "sm" | "md" | "lg";
27
27
  granularity: "hour" | "minute" | "second";
28
28
  hourCycle: 12 | 24;
29
- rangeSeparatorIcon: string;
30
- clearIcon: string;
31
29
  clearable: boolean;
30
+ clearIcon: string;
31
+ rangeSeparatorIcon: string;
32
32
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
33
  declare const _default: typeof __VLS_export;
34
34
  export default _default;
@@ -170,7 +170,7 @@ const leadingAlign = computed(
170
170
  >
171
171
  <Command class="rounded group-data-[side=top]/popover:flex-col-reverse">
172
172
  <CommandInput placeholder="搜索可用变量" />
173
- <CommandList class="max-h-48 overflow-y-auto">
173
+ <CommandList class="max-h-48">
174
174
  <CommandEmpty>No variables.</CommandEmpty>
175
175
  <CommandGroup>
176
176
  <CommandItem
@@ -3,9 +3,9 @@ type __VLS_Props = PopoverContentProps & {
3
3
  disabled?: boolean;
4
4
  invalid?: boolean;
5
5
  };
6
- declare var __VLS_52: {};
6
+ declare var __VLS_54: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_52) => any;
8
+ default?: (props: typeof __VLS_54) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  blur: (...args: any[]) => void;
@@ -64,12 +64,18 @@ const open = ref(false);
64
64
  @blur="emits('blur', $event)"
65
65
  />
66
66
  </PopoverTrigger>
67
+ <!-- The search input is the trigger, so it sits outside the content. On
68
+ open reka's FocusScope focuses the first tabbable node inside the
69
+ content — `CommandList`'s ScrollArea viewport carries `tabindex=0` —
70
+ which blurs the input and makes the combobox untypeable. Keep focus
71
+ where the user put it. -->
67
72
  <PopoverContent
68
73
  v-bind="forwarded"
69
74
  :reference="getInputGroupReference().value ?? void 0"
70
75
  :style="{
71
76
  width: 'var(--reka-popover-trigger-width)'
72
77
  }"
78
+ @open-auto-focus="(event) => event.preventDefault()"
73
79
  >
74
80
  <CommandList>
75
81
  <CommandEmpty as-child>
@@ -3,9 +3,9 @@ type __VLS_Props = PopoverContentProps & {
3
3
  disabled?: boolean;
4
4
  invalid?: boolean;
5
5
  };
6
- declare var __VLS_52: {};
6
+ declare var __VLS_54: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_52) => any;
8
+ default?: (props: typeof __VLS_54) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  blur: (...args: any[]) => void;
@@ -2,6 +2,7 @@ import type { ScrollAreaRootProps } from 'reka-ui';
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = ScrollAreaRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
+ viewportClass?: HTMLAttributes['class'];
5
6
  };
6
7
  declare var __VLS_14: {};
7
8
  type __VLS_Slots = {} & {
@@ -14,9 +14,10 @@ const props = defineProps({
14
14
  scrollHideDelay: { type: Number, required: false },
15
15
  asChild: { type: Boolean, required: false },
16
16
  as: { type: null, required: false },
17
- class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
17
+ class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true },
18
+ viewportClass: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
18
19
  });
19
- const delegatedProps = reactiveOmit(props, "class");
20
+ const delegatedProps = reactiveOmit(props, "class", "viewportClass");
20
21
  </script>
21
22
 
22
23
  <template>
@@ -25,9 +26,14 @@ const delegatedProps = reactiveOmit(props, "class");
25
26
  v-bind="delegatedProps"
26
27
  :class="cn('relative', props.class)"
27
28
  >
29
+ <!-- `max-h-[inherit]`: when the root is capped by `max-h-*` instead of a
30
+ definite height (a popover list sized by its content), `h-full` on the
31
+ viewport resolves to `auto` and it would grow past the cap unscrolled.
32
+ Inheriting the root's max-height gives the viewport the overflow it
33
+ needs; it computes to `none` for definite-height roots. -->
28
34
  <ScrollAreaViewport
29
35
  data-slot="scroll-area-viewport"
30
- class="size-full rounded-[inherit] outline-none"
36
+ :class="cn('size-full max-h-[inherit] rounded-[inherit] outline-none', props.viewportClass)"
31
37
  >
32
38
  <slot />
33
39
  </ScrollAreaViewport>
@@ -2,6 +2,7 @@ import type { ScrollAreaRootProps } from 'reka-ui';
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = ScrollAreaRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
+ viewportClass?: HTMLAttributes['class'];
5
6
  };
6
7
  declare var __VLS_14: {};
7
8
  type __VLS_Slots = {} & {
@@ -160,8 +160,16 @@ export declare function useEventChannel(): EventChannel | undefined;
160
160
  * scope (e.g. a table row's `row`) rather than the handling ancestor's. Pass it
161
161
  * whenever the emitter has a CEL context; omit it and ops fall back to their
162
162
  * host evaluator. See `OpRequest.cel`.
163
+ *
164
+ * `outputs` lets the CALLER own the chain's step-outputs map instead of getting
165
+ * a fresh private one. Two things need that, both in `state.write`: the button
166
+ * reads what its 写入前 chain published to thread into the write expressions'
167
+ * `steps`, and it passes the SAME map to its 写入后 chain, so an after-op can
168
+ * reference a before-op's output. A caller that supplies one MUST mint it per
169
+ * RUN (inside its own `Effect.suspend`) — otherwise one click's outputs leak
170
+ * into the next, which is exactly what the private map prevents.
163
171
  */
164
- export declare function dispatchTriggers(channel: EventChannel | undefined, triggers: ReadonlyArray<TriggerValue> | undefined, cel?: CelEvaluator): Effect.Effect<void>;
172
+ export declare function dispatchTriggers(channel: EventChannel | undefined, triggers: ReadonlyArray<TriggerValue> | undefined, cel?: CelEvaluator, outputs?: Record<string, unknown>): Effect.Effect<void>;
165
173
  /**
166
174
  * One operation a component type exposes. `id` is what the trigger stores;
167
175
  * `name`/`icon` are display only.
@@ -53,10 +53,10 @@ export function provideEventTarget(instanceId, operations) {
53
53
  export function useEventChannel() {
54
54
  return inject(EVENT_CHANNEL_KEY, void 0);
55
55
  }
56
- export function dispatchTriggers(channel, triggers, cel) {
56
+ export function dispatchTriggers(channel, triggers, cel, outputs) {
57
57
  if (!channel || !triggers || triggers.length === 0) return Effect.void;
58
58
  return Effect.suspend(() => {
59
- const outputs = {};
59
+ const chainOutputs = outputs ?? {};
60
60
  return Effect.forEach(
61
61
  triggers,
62
62
  (trigger) => channel.dispatch({
@@ -65,9 +65,9 @@ export function dispatchTriggers(channel, triggers, cel) {
65
65
  params: trigger.params,
66
66
  cel,
67
67
  step: {
68
- outputs: () => outputs,
68
+ outputs: () => chainOutputs,
69
69
  publish: (output) => {
70
- if (trigger.id) outputs[trigger.id] = output;
70
+ if (trigger.id) chainOutputs[trigger.id] = output;
71
71
  }
72
72
  }
73
73
  }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shwfed/config",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "Configurable UI for SHWFED",
5
5
  "type": "module",
6
6
  "publishConfig": {