@strictly/react-form 0.0.17 → 0.0.19
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/.out/core/mobx/form_model.d.ts +13 -10
- package/.out/core/mobx/form_model.js +103 -137
- package/.out/core/mobx/hooks.js +3 -4
- package/.out/core/mobx/merge_field_adapters_with_two_way_converter.d.ts +1 -1
- package/.out/core/mobx/merge_field_adapters_with_validators.js +5 -1
- package/.out/core/mobx/specs/form_model.tests.js +28 -23
- package/.out/core/props.d.ts +0 -2
- package/.out/mantine/create_fields_view.d.ts +2 -1
- package/.out/mantine/hooks.d.ts +6 -5
- package/.out/mantine/specs/checkbox_hooks.stories.d.ts +5 -2
- package/.out/mantine/specs/checkbox_hooks.stories.js +3 -2
- package/.out/mantine/specs/text_input_hooks.stories.d.ts +3 -2
- package/.out/mantine/specs/text_input_hooks.stories.js +3 -2
- package/.out/mantine/types.d.ts +3 -3
- package/.out/tsconfig.tsbuildinfo +1 -1
- package/.out/util/partial.d.ts +5 -2
- package/.out/util/specs/partial.tests.d.ts +1 -0
- package/.out/util/specs/partial.tests.js +8 -0
- package/.turbo/turbo-build.log +8 -8
- package/.turbo/turbo-check-types.log +1 -1
- package/core/mobx/form_model.ts +97 -158
- package/core/mobx/hooks.tsx +6 -5
- package/core/mobx/merge_field_adapters_with_two_way_converter.ts +2 -1
- package/core/mobx/merge_field_adapters_with_validators.ts +1 -1
- package/core/mobx/specs/form_model.tests.ts +39 -27
- package/core/props.ts +0 -4
- package/dist/index.cjs +93 -139
- package/dist/index.d.cts +41 -35
- package/dist/index.d.ts +41 -35
- package/dist/index.js +92 -139
- package/mantine/create_fields_view.tsx +8 -4
- package/mantine/hooks.tsx +23 -15
- package/mantine/specs/checkbox_hooks.stories.tsx +7 -1
- package/mantine/specs/text_input_hooks.stories.tsx +8 -1
- package/mantine/types.ts +12 -4
- package/package.json +1 -1
- package/util/partial.tsx +8 -1
- package/util/specs/partial.tests.tsx +21 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Maybe, ElementOfArray, StringConcatOf, StringKeyOf as StringKeyOf$1, ExhaustiveArrayOfUnion, FriendlyExhaustiveArrayOfUnion } from '@strictly/base';
|
|
2
2
|
import { Type, ValueOfType, ReadonlyTypeOfType, FlattenedTypesOfType, ListTypeDef, FlattenedValuesOfType, MobxValueOfType, Accessor, Validator, UnionTypeDef, ValueTypesOfDiscriminatedUnion, LiteralTypeDef } from '@strictly/define';
|
|
3
3
|
import { ValueOf, SimplifyDeep, ReadonlyDeep, UnionToIntersection, StringKeyOf, Simplify } from 'type-fest';
|
|
4
|
-
import { ComponentType, ComponentProps, ForwardRefExoticComponent, PropsWithoutRef, DependencyList } from 'react';
|
|
4
|
+
import { ComponentType, RefAttributes, ComponentProps, ForwardRefExoticComponent, PropsWithoutRef, Ref, DependencyList } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { CheckboxProps, PillProps, RadioProps, RadioGroupProps, TextInputProps, SelectProps } from '@mantine/core';
|
|
7
7
|
|
|
@@ -97,20 +97,6 @@ type FormFieldsOfFieldAdapters<ValuePathsToTypePaths extends Readonly<Record<str
|
|
|
97
97
|
};
|
|
98
98
|
type FormFieldOfFieldAdapter<F extends FieldAdapter | undefined> = F extends FieldAdapter<infer _From, infer To, infer E> ? Field<To, E> : never;
|
|
99
99
|
|
|
100
|
-
type FieldsViewProps<F extends Fields> = {
|
|
101
|
-
fields: F;
|
|
102
|
-
onFieldValueChange<K extends keyof F>(this: void, key: K, value: F[K]['value']): void;
|
|
103
|
-
onFieldFocus?(this: void, key: keyof F): void;
|
|
104
|
-
onFieldBlur?(this: void, key: keyof F): void;
|
|
105
|
-
onFieldSubmit?(this: void, key: keyof F): boolean | void;
|
|
106
|
-
};
|
|
107
|
-
type FormMode = 'edit' | 'create';
|
|
108
|
-
type FormProps<O> = {
|
|
109
|
-
value: O;
|
|
110
|
-
onValueChange: (value: O) => void;
|
|
111
|
-
mode: FormMode;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
100
|
type FlattenedListTypesOfType<T extends Type> = FlattenedListTypesOfTypes<SimplifyDeep<FlattenedTypesOfType<T, null>>>;
|
|
115
101
|
type FlattenedListTypesOfTypes<T extends Readonly<Record<string, Type>>> = {
|
|
116
102
|
[K in keyof T as T[K]['definition'] extends ListTypeDef ? K : never]: T[K];
|
|
@@ -126,8 +112,12 @@ type FieldOverride<V = any> = Maybe<V>;
|
|
|
126
112
|
type FlattenedFieldOverrides<ValuePathsToAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
127
113
|
-readonly [K in keyof ValuePathsToAdapters]?: FieldOverride<ToOfFieldAdapter<ValuePathsToAdapters[K]>>;
|
|
128
114
|
};
|
|
129
|
-
|
|
130
|
-
|
|
115
|
+
declare enum Validation {
|
|
116
|
+
Changed = 1,
|
|
117
|
+
Always = 2
|
|
118
|
+
}
|
|
119
|
+
type FlattenedValidation<ValuePathsToAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
120
|
+
-readonly [K in keyof ValuePathsToAdapters]?: Validation;
|
|
131
121
|
};
|
|
132
122
|
type ValuePathsToAdaptersOf<TypePathsToAdapters extends Partial<Readonly<Record<string, FieldAdapter>>>, ValuePathsToTypePaths extends Readonly<Record<string, string>>> = keyof TypePathsToAdapters extends ValueOf<ValuePathsToTypePaths> ? {
|
|
133
123
|
readonly [K in keyof ValuePathsToTypePaths as unknown extends TypePathsToAdapters[ValuePathsToTypePaths[K]] ? never : K]: NonNullable<TypePathsToAdapters[ValuePathsToTypePaths[K]]>;
|
|
@@ -135,15 +125,16 @@ type ValuePathsToAdaptersOf<TypePathsToAdapters extends Partial<Readonly<Record<
|
|
|
135
125
|
type ContextOf<TypePathsToAdapters extends Partial<Readonly<Record<string, FieldAdapter>>>> = UnionToIntersection<{
|
|
136
126
|
readonly [K in keyof TypePathsToAdapters]: TypePathsToAdapters[K] extends undefined ? undefined : unknown extends ContextOfFieldAdapter<NonNullable<TypePathsToAdapters[K]>> ? never : ContextOfFieldAdapter<NonNullable<TypePathsToAdapters[K]>>;
|
|
137
127
|
}[keyof TypePathsToAdapters] | {}>;
|
|
128
|
+
type FormMode = 'edit' | 'create';
|
|
138
129
|
declare abstract class FormModel<T extends Type, ValueToTypePaths extends Readonly<Record<string, string>>, TypePathsToAdapters extends FlattenedTypePathsToAdaptersOf<FlattenedValuesOfType<T, '*'>, ContextType>, ContextType = ContextOf<TypePathsToAdapters>, ValuePathsToAdapters extends ValuePathsToAdaptersOf<TypePathsToAdapters, ValueToTypePaths> = ValuePathsToAdaptersOf<TypePathsToAdapters, ValueToTypePaths>> {
|
|
139
130
|
readonly type: T;
|
|
140
|
-
private readonly originalValue;
|
|
141
131
|
protected readonly adapters: TypePathsToAdapters;
|
|
142
132
|
protected readonly mode: FormMode;
|
|
143
133
|
accessor value: MobxValueOfType<T>;
|
|
144
134
|
accessor fieldOverrides: FlattenedFieldOverrides<ValuePathsToAdapters>;
|
|
145
|
-
accessor
|
|
135
|
+
accessor validation: FlattenedValidation<ValuePathsToAdapters>;
|
|
146
136
|
private readonly flattenedTypeDefs;
|
|
137
|
+
private readonly originalValues;
|
|
147
138
|
constructor(type: T, originalValue: ValueOfType<ReadonlyTypeOfType<T>>, adapters: TypePathsToAdapters, mode: FormMode);
|
|
148
139
|
protected abstract toContext(value: ValueOfType<ReadonlyTypeOfType<T>>, valuePath: keyof ValuePathsToAdapters): ContextType;
|
|
149
140
|
get forceMutableFields(): boolean;
|
|
@@ -156,17 +147,16 @@ declare abstract class FormModel<T extends Type, ValueToTypePaths extends Readon
|
|
|
156
147
|
private maybeGetAdapterForValuePath;
|
|
157
148
|
private getAdapterForValuePath;
|
|
158
149
|
typePath<K extends keyof ValueToTypePaths>(valuePath: K): ValueToTypePaths[K];
|
|
159
|
-
|
|
160
|
-
setFieldValue<K extends keyof ValuePathsToAdapters>(valuePath: K, value: ToOfFieldAdapter<ValuePathsToAdapters[K]>): boolean;
|
|
150
|
+
setFieldValue<K extends keyof ValuePathsToAdapters>(valuePath: K, value: ToOfFieldAdapter<ValuePathsToAdapters[K]>, validation?: Validation | undefined | null): boolean;
|
|
161
151
|
addListItem<K extends keyof FlattenedListTypesOfType<T>>(valuePath: K, elementValue?: Maybe<ElementOfArray<FlattenedValuesOfType<T>[K]>>, index?: number): void;
|
|
162
152
|
removeListItem<K extends keyof FlattenedListTypesOfType<T>>(...elementValuePaths: readonly `${K}.${number}`[]): void;
|
|
163
153
|
private internalSetFieldValue;
|
|
164
154
|
clearFieldError<K extends keyof ValuePathsToAdapters>(valuePath: K): void;
|
|
165
|
-
clearFieldValue<K extends StringKeyOf<
|
|
155
|
+
clearFieldValue<K extends StringKeyOf<ValuePathsToAdapters>>(valuePath: K): void;
|
|
166
156
|
clearAll(value: ValueOfType<T>): void;
|
|
167
157
|
isValuePathActive<K extends keyof ValuePathsToAdapters>(valuePath: K): boolean;
|
|
168
|
-
validateField<K extends keyof ValuePathsToAdapters>(valuePath: K,
|
|
169
|
-
validateAll(
|
|
158
|
+
validateField<K extends keyof ValuePathsToAdapters>(valuePath: K, validation?: Validation): boolean;
|
|
159
|
+
validateAll(validation?: Validation): boolean;
|
|
170
160
|
}
|
|
171
161
|
|
|
172
162
|
/**
|
|
@@ -208,7 +198,7 @@ type ValuePathsOfFieldAdapters<FieldAdapters extends Readonly<Record<string, Fie
|
|
|
208
198
|
type TosOfFieldAdapters<FieldAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
209
199
|
[K in keyof FieldAdapters]: ToOfFieldAdapter<FieldAdapters[K]>;
|
|
210
200
|
}[keyof FieldAdapters];
|
|
211
|
-
declare function mergeFieldAdaptersWithTwoWayConverter<FieldAdapters extends Readonly<Record<string, FieldAdapter>>, E, Context
|
|
201
|
+
declare function mergeFieldAdaptersWithTwoWayConverter<FieldAdapters extends Readonly<Record<string, FieldAdapter>>, E, Context, P extends ValuePathsOfFieldAdapters<FieldAdapters>>(fieldAdapters: FieldAdapters, converter: TwoWayFieldConverter<TosOfFieldAdapters<FieldAdapters>, TosOfFieldAdapters<FieldAdapters>, E, P, Context>): MergedOfFieldAdaptersWithTwoWayConverter<FieldAdapters, E, Context>;
|
|
212
202
|
|
|
213
203
|
type MergedOfFieldAdaptersWithValidators<FieldAdapters extends Readonly<Record<Key, FieldAdapter>>, Validators extends Partial<Readonly<Record<string, Validator>>>, Key extends keyof Validators = keyof Validators> = Simplify<{
|
|
214
204
|
readonly [K in Key]: MergedOfFieldAdapterWithValidator<FieldAdapters[K], Validators[K]>;
|
|
@@ -224,6 +214,18 @@ type SubFormFieldAdapters<SubAdapters extends Record<string, FieldAdapter>, Type
|
|
|
224
214
|
};
|
|
225
215
|
declare function subFormFieldAdapters<SubAdapters extends Record<string, FieldAdapter>, TypePath extends string, TypePathsToValuePaths extends Record<TypePath, string>>(subAdapters: SubAdapters, parentTypePath: TypePath): SubFormFieldAdapters<SubAdapters, TypePath, TypePathsToValuePaths[TypePath]>;
|
|
226
216
|
|
|
217
|
+
type FieldsViewProps<F extends Fields> = {
|
|
218
|
+
fields: F;
|
|
219
|
+
onFieldValueChange<K extends keyof F>(this: void, key: K, value: F[K]['value']): void;
|
|
220
|
+
onFieldFocus?(this: void, key: keyof F): void;
|
|
221
|
+
onFieldBlur?(this: void, key: keyof F): void;
|
|
222
|
+
onFieldSubmit?(this: void, key: keyof F): boolean | void;
|
|
223
|
+
};
|
|
224
|
+
type FormProps<O> = {
|
|
225
|
+
value: O;
|
|
226
|
+
onValueChange: (value: O) => void;
|
|
227
|
+
};
|
|
228
|
+
|
|
227
229
|
declare class IntegerToStringConverter<E, ValuePath extends string, Context> implements TwoWayFieldConverter<number, string, E, ValuePath, Context> {
|
|
228
230
|
private readonly isNanError;
|
|
229
231
|
private readonly base;
|
|
@@ -312,8 +314,11 @@ type SubFormFields<F extends Fields, P extends keyof F> = P extends string ? {
|
|
|
312
314
|
$: F[P];
|
|
313
315
|
} : never;
|
|
314
316
|
|
|
317
|
+
type RefOfProps<P, Fallback = unknown> = P extends RefAttributes<infer R> ? R : Fallback;
|
|
315
318
|
type PartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}> = Exclude<keyof CurriedProps, keyof ComponentProps<Component>> extends never ? UnsafePartialComponent<Component, CurriedProps, AdditionalProps> : keyof CurriedProps extends (string | number) ? `unmatched prop: ${Exclude<keyof CurriedProps, keyof ComponentProps<Component>>}` : Exclude<keyof CurriedProps, keyof ComponentProps<Component>>;
|
|
316
|
-
type UnsafePartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}
|
|
319
|
+
type UnsafePartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}, R = RefOfProps<ComponentProps<Component>>> = ForwardRefExoticComponent<PropsWithoutRef<RemainingComponentProps<Component, CurriedProps> & AdditionalProps> & {
|
|
320
|
+
ref?: Ref<R>;
|
|
321
|
+
}>;
|
|
317
322
|
declare function createSimplePartialComponent<Component extends ComponentType<any>, CurriedProps extends Partial<ComponentProps<Component>>>(Component: Component, curriedProps: CurriedProps): PartialComponent<Component, CurriedProps>;
|
|
318
323
|
declare function createPartialComponent<Component extends ComponentType<any>, CurriedProps>(Component: Component, curriedPropsSource: () => CurriedProps): PartialComponent<Component, CurriedProps, {}>;
|
|
319
324
|
declare function createPartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps, AllAdditionalPropKeys extends readonly (keyof AdditionalProps)[]>(Component: Component, curriedPropsSource: (additionalProps: AdditionalProps) => CurriedProps, additionalPropKeys: FriendlyExhaustiveArrayOfUnion<keyof AdditionalProps, AllAdditionalPropKeys>): PartialComponent<Component, CurriedProps, AdditionalProps>;
|
|
@@ -334,11 +339,11 @@ type MantineForm<F extends Fields> = {
|
|
|
334
339
|
onFieldBlur: ((this: void, key: keyof F) => void) | undefined;
|
|
335
340
|
onFieldSubmit: ((this: void, key: keyof F) => boolean | void) | undefined;
|
|
336
341
|
};
|
|
337
|
-
type MantineFieldComponent<T, P = T, E = any
|
|
342
|
+
type MantineFieldComponent<T, P = T, E = any, R = RefOfProps<P>> = UnsafePartialComponent<ComponentType<P>, T, [
|
|
338
343
|
E
|
|
339
344
|
] extends [never] ? {} : {
|
|
340
345
|
ErrorRenderer: ErrorRenderer<E>;
|
|
341
|
-
}>;
|
|
346
|
+
}, R>;
|
|
342
347
|
|
|
343
348
|
type SuppliedCheckboxProps = Pick<CheckboxProps, 'name' | 'checked' | 'disabled' | 'required' | 'error' | 'onChange' | 'onFocus' | 'onBlur' | 'onKeyUp'>;
|
|
344
349
|
|
|
@@ -356,8 +361,9 @@ type FieldViewProps<F extends Fields, K extends keyof F> = {
|
|
|
356
361
|
}) => JSX.Element;
|
|
357
362
|
};
|
|
358
363
|
|
|
364
|
+
type SubPathsOf<ValuePath extends string, SubFormValuePath extends string> = SubFormValuePath extends StringConcatOf<ValuePath, infer Postfix> ? `$${Postfix}` : never;
|
|
359
365
|
type CallbackMapper<ValuePath extends string> = {
|
|
360
|
-
<Cb extends (...args: any[]) => any>(cb: Cb): Parameters<Cb> extends [infer SubFormValuePath extends string, ...(infer Rest)] ?
|
|
366
|
+
<Cb extends (...args: any[]) => any>(cb: Cb): Parameters<Cb> extends [infer SubFormValuePath extends string, ...(infer Rest)] ? (valuePath: SubPathsOf<ValuePath, SubFormValuePath>, ...rest: Rest) => ReturnType<Cb> : never;
|
|
361
367
|
};
|
|
362
368
|
type FieldsView<ValuePath extends string = string, C extends ComponentType<any> = ComponentType<any>> = {
|
|
363
369
|
Component: C;
|
|
@@ -424,12 +430,12 @@ declare class MantineFormImpl<F extends Fields> implements MantineForm<F> {
|
|
|
424
430
|
onFieldBlur: ((this: void, key: keyof F) => void) | undefined;
|
|
425
431
|
onFieldSubmit: ((this: void, key: keyof F) => boolean | void) | undefined;
|
|
426
432
|
constructor(fields: F);
|
|
427
|
-
textInput<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedTextInputProps, TextInputProps, ErrorOfField<F[K]
|
|
428
|
-
textInput<K extends keyof StringFieldsOfFields<F>, P extends SuppliedTextInputProps<any>>(valuePath: K, TextInput?: ComponentType<P>): MantineFieldComponent<SuppliedTextInputProps, P, ErrorOfField<F[K]>>;
|
|
433
|
+
textInput<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedTextInputProps, TextInputProps, ErrorOfField<F[K]>, HTMLInputElement>;
|
|
434
|
+
textInput<K extends keyof StringFieldsOfFields<F>, P extends SuppliedTextInputProps<any>>(valuePath: K, TextInput?: ComponentType<P>): MantineFieldComponent<SuppliedTextInputProps, P, ErrorOfField<F[K]>, RefOfProps<P, HTMLInputElement>>;
|
|
429
435
|
valueInput<K extends keyof AllFieldsOfFields<F>, P extends SuppliedValueInputProps<ValueTypeOfField<F[K]>, any>>(valuePath: K, ValueInput: ComponentType<P>): MantineFieldComponent<SuppliedValueInputProps<ValueTypeOfField<F[K]>>, P, ErrorOfField<F[K]>>;
|
|
430
|
-
select<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<
|
|
431
|
-
checkbox<K extends keyof BooleanFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedCheckboxProps, CheckboxProps, ErrorOfField<F[K]
|
|
432
|
-
checkbox<K extends keyof BooleanFieldsOfFields<F>, P extends SuppliedCheckboxProps>(valuePath: K, Checkbox: ComponentType<P>): MantineFieldComponent<SuppliedCheckboxProps, P, ErrorOfField<F[K]>>;
|
|
436
|
+
select<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedValueInputProps<ValueTypeOfField<F[K]>>, ComponentProps<typeof SimpleSelect>, ErrorOfField<F[K]>, HTMLSelectElement>;
|
|
437
|
+
checkbox<K extends keyof BooleanFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedCheckboxProps, CheckboxProps, ErrorOfField<F[K]>, HTMLInputElement>;
|
|
438
|
+
checkbox<K extends keyof BooleanFieldsOfFields<F>, P extends SuppliedCheckboxProps>(valuePath: K, Checkbox: ComponentType<P>): MantineFieldComponent<SuppliedCheckboxProps, P, ErrorOfField<F[K]>, RefOfProps<P, HTMLInputElement>>;
|
|
433
439
|
radioGroup<K extends keyof StringFieldsOfFields<F>, P extends RadioGroupProps = RadioGroupProps>(valuePath: K): MantineFieldComponent<SuppliedRadioGroupProps, P, ErrorOfField<F[K]>>;
|
|
434
440
|
radioGroup<K extends keyof StringFieldsOfFields<F>, P extends SuppliedRadioGroupProps>(valuePath: K, RadioGroup: ComponentType<P>): MantineFieldComponent<SuppliedRadioGroupProps, P, ErrorOfField<F[K]>>;
|
|
435
441
|
radio<K extends keyof StringFieldsOfFields<F>>(valuePath: K, value: ValueTypeOfField<F[K]>): MantineFieldComponent<SuppliedRadioProps, RadioProps, ErrorOfField<F[K]>>;
|
|
@@ -450,4 +456,4 @@ declare function mergeValidators<Validators1 extends Partial<Readonly<Record<Key
|
|
|
450
456
|
|
|
451
457
|
declare function Empty(): null;
|
|
452
458
|
|
|
453
|
-
export { AbstractSelectValueTypeConverter, type AnnotatedFieldConversion, type AnnotatedFieldConverter, type Annotation, type ContextOf, type ContextOfFieldAdapter, DefaultErrorRenderer, Empty, type ErrorOfField, type ErrorOfFieldAdapter, type ErrorRenderer, type ErrorRendererProps, type Field, type FieldAdapter, type FieldAdaptersOfValues, type FieldValueFactory, type Fields, type FieldsViewProps, type FlattenedAdaptersOfFields, type FlattenedConvertedFieldsOf, type FlattenedTypePathsToAdaptersOf, type FormFieldsOfFieldAdapters, type FormFieldsOfModel, type FormMode, FormModel, type FormProps, type FromOfFieldAdapter, IntegerToStringConverter, type MergedOfFieldAdaptersWithTwoWayConverter, type MergedOfFieldAdaptersWithValidators, type MergedOfValidator, type MergedOfValidators, NullableToBooleanConverter, type PartialComponent, SelectDiscriminatedUnionConverter, SelectLiteralConverter, SelectStringConverter, type ToOfFieldAdapter, type ToValueOfModelValuePath, TrimmingStringConverter, type TwoWayFieldConverter, type TwoWayFieldConverterWithValueFactory, type UnreliableFieldConversion, UnreliableFieldConversionType, type UnreliableFieldConverter, type UnsafePartialComponent, type ValuePathOfFieldAdapter, type ValuePathsOfModel, type ValuePathsToAdaptersOf, adapter, adapterFromPrototype, adapterFromTwoWayConverter, createPartialComponent, createPartialObserverComponent, createSimplePartialComponent, createUnsafePartialObserverComponent, identityAdapter, listAdapter, mergeAdaptersWithValidators, mergeFieldAdaptersWithTwoWayConverter, mergeValidators, prototypingFieldValueFactory, subFormFieldAdapters, trimmingStringAdapter, useDefaultMobxFormHooks, useMantineFormFields, usePartialComponent, usePartialObserverComponent, validatingConverter };
|
|
459
|
+
export { AbstractSelectValueTypeConverter, type AnnotatedFieldConversion, type AnnotatedFieldConverter, type Annotation, type ContextOf, type ContextOfFieldAdapter, DefaultErrorRenderer, Empty, type ErrorOfField, type ErrorOfFieldAdapter, type ErrorRenderer, type ErrorRendererProps, type Field, type FieldAdapter, type FieldAdaptersOfValues, type FieldValueFactory, type Fields, type FieldsViewProps, type FlattenedAdaptersOfFields, type FlattenedConvertedFieldsOf, type FlattenedTypePathsToAdaptersOf, type FormFieldsOfFieldAdapters, type FormFieldsOfModel, type FormMode, FormModel, type FormProps, type FromOfFieldAdapter, IntegerToStringConverter, type MergedOfFieldAdaptersWithTwoWayConverter, type MergedOfFieldAdaptersWithValidators, type MergedOfValidator, type MergedOfValidators, NullableToBooleanConverter, type PartialComponent, type RefOfProps, SelectDiscriminatedUnionConverter, SelectLiteralConverter, SelectStringConverter, type ToOfFieldAdapter, type ToValueOfModelValuePath, TrimmingStringConverter, type TwoWayFieldConverter, type TwoWayFieldConverterWithValueFactory, type UnreliableFieldConversion, UnreliableFieldConversionType, type UnreliableFieldConverter, type UnsafePartialComponent, Validation, type ValuePathOfFieldAdapter, type ValuePathsOfModel, type ValuePathsToAdaptersOf, adapter, adapterFromPrototype, adapterFromTwoWayConverter, createPartialComponent, createPartialObserverComponent, createSimplePartialComponent, createUnsafePartialObserverComponent, identityAdapter, listAdapter, mergeAdaptersWithValidators, mergeFieldAdaptersWithTwoWayConverter, mergeValidators, prototypingFieldValueFactory, subFormFieldAdapters, trimmingStringAdapter, useDefaultMobxFormHooks, useMantineFormFields, usePartialComponent, usePartialObserverComponent, validatingConverter };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Maybe, ElementOfArray, StringConcatOf, StringKeyOf as StringKeyOf$1, ExhaustiveArrayOfUnion, FriendlyExhaustiveArrayOfUnion } from '@strictly/base';
|
|
2
2
|
import { Type, ValueOfType, ReadonlyTypeOfType, FlattenedTypesOfType, ListTypeDef, FlattenedValuesOfType, MobxValueOfType, Accessor, Validator, UnionTypeDef, ValueTypesOfDiscriminatedUnion, LiteralTypeDef } from '@strictly/define';
|
|
3
3
|
import { ValueOf, SimplifyDeep, ReadonlyDeep, UnionToIntersection, StringKeyOf, Simplify } from 'type-fest';
|
|
4
|
-
import { ComponentType, ComponentProps, ForwardRefExoticComponent, PropsWithoutRef, DependencyList } from 'react';
|
|
4
|
+
import { ComponentType, RefAttributes, ComponentProps, ForwardRefExoticComponent, PropsWithoutRef, Ref, DependencyList } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { CheckboxProps, PillProps, RadioProps, RadioGroupProps, TextInputProps, SelectProps } from '@mantine/core';
|
|
7
7
|
|
|
@@ -97,20 +97,6 @@ type FormFieldsOfFieldAdapters<ValuePathsToTypePaths extends Readonly<Record<str
|
|
|
97
97
|
};
|
|
98
98
|
type FormFieldOfFieldAdapter<F extends FieldAdapter | undefined> = F extends FieldAdapter<infer _From, infer To, infer E> ? Field<To, E> : never;
|
|
99
99
|
|
|
100
|
-
type FieldsViewProps<F extends Fields> = {
|
|
101
|
-
fields: F;
|
|
102
|
-
onFieldValueChange<K extends keyof F>(this: void, key: K, value: F[K]['value']): void;
|
|
103
|
-
onFieldFocus?(this: void, key: keyof F): void;
|
|
104
|
-
onFieldBlur?(this: void, key: keyof F): void;
|
|
105
|
-
onFieldSubmit?(this: void, key: keyof F): boolean | void;
|
|
106
|
-
};
|
|
107
|
-
type FormMode = 'edit' | 'create';
|
|
108
|
-
type FormProps<O> = {
|
|
109
|
-
value: O;
|
|
110
|
-
onValueChange: (value: O) => void;
|
|
111
|
-
mode: FormMode;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
100
|
type FlattenedListTypesOfType<T extends Type> = FlattenedListTypesOfTypes<SimplifyDeep<FlattenedTypesOfType<T, null>>>;
|
|
115
101
|
type FlattenedListTypesOfTypes<T extends Readonly<Record<string, Type>>> = {
|
|
116
102
|
[K in keyof T as T[K]['definition'] extends ListTypeDef ? K : never]: T[K];
|
|
@@ -126,8 +112,12 @@ type FieldOverride<V = any> = Maybe<V>;
|
|
|
126
112
|
type FlattenedFieldOverrides<ValuePathsToAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
127
113
|
-readonly [K in keyof ValuePathsToAdapters]?: FieldOverride<ToOfFieldAdapter<ValuePathsToAdapters[K]>>;
|
|
128
114
|
};
|
|
129
|
-
|
|
130
|
-
|
|
115
|
+
declare enum Validation {
|
|
116
|
+
Changed = 1,
|
|
117
|
+
Always = 2
|
|
118
|
+
}
|
|
119
|
+
type FlattenedValidation<ValuePathsToAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
120
|
+
-readonly [K in keyof ValuePathsToAdapters]?: Validation;
|
|
131
121
|
};
|
|
132
122
|
type ValuePathsToAdaptersOf<TypePathsToAdapters extends Partial<Readonly<Record<string, FieldAdapter>>>, ValuePathsToTypePaths extends Readonly<Record<string, string>>> = keyof TypePathsToAdapters extends ValueOf<ValuePathsToTypePaths> ? {
|
|
133
123
|
readonly [K in keyof ValuePathsToTypePaths as unknown extends TypePathsToAdapters[ValuePathsToTypePaths[K]] ? never : K]: NonNullable<TypePathsToAdapters[ValuePathsToTypePaths[K]]>;
|
|
@@ -135,15 +125,16 @@ type ValuePathsToAdaptersOf<TypePathsToAdapters extends Partial<Readonly<Record<
|
|
|
135
125
|
type ContextOf<TypePathsToAdapters extends Partial<Readonly<Record<string, FieldAdapter>>>> = UnionToIntersection<{
|
|
136
126
|
readonly [K in keyof TypePathsToAdapters]: TypePathsToAdapters[K] extends undefined ? undefined : unknown extends ContextOfFieldAdapter<NonNullable<TypePathsToAdapters[K]>> ? never : ContextOfFieldAdapter<NonNullable<TypePathsToAdapters[K]>>;
|
|
137
127
|
}[keyof TypePathsToAdapters] | {}>;
|
|
128
|
+
type FormMode = 'edit' | 'create';
|
|
138
129
|
declare abstract class FormModel<T extends Type, ValueToTypePaths extends Readonly<Record<string, string>>, TypePathsToAdapters extends FlattenedTypePathsToAdaptersOf<FlattenedValuesOfType<T, '*'>, ContextType>, ContextType = ContextOf<TypePathsToAdapters>, ValuePathsToAdapters extends ValuePathsToAdaptersOf<TypePathsToAdapters, ValueToTypePaths> = ValuePathsToAdaptersOf<TypePathsToAdapters, ValueToTypePaths>> {
|
|
139
130
|
readonly type: T;
|
|
140
|
-
private readonly originalValue;
|
|
141
131
|
protected readonly adapters: TypePathsToAdapters;
|
|
142
132
|
protected readonly mode: FormMode;
|
|
143
133
|
accessor value: MobxValueOfType<T>;
|
|
144
134
|
accessor fieldOverrides: FlattenedFieldOverrides<ValuePathsToAdapters>;
|
|
145
|
-
accessor
|
|
135
|
+
accessor validation: FlattenedValidation<ValuePathsToAdapters>;
|
|
146
136
|
private readonly flattenedTypeDefs;
|
|
137
|
+
private readonly originalValues;
|
|
147
138
|
constructor(type: T, originalValue: ValueOfType<ReadonlyTypeOfType<T>>, adapters: TypePathsToAdapters, mode: FormMode);
|
|
148
139
|
protected abstract toContext(value: ValueOfType<ReadonlyTypeOfType<T>>, valuePath: keyof ValuePathsToAdapters): ContextType;
|
|
149
140
|
get forceMutableFields(): boolean;
|
|
@@ -156,17 +147,16 @@ declare abstract class FormModel<T extends Type, ValueToTypePaths extends Readon
|
|
|
156
147
|
private maybeGetAdapterForValuePath;
|
|
157
148
|
private getAdapterForValuePath;
|
|
158
149
|
typePath<K extends keyof ValueToTypePaths>(valuePath: K): ValueToTypePaths[K];
|
|
159
|
-
|
|
160
|
-
setFieldValue<K extends keyof ValuePathsToAdapters>(valuePath: K, value: ToOfFieldAdapter<ValuePathsToAdapters[K]>): boolean;
|
|
150
|
+
setFieldValue<K extends keyof ValuePathsToAdapters>(valuePath: K, value: ToOfFieldAdapter<ValuePathsToAdapters[K]>, validation?: Validation | undefined | null): boolean;
|
|
161
151
|
addListItem<K extends keyof FlattenedListTypesOfType<T>>(valuePath: K, elementValue?: Maybe<ElementOfArray<FlattenedValuesOfType<T>[K]>>, index?: number): void;
|
|
162
152
|
removeListItem<K extends keyof FlattenedListTypesOfType<T>>(...elementValuePaths: readonly `${K}.${number}`[]): void;
|
|
163
153
|
private internalSetFieldValue;
|
|
164
154
|
clearFieldError<K extends keyof ValuePathsToAdapters>(valuePath: K): void;
|
|
165
|
-
clearFieldValue<K extends StringKeyOf<
|
|
155
|
+
clearFieldValue<K extends StringKeyOf<ValuePathsToAdapters>>(valuePath: K): void;
|
|
166
156
|
clearAll(value: ValueOfType<T>): void;
|
|
167
157
|
isValuePathActive<K extends keyof ValuePathsToAdapters>(valuePath: K): boolean;
|
|
168
|
-
validateField<K extends keyof ValuePathsToAdapters>(valuePath: K,
|
|
169
|
-
validateAll(
|
|
158
|
+
validateField<K extends keyof ValuePathsToAdapters>(valuePath: K, validation?: Validation): boolean;
|
|
159
|
+
validateAll(validation?: Validation): boolean;
|
|
170
160
|
}
|
|
171
161
|
|
|
172
162
|
/**
|
|
@@ -208,7 +198,7 @@ type ValuePathsOfFieldAdapters<FieldAdapters extends Readonly<Record<string, Fie
|
|
|
208
198
|
type TosOfFieldAdapters<FieldAdapters extends Readonly<Record<string, FieldAdapter>>> = {
|
|
209
199
|
[K in keyof FieldAdapters]: ToOfFieldAdapter<FieldAdapters[K]>;
|
|
210
200
|
}[keyof FieldAdapters];
|
|
211
|
-
declare function mergeFieldAdaptersWithTwoWayConverter<FieldAdapters extends Readonly<Record<string, FieldAdapter>>, E, Context
|
|
201
|
+
declare function mergeFieldAdaptersWithTwoWayConverter<FieldAdapters extends Readonly<Record<string, FieldAdapter>>, E, Context, P extends ValuePathsOfFieldAdapters<FieldAdapters>>(fieldAdapters: FieldAdapters, converter: TwoWayFieldConverter<TosOfFieldAdapters<FieldAdapters>, TosOfFieldAdapters<FieldAdapters>, E, P, Context>): MergedOfFieldAdaptersWithTwoWayConverter<FieldAdapters, E, Context>;
|
|
212
202
|
|
|
213
203
|
type MergedOfFieldAdaptersWithValidators<FieldAdapters extends Readonly<Record<Key, FieldAdapter>>, Validators extends Partial<Readonly<Record<string, Validator>>>, Key extends keyof Validators = keyof Validators> = Simplify<{
|
|
214
204
|
readonly [K in Key]: MergedOfFieldAdapterWithValidator<FieldAdapters[K], Validators[K]>;
|
|
@@ -224,6 +214,18 @@ type SubFormFieldAdapters<SubAdapters extends Record<string, FieldAdapter>, Type
|
|
|
224
214
|
};
|
|
225
215
|
declare function subFormFieldAdapters<SubAdapters extends Record<string, FieldAdapter>, TypePath extends string, TypePathsToValuePaths extends Record<TypePath, string>>(subAdapters: SubAdapters, parentTypePath: TypePath): SubFormFieldAdapters<SubAdapters, TypePath, TypePathsToValuePaths[TypePath]>;
|
|
226
216
|
|
|
217
|
+
type FieldsViewProps<F extends Fields> = {
|
|
218
|
+
fields: F;
|
|
219
|
+
onFieldValueChange<K extends keyof F>(this: void, key: K, value: F[K]['value']): void;
|
|
220
|
+
onFieldFocus?(this: void, key: keyof F): void;
|
|
221
|
+
onFieldBlur?(this: void, key: keyof F): void;
|
|
222
|
+
onFieldSubmit?(this: void, key: keyof F): boolean | void;
|
|
223
|
+
};
|
|
224
|
+
type FormProps<O> = {
|
|
225
|
+
value: O;
|
|
226
|
+
onValueChange: (value: O) => void;
|
|
227
|
+
};
|
|
228
|
+
|
|
227
229
|
declare class IntegerToStringConverter<E, ValuePath extends string, Context> implements TwoWayFieldConverter<number, string, E, ValuePath, Context> {
|
|
228
230
|
private readonly isNanError;
|
|
229
231
|
private readonly base;
|
|
@@ -312,8 +314,11 @@ type SubFormFields<F extends Fields, P extends keyof F> = P extends string ? {
|
|
|
312
314
|
$: F[P];
|
|
313
315
|
} : never;
|
|
314
316
|
|
|
317
|
+
type RefOfProps<P, Fallback = unknown> = P extends RefAttributes<infer R> ? R : Fallback;
|
|
315
318
|
type PartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}> = Exclude<keyof CurriedProps, keyof ComponentProps<Component>> extends never ? UnsafePartialComponent<Component, CurriedProps, AdditionalProps> : keyof CurriedProps extends (string | number) ? `unmatched prop: ${Exclude<keyof CurriedProps, keyof ComponentProps<Component>>}` : Exclude<keyof CurriedProps, keyof ComponentProps<Component>>;
|
|
316
|
-
type UnsafePartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}
|
|
319
|
+
type UnsafePartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps = {}, R = RefOfProps<ComponentProps<Component>>> = ForwardRefExoticComponent<PropsWithoutRef<RemainingComponentProps<Component, CurriedProps> & AdditionalProps> & {
|
|
320
|
+
ref?: Ref<R>;
|
|
321
|
+
}>;
|
|
317
322
|
declare function createSimplePartialComponent<Component extends ComponentType<any>, CurriedProps extends Partial<ComponentProps<Component>>>(Component: Component, curriedProps: CurriedProps): PartialComponent<Component, CurriedProps>;
|
|
318
323
|
declare function createPartialComponent<Component extends ComponentType<any>, CurriedProps>(Component: Component, curriedPropsSource: () => CurriedProps): PartialComponent<Component, CurriedProps, {}>;
|
|
319
324
|
declare function createPartialComponent<Component extends ComponentType<any>, CurriedProps, AdditionalProps, AllAdditionalPropKeys extends readonly (keyof AdditionalProps)[]>(Component: Component, curriedPropsSource: (additionalProps: AdditionalProps) => CurriedProps, additionalPropKeys: FriendlyExhaustiveArrayOfUnion<keyof AdditionalProps, AllAdditionalPropKeys>): PartialComponent<Component, CurriedProps, AdditionalProps>;
|
|
@@ -334,11 +339,11 @@ type MantineForm<F extends Fields> = {
|
|
|
334
339
|
onFieldBlur: ((this: void, key: keyof F) => void) | undefined;
|
|
335
340
|
onFieldSubmit: ((this: void, key: keyof F) => boolean | void) | undefined;
|
|
336
341
|
};
|
|
337
|
-
type MantineFieldComponent<T, P = T, E = any
|
|
342
|
+
type MantineFieldComponent<T, P = T, E = any, R = RefOfProps<P>> = UnsafePartialComponent<ComponentType<P>, T, [
|
|
338
343
|
E
|
|
339
344
|
] extends [never] ? {} : {
|
|
340
345
|
ErrorRenderer: ErrorRenderer<E>;
|
|
341
|
-
}>;
|
|
346
|
+
}, R>;
|
|
342
347
|
|
|
343
348
|
type SuppliedCheckboxProps = Pick<CheckboxProps, 'name' | 'checked' | 'disabled' | 'required' | 'error' | 'onChange' | 'onFocus' | 'onBlur' | 'onKeyUp'>;
|
|
344
349
|
|
|
@@ -356,8 +361,9 @@ type FieldViewProps<F extends Fields, K extends keyof F> = {
|
|
|
356
361
|
}) => JSX.Element;
|
|
357
362
|
};
|
|
358
363
|
|
|
364
|
+
type SubPathsOf<ValuePath extends string, SubFormValuePath extends string> = SubFormValuePath extends StringConcatOf<ValuePath, infer Postfix> ? `$${Postfix}` : never;
|
|
359
365
|
type CallbackMapper<ValuePath extends string> = {
|
|
360
|
-
<Cb extends (...args: any[]) => any>(cb: Cb): Parameters<Cb> extends [infer SubFormValuePath extends string, ...(infer Rest)] ?
|
|
366
|
+
<Cb extends (...args: any[]) => any>(cb: Cb): Parameters<Cb> extends [infer SubFormValuePath extends string, ...(infer Rest)] ? (valuePath: SubPathsOf<ValuePath, SubFormValuePath>, ...rest: Rest) => ReturnType<Cb> : never;
|
|
361
367
|
};
|
|
362
368
|
type FieldsView<ValuePath extends string = string, C extends ComponentType<any> = ComponentType<any>> = {
|
|
363
369
|
Component: C;
|
|
@@ -424,12 +430,12 @@ declare class MantineFormImpl<F extends Fields> implements MantineForm<F> {
|
|
|
424
430
|
onFieldBlur: ((this: void, key: keyof F) => void) | undefined;
|
|
425
431
|
onFieldSubmit: ((this: void, key: keyof F) => boolean | void) | undefined;
|
|
426
432
|
constructor(fields: F);
|
|
427
|
-
textInput<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedTextInputProps, TextInputProps, ErrorOfField<F[K]
|
|
428
|
-
textInput<K extends keyof StringFieldsOfFields<F>, P extends SuppliedTextInputProps<any>>(valuePath: K, TextInput?: ComponentType<P>): MantineFieldComponent<SuppliedTextInputProps, P, ErrorOfField<F[K]>>;
|
|
433
|
+
textInput<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedTextInputProps, TextInputProps, ErrorOfField<F[K]>, HTMLInputElement>;
|
|
434
|
+
textInput<K extends keyof StringFieldsOfFields<F>, P extends SuppliedTextInputProps<any>>(valuePath: K, TextInput?: ComponentType<P>): MantineFieldComponent<SuppliedTextInputProps, P, ErrorOfField<F[K]>, RefOfProps<P, HTMLInputElement>>;
|
|
429
435
|
valueInput<K extends keyof AllFieldsOfFields<F>, P extends SuppliedValueInputProps<ValueTypeOfField<F[K]>, any>>(valuePath: K, ValueInput: ComponentType<P>): MantineFieldComponent<SuppliedValueInputProps<ValueTypeOfField<F[K]>>, P, ErrorOfField<F[K]>>;
|
|
430
|
-
select<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<
|
|
431
|
-
checkbox<K extends keyof BooleanFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedCheckboxProps, CheckboxProps, ErrorOfField<F[K]
|
|
432
|
-
checkbox<K extends keyof BooleanFieldsOfFields<F>, P extends SuppliedCheckboxProps>(valuePath: K, Checkbox: ComponentType<P>): MantineFieldComponent<SuppliedCheckboxProps, P, ErrorOfField<F[K]>>;
|
|
436
|
+
select<K extends keyof StringFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedValueInputProps<ValueTypeOfField<F[K]>>, ComponentProps<typeof SimpleSelect>, ErrorOfField<F[K]>, HTMLSelectElement>;
|
|
437
|
+
checkbox<K extends keyof BooleanFieldsOfFields<F>>(valuePath: K): MantineFieldComponent<SuppliedCheckboxProps, CheckboxProps, ErrorOfField<F[K]>, HTMLInputElement>;
|
|
438
|
+
checkbox<K extends keyof BooleanFieldsOfFields<F>, P extends SuppliedCheckboxProps>(valuePath: K, Checkbox: ComponentType<P>): MantineFieldComponent<SuppliedCheckboxProps, P, ErrorOfField<F[K]>, RefOfProps<P, HTMLInputElement>>;
|
|
433
439
|
radioGroup<K extends keyof StringFieldsOfFields<F>, P extends RadioGroupProps = RadioGroupProps>(valuePath: K): MantineFieldComponent<SuppliedRadioGroupProps, P, ErrorOfField<F[K]>>;
|
|
434
440
|
radioGroup<K extends keyof StringFieldsOfFields<F>, P extends SuppliedRadioGroupProps>(valuePath: K, RadioGroup: ComponentType<P>): MantineFieldComponent<SuppliedRadioGroupProps, P, ErrorOfField<F[K]>>;
|
|
435
441
|
radio<K extends keyof StringFieldsOfFields<F>>(valuePath: K, value: ValueTypeOfField<F[K]>): MantineFieldComponent<SuppliedRadioProps, RadioProps, ErrorOfField<F[K]>>;
|
|
@@ -450,4 +456,4 @@ declare function mergeValidators<Validators1 extends Partial<Readonly<Record<Key
|
|
|
450
456
|
|
|
451
457
|
declare function Empty(): null;
|
|
452
458
|
|
|
453
|
-
export { AbstractSelectValueTypeConverter, type AnnotatedFieldConversion, type AnnotatedFieldConverter, type Annotation, type ContextOf, type ContextOfFieldAdapter, DefaultErrorRenderer, Empty, type ErrorOfField, type ErrorOfFieldAdapter, type ErrorRenderer, type ErrorRendererProps, type Field, type FieldAdapter, type FieldAdaptersOfValues, type FieldValueFactory, type Fields, type FieldsViewProps, type FlattenedAdaptersOfFields, type FlattenedConvertedFieldsOf, type FlattenedTypePathsToAdaptersOf, type FormFieldsOfFieldAdapters, type FormFieldsOfModel, type FormMode, FormModel, type FormProps, type FromOfFieldAdapter, IntegerToStringConverter, type MergedOfFieldAdaptersWithTwoWayConverter, type MergedOfFieldAdaptersWithValidators, type MergedOfValidator, type MergedOfValidators, NullableToBooleanConverter, type PartialComponent, SelectDiscriminatedUnionConverter, SelectLiteralConverter, SelectStringConverter, type ToOfFieldAdapter, type ToValueOfModelValuePath, TrimmingStringConverter, type TwoWayFieldConverter, type TwoWayFieldConverterWithValueFactory, type UnreliableFieldConversion, UnreliableFieldConversionType, type UnreliableFieldConverter, type UnsafePartialComponent, type ValuePathOfFieldAdapter, type ValuePathsOfModel, type ValuePathsToAdaptersOf, adapter, adapterFromPrototype, adapterFromTwoWayConverter, createPartialComponent, createPartialObserverComponent, createSimplePartialComponent, createUnsafePartialObserverComponent, identityAdapter, listAdapter, mergeAdaptersWithValidators, mergeFieldAdaptersWithTwoWayConverter, mergeValidators, prototypingFieldValueFactory, subFormFieldAdapters, trimmingStringAdapter, useDefaultMobxFormHooks, useMantineFormFields, usePartialComponent, usePartialObserverComponent, validatingConverter };
|
|
459
|
+
export { AbstractSelectValueTypeConverter, type AnnotatedFieldConversion, type AnnotatedFieldConverter, type Annotation, type ContextOf, type ContextOfFieldAdapter, DefaultErrorRenderer, Empty, type ErrorOfField, type ErrorOfFieldAdapter, type ErrorRenderer, type ErrorRendererProps, type Field, type FieldAdapter, type FieldAdaptersOfValues, type FieldValueFactory, type Fields, type FieldsViewProps, type FlattenedAdaptersOfFields, type FlattenedConvertedFieldsOf, type FlattenedTypePathsToAdaptersOf, type FormFieldsOfFieldAdapters, type FormFieldsOfModel, type FormMode, FormModel, type FormProps, type FromOfFieldAdapter, IntegerToStringConverter, type MergedOfFieldAdaptersWithTwoWayConverter, type MergedOfFieldAdaptersWithValidators, type MergedOfValidator, type MergedOfValidators, NullableToBooleanConverter, type PartialComponent, type RefOfProps, SelectDiscriminatedUnionConverter, SelectLiteralConverter, SelectStringConverter, type ToOfFieldAdapter, type ToValueOfModelValuePath, TrimmingStringConverter, type TwoWayFieldConverter, type TwoWayFieldConverterWithValueFactory, type UnreliableFieldConversion, UnreliableFieldConversionType, type UnreliableFieldConverter, type UnsafePartialComponent, Validation, type ValuePathOfFieldAdapter, type ValuePathsOfModel, type ValuePathsToAdaptersOf, adapter, adapterFromPrototype, adapterFromTwoWayConverter, createPartialComponent, createPartialObserverComponent, createSimplePartialComponent, createUnsafePartialObserverComponent, identityAdapter, listAdapter, mergeAdaptersWithValidators, mergeFieldAdaptersWithTwoWayConverter, mergeValidators, prototypingFieldValueFactory, subFormFieldAdapters, trimmingStringAdapter, useDefaultMobxFormHooks, useMantineFormFields, usePartialComponent, usePartialObserverComponent, validatingConverter };
|