@quickflo/quickforms-vue 1.16.32 → 1.18.0

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.
@@ -1,4 +1,4 @@
1
- import { Component } from 'vue';
1
+ import { Component, ComputedRef, WatchStopHandle } from 'vue';
2
2
  import { JSONSchema, UISchemaElement, TesterFunction, ComponentRegistry } from '@quickflo/quickforms';
3
3
 
4
4
  /**
@@ -148,6 +148,10 @@ export interface FormOptions<TDefaults = ComponentDefaults> {
148
148
  /** Additional properties for framework-specific options */
149
149
  [key: string]: unknown;
150
150
  }
151
+ /**
152
+ * Callback type for watching form value changes
153
+ */
154
+ export type FormValuesWatchCallback = (values: Record<string, any>, oldValues: Record<string, any>) => void;
151
155
  /**
152
156
  * Form context provided to child components
153
157
  */
@@ -162,7 +166,38 @@ export interface FormContext {
162
166
  errorMessages?: Record<string, Record<string, string>>;
163
167
  validators?: Record<string, ValidatorFunction>;
164
168
  validatorDebounce?: number | Record<string, number>;
169
+ /**
170
+ * Get a snapshot of current form values (non-reactive).
171
+ * Use this for one-time reads or in validators.
172
+ */
165
173
  formValues: () => Record<string, any>;
174
+ /**
175
+ * Get a reactive computed ref for a specific field value by path.
176
+ * Supports dot notation for nested paths (e.g., 'provider.connection').
177
+ * Use this when you need to reactively watch a specific field's value.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * const providerValue = formContext.useFieldValue('provider.provider');
182
+ * watch(providerValue, (newValue) => {
183
+ * console.log('Provider changed:', newValue);
184
+ * });
185
+ * ```
186
+ */
187
+ useFieldValue: <T = unknown>(path: string) => ComputedRef<T | undefined>;
188
+ /**
189
+ * Watch form values and call callback when they change.
190
+ * Returns a stop function to unsubscribe.
191
+ *
192
+ * @example
193
+ * ```ts
194
+ * const stop = formContext.watchFormValues((values, oldValues) => {
195
+ * console.log('Form changed:', values);
196
+ * });
197
+ * // Later: stop();
198
+ * ```
199
+ */
200
+ watchFormValues: (callback: FormValuesWatchCallback) => WatchStopHandle;
166
201
  labels: FormLabels;
167
202
  componentDefaults: ComponentDefaults;
168
203
  hintRenderer?: HintRendererFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quickflo/quickforms-vue",
3
- "version": "1.16.32",
3
+ "version": "1.18.0",
4
4
  "description": "Vue 3 bindings for QuickForms - JSON Schema form generator",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,7 +37,7 @@
37
37
  "@codemirror/view": "^6.38.8",
38
38
  "vee-validate": "^4.12.0",
39
39
  "vue-codemirror": "^6.1.1",
40
- "@quickflo/quickforms": "1.16.32"
40
+ "@quickflo/quickforms": "1.18.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^20.0.0",