@form-engine-ts/react 4.4.0 → 4.6.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/README.md +11 -0
- package/dist/index.cjs +452 -52
- package/dist/index.d.cts +77 -5
- package/dist/index.d.ts +77 -5
- package/dist/index.js +454 -49
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QuestionType, FormField, ChoiceOption, FormPage, FormSchema, DisplayCondition, JsonValue, SchemaIssue, FormPolicy, Question, FieldOption, TranslationReport, ValidationIssue, ValidationError, FormValues, TranslationAdapter, AsyncTranslationAdapter, PopulateTranslationOptions, FormValue, AnswerValidationResult, FieldType } from '@form-engine-ts/core';
|
|
1
|
+
import { QuestionType, FormField, ChoiceOption, FormPage, FormSchema, DisplayCondition, JsonValue, SchemaIssue, FormPolicy, Question, FieldOption, TranslationReport, ValidationIssue, ValidationError, FormValues, TranslationAdapter, AsyncTranslationAdapter, PopulateTranslationOptions, FormValue, AnswerValidationResult, TranslationSlot, FieldType } from '@form-engine-ts/core';
|
|
2
2
|
export { QuestionType } from '@form-engine-ts/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ReactNode, ComponentType, KeyboardEvent, MouseEvent, CSSProperties } from 'react';
|
|
@@ -37,7 +37,13 @@ interface FormBuilderOptions {
|
|
|
37
37
|
readonly policy?: FormPolicy;
|
|
38
38
|
readonly idFactory?: (kind: BuilderIdKind, existingIds: ReadonlySet<string>) => string;
|
|
39
39
|
readonly factories?: BuilderFactories;
|
|
40
|
+
readonly fieldEditorMode?: FieldEditorMode;
|
|
41
|
+
readonly activeFieldId?: string;
|
|
42
|
+
readonly defaultActiveFieldId?: string;
|
|
43
|
+
readonly onActiveFieldChange?: (fieldId: string | undefined) => void;
|
|
40
44
|
}
|
|
45
|
+
type FieldEditorMode = "all" | "single";
|
|
46
|
+
type UseFormBuilderOptions = FormBuilderOptions;
|
|
41
47
|
type BuilderActionError = {
|
|
42
48
|
readonly type: "invalid_id";
|
|
43
49
|
readonly kind: BuilderIdKind;
|
|
@@ -104,8 +110,19 @@ interface FormBuilderResult {
|
|
|
104
110
|
readonly addLocale: (locale: string) => BuilderActionResult;
|
|
105
111
|
readonly setDefaultLocale: (locale: string) => BuilderActionResult;
|
|
106
112
|
readonly validationIssues: readonly SchemaIssue[];
|
|
113
|
+
readonly activeFieldId?: string;
|
|
114
|
+
readonly setActiveFieldId?: (fieldId: string | undefined) => void;
|
|
115
|
+
readonly getFieldEditorProps?: (fieldId: string) => {
|
|
116
|
+
readonly isActive: boolean;
|
|
117
|
+
readonly isVisible: boolean;
|
|
118
|
+
readonly onSelect: () => void;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
interface UseFormBuilderResult extends FormBuilderResult {
|
|
122
|
+
readonly setActiveFieldId: (fieldId: string | undefined) => void;
|
|
123
|
+
readonly getFieldEditorProps: NonNullable<FormBuilderResult["getFieldEditorProps"]>;
|
|
107
124
|
}
|
|
108
|
-
declare function useFormBuilder({ schema, onChange, policy, idFactory, factories }: FormBuilderOptions): FormBuilderResult;
|
|
125
|
+
declare function useFormBuilder({ schema, onChange, policy, idFactory, factories, fieldEditorMode, activeFieldId: controlledActiveFieldId, defaultActiveFieldId, onActiveFieldChange }: FormBuilderOptions): FormBuilderResult;
|
|
109
126
|
|
|
110
127
|
interface SubmissionReceipt {
|
|
111
128
|
readonly formId: string;
|
|
@@ -376,7 +393,11 @@ interface BuilderTranslationActionsSlotProps extends BuilderSlotBaseProps {
|
|
|
376
393
|
readonly onClearTranslationError?: () => void;
|
|
377
394
|
readonly translationAdapterAvailable?: boolean;
|
|
378
395
|
}
|
|
379
|
-
type FormBuilderSectionName = "basicSettings" | "completionMessage" | "questions" | "addQuestion" | "localization";
|
|
396
|
+
type FormBuilderSectionName = "basicSettings" | "completionMessage" | "questions" | "addQuestion" | "localization" | "submissionSettings";
|
|
397
|
+
interface FormBuilderSubmissionSettingsOptions {
|
|
398
|
+
readonly enabled: boolean;
|
|
399
|
+
readonly placement?: "beforeQuestions" | "afterQuestions" | "bottom";
|
|
400
|
+
}
|
|
380
401
|
interface FormBuilderSlots {
|
|
381
402
|
readonly toolbar?: ComponentType<BuilderToolbarSlotProps>;
|
|
382
403
|
readonly fieldEditor?: ComponentType<BuilderFieldEditorSlotProps>;
|
|
@@ -632,8 +653,13 @@ interface FormBuilderProps {
|
|
|
632
653
|
readonly sectionOrder?: readonly FormBuilderSectionName[];
|
|
633
654
|
readonly disableDefaultStyles?: boolean;
|
|
634
655
|
readonly unstyled?: boolean;
|
|
656
|
+
readonly fieldEditorMode?: "all" | "single";
|
|
657
|
+
readonly activeFieldId?: string;
|
|
658
|
+
readonly defaultActiveFieldId?: string;
|
|
659
|
+
readonly onActiveFieldChange?: (fieldId: string | undefined) => void;
|
|
660
|
+
readonly submissionSettingsOptions?: FormBuilderSubmissionSettingsOptions;
|
|
635
661
|
}
|
|
636
|
-
declare function FormBuilder({ schema, onChange, locale, translator, translationAdapter, translationOptions, onTranslationReport, policy, idFactory, factories, className, defaultFieldType, onActionError, createManualTranslationMetadata, readOnly, features, fieldEditorControls, fieldTypeOptions, components: componentOverrides, slots, sectionOrder, disableDefaultStyles, unstyled }: FormBuilderProps): react.JSX.Element;
|
|
662
|
+
declare function FormBuilder({ schema, onChange, locale, translator, translationAdapter, translationOptions, onTranslationReport, policy, idFactory, factories, className, defaultFieldType, onActionError, createManualTranslationMetadata, readOnly, features, fieldEditorControls, fieldTypeOptions, components: componentOverrides, slots, sectionOrder, disableDefaultStyles, unstyled, fieldEditorMode, activeFieldId, defaultActiveFieldId, onActiveFieldChange, submissionSettingsOptions }: FormBuilderProps): react.JSX.Element;
|
|
637
663
|
|
|
638
664
|
type SubmitStatus = "idle" | "submitting" | "success" | "error";
|
|
639
665
|
interface FormContextValue {
|
|
@@ -674,6 +700,52 @@ interface FieldState {
|
|
|
674
700
|
}
|
|
675
701
|
declare function useField(fieldId: string): FieldState;
|
|
676
702
|
|
|
703
|
+
interface UseTranslationWorkspaceOptions {
|
|
704
|
+
readonly schema: FormSchema;
|
|
705
|
+
readonly onChange?: (schema: FormSchema) => void;
|
|
706
|
+
readonly sourceLocale?: string;
|
|
707
|
+
readonly targetLocale?: string;
|
|
708
|
+
readonly translationAdapter?: TranslationAdapter | AsyncTranslationAdapter;
|
|
709
|
+
readonly readOnly?: boolean;
|
|
710
|
+
readonly policy?: FormPolicy;
|
|
711
|
+
readonly validateLocale?: (locale: string, currentLocales: readonly string[]) => LocaleValidationResult;
|
|
712
|
+
}
|
|
713
|
+
interface LocaleValidationResult {
|
|
714
|
+
readonly valid: boolean;
|
|
715
|
+
readonly error?: {
|
|
716
|
+
readonly type: "locale_not_allowed" | "max_locales_exceeded" | "invalid_locale_format";
|
|
717
|
+
readonly message: string;
|
|
718
|
+
};
|
|
719
|
+
}
|
|
720
|
+
interface TranslationSummary {
|
|
721
|
+
readonly totalSlots: number;
|
|
722
|
+
readonly translatedCount: number;
|
|
723
|
+
readonly missingCount: number;
|
|
724
|
+
readonly staleCount: number;
|
|
725
|
+
readonly manualCount: number;
|
|
726
|
+
readonly completionPercentage: number;
|
|
727
|
+
}
|
|
728
|
+
interface UseTranslationWorkspaceResult {
|
|
729
|
+
readonly sourceLocale: string;
|
|
730
|
+
readonly targetLocale: string;
|
|
731
|
+
readonly targetLocales: readonly string[];
|
|
732
|
+
readonly setTargetLocale: (locale: string) => void;
|
|
733
|
+
readonly slots: readonly TranslationSlot[];
|
|
734
|
+
readonly summary: TranslationSummary;
|
|
735
|
+
readonly addLocale: (locale: string) => {
|
|
736
|
+
readonly success: boolean;
|
|
737
|
+
readonly error?: string;
|
|
738
|
+
};
|
|
739
|
+
readonly isAddLocaleAllowed: (locale: string) => boolean;
|
|
740
|
+
readonly removeLocale: (locale: string) => void;
|
|
741
|
+
readonly setTranslation: (slot: TranslationSlot, text: string) => void;
|
|
742
|
+
readonly translateAll: (options?: PopulateTranslationOptions) => Promise<TranslationReport>;
|
|
743
|
+
readonly translateSlot: (slot: TranslationSlot) => Promise<void>;
|
|
744
|
+
readonly isTranslating: boolean;
|
|
745
|
+
readonly error?: string;
|
|
746
|
+
}
|
|
747
|
+
declare function useTranslationWorkspace({ schema, onChange, sourceLocale, targetLocale, translationAdapter, readOnly, policy, validateLocale }: UseTranslationWorkspaceOptions): UseTranslationWorkspaceResult;
|
|
748
|
+
|
|
677
749
|
declare const BUILDER_TRANSLATION_KEYS: {
|
|
678
750
|
readonly ADD_FIELD: "builder.actions.addField";
|
|
679
751
|
readonly SELECT_FIELD_TYPE: "builder.fields.selectType";
|
|
@@ -746,4 +818,4 @@ interface StandaloneFormRendererProps extends FormRendererPresentationProps {
|
|
|
746
818
|
type FormRendererProps = FormRendererPresentationProps | StandaloneFormRendererProps;
|
|
747
819
|
declare function FormRenderer(props: FormRendererProps): react.JSX.Element;
|
|
748
820
|
|
|
749
|
-
export { BUILDER_TRANSLATION_ALIASES, BUILDER_TRANSLATION_KEYS, type BeforeSubmit, type BuilderActionContext, type BuilderActionError, type BuilderActionIconType, type BuilderActionResult, type BuilderButtonProps, type BuilderCheckboxProps, type BuilderErrorMessageProps, type BuilderFactories, type BuilderFieldEditorSlotProps, type BuilderFieldsetProps, type BuilderIconButtonProps, type BuilderIdKind, type BuilderLocalizationSlotProps, type BuilderOptionEditorSlotProps, type BuilderPagesSlotProps, type BuilderPolicy, type BuilderSectionProps, type BuilderSelectOption, type BuilderSelectProps, type BuilderSlotActions, type BuilderTextAreaProps, type BuilderTextInputProps, type BuilderTextTarget, type BuilderToolbarSlotProps, type BuilderTranslationActionsSlotProps, type BuilderTranslationKey, type ChoiceFieldLayoutMode, type ChoiceFieldTypeLayoutMap, type ChoiceGroupSlotProps, type ComponentBaseProps, type FieldComponentProps, type FieldComponents, type FieldEditorControlsConfig, type FieldEditorHeaderSlotProps, type FieldError, type FieldPropertyControlMode, type FieldState, type FieldTypeSelectOptionsConfig, type FieldTypeSelectOptionsContext, type FieldTypeSelectOptionsSorter, type FieldTypeSelectOptionsTransformer, type FieldTypeSelectSlotProps, FormBuilder, type FormBuilderActions, type FormBuilderComponents, type FormBuilderFeatures, type FormBuilderOptions, type FormBuilderProps, type FormBuilderResult, type FormBuilderSectionName, type FormBuilderSlots, type FormCompletionSlotProps, type FormContextValue, type FormFieldsSlotProps, FormProvider, type FormProviderProps, FormRenderer, type FormRendererAppearance, type FormRendererMessages, type FormRendererPresentationProps, type FormRendererProps, type FormRendererSlotProps, type FormRendererSlots, type FormServerErrorPayload, FormSubmissionError, type FormSubmitHandler, type FormSubmitState, type FormSubmitStatus, type FormSubmittedAnswerItem, type FormSuccessRenderMode, type IconButtonProps, type InputComponentProps, type LocalizationSummaryContext, type ManualTranslationContext, type ManualTranslationTarget, type RenderSubmitButtonProps, type SelectComponentProps, type StandaloneFormRendererProps, type SubmissionAttempt, type SubmissionAttemptStore, type SubmissionConfirmationOptions, type SubmissionConfirmationRenderMode, type SubmissionConfirmationSlotProps, type SubmissionGuard, type SubmissionGuardResult, type SubmissionProtectionProps, type SubmissionReceipt, type SubmissionReceiptQuery, type SubmissionReceiptStore, type SubmitContext, type SubmitResponse, type SubmitResult, type SubmitStatus, type UseSubmissionReceiptsResult, createLocalStorageSubmissionAttemptStore, createLocalStorageSubmissionReceiptStore, isTranslationUnresolved, resolveChoiceFieldLayout, resolveFieldEditorControls, resolveFieldTypeSelectOptions, resolveInitialFieldType, resolveTranslation, submissionReceiptQueryKey, useField, useForm, useFormBuilder, useSubmissionReceipts };
|
|
821
|
+
export { BUILDER_TRANSLATION_ALIASES, BUILDER_TRANSLATION_KEYS, type BeforeSubmit, type BuilderActionContext, type BuilderActionError, type BuilderActionIconType, type BuilderActionResult, type BuilderButtonProps, type BuilderCheckboxProps, type BuilderErrorMessageProps, type BuilderFactories, type BuilderFieldEditorSlotProps, type BuilderFieldsetProps, type BuilderIconButtonProps, type BuilderIdKind, type BuilderLocalizationSlotProps, type BuilderOptionEditorSlotProps, type BuilderPagesSlotProps, type BuilderPolicy, type BuilderSectionProps, type BuilderSelectOption, type BuilderSelectProps, type BuilderSlotActions, type BuilderTextAreaProps, type BuilderTextInputProps, type BuilderTextTarget, type BuilderToolbarSlotProps, type BuilderTranslationActionsSlotProps, type BuilderTranslationKey, type ChoiceFieldLayoutMode, type ChoiceFieldTypeLayoutMap, type ChoiceGroupSlotProps, type ComponentBaseProps, type FieldComponentProps, type FieldComponents, type FieldEditorControlsConfig, type FieldEditorHeaderSlotProps, type FieldEditorMode, type FieldError, type FieldPropertyControlMode, type FieldState, type FieldTypeSelectOptionsConfig, type FieldTypeSelectOptionsContext, type FieldTypeSelectOptionsSorter, type FieldTypeSelectOptionsTransformer, type FieldTypeSelectSlotProps, FormBuilder, type FormBuilderActions, type FormBuilderComponents, type FormBuilderFeatures, type FormBuilderOptions, type FormBuilderProps, type FormBuilderResult, type FormBuilderSectionName, type FormBuilderSlots, type FormBuilderSubmissionSettingsOptions, type FormCompletionSlotProps, type FormContextValue, type FormFieldsSlotProps, FormProvider, type FormProviderProps, FormRenderer, type FormRendererAppearance, type FormRendererMessages, type FormRendererPresentationProps, type FormRendererProps, type FormRendererSlotProps, type FormRendererSlots, type FormServerErrorPayload, FormSubmissionError, type FormSubmitHandler, type FormSubmitState, type FormSubmitStatus, type FormSubmittedAnswerItem, type FormSuccessRenderMode, type IconButtonProps, type InputComponentProps, type LocaleValidationResult, type LocalizationSummaryContext, type ManualTranslationContext, type ManualTranslationTarget, type RenderSubmitButtonProps, type SelectComponentProps, type StandaloneFormRendererProps, type SubmissionAttempt, type SubmissionAttemptStore, type SubmissionConfirmationOptions, type SubmissionConfirmationRenderMode, type SubmissionConfirmationSlotProps, type SubmissionGuard, type SubmissionGuardResult, type SubmissionProtectionProps, type SubmissionReceipt, type SubmissionReceiptQuery, type SubmissionReceiptStore, type SubmitContext, type SubmitResponse, type SubmitResult, type SubmitStatus, type TranslationSummary, type UseFormBuilderOptions, type UseFormBuilderResult, type UseSubmissionReceiptsResult, type UseTranslationWorkspaceOptions, type UseTranslationWorkspaceResult, createLocalStorageSubmissionAttemptStore, createLocalStorageSubmissionReceiptStore, isTranslationUnresolved, resolveChoiceFieldLayout, resolveFieldEditorControls, resolveFieldTypeSelectOptions, resolveInitialFieldType, resolveTranslation, submissionReceiptQueryKey, useField, useForm, useFormBuilder, useSubmissionReceipts, useTranslationWorkspace };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QuestionType, FormField, ChoiceOption, FormPage, FormSchema, DisplayCondition, JsonValue, SchemaIssue, FormPolicy, Question, FieldOption, TranslationReport, ValidationIssue, ValidationError, FormValues, TranslationAdapter, AsyncTranslationAdapter, PopulateTranslationOptions, FormValue, AnswerValidationResult, FieldType } from '@form-engine-ts/core';
|
|
1
|
+
import { QuestionType, FormField, ChoiceOption, FormPage, FormSchema, DisplayCondition, JsonValue, SchemaIssue, FormPolicy, Question, FieldOption, TranslationReport, ValidationIssue, ValidationError, FormValues, TranslationAdapter, AsyncTranslationAdapter, PopulateTranslationOptions, FormValue, AnswerValidationResult, TranslationSlot, FieldType } from '@form-engine-ts/core';
|
|
2
2
|
export { QuestionType } from '@form-engine-ts/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ReactNode, ComponentType, KeyboardEvent, MouseEvent, CSSProperties } from 'react';
|
|
@@ -37,7 +37,13 @@ interface FormBuilderOptions {
|
|
|
37
37
|
readonly policy?: FormPolicy;
|
|
38
38
|
readonly idFactory?: (kind: BuilderIdKind, existingIds: ReadonlySet<string>) => string;
|
|
39
39
|
readonly factories?: BuilderFactories;
|
|
40
|
+
readonly fieldEditorMode?: FieldEditorMode;
|
|
41
|
+
readonly activeFieldId?: string;
|
|
42
|
+
readonly defaultActiveFieldId?: string;
|
|
43
|
+
readonly onActiveFieldChange?: (fieldId: string | undefined) => void;
|
|
40
44
|
}
|
|
45
|
+
type FieldEditorMode = "all" | "single";
|
|
46
|
+
type UseFormBuilderOptions = FormBuilderOptions;
|
|
41
47
|
type BuilderActionError = {
|
|
42
48
|
readonly type: "invalid_id";
|
|
43
49
|
readonly kind: BuilderIdKind;
|
|
@@ -104,8 +110,19 @@ interface FormBuilderResult {
|
|
|
104
110
|
readonly addLocale: (locale: string) => BuilderActionResult;
|
|
105
111
|
readonly setDefaultLocale: (locale: string) => BuilderActionResult;
|
|
106
112
|
readonly validationIssues: readonly SchemaIssue[];
|
|
113
|
+
readonly activeFieldId?: string;
|
|
114
|
+
readonly setActiveFieldId?: (fieldId: string | undefined) => void;
|
|
115
|
+
readonly getFieldEditorProps?: (fieldId: string) => {
|
|
116
|
+
readonly isActive: boolean;
|
|
117
|
+
readonly isVisible: boolean;
|
|
118
|
+
readonly onSelect: () => void;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
interface UseFormBuilderResult extends FormBuilderResult {
|
|
122
|
+
readonly setActiveFieldId: (fieldId: string | undefined) => void;
|
|
123
|
+
readonly getFieldEditorProps: NonNullable<FormBuilderResult["getFieldEditorProps"]>;
|
|
107
124
|
}
|
|
108
|
-
declare function useFormBuilder({ schema, onChange, policy, idFactory, factories }: FormBuilderOptions): FormBuilderResult;
|
|
125
|
+
declare function useFormBuilder({ schema, onChange, policy, idFactory, factories, fieldEditorMode, activeFieldId: controlledActiveFieldId, defaultActiveFieldId, onActiveFieldChange }: FormBuilderOptions): FormBuilderResult;
|
|
109
126
|
|
|
110
127
|
interface SubmissionReceipt {
|
|
111
128
|
readonly formId: string;
|
|
@@ -376,7 +393,11 @@ interface BuilderTranslationActionsSlotProps extends BuilderSlotBaseProps {
|
|
|
376
393
|
readonly onClearTranslationError?: () => void;
|
|
377
394
|
readonly translationAdapterAvailable?: boolean;
|
|
378
395
|
}
|
|
379
|
-
type FormBuilderSectionName = "basicSettings" | "completionMessage" | "questions" | "addQuestion" | "localization";
|
|
396
|
+
type FormBuilderSectionName = "basicSettings" | "completionMessage" | "questions" | "addQuestion" | "localization" | "submissionSettings";
|
|
397
|
+
interface FormBuilderSubmissionSettingsOptions {
|
|
398
|
+
readonly enabled: boolean;
|
|
399
|
+
readonly placement?: "beforeQuestions" | "afterQuestions" | "bottom";
|
|
400
|
+
}
|
|
380
401
|
interface FormBuilderSlots {
|
|
381
402
|
readonly toolbar?: ComponentType<BuilderToolbarSlotProps>;
|
|
382
403
|
readonly fieldEditor?: ComponentType<BuilderFieldEditorSlotProps>;
|
|
@@ -632,8 +653,13 @@ interface FormBuilderProps {
|
|
|
632
653
|
readonly sectionOrder?: readonly FormBuilderSectionName[];
|
|
633
654
|
readonly disableDefaultStyles?: boolean;
|
|
634
655
|
readonly unstyled?: boolean;
|
|
656
|
+
readonly fieldEditorMode?: "all" | "single";
|
|
657
|
+
readonly activeFieldId?: string;
|
|
658
|
+
readonly defaultActiveFieldId?: string;
|
|
659
|
+
readonly onActiveFieldChange?: (fieldId: string | undefined) => void;
|
|
660
|
+
readonly submissionSettingsOptions?: FormBuilderSubmissionSettingsOptions;
|
|
635
661
|
}
|
|
636
|
-
declare function FormBuilder({ schema, onChange, locale, translator, translationAdapter, translationOptions, onTranslationReport, policy, idFactory, factories, className, defaultFieldType, onActionError, createManualTranslationMetadata, readOnly, features, fieldEditorControls, fieldTypeOptions, components: componentOverrides, slots, sectionOrder, disableDefaultStyles, unstyled }: FormBuilderProps): react.JSX.Element;
|
|
662
|
+
declare function FormBuilder({ schema, onChange, locale, translator, translationAdapter, translationOptions, onTranslationReport, policy, idFactory, factories, className, defaultFieldType, onActionError, createManualTranslationMetadata, readOnly, features, fieldEditorControls, fieldTypeOptions, components: componentOverrides, slots, sectionOrder, disableDefaultStyles, unstyled, fieldEditorMode, activeFieldId, defaultActiveFieldId, onActiveFieldChange, submissionSettingsOptions }: FormBuilderProps): react.JSX.Element;
|
|
637
663
|
|
|
638
664
|
type SubmitStatus = "idle" | "submitting" | "success" | "error";
|
|
639
665
|
interface FormContextValue {
|
|
@@ -674,6 +700,52 @@ interface FieldState {
|
|
|
674
700
|
}
|
|
675
701
|
declare function useField(fieldId: string): FieldState;
|
|
676
702
|
|
|
703
|
+
interface UseTranslationWorkspaceOptions {
|
|
704
|
+
readonly schema: FormSchema;
|
|
705
|
+
readonly onChange?: (schema: FormSchema) => void;
|
|
706
|
+
readonly sourceLocale?: string;
|
|
707
|
+
readonly targetLocale?: string;
|
|
708
|
+
readonly translationAdapter?: TranslationAdapter | AsyncTranslationAdapter;
|
|
709
|
+
readonly readOnly?: boolean;
|
|
710
|
+
readonly policy?: FormPolicy;
|
|
711
|
+
readonly validateLocale?: (locale: string, currentLocales: readonly string[]) => LocaleValidationResult;
|
|
712
|
+
}
|
|
713
|
+
interface LocaleValidationResult {
|
|
714
|
+
readonly valid: boolean;
|
|
715
|
+
readonly error?: {
|
|
716
|
+
readonly type: "locale_not_allowed" | "max_locales_exceeded" | "invalid_locale_format";
|
|
717
|
+
readonly message: string;
|
|
718
|
+
};
|
|
719
|
+
}
|
|
720
|
+
interface TranslationSummary {
|
|
721
|
+
readonly totalSlots: number;
|
|
722
|
+
readonly translatedCount: number;
|
|
723
|
+
readonly missingCount: number;
|
|
724
|
+
readonly staleCount: number;
|
|
725
|
+
readonly manualCount: number;
|
|
726
|
+
readonly completionPercentage: number;
|
|
727
|
+
}
|
|
728
|
+
interface UseTranslationWorkspaceResult {
|
|
729
|
+
readonly sourceLocale: string;
|
|
730
|
+
readonly targetLocale: string;
|
|
731
|
+
readonly targetLocales: readonly string[];
|
|
732
|
+
readonly setTargetLocale: (locale: string) => void;
|
|
733
|
+
readonly slots: readonly TranslationSlot[];
|
|
734
|
+
readonly summary: TranslationSummary;
|
|
735
|
+
readonly addLocale: (locale: string) => {
|
|
736
|
+
readonly success: boolean;
|
|
737
|
+
readonly error?: string;
|
|
738
|
+
};
|
|
739
|
+
readonly isAddLocaleAllowed: (locale: string) => boolean;
|
|
740
|
+
readonly removeLocale: (locale: string) => void;
|
|
741
|
+
readonly setTranslation: (slot: TranslationSlot, text: string) => void;
|
|
742
|
+
readonly translateAll: (options?: PopulateTranslationOptions) => Promise<TranslationReport>;
|
|
743
|
+
readonly translateSlot: (slot: TranslationSlot) => Promise<void>;
|
|
744
|
+
readonly isTranslating: boolean;
|
|
745
|
+
readonly error?: string;
|
|
746
|
+
}
|
|
747
|
+
declare function useTranslationWorkspace({ schema, onChange, sourceLocale, targetLocale, translationAdapter, readOnly, policy, validateLocale }: UseTranslationWorkspaceOptions): UseTranslationWorkspaceResult;
|
|
748
|
+
|
|
677
749
|
declare const BUILDER_TRANSLATION_KEYS: {
|
|
678
750
|
readonly ADD_FIELD: "builder.actions.addField";
|
|
679
751
|
readonly SELECT_FIELD_TYPE: "builder.fields.selectType";
|
|
@@ -746,4 +818,4 @@ interface StandaloneFormRendererProps extends FormRendererPresentationProps {
|
|
|
746
818
|
type FormRendererProps = FormRendererPresentationProps | StandaloneFormRendererProps;
|
|
747
819
|
declare function FormRenderer(props: FormRendererProps): react.JSX.Element;
|
|
748
820
|
|
|
749
|
-
export { BUILDER_TRANSLATION_ALIASES, BUILDER_TRANSLATION_KEYS, type BeforeSubmit, type BuilderActionContext, type BuilderActionError, type BuilderActionIconType, type BuilderActionResult, type BuilderButtonProps, type BuilderCheckboxProps, type BuilderErrorMessageProps, type BuilderFactories, type BuilderFieldEditorSlotProps, type BuilderFieldsetProps, type BuilderIconButtonProps, type BuilderIdKind, type BuilderLocalizationSlotProps, type BuilderOptionEditorSlotProps, type BuilderPagesSlotProps, type BuilderPolicy, type BuilderSectionProps, type BuilderSelectOption, type BuilderSelectProps, type BuilderSlotActions, type BuilderTextAreaProps, type BuilderTextInputProps, type BuilderTextTarget, type BuilderToolbarSlotProps, type BuilderTranslationActionsSlotProps, type BuilderTranslationKey, type ChoiceFieldLayoutMode, type ChoiceFieldTypeLayoutMap, type ChoiceGroupSlotProps, type ComponentBaseProps, type FieldComponentProps, type FieldComponents, type FieldEditorControlsConfig, type FieldEditorHeaderSlotProps, type FieldError, type FieldPropertyControlMode, type FieldState, type FieldTypeSelectOptionsConfig, type FieldTypeSelectOptionsContext, type FieldTypeSelectOptionsSorter, type FieldTypeSelectOptionsTransformer, type FieldTypeSelectSlotProps, FormBuilder, type FormBuilderActions, type FormBuilderComponents, type FormBuilderFeatures, type FormBuilderOptions, type FormBuilderProps, type FormBuilderResult, type FormBuilderSectionName, type FormBuilderSlots, type FormCompletionSlotProps, type FormContextValue, type FormFieldsSlotProps, FormProvider, type FormProviderProps, FormRenderer, type FormRendererAppearance, type FormRendererMessages, type FormRendererPresentationProps, type FormRendererProps, type FormRendererSlotProps, type FormRendererSlots, type FormServerErrorPayload, FormSubmissionError, type FormSubmitHandler, type FormSubmitState, type FormSubmitStatus, type FormSubmittedAnswerItem, type FormSuccessRenderMode, type IconButtonProps, type InputComponentProps, type LocalizationSummaryContext, type ManualTranslationContext, type ManualTranslationTarget, type RenderSubmitButtonProps, type SelectComponentProps, type StandaloneFormRendererProps, type SubmissionAttempt, type SubmissionAttemptStore, type SubmissionConfirmationOptions, type SubmissionConfirmationRenderMode, type SubmissionConfirmationSlotProps, type SubmissionGuard, type SubmissionGuardResult, type SubmissionProtectionProps, type SubmissionReceipt, type SubmissionReceiptQuery, type SubmissionReceiptStore, type SubmitContext, type SubmitResponse, type SubmitResult, type SubmitStatus, type UseSubmissionReceiptsResult, createLocalStorageSubmissionAttemptStore, createLocalStorageSubmissionReceiptStore, isTranslationUnresolved, resolveChoiceFieldLayout, resolveFieldEditorControls, resolveFieldTypeSelectOptions, resolveInitialFieldType, resolveTranslation, submissionReceiptQueryKey, useField, useForm, useFormBuilder, useSubmissionReceipts };
|
|
821
|
+
export { BUILDER_TRANSLATION_ALIASES, BUILDER_TRANSLATION_KEYS, type BeforeSubmit, type BuilderActionContext, type BuilderActionError, type BuilderActionIconType, type BuilderActionResult, type BuilderButtonProps, type BuilderCheckboxProps, type BuilderErrorMessageProps, type BuilderFactories, type BuilderFieldEditorSlotProps, type BuilderFieldsetProps, type BuilderIconButtonProps, type BuilderIdKind, type BuilderLocalizationSlotProps, type BuilderOptionEditorSlotProps, type BuilderPagesSlotProps, type BuilderPolicy, type BuilderSectionProps, type BuilderSelectOption, type BuilderSelectProps, type BuilderSlotActions, type BuilderTextAreaProps, type BuilderTextInputProps, type BuilderTextTarget, type BuilderToolbarSlotProps, type BuilderTranslationActionsSlotProps, type BuilderTranslationKey, type ChoiceFieldLayoutMode, type ChoiceFieldTypeLayoutMap, type ChoiceGroupSlotProps, type ComponentBaseProps, type FieldComponentProps, type FieldComponents, type FieldEditorControlsConfig, type FieldEditorHeaderSlotProps, type FieldEditorMode, type FieldError, type FieldPropertyControlMode, type FieldState, type FieldTypeSelectOptionsConfig, type FieldTypeSelectOptionsContext, type FieldTypeSelectOptionsSorter, type FieldTypeSelectOptionsTransformer, type FieldTypeSelectSlotProps, FormBuilder, type FormBuilderActions, type FormBuilderComponents, type FormBuilderFeatures, type FormBuilderOptions, type FormBuilderProps, type FormBuilderResult, type FormBuilderSectionName, type FormBuilderSlots, type FormBuilderSubmissionSettingsOptions, type FormCompletionSlotProps, type FormContextValue, type FormFieldsSlotProps, FormProvider, type FormProviderProps, FormRenderer, type FormRendererAppearance, type FormRendererMessages, type FormRendererPresentationProps, type FormRendererProps, type FormRendererSlotProps, type FormRendererSlots, type FormServerErrorPayload, FormSubmissionError, type FormSubmitHandler, type FormSubmitState, type FormSubmitStatus, type FormSubmittedAnswerItem, type FormSuccessRenderMode, type IconButtonProps, type InputComponentProps, type LocaleValidationResult, type LocalizationSummaryContext, type ManualTranslationContext, type ManualTranslationTarget, type RenderSubmitButtonProps, type SelectComponentProps, type StandaloneFormRendererProps, type SubmissionAttempt, type SubmissionAttemptStore, type SubmissionConfirmationOptions, type SubmissionConfirmationRenderMode, type SubmissionConfirmationSlotProps, type SubmissionGuard, type SubmissionGuardResult, type SubmissionProtectionProps, type SubmissionReceipt, type SubmissionReceiptQuery, type SubmissionReceiptStore, type SubmitContext, type SubmitResponse, type SubmitResult, type SubmitStatus, type TranslationSummary, type UseFormBuilderOptions, type UseFormBuilderResult, type UseSubmissionReceiptsResult, type UseTranslationWorkspaceOptions, type UseTranslationWorkspaceResult, createLocalStorageSubmissionAttemptStore, createLocalStorageSubmissionReceiptStore, isTranslationUnresolved, resolveChoiceFieldLayout, resolveFieldEditorControls, resolveFieldTypeSelectOptions, resolveInitialFieldType, resolveTranslation, submissionReceiptQueryKey, useField, useForm, useFormBuilder, useSubmissionReceipts, useTranslationWorkspace };
|