@shwfed/config 3.0.15 → 3.0.17

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 (122) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/actions/buttons/2026-06-25/com.shwfed.actions.button.state.write/config.d.vue.ts +8 -8
  3. package/dist/runtime/components/actions/buttons/2026-06-25/com.shwfed.actions.button.state.write/config.vue.d.ts +8 -8
  4. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.d.vue.ts +8 -8
  5. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/config.vue.d.ts +8 -8
  6. package/dist/runtime/components/actions/buttons/2026-07-13/com.shwfed.actions.button.state.write/runtime.vue +1 -16
  7. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/config.d.vue.ts +6 -6
  8. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/config.vue.d.ts +6 -6
  9. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/runtime.d.vue.ts +6 -6
  10. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.realestate.lease/runtime.vue.d.ts +6 -6
  11. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +2 -2
  12. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +2 -2
  13. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  14. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  15. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +6 -6
  16. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +6 -6
  17. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +8 -8
  18. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +8 -8
  19. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
  20. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
  21. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  22. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  23. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +6 -6
  24. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +6 -6
  25. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  26. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  27. package/dist/runtime/components/form/index.vue +57 -2
  28. package/dist/runtime/components/form/schema.d.ts +5 -0
  29. package/dist/runtime/components/form/schema.js +14 -1
  30. package/dist/runtime/components/form/utils/derived.js +1 -0
  31. package/dist/runtime/components/form/utils/state-write.d.ts +9 -0
  32. package/dist/runtime/components/form/utils/state-write.js +16 -0
  33. package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.d.vue.ts +21 -0
  34. package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.vue +100 -0
  35. package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/config.vue.d.ts +21 -0
  36. package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/schema.d.ts +18 -0
  37. package/dist/runtime/components/operations/2026-07-19/com.shwfed.operation.form.state.write/schema.js +47 -0
  38. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  39. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue +32 -0
  40. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  41. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  42. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/schema.js +1 -1
  43. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/config.vue +32 -0
  44. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.d.ts +1 -0
  45. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/schema.js +1 -1
  46. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/config.vue +28 -0
  47. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.d.ts +1 -0
  48. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/schema.js +1 -1
  49. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/config.vue +32 -0
  50. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.d.ts +1 -0
  51. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/schema.js +1 -1
  52. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/config.vue +32 -0
  53. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.d.ts +1 -0
  54. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/schema.js +1 -1
  55. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  56. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue +32 -0
  57. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  58. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  59. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/schema.js +1 -1
  60. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.d.vue.ts +2 -0
  61. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue +22 -0
  62. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/config.vue.d.ts +2 -0
  63. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.d.ts +1 -0
  64. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/schema.js +1 -1
  65. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.d.vue.ts +2 -0
  66. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue +22 -0
  67. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/config.vue.d.ts +2 -0
  68. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.d.ts +1 -0
  69. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/schema.js +1 -1
  70. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
  71. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
  72. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
  73. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  74. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
  75. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
  76. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
  77. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
  78. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  79. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
  80. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
  81. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
  82. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
  83. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  84. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
  85. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
  86. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
  87. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
  88. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  89. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
  90. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -0
  91. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +22 -0
  92. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -0
  93. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +1 -0
  94. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +1 -1
  95. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -0
  96. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +22 -0
  97. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -0
  98. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +1 -0
  99. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +1 -1
  100. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/config.vue +32 -0
  101. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.d.ts +1 -0
  102. package/dist/runtime/components/table/columns/2026-06-17/com.shwfed.table.column.date-input/schema.js +1 -1
  103. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/config.vue +32 -0
  104. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.d.ts +1 -0
  105. package/dist/runtime/components/table/columns/2026-06-22/com.shwfed.table.column.date-range-input/schema.js +1 -1
  106. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/config.vue +32 -0
  107. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.d.ts +1 -0
  108. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.js +1 -1
  109. package/dist/runtime/components/table/index.d.vue.ts +1 -0
  110. package/dist/runtime/components/table/index.vue +12 -1
  111. package/dist/runtime/components/table/index.vue.d.ts +1 -0
  112. package/dist/runtime/components/table/utils/shared.d.ts +2 -1
  113. package/dist/runtime/components/table/utils/shared.js +24 -1
  114. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  115. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  116. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  117. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  118. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  119. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  120. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  121. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  122. package/package.json +1 -1
@@ -33,8 +33,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
- readonly rangeSeparatorIcon?: string | undefined;
37
36
  readonly format?: string | undefined;
37
+ readonly valueFormat?: string | undefined;
38
+ readonly disabledDate?: string | undefined;
39
+ readonly rangeSeparatorIcon?: string | undefined;
38
40
  readonly startPlaceholder?: readonly [{
39
41
  readonly locale: "zh";
40
42
  readonly message: string;
@@ -49,8 +51,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
49
51
  readonly locale: "en" | "ja" | "ko";
50
52
  readonly message: string;
51
53
  }[]] | undefined;
52
- readonly valueFormat?: string | undefined;
53
- readonly disabledDate?: string | undefined;
54
54
  readonly validations?: readonly {
55
55
  readonly message: readonly [{
56
56
  readonly locale: "zh";
@@ -106,8 +106,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
106
106
  readonly expression: string;
107
107
  } | undefined;
108
108
  readonly numberOfMonths?: number | undefined;
109
- readonly rangeSeparatorIcon?: string | undefined;
110
109
  readonly format?: string | undefined;
110
+ readonly valueFormat?: string | undefined;
111
+ readonly disabledDate?: string | undefined;
112
+ readonly rangeSeparatorIcon?: string | undefined;
111
113
  readonly startPlaceholder?: readonly [{
112
114
  readonly locale: "zh";
113
115
  readonly message: string;
@@ -122,8 +124,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
122
124
  readonly locale: "en" | "ja" | "ko";
123
125
  readonly message: string;
124
126
  }[]] | undefined;
125
- readonly valueFormat?: string | undefined;
126
- readonly disabledDate?: string | undefined;
127
127
  readonly validations?: readonly {
128
128
  readonly message: readonly [{
129
129
  readonly locale: "zh";
@@ -34,8 +34,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
36
  readonly hourCycle?: 12 | 24 | undefined;
37
- readonly rangeSeparatorIcon?: string | undefined;
38
37
  readonly format?: string | undefined;
38
+ readonly valueFormat?: string | undefined;
39
+ readonly disabledDate?: string | undefined;
40
+ readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
41
+ readonly rangeSeparatorIcon?: string | undefined;
39
42
  readonly startPlaceholder?: readonly [{
40
43
  readonly locale: "zh";
41
44
  readonly message: string;
@@ -50,9 +53,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
50
53
  readonly locale: "en" | "ja" | "ko";
51
54
  readonly message: string;
52
55
  }[]] | undefined;
53
- readonly valueFormat?: string | undefined;
54
- readonly disabledDate?: string | undefined;
55
- readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
56
56
  readonly validations?: readonly {
57
57
  readonly message: readonly [{
58
58
  readonly locale: "zh";
@@ -109,8 +109,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
109
109
  } | undefined;
110
110
  readonly numberOfMonths?: number | undefined;
111
111
  readonly hourCycle?: 12 | 24 | undefined;
112
- readonly rangeSeparatorIcon?: string | undefined;
113
112
  readonly format?: string | undefined;
113
+ readonly valueFormat?: string | undefined;
114
+ readonly disabledDate?: string | undefined;
115
+ readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
116
+ readonly rangeSeparatorIcon?: string | undefined;
114
117
  readonly startPlaceholder?: readonly [{
115
118
  readonly locale: "zh";
116
119
  readonly message: string;
@@ -125,9 +128,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
125
128
  readonly locale: "en" | "ja" | "ko";
126
129
  readonly message: string;
127
130
  }[]] | undefined;
128
- readonly valueFormat?: string | undefined;
129
- readonly disabledDate?: string | undefined;
130
- readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
131
131
  readonly validations?: readonly {
132
132
  readonly message: readonly [{
133
133
  readonly locale: "zh";
@@ -34,8 +34,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
34
34
  } | undefined;
35
35
  readonly numberOfMonths?: number | undefined;
36
36
  readonly hourCycle?: 12 | 24 | undefined;
37
- readonly rangeSeparatorIcon?: string | undefined;
38
37
  readonly format?: string | undefined;
38
+ readonly valueFormat?: string | undefined;
39
+ readonly disabledDate?: string | undefined;
40
+ readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
41
+ readonly rangeSeparatorIcon?: string | undefined;
39
42
  readonly startPlaceholder?: readonly [{
40
43
  readonly locale: "zh";
41
44
  readonly message: string;
@@ -50,9 +53,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
50
53
  readonly locale: "en" | "ja" | "ko";
51
54
  readonly message: string;
52
55
  }[]] | undefined;
53
- readonly valueFormat?: string | undefined;
54
- readonly disabledDate?: string | undefined;
55
- readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
56
56
  readonly validations?: readonly {
57
57
  readonly message: readonly [{
58
58
  readonly locale: "zh";
@@ -109,8 +109,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
109
109
  } | undefined;
110
110
  readonly numberOfMonths?: number | undefined;
111
111
  readonly hourCycle?: 12 | 24 | undefined;
112
- readonly rangeSeparatorIcon?: string | undefined;
113
112
  readonly format?: string | undefined;
113
+ readonly valueFormat?: string | undefined;
114
+ readonly disabledDate?: string | undefined;
115
+ readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
116
+ readonly rangeSeparatorIcon?: string | undefined;
114
117
  readonly startPlaceholder?: readonly [{
115
118
  readonly locale: "zh";
116
119
  readonly message: string;
@@ -125,9 +128,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
125
128
  readonly locale: "en" | "ja" | "ko";
126
129
  readonly message: string;
127
130
  }[]] | undefined;
128
- readonly valueFormat?: string | undefined;
129
- readonly disabledDate?: string | undefined;
130
- readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
131
131
  readonly validations?: readonly {
132
132
  readonly message: readonly [{
133
133
  readonly locale: "zh";
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly hourCycle?: 12 | 24 | undefined;
36
- readonly rangeSeparatorIcon?: string | undefined;
37
36
  readonly valueFormat?: string | undefined;
38
37
  readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
38
+ readonly rangeSeparatorIcon?: string | undefined;
39
39
  readonly validations?: readonly {
40
40
  readonly message: readonly [{
41
41
  readonly locale: "zh";
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
79
  readonly expression: string;
80
80
  } | undefined;
81
81
  readonly hourCycle?: 12 | 24 | undefined;
82
- readonly rangeSeparatorIcon?: string | undefined;
83
82
  readonly valueFormat?: string | undefined;
84
83
  readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
84
+ readonly rangeSeparatorIcon?: string | undefined;
85
85
  readonly validations?: readonly {
86
86
  readonly message: readonly [{
87
87
  readonly locale: "zh";
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly expression: string;
34
34
  } | undefined;
35
35
  readonly hourCycle?: 12 | 24 | undefined;
36
- readonly rangeSeparatorIcon?: string | undefined;
37
36
  readonly valueFormat?: string | undefined;
38
37
  readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
38
+ readonly rangeSeparatorIcon?: string | undefined;
39
39
  readonly validations?: readonly {
40
40
  readonly message: readonly [{
41
41
  readonly locale: "zh";
@@ -79,9 +79,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
79
79
  readonly expression: string;
80
80
  } | undefined;
81
81
  readonly hourCycle?: 12 | 24 | undefined;
82
- readonly rangeSeparatorIcon?: string | undefined;
83
82
  readonly valueFormat?: string | undefined;
84
83
  readonly timeGranularity?: "second" | "minute" | "hour" | undefined;
84
+ readonly rangeSeparatorIcon?: string | undefined;
85
85
  readonly validations?: readonly {
86
86
  readonly message: readonly [{
87
87
  readonly locale: "zh";
@@ -41,14 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
41
41
  readonly mode: "formula" | "prefill";
42
42
  readonly expression: string;
43
43
  } | undefined;
44
- readonly optionValue: string;
45
- readonly optionLabel: readonly [{
46
- readonly locale: "zh";
47
- readonly message: string;
48
- }, ...{
49
- readonly locale: "en" | "ja" | "ko";
50
- readonly message: string;
51
- }[]];
52
44
  readonly validations?: readonly {
53
45
  readonly message: readonly [{
54
46
  readonly locale: "zh";
@@ -60,6 +52,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
60
52
  readonly warning?: boolean | undefined;
61
53
  readonly when: string;
62
54
  }[] | undefined;
55
+ readonly optionValue: string;
56
+ readonly optionLabel: readonly [{
57
+ readonly locale: "zh";
58
+ readonly message: string;
59
+ }, ...{
60
+ readonly locale: "en" | "ja" | "ko";
61
+ readonly message: string;
62
+ }[]];
63
63
  }) => any;
64
64
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
65
65
  "onUpdate:modelValue"?: ((value: {
@@ -100,14 +100,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
100
  readonly mode: "formula" | "prefill";
101
101
  readonly expression: string;
102
102
  } | undefined;
103
- readonly optionValue: string;
104
- readonly optionLabel: readonly [{
105
- readonly locale: "zh";
106
- readonly message: string;
107
- }, ...{
108
- readonly locale: "en" | "ja" | "ko";
109
- readonly message: string;
110
- }[]];
111
103
  readonly validations?: readonly {
112
104
  readonly message: readonly [{
113
105
  readonly locale: "zh";
@@ -119,6 +111,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
119
111
  readonly warning?: boolean | undefined;
120
112
  readonly when: string;
121
113
  }[] | undefined;
114
+ readonly optionValue: string;
115
+ readonly optionLabel: readonly [{
116
+ readonly locale: "zh";
117
+ readonly message: string;
118
+ }, ...{
119
+ readonly locale: "en" | "ja" | "ko";
120
+ readonly message: string;
121
+ }[]];
122
122
  }) => any) | undefined;
123
123
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -41,14 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
41
41
  readonly mode: "formula" | "prefill";
42
42
  readonly expression: string;
43
43
  } | undefined;
44
- readonly optionValue: string;
45
- readonly optionLabel: readonly [{
46
- readonly locale: "zh";
47
- readonly message: string;
48
- }, ...{
49
- readonly locale: "en" | "ja" | "ko";
50
- readonly message: string;
51
- }[]];
52
44
  readonly validations?: readonly {
53
45
  readonly message: readonly [{
54
46
  readonly locale: "zh";
@@ -60,6 +52,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
60
52
  readonly warning?: boolean | undefined;
61
53
  readonly when: string;
62
54
  }[] | undefined;
55
+ readonly optionValue: string;
56
+ readonly optionLabel: readonly [{
57
+ readonly locale: "zh";
58
+ readonly message: string;
59
+ }, ...{
60
+ readonly locale: "en" | "ja" | "ko";
61
+ readonly message: string;
62
+ }[]];
63
63
  }) => any;
64
64
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
65
65
  "onUpdate:modelValue"?: ((value: {
@@ -100,14 +100,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
100
  readonly mode: "formula" | "prefill";
101
101
  readonly expression: string;
102
102
  } | undefined;
103
- readonly optionValue: string;
104
- readonly optionLabel: readonly [{
105
- readonly locale: "zh";
106
- readonly message: string;
107
- }, ...{
108
- readonly locale: "en" | "ja" | "ko";
109
- readonly message: string;
110
- }[]];
111
103
  readonly validations?: readonly {
112
104
  readonly message: readonly [{
113
105
  readonly locale: "zh";
@@ -119,6 +111,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
119
111
  readonly warning?: boolean | undefined;
120
112
  readonly when: string;
121
113
  }[] | undefined;
114
+ readonly optionValue: string;
115
+ readonly optionLabel: readonly [{
116
+ readonly locale: "zh";
117
+ readonly message: string;
118
+ }, ...{
119
+ readonly locale: "en" | "ja" | "ko";
120
+ readonly message: string;
121
+ }[]];
122
122
  }) => any) | undefined;
123
123
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -32,8 +32,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
32
32
  readonly mode: "formula" | "prefill";
33
33
  readonly expression: string;
34
34
  } | undefined;
35
- readonly rangeSeparatorIcon?: string | undefined;
36
35
  readonly format?: string | undefined;
36
+ readonly valueFormat?: string | undefined;
37
+ readonly disabledDate?: string | undefined;
38
+ readonly rangeSeparatorIcon?: string | undefined;
37
39
  readonly startPlaceholder?: readonly [{
38
40
  readonly locale: "zh";
39
41
  readonly message: string;
@@ -48,8 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
48
50
  readonly locale: "en" | "ja" | "ko";
49
51
  readonly message: string;
50
52
  }[]] | undefined;
51
- readonly valueFormat?: string | undefined;
52
- readonly disabledDate?: string | undefined;
53
53
  readonly validations?: readonly {
54
54
  readonly message: readonly [{
55
55
  readonly locale: "zh";
@@ -104,8 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
104
104
  readonly mode: "formula" | "prefill";
105
105
  readonly expression: string;
106
106
  } | undefined;
107
- readonly rangeSeparatorIcon?: string | undefined;
108
107
  readonly format?: string | undefined;
108
+ readonly valueFormat?: string | undefined;
109
+ readonly disabledDate?: string | undefined;
110
+ readonly rangeSeparatorIcon?: string | undefined;
109
111
  readonly startPlaceholder?: readonly [{
110
112
  readonly locale: "zh";
111
113
  readonly message: string;
@@ -120,8 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
122
  readonly locale: "en" | "ja" | "ko";
121
123
  readonly message: string;
122
124
  }[]] | undefined;
123
- readonly valueFormat?: string | undefined;
124
- readonly disabledDate?: string | undefined;
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
127
127
  readonly locale: "zh";
@@ -32,8 +32,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
32
32
  readonly mode: "formula" | "prefill";
33
33
  readonly expression: string;
34
34
  } | undefined;
35
- readonly rangeSeparatorIcon?: string | undefined;
36
35
  readonly format?: string | undefined;
36
+ readonly valueFormat?: string | undefined;
37
+ readonly disabledDate?: string | undefined;
38
+ readonly rangeSeparatorIcon?: string | undefined;
37
39
  readonly startPlaceholder?: readonly [{
38
40
  readonly locale: "zh";
39
41
  readonly message: string;
@@ -48,8 +50,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
48
50
  readonly locale: "en" | "ja" | "ko";
49
51
  readonly message: string;
50
52
  }[]] | undefined;
51
- readonly valueFormat?: string | undefined;
52
- readonly disabledDate?: string | undefined;
53
53
  readonly validations?: readonly {
54
54
  readonly message: readonly [{
55
55
  readonly locale: "zh";
@@ -104,8 +104,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
104
104
  readonly mode: "formula" | "prefill";
105
105
  readonly expression: string;
106
106
  } | undefined;
107
- readonly rangeSeparatorIcon?: string | undefined;
108
107
  readonly format?: string | undefined;
108
+ readonly valueFormat?: string | undefined;
109
+ readonly disabledDate?: string | undefined;
110
+ readonly rangeSeparatorIcon?: string | undefined;
109
111
  readonly startPlaceholder?: readonly [{
110
112
  readonly locale: "zh";
111
113
  readonly message: string;
@@ -120,8 +122,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
120
122
  readonly locale: "en" | "ja" | "ko";
121
123
  readonly message: string;
122
124
  }[]] | undefined;
123
- readonly valueFormat?: string | undefined;
124
- readonly disabledDate?: string | undefined;
125
125
  readonly validations?: readonly {
126
126
  readonly message: readonly [{
127
127
  readonly locale: "zh";
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
40
  readonly mode: "formula" | "prefill";
41
41
  readonly expression: string;
42
42
  } | undefined;
43
- readonly optionValue: string;
44
- readonly optionLabel: readonly [{
45
- readonly locale: "zh";
46
- readonly message: string;
47
- }, ...{
48
- readonly locale: "en" | "ja" | "ko";
49
- readonly message: string;
50
- }[]];
51
43
  readonly validations?: readonly {
52
44
  readonly message: readonly [{
53
45
  readonly locale: "zh";
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
59
51
  readonly warning?: boolean | undefined;
60
52
  readonly when: string;
61
53
  }[] | undefined;
54
+ readonly optionValue: string;
55
+ readonly optionLabel: readonly [{
56
+ readonly locale: "zh";
57
+ readonly message: string;
58
+ }, ...{
59
+ readonly locale: "en" | "ja" | "ko";
60
+ readonly message: string;
61
+ }[]];
62
62
  }) => any;
63
63
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
64
64
  "onUpdate:modelValue"?: ((value: {
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
98
  readonly mode: "formula" | "prefill";
99
99
  readonly expression: string;
100
100
  } | undefined;
101
- readonly optionValue: string;
102
- readonly optionLabel: readonly [{
103
- readonly locale: "zh";
104
- readonly message: string;
105
- }, ...{
106
- readonly locale: "en" | "ja" | "ko";
107
- readonly message: string;
108
- }[]];
109
101
  readonly validations?: readonly {
110
102
  readonly message: readonly [{
111
103
  readonly locale: "zh";
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
109
  readonly warning?: boolean | undefined;
118
110
  readonly when: string;
119
111
  }[] | undefined;
112
+ readonly optionValue: string;
113
+ readonly optionLabel: readonly [{
114
+ readonly locale: "zh";
115
+ readonly message: string;
116
+ }, ...{
117
+ readonly locale: "en" | "ja" | "ko";
118
+ readonly message: string;
119
+ }[]];
120
120
  }) => any) | undefined;
121
121
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
122
122
  declare const _default: typeof __VLS_export;
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
40
  readonly mode: "formula" | "prefill";
41
41
  readonly expression: string;
42
42
  } | undefined;
43
- readonly optionValue: string;
44
- readonly optionLabel: readonly [{
45
- readonly locale: "zh";
46
- readonly message: string;
47
- }, ...{
48
- readonly locale: "en" | "ja" | "ko";
49
- readonly message: string;
50
- }[]];
51
43
  readonly validations?: readonly {
52
44
  readonly message: readonly [{
53
45
  readonly locale: "zh";
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
59
51
  readonly warning?: boolean | undefined;
60
52
  readonly when: string;
61
53
  }[] | undefined;
54
+ readonly optionValue: string;
55
+ readonly optionLabel: readonly [{
56
+ readonly locale: "zh";
57
+ readonly message: string;
58
+ }, ...{
59
+ readonly locale: "en" | "ja" | "ko";
60
+ readonly message: string;
61
+ }[]];
62
62
  }) => any;
63
63
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
64
64
  "onUpdate:modelValue"?: ((value: {
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
98
  readonly mode: "formula" | "prefill";
99
99
  readonly expression: string;
100
100
  } | undefined;
101
- readonly optionValue: string;
102
- readonly optionLabel: readonly [{
103
- readonly locale: "zh";
104
- readonly message: string;
105
- }, ...{
106
- readonly locale: "en" | "ja" | "ko";
107
- readonly message: string;
108
- }[]];
109
101
  readonly validations?: readonly {
110
102
  readonly message: readonly [{
111
103
  readonly locale: "zh";
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
109
  readonly warning?: boolean | undefined;
118
110
  readonly when: string;
119
111
  }[] | undefined;
112
+ readonly optionValue: string;
113
+ readonly optionLabel: readonly [{
114
+ readonly locale: "zh";
115
+ readonly message: string;
116
+ }, ...{
117
+ readonly locale: "en" | "ja" | "ko";
118
+ readonly message: string;
119
+ }[]];
120
120
  }) => any) | undefined;
121
121
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
122
122
  declare const _default: typeof __VLS_export;
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { cel as _rawCel } from "../../utils/cel";
3
3
  import { TZDate } from "@date-fns/tz";
4
- import { Effect } from "effect";
4
+ import { Cause, Effect } from "effect";
5
5
  import { Fetch } from "fx-fetch";
6
6
  import { computed } from "vue";
7
7
  import {
@@ -17,8 +17,10 @@ import { provideDerivedQuiescence, useDerived } from "./utils/derived";
17
17
  import { useFormHistory } from "./utils/history";
18
18
  import { evaluateInitial } from "./utils/initial";
19
19
  import { provideEventTarget } from "../../share/event-bus";
20
+ import * as stateWriteOp from "../operations/2026-07-19/com.shwfed.operation.form.state.write/schema";
20
21
  import { provideFormReadonly } from "./utils/readonly";
21
22
  import { provideFormState } from "./utils/state";
23
+ import { mergeAtPath } from "./utils/state-write";
22
24
  import { provideOptionsRegistry, provideSelectionsRegistry } from "../../utils/selections-registry";
23
25
  import { provideValidation } from "./utils/validation";
24
26
  defineOptions({ name: "ShwfedForm" });
@@ -116,7 +118,60 @@ provideEventTarget(formInstanceId, {
116
118
  }),
117
119
  "undo": () => Effect.sync(formHistory.undo),
118
120
  "redo": () => Effect.sync(formHistory.redo),
119
- "reset-to-initial": () => Effect.sync(formHistory.reset)
121
+ "reset-to-initial": () => Effect.sync(formHistory.reset),
122
+ // Host-coupled `state.write` op: it writes into THIS form's state bag, which
123
+ // a generic handler can't reach (the bag lives on the Vue inject chain), so
124
+ // like the table's `add-row` it ships no `runtime.ts` and is hand-wired here.
125
+ // It is the button's「写入表单状态」capability lifted out so any trigger list can
126
+ // dispatch it — but, being one step of a chain, it carries no bracketing
127
+ // 写入前/写入后 lists (the surrounding chain is the bracket).
128
+ //
129
+ // Params are decoded with the same loose posture the table uses for
130
+ // `add-row` — a plain cast, tolerating absent/malformed shapes — since the
131
+ // authoritative validation already ran in the trigger editor against the op's
132
+ // schema. Rows commit in LIST ORDER via `setAt` (dirty-marking is intended —
133
+ // an op write is user intent, as with the button and per `state.ts`'s
134
+ // "explicit clear counts as a touch"). Unlike the button there is no
135
+ // "commit out of the form I'm in" walk: the op explicitly targets THIS form,
136
+ // so it writes THIS form's own bag.
137
+ //
138
+ // Each `value` is evaluated with the emit-site evaluator (`cel` — the
139
+ // dispatching button's own scope, where a row action's `row` is live) when
140
+ // present, else the form's own `$cel`; both bind `{ steps }` (the chain's
141
+ // earlier outputs) into the context. A row whose evaluation or write throws
142
+ // logs UNGATED — designers configure inside the production-built app, so an
143
+ // `import.meta.dev`-gated log is one they can never see (see the button
144
+ // runtime's note) — then HALTS the remaining rows and the rest of the trigger
145
+ // chain via a defect, keeping the handler's `void` error channel (the guard
146
+ // shape `validate` uses above). `tapErrorCause` covers both a failed
147
+ // evaluation and a throwing `setAt`.
148
+ [stateWriteOp.type]: (params, cel, step) => {
149
+ const writes = params?.writes ?? [];
150
+ const steps = step?.outputs() ?? {};
151
+ return Effect.forEach(
152
+ writes,
153
+ (write) => {
154
+ const path = write.path?.trim() ?? "";
155
+ if (path.length === 0) return Effect.void;
156
+ const evaluated = cel ? cel(write.value, { steps }) : $cel(write.value, { steps });
157
+ return Effect.map(evaluated, (result) => {
158
+ formState.setAt(path, mergeAtPath(formState.getAt(path), result));
159
+ }).pipe(
160
+ Effect.tapErrorCause((cause) => Effect.sync(() => {
161
+ console.error(
162
+ `[shwfed-form] state.write: failed to write "${path}" for ${formInstanceId}:`,
163
+ Cause.squash(cause)
164
+ );
165
+ })),
166
+ // Re-raise as a defect so the chain halts (later rows + the rest of
167
+ // the trigger list stay skipped) without widening the infallible
168
+ // `void` error channel — same reason `validate` uses `Effect.die`.
169
+ Effect.catchAllCause((cause) => Effect.die(Cause.squash(cause)))
170
+ );
171
+ },
172
+ { discard: true }
173
+ );
174
+ }
120
175
  });
121
176
  defineExpose({
122
177
  seeded,
@@ -26,6 +26,11 @@ export declare const metadata: {
26
26
  readonly id: "reset-to-initial";
27
27
  readonly name: "重置为初始值";
28
28
  readonly icon: "fluent:arrow-reset-20-regular";
29
+ }, {
30
+ readonly id: "com.shwfed.operation.form.state.write";
31
+ readonly compatibilityDate: "2026-07-19";
32
+ readonly name: "写入表单状态";
33
+ readonly icon: "fluent:document-edit-20-regular";
29
34
  }];
30
35
  };
31
36
  type AnySchema = Schema.Schema<any, any, never>;
@@ -2,6 +2,7 @@ import { Schema } from "effect";
2
2
  import { Expression, HttpRequestResult } from "../../share/expression.js";
3
3
  import { allFieldSchemas } from "./utils/resolve.js";
4
4
  import { registerFormVariablesIfAbsent } from "./utils/form-vars.js";
5
+ import * as stateWriteOp from "../operations/2026-07-19/com.shwfed.operation.form.state.write/schema.js";
5
6
  import { md } from "../../share/markdown.js";
6
7
  import {
7
8
  LayoutSet,
@@ -23,7 +24,19 @@ export const metadata = {
23
24
  { id: "validate", name: "\u6821\u9A8C", icon: "fluent:checkmark-circle-20-regular" },
24
25
  { id: "undo", name: "\u64A4\u9500", icon: "fluent:arrow-undo-20-regular" },
25
26
  { id: "redo", name: "\u91CD\u505A", icon: "fluent:arrow-redo-20-regular" },
26
- { id: "reset-to-initial", name: "\u91CD\u7F6E\u4E3A\u521D\u59CB\u503C", icon: "fluent:arrow-reset-20-regular" }
27
+ { id: "reset-to-initial", name: "\u91CD\u7F6E\u4E3A\u521D\u59CB\u503C", icon: "fluent:arrow-reset-20-regular" },
28
+ // Parameterized (but host-coupled) op: `compatibilityDate` marks it as
29
+ // carrying params, so the trigger editor renders the op's `config.vue` and
30
+ // seeds its `defaults()`. Like the table's `add-row` it ships no
31
+ // `runtime.ts` — the write touches this form instance's private state bag,
32
+ // so the handler is hand-wired in `index.vue`'s `provideEventTarget`. `id`
33
+ // doubles as the operation-block `type`.
34
+ {
35
+ id: stateWriteOp.type,
36
+ compatibilityDate: stateWriteOp.compatibilityDate,
37
+ name: stateWriteOp.metadata.name,
38
+ icon: stateWriteOp.metadata.icon
39
+ }
27
40
  ]
28
41
  };
29
42
  function unitFields(configure) {
@@ -76,6 +76,7 @@ export function useDerived(options) {
76
76
  (result) => {
77
77
  if (gen !== generation) return;
78
78
  if (field.mode === "prefill" && isDirty(field.binding)) return;
79
+ if (field.mode === "prefill" && result === void 0) return;
79
80
  const normalized = coerce(field.binding, result === void 0 ? null : result);
80
81
  if (!deepEqual(getAt(field.binding), normalized)) setAtSilent(field.binding, normalized);
81
82
  },
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Merge one write row's `next` value into the `current` value at its path.
3
+ *
4
+ * Only deep-merge when both sides are records. Otherwise the new value
5
+ * replaces wholesale — scalars, arrays, null, and mixed-type writes all fall
6
+ * through to a plain replace (`setAt(path, next)` at the call site). Arrays
7
+ * nested inside two merged records replace last-write-wins, per `mergeObjects`.
8
+ */
9
+ export declare function mergeAtPath(current: unknown, next: unknown): unknown;
@@ -0,0 +1,16 @@
1
+ import { createDefu } from "defu";
2
+ const mergeObjects = createDefu((obj, key, value) => {
3
+ if (Array.isArray(obj[key]) && Array.isArray(value)) {
4
+ obj[key] = value;
5
+ return true;
6
+ }
7
+ });
8
+ function isPlainObject(v) {
9
+ return typeof v === "object" && v !== null && !Array.isArray(v);
10
+ }
11
+ export function mergeAtPath(current, next) {
12
+ if (isPlainObject(current) && isPlainObject(next)) {
13
+ return mergeObjects({ ...next }, current);
14
+ }
15
+ return next;
16
+ }