@bach.software/vue-dynamic-form 0.5.0 → 0.7.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.
- package/dist/examples.cjs.js +9 -9
- package/dist/examples.cjs.js.map +1 -1
- package/dist/examples.es.js +1726 -293
- package/dist/examples.es.js.map +1 -1
- package/dist/mapEachMetadataItem-DwSDJyzo.cjs +2 -0
- package/dist/mapEachMetadataItem-DwSDJyzo.cjs.map +1 -0
- package/dist/mapEachMetadataItem-DxEO1PDs.js +1186 -0
- package/dist/mapEachMetadataItem-DxEO1PDs.js.map +1 -0
- package/dist/src/components/DynamicFormItemWizard.vue.d.ts +25 -0
- package/dist/src/components/DynamicFormTemplate.vue.d.ts +97 -4
- package/dist/src/components/__tests__/DynamicFormItem.formApi.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItem.unmount.logic.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemArray.analytics.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemArray.formApi.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemArray.test-helpers.d.ts +9 -0
- package/dist/src/components/__tests__/DynamicFormItemChoice.analytics.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemChoice.formApi.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemChoice.test-helpers.d.ts +100 -0
- package/dist/src/components/__tests__/DynamicFormItemWizard.analytics.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemWizard.formApi.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemWizard.logic.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormItemWizard.test-helpers.d.ts +24 -0
- package/dist/src/components/__tests__/DynamicFormItemWizard.validation.test.d.ts +1 -0
- package/dist/src/components/__tests__/DynamicFormTemplate.test.d.ts +1 -0
- package/dist/src/core/__tests__/useIsResetPending.test.d.ts +1 -0
- package/dist/src/core/__tests__/useIsValidationSuppressed.test.d.ts +1 -0
- package/dist/src/core/useIsResetPending.d.ts +13 -0
- package/dist/src/core/useIsValidationSuppressed.d.ts +20 -0
- package/dist/src/core/validation.d.ts +8 -2
- package/dist/src/examples/KeepValuesOnUnmountTestCase.vue.d.ts +2 -0
- package/dist/src/examples/ProgrammaticWritesTestCase.vue.d.ts +2 -0
- package/dist/src/examples/TestForm.vue.d.ts +7 -1
- package/dist/src/examples/TestFormTemplate.vue.d.ts +48 -13
- package/dist/src/examples/__tests__/TestFormTemplate.testcases.d.ts +2317 -7
- package/dist/src/examples/index.d.ts +2 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/types/DynamicFormItemProps.d.ts +39 -2
- package/dist/src/types/DynamicFormSettings.d.ts +16 -0
- package/dist/src/types/FieldMetadata.d.ts +123 -1
- package/dist/src/utils/__tests__/deepCloneValue.test.d.ts +1 -0
- package/dist/src/utils/__tests__/mapEachMetadataItem.test.d.ts +1 -1
- package/dist/src/utils/deepCloneValue.d.ts +10 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vue-dynamic-form.cjs.js +1 -1
- package/dist/vue-dynamic-form.es.js +28 -27
- package/package.json +8 -6
- package/dist/mapEachMetadataItem-B4xJvJDj.js +0 -732
- package/dist/mapEachMetadataItem-B4xJvJDj.js.map +0 -1
- package/dist/mapEachMetadataItem-CDDSsb0c.cjs +0 -6
- package/dist/mapEachMetadataItem-CDDSsb0c.cjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FieldContext as _FieldContext } from 'vee-validate';
|
|
2
2
|
import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
|
|
3
3
|
import type { DynamicFormSettings } from '../types/DynamicFormSettings';
|
|
4
|
-
import type { ReadOnlyFieldType } from '../types/FieldMetadata';
|
|
4
|
+
import type { ReadOnlyFieldType, WizardConfig, WizardGotoStepOptions } from '../types/FieldMetadata';
|
|
5
5
|
import type { MetadataConfiguration } from '../types/MetadataConfiguration';
|
|
6
6
|
export interface FieldContext<TValue = unknown> extends _FieldContext<TValue> {
|
|
7
7
|
/**
|
|
@@ -29,7 +29,7 @@ export interface LimitedFieldContext<TValue = unknown> {
|
|
|
29
29
|
* public prop signature of the user-facing DynamicFormTemplate component.
|
|
30
30
|
*/
|
|
31
31
|
export interface Attributes<TMetadataConfiguration extends MetadataConfiguration> {
|
|
32
|
-
type: TMetadataConfiguration['fieldTypes'][number] | 'default' | 'default-array' | 'default-array-item' | 'default-choice';
|
|
32
|
+
type: TMetadataConfiguration['fieldTypes'][number] | 'default' | 'default-array' | 'default-array-item' | 'default-choice' | 'default-choice-array' | 'default-choice-array-item' | 'default-wizard' | 'default-wizard-page';
|
|
33
33
|
/** The metadata you configured for this field. */
|
|
34
34
|
fieldMetadata: ReadOnlyFieldType<TMetadataConfiguration['fieldTypes'][number], TMetadataConfiguration['extendedProperties']>;
|
|
35
35
|
/** Whether the field is required. */
|
|
@@ -72,6 +72,91 @@ export interface ItemAttributes<TMetadataConfiguration extends MetadataConfigura
|
|
|
72
72
|
export interface ArrayChoiceAttributes<TMetadataConfiguration extends MetadataConfiguration> extends Attributes<TMetadataConfiguration> {
|
|
73
73
|
fieldContext: LimitedFieldContext<unknown[]>;
|
|
74
74
|
}
|
|
75
|
+
/** An active branch occurrence, as reported by `activeChoiceOccurrences`. */
|
|
76
|
+
export interface ChoiceOccurrence {
|
|
77
|
+
/** The choice branch's `name` (e.g. 'selfServe', 'apiEndpoint'). */
|
|
78
|
+
branchKey: string;
|
|
79
|
+
/** 0 for maxOccurs:1; the occurrence's index within its branch for maxOccurs > 1. */
|
|
80
|
+
index: number;
|
|
81
|
+
}
|
|
82
|
+
export interface ChoiceAttributes<TMetadataConfiguration extends MetadataConfiguration> extends ArrayChoiceAttributes<TMetadataConfiguration> {
|
|
83
|
+
/** Mark a branch active (maxOccurs:1) or add one occurrence of it (maxOccurs > 1). No-op when canAddChoiceOccurrence is false. */
|
|
84
|
+
addChoiceOccurrence: (branchKey: string) => void;
|
|
85
|
+
/** Remove a previously added occurrence. index is required in maxOccurs > 1; ignored (optional) in maxOccurs:1 where it deselects the active branch. */
|
|
86
|
+
removeChoiceOccurrence: (branchKey: string, index?: number) => void;
|
|
87
|
+
/** Per-branch guard: false when this branch's own maxOccurs or the choice's shared occurrence budget is exhausted, or when the choice is disabled. */
|
|
88
|
+
canAddChoiceOccurrence: (branchKey: string) => boolean;
|
|
89
|
+
/** The currently active occurrences the template iterates for counts/selector state. */
|
|
90
|
+
activeChoiceOccurrences: ChoiceOccurrence[];
|
|
91
|
+
/**
|
|
92
|
+
* Choice slots currently consumed, in choice-occurrence units rather than raw item count.
|
|
93
|
+
* For a repeatable branch (its own `maxOccurs > 1`), every group of up to that many items
|
|
94
|
+
* counts as one slot, the same unit `maxOccurs` on the choice itself is measured in, so a
|
|
95
|
+
* template can show an accurate "N of maxOccurs" without re-deriving the batching math.
|
|
96
|
+
*/
|
|
97
|
+
usedChoiceOccurrences: number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Slot props for a single occurrence of a repeatable explicit choice (`maxOccurs > 1`), rendered
|
|
101
|
+
* through the `*-choice-array-item` / `default-choice-array-item` slot. Mirrors `ItemAttributes`
|
|
102
|
+
* (the same shape `*-array-item` receives) plus `branchKey`, the occurrence's branch name (drives
|
|
103
|
+
* a "kind" badge in the template).
|
|
104
|
+
*/
|
|
105
|
+
export interface ChoiceArrayItemAttributes<TMetadataConfiguration extends MetadataConfiguration, FieldType extends string = string> extends ItemAttributes<TMetadataConfiguration, FieldType> {
|
|
106
|
+
/** The choice branch this occurrence belongs to (the child's `name`). Drives the "kind" badge. */
|
|
107
|
+
branchKey: string;
|
|
108
|
+
/**
|
|
109
|
+
* This occurrence's zero-based position across every branch's active occurrences, in the same
|
|
110
|
+
* order `activeChoiceOccurrences` reports them (grouped by branch declaration order, then by
|
|
111
|
+
* index within branch). Renumbers live when an occurrence is removed; never stored.
|
|
112
|
+
*/
|
|
113
|
+
globalIndex: number;
|
|
114
|
+
/**
|
|
115
|
+
* This occurrence's ephemeral, instance-local add-order position (1-based, in add-press order
|
|
116
|
+
* across every branch), set only when it was added via `addChoiceOccurrence` this session.
|
|
117
|
+
* `undefined` for an occurrence that already existed when the form mounted (loaded saved data).
|
|
118
|
+
* Gone on remount; never stored in form values.
|
|
119
|
+
*/
|
|
120
|
+
insertionOrder?: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Slot props for the wizard container (`<type>-wizard` / `default-wizard`). `pages` is the
|
|
124
|
+
* engine's resolved page list (the corrected page metadata nodes, in page order): the single
|
|
125
|
+
* source of truth for a stepper, so a template never re-derives `fieldMetadata.children` itself.
|
|
126
|
+
*/
|
|
127
|
+
export interface WizardAttributes<TMetadataConfiguration extends MetadataConfiguration> extends Attributes<TMetadataConfiguration> {
|
|
128
|
+
fieldContext: LimitedFieldContext;
|
|
129
|
+
currentStepIndex: number;
|
|
130
|
+
pages: ReadOnlyFieldType<TMetadataConfiguration['fieldTypes'][number], TMetadataConfiguration['extendedProperties']>[];
|
|
131
|
+
pageCount: number;
|
|
132
|
+
isFirst: boolean;
|
|
133
|
+
isLast: boolean;
|
|
134
|
+
isValidating: boolean;
|
|
135
|
+
/** The wizard's navigation config with defaults applied, so a stepper reflects the resolved mode (e.g. enable forward jumps when `allowForwardJump`) without re-reading `fieldMetadata.wizard` or re-deriving defaults. */
|
|
136
|
+
wizardConfig: Required<WizardConfig>;
|
|
137
|
+
next: () => Promise<void>;
|
|
138
|
+
prev: () => void;
|
|
139
|
+
gotoStep: (index: number, options?: WizardGotoStepOptions) => Promise<void> | void;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Slot props for a single wizard page (`<type>-wizard-page` / `default-wizard-page`). Delivered
|
|
143
|
+
* for every page, not only the current one; the template gates visibility with `isCurrent`
|
|
144
|
+
* (`v-show`, never `v-if`: `v-if` deregisters the page's fields from vee-validate regardless of
|
|
145
|
+
* `keepValuesOnUnmount`, and also clears their values unless that flag is set, so `v-show` stays
|
|
146
|
+
* required for any page with fields).
|
|
147
|
+
*/
|
|
148
|
+
export interface WizardPageAttributes<TMetadataConfiguration extends MetadataConfiguration> extends Attributes<TMetadataConfiguration> {
|
|
149
|
+
isCurrent: boolean;
|
|
150
|
+
pageIndex: number;
|
|
151
|
+
currentStepIndex: number;
|
|
152
|
+
isFirst: boolean;
|
|
153
|
+
isLast: boolean;
|
|
154
|
+
/** The wizard's navigation config with defaults applied (same object as the container slot), so a page can build its own mode-aware controls. */
|
|
155
|
+
wizardConfig: Required<WizardConfig>;
|
|
156
|
+
next: () => Promise<void>;
|
|
157
|
+
prev: () => void;
|
|
158
|
+
gotoStep: (index: number, options?: WizardGotoStepOptions) => Promise<void> | void;
|
|
159
|
+
}
|
|
75
160
|
declare const _default: <TMetadataConfiguration extends MetadataConfiguration>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
76
161
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & DynamicFormConfigurationProps<TMetadataConfiguration> & Partial<{}>> & import("vue").PublicProps;
|
|
77
162
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
@@ -85,8 +170,16 @@ declare const _default: <TMetadataConfiguration extends MetadataConfiguration>(_
|
|
|
85
170
|
} & {
|
|
86
171
|
'default-array-item': (props: ItemAttributes<TMetadataConfiguration, string>) => any;
|
|
87
172
|
} & {
|
|
88
|
-
'default-choice': (props:
|
|
89
|
-
} & {
|
|
173
|
+
'default-choice': (props: ChoiceAttributes<TMetadataConfiguration>) => any;
|
|
174
|
+
} & {
|
|
175
|
+
'default-choice-array': (props: ChoiceAttributes<TMetadataConfiguration>) => any;
|
|
176
|
+
} & {
|
|
177
|
+
'default-choice-array-item': (props: ChoiceArrayItemAttributes<TMetadataConfiguration, string>) => any;
|
|
178
|
+
} & {
|
|
179
|
+
'default-wizard': (props: WizardAttributes<TMetadataConfiguration>) => any;
|
|
180
|
+
} & {
|
|
181
|
+
'default-wizard-page': (props: WizardPageAttributes<TMetadataConfiguration>) => any;
|
|
182
|
+
} & { [K in TMetadataConfiguration["fieldTypes"][number]]: (props: ItemAttributes<TMetadataConfiguration, K>) => any; } & { [K_1 in `${TMetadataConfiguration["fieldTypes"][number]}-input`]: (props: ItemAttributes<TMetadataConfiguration, K_1 extends `${infer FieldType}-input` ? FieldType : never>) => any; } & { [K_2 in `${TMetadataConfiguration["fieldTypes"][number]}-array`]: (props: ArrayChoiceAttributes<TMetadataConfiguration>) => any; } & { [K_3 in `${TMetadataConfiguration["fieldTypes"][number]}-array-item`]: (props: ItemAttributes<TMetadataConfiguration, K_3 extends `${infer FieldType}-input` ? FieldType : never>) => any; } & { [K_4 in `${TMetadataConfiguration["fieldTypes"][number]}-choice`]: (props: ChoiceAttributes<TMetadataConfiguration>) => any; } & { [K_5 in `${TMetadataConfiguration["fieldTypes"][number]}-choice-array`]: (props: ChoiceAttributes<TMetadataConfiguration>) => any; } & { [K_6 in `${TMetadataConfiguration["fieldTypes"][number]}-choice-array-item`]: (props: ChoiceArrayItemAttributes<TMetadataConfiguration, K_6 extends `${infer FieldType}-choice-array-item` ? FieldType : never>) => any; } & { [K_7 in `${TMetadataConfiguration["fieldTypes"][number]}-wizard`]: (props: WizardAttributes<TMetadataConfiguration>) => any; } & { [K_8 in `${TMetadataConfiguration["fieldTypes"][number]}-wizard-page`]: (props: WizardPageAttributes<TMetadataConfiguration>) => any; };
|
|
90
183
|
emit: {};
|
|
91
184
|
}>) => import("vue").VNode & {
|
|
92
185
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { mount } from '@vue/test-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Accesses the internal `<script setup>` state of the DynamicFormItemArray registered at `path`.
|
|
4
|
+
* Mirrors `DynamicFormItem.test-helpers.ts`'s `setupState`, reaching into `vm.$.setupState` for
|
|
5
|
+
* private state not exposed via `defineExpose`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setupState(wrapper: ReturnType<typeof mount>, path: string): Record<string, any> | undefined;
|
|
8
|
+
/** Reads how many times the array's `combinedValidation` computed has run. Returns -1 if the array is not found. */
|
|
9
|
+
export declare function arrayConstructValidationCount(wrapper: ReturnType<typeof mount>, path: string): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { mount } from '@vue/test-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Accesses the internal `<script setup>` state of the DynamicFormItemChoice registered at `path`
|
|
4
|
+
* (matched via its `normalizedPath` setup variable). Mirrors `DynamicFormItem.test-helpers.ts`'s
|
|
5
|
+
* `setupState`, reaching into `vm.$.setupState` for private state not exposed via `defineExpose`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setupState(wrapper: ReturnType<typeof mount>, path: string): Record<string, any> | undefined;
|
|
8
|
+
/** Finds the DynamicFormItemChoice instance registered at `path` (its `normalizedPath`). */
|
|
9
|
+
export declare function findDynamicFormItemChoiceByPath(wrapper: ReturnType<typeof mount>, path: string): import("@vue/test-utils").VueWrapper<any, any> | undefined;
|
|
10
|
+
/** Reads `activeChoiceOccurrences` for the choice at `path`. Returns undefined if the choice is not found. */
|
|
11
|
+
export declare function activeChoiceOccurrences(wrapper: ReturnType<typeof mount>, path: string): {
|
|
12
|
+
branchKey: string;
|
|
13
|
+
index: number;
|
|
14
|
+
}[] | undefined;
|
|
15
|
+
/** Reads `explicitlySelectedBranch` for the choice at `path`. Returns undefined if the choice is not found. */
|
|
16
|
+
export declare function explicitlySelectedBranch(wrapper: ReturnType<typeof mount>, path: string): string | null | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Reads the ephemeral preserve-on-switch stash for the choice at `path`. Returns
|
|
19
|
+
* undefined if the choice is not found. Best-effort internal-state reader: it names the stash
|
|
20
|
+
* ref directly for tests that want a stronger assertion than the observable restore
|
|
21
|
+
* behaviour alone.
|
|
22
|
+
*/
|
|
23
|
+
export declare function stashedBranchValues(wrapper: ReturnType<typeof mount>, path: string): Record<string, unknown> | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Patches fixture metadata to enable preserve-on-switch on the choice at `branchKey`
|
|
26
|
+
* (the choice's own `name`, e.g. `'pick'`). Centralises the flag surface (the `FieldMetadata`
|
|
27
|
+
* boolean `preserveOnSwitch`) so tests do not hardcode a property name directly.
|
|
28
|
+
*/
|
|
29
|
+
export declare function enablePreserveOnSwitch<T>(metadata: T[], choicePath: string, enabled?: boolean): T[];
|
|
30
|
+
/**
|
|
31
|
+
* Reads the `childValues` entry for `branchKey` at the choice registered at `path`, resolving the
|
|
32
|
+
* branch name to its internal numeric index via the choice's own metadata.
|
|
33
|
+
*/
|
|
34
|
+
export declare function childValuesEntry(wrapper: ReturnType<typeof mount>, path: string, branchKey: string): {
|
|
35
|
+
occurrences: number;
|
|
36
|
+
valuesCount: number;
|
|
37
|
+
} | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Reads the `-kind-badge` testid text at `occurrencePath` (e.g. `pick.apiEndpoint[0]`), asserting
|
|
40
|
+
* the `*-choice-array-item`/`default-choice-array-item` slot actually received `branchKey` as a real slot
|
|
41
|
+
* prop, rather than the test inferring it from the path itself.
|
|
42
|
+
*/
|
|
43
|
+
export declare function occurrenceBranchKey(wrapper: ReturnType<typeof mount>, occurrencePath: string): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Reads the `-global-index` testid at `occurrencePath` (e.g. `pick.apiEndpoint[0]`), asserting
|
|
46
|
+
* the `*-choice-array-item`/`default-choice-array-item` slot actually received `globalIndex` as a
|
|
47
|
+
* real slot prop, rather than the test inferring it from the path itself. Mirrors
|
|
48
|
+
* `occurrenceBranchKey`'s rationale.
|
|
49
|
+
*/
|
|
50
|
+
export declare function occurrenceGlobalIndex(wrapper: ReturnType<typeof mount>, occurrencePath: string): number | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Reads the fixture's per-branch add-choice button `disabled` attribute for `branchKey` at the
|
|
53
|
+
* choice rendered at `choicePath`, exercising `canAddChoiceOccurrence` through the real public
|
|
54
|
+
* slot-prop contract (the same indirection used elsewhere in this suite), not a `setupState()` reach-in.
|
|
55
|
+
*/
|
|
56
|
+
export declare function canAddChoiceOccurrence(wrapper: ReturnType<typeof mount>, choicePath: string, branchKey: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Reads the `usedChoiceOccurrences` slot prop for the choice rendered at `choicePath`, through
|
|
59
|
+
* the fixture's real public slot-prop contract (the same indirection `canAddChoiceOccurrence`
|
|
60
|
+
* above uses), not a `setupState()` reach-in.
|
|
61
|
+
*/
|
|
62
|
+
export declare function usedChoiceOccurrences(wrapper: ReturnType<typeof mount>, choicePath: string): number | undefined;
|
|
63
|
+
/** Reads the number of rules currently present in `combinedValidation` for the choice at `path`. */
|
|
64
|
+
export declare function combinedValidationCount(wrapper: ReturnType<typeof mount>, path: string): number;
|
|
65
|
+
/** Reads the `maxOccursTotalBreach` computed (the offending branch's cap, or undefined) for the choice at `path`. */
|
|
66
|
+
export declare function maxOccursTotalBreach(wrapper: ReturnType<typeof mount>, path: string): number | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Reads the `-insertion-order` testid at `occurrencePath` (e.g. `pick.apiEndpoint[0]`), asserting
|
|
69
|
+
* the `*-choice-array-item`/`default-choice-array-item` slot actually received `insertionOrder` as
|
|
70
|
+
* a real slot prop. Unlike `occurrenceGlobalIndex`, the testid is conditionally rendered (the
|
|
71
|
+
* fixture's `v-if`), so its absence (an occurrence never added this session) reads back as
|
|
72
|
+
* `undefined` rather than a rendered "undefined" string.
|
|
73
|
+
*/
|
|
74
|
+
export declare function occurrenceInsertionOrder(wrapper: ReturnType<typeof mount>, occurrencePath: string): number | undefined;
|
|
75
|
+
/** Reads the internal `renderedChoiceOccurrences` computed for the choice at `path`. Returns undefined if the choice is not found. */
|
|
76
|
+
export declare function renderedChoiceOccurrences(wrapper: ReturnType<typeof mount>, path: string): {
|
|
77
|
+
branchKey: string;
|
|
78
|
+
index: number;
|
|
79
|
+
}[] | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Reads the ephemeral `insertionOrders` map for the choice at `path`. Returns undefined if the
|
|
82
|
+
* choice is not found. Best-effort internal-state reader, mirroring `stashedBranchValues`'s
|
|
83
|
+
* rationale: it names the store directly so a test can assert it is instance-local (a plain `Map`,
|
|
84
|
+
* never anything reachable through form `values`), a stronger check than the observable slot-prop
|
|
85
|
+
* values alone.
|
|
86
|
+
*/
|
|
87
|
+
export declare function insertionOrdersMap(wrapper: ReturnType<typeof mount>, path: string): Map<string, number> | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Patches fixture metadata to set `displayOrder` on the choice at `choicePath` (the choice's own
|
|
90
|
+
* `name`, e.g. `'pick'`). Centralises the flag surface (the `FieldMetadata` property
|
|
91
|
+
* `displayOrder`) so tests do not hardcode the property name, mirroring `enablePreserveOnSwitch`.
|
|
92
|
+
*/
|
|
93
|
+
export declare function enableDisplayOrder<T>(metadata: T[], choicePath: string, mode?: 'grouped' | 'added'): T[];
|
|
94
|
+
/**
|
|
95
|
+
* Patches fixture metadata to enable `preserveOrder` on the choice at `choicePath` (the choice's
|
|
96
|
+
* own `name`, e.g. `'pick'`). Centralises the flag surface (the `FieldMetadata` boolean
|
|
97
|
+
* `preserveOrder`) so tests do not hardcode a property name directly, mirroring
|
|
98
|
+
* `enablePreserveOnSwitch`/`enableDisplayOrder` field-for-field.
|
|
99
|
+
*/
|
|
100
|
+
export declare function enablePreserveOrder<T>(metadata: T[], choicePath: string, enabled?: boolean): T[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { mount } from '@vue/test-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Accesses the internal `<script setup>` state of the DynamicFormItemWizard registered at `path`
|
|
4
|
+
* (matched via its `normalizedPath` setup variable). Mirrors `DynamicFormItemChoice.test-helpers.ts`'s
|
|
5
|
+
* `setupState`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setupState(wrapper: ReturnType<typeof mount>, path: string): Record<string, any> | undefined;
|
|
8
|
+
/** Finds the DynamicFormItemWizard instance registered at `path` (its `normalizedPath`). */
|
|
9
|
+
export declare function findDynamicFormItemWizardByPath(wrapper: ReturnType<typeof mount>, path: string): import("@vue/test-utils").VueWrapper<any, any> | undefined;
|
|
10
|
+
export declare function currentStepIndex(wrapper: ReturnType<typeof mount>, path: string): number;
|
|
11
|
+
export declare function pageCount(wrapper: ReturnType<typeof mount>, path: string): number;
|
|
12
|
+
export declare function isFirst(wrapper: ReturnType<typeof mount>, path: string): boolean;
|
|
13
|
+
export declare function isLast(wrapper: ReturnType<typeof mount>, path: string): boolean;
|
|
14
|
+
export declare function isValidating(wrapper: ReturnType<typeof mount>, path: string): boolean;
|
|
15
|
+
/** Reads the resolved `wizardConfig` slot prop (defaults applied) as surfaced by the test fixture. */
|
|
16
|
+
export declare function wizardConfig(wrapper: ReturnType<typeof mount>, path: string): {
|
|
17
|
+
allowForwardJump: boolean;
|
|
18
|
+
validateOnJump: boolean;
|
|
19
|
+
};
|
|
20
|
+
export declare function clickNext(wrapper: ReturnType<typeof mount>, path: string): Promise<void>;
|
|
21
|
+
export declare function clickPrev(wrapper: ReturnType<typeof mount>, path: string): Promise<void>;
|
|
22
|
+
export declare function clickGotoStep(wrapper: ReturnType<typeof mount>, path: string, index: number): Promise<void>;
|
|
23
|
+
/** Reads the `v-show`-driven visibility of the page rendered at `pagePath`, through the fixture's `-page` wrapper. */
|
|
24
|
+
export declare function isPageVisible(wrapper: ReturnType<typeof mount>, pagePath: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* While `resetForm()` / `resetField()` flushes, vee-validate marks every affected path state
|
|
4
|
+
* with a private `pendingReset` flag (cleared again on the next tick) so that its own value
|
|
5
|
+
* watchers skip validation during the reset. Our components own their validation timing through
|
|
6
|
+
* custom value watchers, so they must honour the same flag; otherwise the reset-triggered value
|
|
7
|
+
* change would validate the freshly reset value and write the just-cleared errors straight back.
|
|
8
|
+
*
|
|
9
|
+
* `getPathState` and `__flags` are deliberately left off vee-validate's public FormContext type,
|
|
10
|
+
* so they are read through a loosely typed access (the same way DynamicFormItem reads
|
|
11
|
+
* `keepValuesOnUnmount`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function useIsResetPending(path: MaybeRefOrGetter<string>): () => boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Makes a form context's `shouldValidate: false` argument actually stick: wraps `setFieldValue`
|
|
4
|
+
* and `setValues` so that writes which ask to skip validation are remembered until their flush
|
|
5
|
+
* settles. vee-validate only skips its *own* validation for such writes; our components run their
|
|
6
|
+
* validation from custom value watchers, which would otherwise fire regardless.
|
|
7
|
+
*
|
|
8
|
+
* Mutates the context in place (vee-validate provides the very object it returns from `useForm`),
|
|
9
|
+
* so the consumer's handle and every injected `useFormContext()` share the wrapped functions.
|
|
10
|
+
* Safe to call multiple times on the same form.
|
|
11
|
+
*/
|
|
12
|
+
export declare function trackNonValidatingWrites(form: unknown): void;
|
|
13
|
+
/**
|
|
14
|
+
* True while the field's value is changing through a programmatic write that asked not to
|
|
15
|
+
* validate: a `resetForm()`/`resetField()` flush (vee-validate's `pendingReset` window) or a
|
|
16
|
+
* `setFieldValue`/`setValues` call with `shouldValidate: false` on a form wrapped by
|
|
17
|
+
* `trackNonValidatingWrites`. Value watchers that own validation timing must skip validation
|
|
18
|
+
* while this returns true, otherwise they would override the caller's explicit intent.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useIsValidationSuppressed(path: MaybeRefOrGetter<string>): () => boolean;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export { resolveMessage } from '../utils/resolveMessage';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* XSD-derived rule names registered globally via vee-validate's `defineRule`, plus one
|
|
4
|
+
* non-XSD occurrence extension (`vdf_maxOccursTotal`, a per-branch choice cap with no XSD
|
|
5
|
+
* equivalent). Every name is prefixed (`xsd_` or `vdf_`): `defineRule` is a last-write-wins
|
|
6
|
+
* global registry shared with the consuming app, so an unprefixed name could silently
|
|
7
|
+
* collide with a consumer-defined rule.
|
|
8
|
+
*/
|
|
9
|
+
export type ValidationRule = 'xsd_required' | 'xsd_minOccurs' | 'xsd_maxOccurs' | 'xsd_choiceMinOccurs' | 'xsd_choiceMaxOccurs' | 'vdf_maxOccursTotal' | 'xsd_minLength' | 'xsd_maxLength' | 'xsd_pattern' | 'xsd_minInclusive' | 'xsd_maxInclusive' | 'xsd_minExclusive' | 'xsd_maxExclusive' | 'xsd_enumeration' | 'xsd_length' | 'xsd_whiteSpace' | 'xsd_fractionDigits' | 'xsd_totalDigits';
|
|
4
10
|
/**
|
|
5
11
|
* Maps each rule to its semantic parameter name, enabling named placeholder
|
|
6
12
|
* interpolation (e.g. `{length}`, `{min}`) alongside positional `{0}` in messages.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -7,6 +7,12 @@ export interface Props {
|
|
|
7
7
|
initialEdit?: boolean;
|
|
8
8
|
hideFieldsWithoutValue?: boolean;
|
|
9
9
|
initialValues?: GenericObject;
|
|
10
|
+
keepValuesOnUnmount?: boolean;
|
|
10
11
|
}
|
|
11
|
-
declare const _default: import("vue").DefineComponent<Props,
|
|
12
|
+
declare const _default: import("vue").DefineComponent<Props, {
|
|
13
|
+
setFieldValue: <T extends string>(field: T, value: T extends `${infer K}.${infer R}` ? K extends string ? R extends string ? R extends infer T_1 ? T_1 extends R ? T_1 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_2 ? T_2 extends R ? T_2 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_3 ? T_3 extends R ? T_3 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_4 ? T_4 extends R ? T_4 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_5 ? T_5 extends R ? T_5 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_6 ? T_6 extends R ? T_6 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_7 ? T_7 extends R ? T_7 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_8 ? T_8 extends R ? T_8 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_9 ? T_9 extends R ? T_9 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? R extends infer T_10 ? T_10 extends R ? T_10 extends `${infer K}.${infer R}` ? K extends string | number | symbol ? R extends string ? /*elided*/ any : never : K extends `${number}` ? /*elided*/ any : never : T_10 extends string | number | symbol ? any : T_10 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_11 ? T_11 extends R & "" ? T_11 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_11 extends never ? unknown : T_11 extends `${number}` ? never : never : never : never : never : T_9 extends string | number | symbol ? any : T_9 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_12 ? T_12 extends R & "" ? T_12 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_13 ? T_13 extends R ? T_13 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_13 extends never ? unknown : T_13 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_12 extends never ? unknown : T_12 extends `${number}` ? never : never : never : never : never : T_8 extends string | number | symbol ? any : T_8 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_14 ? T_14 extends R & "" ? T_14 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_15 ? T_15 extends R ? T_15 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_16 ? T_16 extends R ? T_16 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_16 extends never ? unknown : T_16 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_15 extends never ? unknown : T_15 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_14 extends never ? unknown : T_14 extends `${number}` ? never : never : never : never : never : T_7 extends string | number | symbol ? any : T_7 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_17 ? T_17 extends R & "" ? T_17 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_18 ? T_18 extends R ? T_18 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_19 ? T_19 extends R ? T_19 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_20 ? T_20 extends R ? T_20 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_20 extends never ? unknown : T_20 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_19 extends never ? unknown : T_19 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_18 extends never ? unknown : T_18 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_17 extends never ? unknown : T_17 extends `${number}` ? never : never : never : never : never : T_6 extends string | number | symbol ? any : T_6 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_21 ? T_21 extends R & "" ? T_21 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_22 ? T_22 extends R ? T_22 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_23 ? T_23 extends R ? T_23 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_24 ? T_24 extends R ? T_24 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_25 ? T_25 extends R ? T_25 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_25 extends never ? unknown : T_25 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_24 extends never ? unknown : T_24 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_23 extends never ? unknown : T_23 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_22 extends never ? unknown : T_22 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_21 extends never ? unknown : T_21 extends `${number}` ? never : never : never : never : never : T_5 extends string | number | symbol ? any : T_5 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_26 ? T_26 extends R & "" ? T_26 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_27 ? T_27 extends R ? T_27 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_28 ? T_28 extends R ? T_28 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_29 ? T_29 extends R ? T_29 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_30 ? T_30 extends R ? T_30 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_31 ? T_31 extends R ? T_31 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_31 extends never ? unknown : T_31 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_30 extends never ? unknown : T_30 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_29 extends never ? unknown : T_29 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_28 extends never ? unknown : T_28 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_27 extends never ? unknown : T_27 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_26 extends never ? unknown : T_26 extends `${number}` ? never : never : never : never : never : T_4 extends string | number | symbol ? any : T_4 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_32 ? T_32 extends R & "" ? T_32 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_33 ? T_33 extends R ? T_33 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_34 ? T_34 extends R ? T_34 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_35 ? T_35 extends R ? T_35 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_36 ? T_36 extends R ? T_36 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_37 ? T_37 extends R ? T_37 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_38 ? T_38 extends R ? T_38 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_38 extends never ? unknown : T_38 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_37 extends never ? unknown : T_37 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_36 extends never ? unknown : T_36 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_35 extends never ? unknown : T_35 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_34 extends never ? unknown : T_34 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_33 extends never ? unknown : T_33 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_32 extends never ? unknown : T_32 extends `${number}` ? never : never : never : never : never : T_3 extends string | number | symbol ? any : T_3 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_39 ? T_39 extends R & "" ? T_39 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_40 ? T_40 extends R ? T_40 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_41 ? T_41 extends R ? T_41 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_42 ? T_42 extends R ? T_42 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_43 ? T_43 extends R ? T_43 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_44 ? T_44 extends R ? T_44 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_45 ? T_45 extends R ? T_45 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_46 ? T_46 extends R ? T_46 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_46 extends never ? unknown : T_46 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_45 extends never ? unknown : T_45 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_44 extends never ? unknown : T_44 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_43 extends never ? unknown : T_43 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_42 extends never ? unknown : T_42 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_41 extends never ? unknown : T_41 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_40 extends never ? unknown : T_40 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_39 extends never ? unknown : T_39 extends `${number}` ? never : never : never : never : never : T_2 extends string | number | symbol ? any : T_2 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? R & "" extends infer T_47 ? T_47 extends R & "" ? T_47 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_48 ? T_48 extends R ? T_48 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_49 ? T_49 extends R ? T_49 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_50 ? T_50 extends R ? T_50 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_51 ? T_51 extends R ? T_51 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_52 ? T_52 extends R ? T_52 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_53 ? T_53 extends R ? T_53 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_54 ? T_54 extends R ? T_54 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? R extends infer T_55 ? T_55 extends R ? T_55 extends `${infer K}.${infer R}` ? K extends never ? R extends "" ? /*elided*/ any : never : K extends `${number}` ? never : never : T_55 extends never ? unknown : T_55 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_54 extends never ? unknown : T_54 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_53 extends never ? unknown : T_53 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_52 extends never ? unknown : T_52 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_51 extends never ? unknown : T_51 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_50 extends never ? unknown : T_50 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_49 extends never ? unknown : T_49 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_48 extends never ? unknown : T_48 extends `${number}` ? never : never : never : never : never : K extends `${number}` ? never : never : T_47 extends never ? unknown : T_47 extends `${number}` ? never : never : never : never : never : T_1 extends string | number | symbol ? any : T_1 extends `${number}` ? unknown : never : never : never : never : K extends `${number}` ? never : never : T extends string ? any : T extends `${number}` ? never : never, shouldValidate?: boolean) => void;
|
|
14
|
+
setValues: (fields: {
|
|
15
|
+
[x: string]: any;
|
|
16
|
+
}, shouldValidate?: boolean) => void;
|
|
17
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
18
|
export default _default;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { WizardGotoStepOptions } from '../types/FieldMetadata';
|
|
1
2
|
import type { GetDynamicFormSettingsType } from '../types/GetDynamicFormSettingsType';
|
|
2
3
|
import type { GetMetadataType } from '../types/GetMetadataType';
|
|
3
4
|
export type Metadata = GetMetadataType<typeof metadata>;
|
|
4
5
|
export type DynamicFormSettings = GetDynamicFormSettingsType<typeof metadata>;
|
|
5
6
|
declare const metadata: {
|
|
6
|
-
fieldTypes: readonly ("
|
|
7
|
+
fieldTypes: readonly ("text" | "default" | "checkbox" | "select" | "textBoundByVModel" | "selectBoundByVModel" | "checkboxBoundByVModel" | "heading" | "group")[];
|
|
7
8
|
extendedProperties: {
|
|
8
9
|
description?: string;
|
|
9
10
|
options?: {
|
|
@@ -21,9 +22,17 @@ declare const metadata: {
|
|
|
21
22
|
/** Helps identifying that we're below a choice field, so if we're rendering an array we can adjust our layout */
|
|
22
23
|
belowChoiceField?: boolean;
|
|
23
24
|
hidden?: boolean;
|
|
25
|
+
/** Bound by the wizard page wrapper below, so a page's own content can offer "jump to step" affordances */
|
|
26
|
+
gotoStep?: (index: number, options?: WizardGotoStepOptions) => Promise<void> | void;
|
|
24
27
|
};
|
|
25
28
|
extendedSettingsProperties: {
|
|
26
29
|
showOptionalInsteadOfRequired?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Example-only switch for the wizard page wrapper: gate page visibility with `v-if` (unmounts
|
|
32
|
+
* non-current pages) instead of the correct `v-show`. Lets a playground demonstrate the
|
|
33
|
+
* clear-on-unmount data loss `v-show` avoids, and how `keepValuesOnUnmount` changes it.
|
|
34
|
+
*/
|
|
35
|
+
wizardPageUseVIf?: boolean;
|
|
27
36
|
};
|
|
28
37
|
valueTypes: {
|
|
29
38
|
text: string;
|
|
@@ -40,36 +49,62 @@ declare const metadata: {
|
|
|
40
49
|
};
|
|
41
50
|
declare var __VLS_21: {
|
|
42
51
|
level: number;
|
|
43
|
-
},
|
|
52
|
+
}, __VLS_31: {
|
|
53
|
+
hideLabel: boolean;
|
|
54
|
+
level: number;
|
|
55
|
+
}, __VLS_34: {
|
|
44
56
|
level: number;
|
|
45
57
|
belowChoiceField: boolean;
|
|
46
58
|
}, __VLS_37: {
|
|
59
|
+
level: number;
|
|
60
|
+
belowChoiceField: boolean;
|
|
61
|
+
}, __VLS_54: {
|
|
62
|
+
level: number;
|
|
63
|
+
}, __VLS_57: {
|
|
64
|
+
level: number;
|
|
65
|
+
}, __VLS_60: {
|
|
66
|
+
gotoStep: (index: number, options?: WizardGotoStepOptions) => Promise<void> | void;
|
|
67
|
+
level: number | undefined;
|
|
68
|
+
}, __VLS_62: {
|
|
69
|
+
gotoStep: (index: number, options?: WizardGotoStepOptions) => Promise<void> | void;
|
|
70
|
+
level: number | undefined;
|
|
71
|
+
}, __VLS_72: {
|
|
47
72
|
hideLabel: boolean;
|
|
48
|
-
},
|
|
73
|
+
}, __VLS_75: {}, __VLS_84: {}, __VLS_94: {
|
|
49
74
|
level: number;
|
|
50
|
-
},
|
|
75
|
+
}, __VLS_96: {}, __VLS_113: {
|
|
51
76
|
level: number;
|
|
52
|
-
},
|
|
77
|
+
}, __VLS_115: {};
|
|
53
78
|
type __VLS_Slots = {} & {
|
|
54
79
|
default?: (props: typeof __VLS_21) => any;
|
|
55
80
|
} & {
|
|
56
|
-
default?: (props: typeof
|
|
81
|
+
default?: (props: typeof __VLS_31) => any;
|
|
57
82
|
} & {
|
|
58
|
-
default?: (props: typeof
|
|
83
|
+
default?: (props: typeof __VLS_34) => any;
|
|
59
84
|
} & {
|
|
60
85
|
default?: (props: typeof __VLS_37) => any;
|
|
61
86
|
} & {
|
|
62
|
-
default?: (props: typeof
|
|
87
|
+
default?: (props: typeof __VLS_54) => any;
|
|
88
|
+
} & {
|
|
89
|
+
default?: (props: typeof __VLS_57) => any;
|
|
90
|
+
} & {
|
|
91
|
+
default?: (props: typeof __VLS_60) => any;
|
|
92
|
+
} & {
|
|
93
|
+
default?: (props: typeof __VLS_62) => any;
|
|
94
|
+
} & {
|
|
95
|
+
default?: (props: typeof __VLS_72) => any;
|
|
96
|
+
} & {
|
|
97
|
+
default?: (props: typeof __VLS_75) => any;
|
|
63
98
|
} & {
|
|
64
|
-
attributes?: (props: typeof
|
|
99
|
+
attributes?: (props: typeof __VLS_84) => any;
|
|
65
100
|
} & {
|
|
66
|
-
default?: (props: typeof
|
|
101
|
+
default?: (props: typeof __VLS_94) => any;
|
|
67
102
|
} & {
|
|
68
|
-
default?: (props: typeof
|
|
103
|
+
default?: (props: typeof __VLS_96) => any;
|
|
69
104
|
} & {
|
|
70
|
-
default?: (props: typeof
|
|
105
|
+
default?: (props: typeof __VLS_113) => any;
|
|
71
106
|
} & {
|
|
72
|
-
attributes?: (props: typeof
|
|
107
|
+
attributes?: (props: typeof __VLS_115) => any;
|
|
73
108
|
};
|
|
74
109
|
declare const __VLS_component: import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
75
110
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|