@kubuild/renderer 0.1.0 → 0.2.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 +105 -0
- package/dist/action-dispatcher.d.ts +42 -0
- package/dist/action-dispatcher.d.ts.map +1 -0
- package/dist/action-runners/api-request.d.ts +77 -0
- package/dist/action-runners/api-request.d.ts.map +1 -0
- package/dist/action-runners/index.d.ts +24 -0
- package/dist/action-runners/index.d.ts.map +1 -0
- package/dist/action-runners/modal-manager.d.ts +68 -0
- package/dist/action-runners/modal-manager.d.ts.map +1 -0
- package/dist/action-runners/navigation-utils.d.ts +49 -0
- package/dist/action-runners/navigation-utils.d.ts.map +1 -0
- package/dist/action-runners/toast-container.d.ts +20 -0
- package/dist/action-runners/toast-container.d.ts.map +1 -0
- package/dist/action-runners/toast-manager.d.ts +74 -0
- package/dist/action-runners/toast-manager.d.ts.map +1 -0
- package/dist/action-runners/ui-feedback.d.ts +33 -0
- package/dist/action-runners/ui-feedback.d.ts.map +1 -0
- package/dist/error-boundary.d.ts +2 -0
- package/dist/error-boundary.d.ts.map +1 -1
- package/dist/form-context.d.ts +114 -0
- package/dist/form-context.d.ts.map +1 -0
- package/dist/index.cjs +99 -2690
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -2627
- package/dist/index.js.map +1 -1
- package/dist/nodes/editable-text.d.ts +15 -0
- package/dist/nodes/editable-text.d.ts.map +1 -0
- package/dist/nodes/form-nodes.d.ts +153 -0
- package/dist/nodes/form-nodes.d.ts.map +1 -0
- package/dist/nodes/html-embed.d.ts +15 -0
- package/dist/nodes/html-embed.d.ts.map +1 -0
- package/dist/nodes/index.d.ts +5 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/media-utils.d.ts +17 -0
- package/dist/nodes/media-utils.d.ts.map +1 -0
- package/dist/preview-adapter.d.ts +1 -1
- package/dist/preview-adapter.d.ts.map +1 -1
- package/dist/renderer.d.ts +4 -24
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderers/index.d.ts +2 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/render-node-content.d.ts +66 -0
- package/dist/renderers/render-node-content.d.ts.map +1 -0
- package/package.json +4 -4
- package/dist/index.mjs +0 -44754
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormConfig, FormFieldBinding, ActionPipeline, PageDocument, ValidationRule, ValidateOnEvent } from '@kubuild/schema';
|
|
3
|
+
import { type Diagnostic } from '@kubuild/core';
|
|
4
|
+
/**
|
|
5
|
+
* Form Runtime State representation.
|
|
6
|
+
*/
|
|
7
|
+
export interface FormRuntimeState {
|
|
8
|
+
values: Record<string, unknown>;
|
|
9
|
+
errors: Record<string, string>;
|
|
10
|
+
touched: Record<string, boolean>;
|
|
11
|
+
isSubmitting: boolean;
|
|
12
|
+
isValid: boolean;
|
|
13
|
+
dirty: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Partial / input structure for registering a field binding.
|
|
17
|
+
*/
|
|
18
|
+
export interface FormFieldBindingInput {
|
|
19
|
+
name: string;
|
|
20
|
+
label?: string;
|
|
21
|
+
defaultValue?: unknown;
|
|
22
|
+
rules?: ValidationRule[];
|
|
23
|
+
validateOn?: ValidateOnEvent;
|
|
24
|
+
transform?: 'trim' | 'lowercase' | 'uppercase' | 'number';
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Form Runtime Context Value containing state and mutation callbacks.
|
|
30
|
+
*/
|
|
31
|
+
export interface FormRuntimeContextValue extends FormRuntimeState {
|
|
32
|
+
formId: string;
|
|
33
|
+
formConfig?: FormConfig;
|
|
34
|
+
initialValues: Record<string, unknown>;
|
|
35
|
+
setFieldValue: (name: string, value: unknown, shouldValidate?: boolean) => void;
|
|
36
|
+
setFieldTouched: (name: string, isTouched?: boolean, shouldValidate?: boolean) => void;
|
|
37
|
+
setFieldError: (name: string, error: string | null) => void;
|
|
38
|
+
setErrors: (errors: Record<string, string>) => void;
|
|
39
|
+
setValues: (values: Record<string, unknown>, replace?: boolean) => void;
|
|
40
|
+
setSubmitting: (isSubmitting: boolean) => void;
|
|
41
|
+
resetForm: (nextInitialValues?: Record<string, unknown>) => void;
|
|
42
|
+
validateField: (name: string, value?: unknown) => string | null;
|
|
43
|
+
validateForm: (valuesToValidate?: Record<string, unknown>) => Record<string, string>;
|
|
44
|
+
handleFormSubmit: (e?: React.FormEvent | Event) => Promise<boolean>;
|
|
45
|
+
registerField: (binding: FormFieldBindingInput) => () => void;
|
|
46
|
+
getFieldBinding: (name: string) => FormFieldBinding | undefined;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* FormRuntimeContext for consuming form state across the React tree.
|
|
50
|
+
*/
|
|
51
|
+
export declare const FormRuntimeContext: React.Context<FormRuntimeContextValue | null>;
|
|
52
|
+
/**
|
|
53
|
+
* Props for FormRuntimeProvider.
|
|
54
|
+
*/
|
|
55
|
+
export interface FormRuntimeProviderProps {
|
|
56
|
+
formId?: string;
|
|
57
|
+
formConfig?: FormConfig;
|
|
58
|
+
initialValues?: Record<string, unknown>;
|
|
59
|
+
onSubmit?: (values: Record<string, unknown>, helpers: {
|
|
60
|
+
formId: string;
|
|
61
|
+
setSubmitting: (isSubmitting: boolean) => void;
|
|
62
|
+
resetForm: (nextInitialValues?: Record<string, unknown>) => void;
|
|
63
|
+
setErrors: (errors: Record<string, string>) => void;
|
|
64
|
+
}) => Promise<void> | void;
|
|
65
|
+
onSuccess?: (values: Record<string, unknown>) => void;
|
|
66
|
+
onError?: (errors: Record<string, string>) => void;
|
|
67
|
+
actions?: ActionPipeline[];
|
|
68
|
+
nodeId?: string;
|
|
69
|
+
document?: PageDocument;
|
|
70
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
71
|
+
children: React.ReactNode;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* FormRuntimeProvider manages local reactive form state, field validation,
|
|
75
|
+
* submission handling, and action pipeline execution.
|
|
76
|
+
*/
|
|
77
|
+
export declare const FormRuntimeProvider: React.FC<FormRuntimeProviderProps>;
|
|
78
|
+
/**
|
|
79
|
+
* Hook to access the current FormRuntimeContext.
|
|
80
|
+
* Returns null if invoked outside of a FormRuntimeProvider.
|
|
81
|
+
*/
|
|
82
|
+
export declare function useFormRuntime(): FormRuntimeContextValue | null;
|
|
83
|
+
/**
|
|
84
|
+
* Hook to access the current FormRuntimeContext (alias for useFormRuntime).
|
|
85
|
+
*/
|
|
86
|
+
export declare function useFormContext(): FormRuntimeContextValue | null;
|
|
87
|
+
/**
|
|
88
|
+
* Hook providing status properties of the nearest form context.
|
|
89
|
+
*/
|
|
90
|
+
export declare function useFormStatus(): {
|
|
91
|
+
isSubmitting: boolean;
|
|
92
|
+
isValid: boolean;
|
|
93
|
+
dirty: boolean;
|
|
94
|
+
errors: Record<string, string>;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Result returned by the `useFormField` hook.
|
|
98
|
+
*/
|
|
99
|
+
export interface UseFormFieldReturn<T = unknown> {
|
|
100
|
+
value: T;
|
|
101
|
+
error?: string;
|
|
102
|
+
touched: boolean;
|
|
103
|
+
isInvalid: boolean;
|
|
104
|
+
setValue: (value: T, shouldValidate?: boolean) => void;
|
|
105
|
+
setTouched: (touched?: boolean, shouldValidate?: boolean) => void;
|
|
106
|
+
setError: (error: string | null) => void;
|
|
107
|
+
onChange: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement> | T) => void;
|
|
108
|
+
onBlur: (e?: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Hook to bind a field component to the nearest FormRuntimeContext.
|
|
112
|
+
*/
|
|
113
|
+
export declare function useFormField<T = unknown>(name: string, binding?: FormFieldBindingInput): UseFormFieldReturn<T>;
|
|
114
|
+
//# sourceMappingURL=form-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-context.d.ts","sourceRoot":"","sources":["../src/form-context.tsx"],"names":[],"mappings":"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"}
|