@verbb/formie-core 1.0.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/rest.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type { FrontendFormEnvelope, FrontendTransport } from './types';
2
+ export type RestFrontendTransportOptions = {
3
+ endpoint: string;
4
+ formHandle: string;
5
+ siteId?: number;
6
+ credentials?: RequestCredentials;
7
+ };
8
+ export declare function loadFrontendEnvelope(options: RestFrontendTransportOptions): Promise<FrontendFormEnvelope>;
9
+ export declare function createRestFrontendTransport(options: RestFrontendTransportOptions): FrontendTransport;
10
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,oBAAoB,EAGpB,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC;AA8BF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAe/G;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CA0DpG"}
@@ -0,0 +1,23 @@
1
+ import type { FrontendFieldDefinition, FrontendFieldValueContract, FrontendFormDefinition, FrontendRowDefinition, FrontendFormEnvelope, KnownFrontendFieldType } from './types';
2
+ export declare function allFields(definition: FrontendFormDefinition | FrontendFormEnvelope['definition']): FrontendFieldDefinition[];
3
+ export declare function findFieldById(definition: FrontendFormDefinition | FrontendFormEnvelope['definition'], fieldId: string): FrontendFieldDefinition | undefined;
4
+ export declare function findFieldByHandle(definition: FrontendFormDefinition | FrontendFormEnvelope['definition'], fieldHandle: string): FrontendFieldDefinition | undefined;
5
+ export declare function serializeFieldValues(definition: FrontendFormDefinition, values: Record<string, unknown>): Record<string, unknown>;
6
+ export declare function isKnownFrontendFieldType(fieldType: string): fieldType is KnownFrontendFieldType;
7
+ export declare function fieldValueContract(field: FrontendFieldDefinition): FrontendFieldValueContract;
8
+ export declare function fieldValueStructure(field: FrontendFieldDefinition): FrontendFieldValueContract['structure'];
9
+ export declare function isCompositeField(field: FrontendFieldDefinition): boolean;
10
+ export declare function isRepeatableField(field: FrontendFieldDefinition): boolean;
11
+ export declare function isFileField(field: FrontendFieldDefinition): boolean;
12
+ export declare function isMultiValueField(field: FrontendFieldDefinition): boolean;
13
+ export declare function isBooleanField(field: FrontendFieldDefinition): boolean;
14
+ export declare function isNumericField(field: FrontendFieldDefinition): boolean;
15
+ export declare function isEmailField(field: FrontendFieldDefinition): boolean;
16
+ export declare function compositePartDefinitions(field: FrontendFieldDefinition): FrontendFieldDefinition[];
17
+ export declare function repeaterRowDefinitions(field: FrontendFieldDefinition): FrontendRowDefinition[];
18
+ export declare function repeaterFieldDefinitions(field: FrontendFieldDefinition): FrontendFieldDefinition[];
19
+ export declare function defaultValueForField(field: FrontendFieldDefinition): unknown;
20
+ export declare function createRepeaterRowValue(field: FrontendFieldDefinition): Record<string, unknown>;
21
+ export declare function fieldValueAsStrings(field: FrontendFieldDefinition, value: unknown): string[];
22
+ export declare function serializeTransportFieldValues(definition: FrontendFormDefinition, values: Record<string, unknown>): Promise<Record<string, unknown>>;
23
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAoBjB,wBAAgB,SAAS,CAAC,UAAU,EAAE,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,CAAC,GAAG,uBAAuB,EAAE,CAI5H;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAE3J;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEnK;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMjI;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,sBAAsB,CAE/F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,0BAA0B,CAM7F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAE3G;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAExE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAMzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEtE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEpE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAUlG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,qBAAqB,EAAE,CAS9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAElG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAwD5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI9F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CA2C5F;AAsGD,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAYzJ"}
package/dist/text.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ export type TextLimitMetrics = {
2
+ graphemeCount: number;
3
+ wordCount: number;
4
+ };
5
+ export declare function normalizeText(value: string): string;
6
+ export declare function countGraphemes(value: string): number;
7
+ export declare function getWordCount(value: string): number;
8
+ export declare function getTextLimitMetrics(value: string): TextLimitMetrics;
9
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAsCF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAQnE"}
@@ -0,0 +1,202 @@
1
+ export type KnownFrontendFieldType = 'single-line-text' | 'multi-line-text' | 'number' | 'email' | 'phone' | 'dropdown' | 'radio' | 'checkboxes' | 'agree' | 'date' | 'name' | 'address' | 'repeater' | 'signature' | 'file';
2
+ export type FrontendFieldType = KnownFrontendFieldType | (string & {});
3
+ export type FrontendFieldValueStructure = 'scalar' | 'fixed-parent' | 'container-parent' | 'repeatable-parent';
4
+ export type FrontendFieldValueClass = {
5
+ class?: string | null;
6
+ };
7
+ export type FrontendFieldValueContract = {
8
+ structure: FrontendFieldValueStructure;
9
+ valueClass?: FrontendFieldValueClass;
10
+ };
11
+ export type FrontendValidationRule = {
12
+ type: string;
13
+ fieldId?: string | null;
14
+ fieldHandle?: string | null;
15
+ min?: number | null;
16
+ max?: number | null;
17
+ };
18
+ export type FrontendModuleTarget = {
19
+ targetType: 'form' | 'page' | 'field' | 'slot';
20
+ targetId: string;
21
+ };
22
+ export type FrontendModuleManifest = {
23
+ id: string;
24
+ type: 'field' | 'captcha' | 'address' | 'payment' | 'custom';
25
+ capability: string;
26
+ targets: FrontendModuleTarget[];
27
+ config?: Record<string, unknown>;
28
+ };
29
+ export type FrontendFieldDefinition = {
30
+ id: string;
31
+ key: string;
32
+ handle: string;
33
+ label?: string | null;
34
+ instructions?: string | null;
35
+ type: FrontendFieldType;
36
+ required: boolean;
37
+ condition?: {
38
+ mode: 'all' | 'any';
39
+ effect: 'show' | 'hide' | 'enable' | 'disable';
40
+ clearOnHide?: boolean;
41
+ rules: Array<{
42
+ fieldId: string;
43
+ operator: string;
44
+ value: unknown;
45
+ }>;
46
+ } | null;
47
+ validation: FrontendValidationRule[];
48
+ runtime?: FrontendFieldValueContract;
49
+ input: Record<string, unknown>;
50
+ moduleRefs?: string[];
51
+ meta?: Record<string, unknown>;
52
+ };
53
+ export type FrontendRowDefinition = {
54
+ fields: FrontendFieldDefinition[];
55
+ };
56
+ export type FrontendPageDefinition = {
57
+ id: string;
58
+ key: string;
59
+ label?: string | null;
60
+ condition?: FrontendFieldDefinition['condition'];
61
+ rows: FrontendRowDefinition[];
62
+ actions: {
63
+ primary: {
64
+ type: 'next' | 'submit';
65
+ label: string;
66
+ };
67
+ secondary: Array<{
68
+ type: 'back' | 'save';
69
+ label: string;
70
+ }>;
71
+ };
72
+ };
73
+ export type FrontendFormDefinition = {
74
+ id: string;
75
+ handle: string;
76
+ title?: string | null;
77
+ locale?: string | null;
78
+ siteId?: number | null;
79
+ settings: {
80
+ initialPageId: string;
81
+ submitMethod: 'ajax';
82
+ validation: {
83
+ onBlur: boolean;
84
+ onSubmit: boolean;
85
+ formErrorMessage?: string;
86
+ };
87
+ progress?: {
88
+ enabled: boolean;
89
+ calculation: 'completion' | 'page-position' | string;
90
+ };
91
+ };
92
+ pages: FrontendPageDefinition[];
93
+ modules: FrontendModuleManifest[];
94
+ submission: {
95
+ endpoint: string;
96
+ method: 'POST';
97
+ encoding: string;
98
+ actions: Array<'back' | 'save' | 'submit'>;
99
+ response: {
100
+ successMessageMode: 'inline' | 'none';
101
+ redirectMode: 'same-tab' | 'new-tab';
102
+ };
103
+ };
104
+ };
105
+ export type FrontendFormSession = {
106
+ id: string;
107
+ currentPageId: string;
108
+ tokens: {
109
+ csrf?: {
110
+ name: string;
111
+ value: string;
112
+ };
113
+ request?: string;
114
+ render?: string;
115
+ captchas?: Record<string, unknown>;
116
+ };
117
+ continuation?: {
118
+ submissionUid?: string;
119
+ continuationToken?: string;
120
+ draftContext?: string;
121
+ draftContextToken?: string;
122
+ resumeUrl?: string;
123
+ [key: string]: unknown;
124
+ } | null;
125
+ };
126
+ export type FrontendFormEnvelope = {
127
+ schemaVersion: 1;
128
+ definition: FrontendFormDefinition;
129
+ session: FrontendFormSession;
130
+ };
131
+ export type FrontendSubmitResult = {
132
+ success: boolean;
133
+ submissionUid?: string | null;
134
+ currentPageId?: string | null;
135
+ nextPageId?: string | null;
136
+ previousPageId?: string | null;
137
+ isFinalPage: boolean;
138
+ errors: {
139
+ form: string[];
140
+ fields: Record<string, string[]>;
141
+ pages: Record<string, string[]>;
142
+ };
143
+ messages: {
144
+ notice?: string | null;
145
+ error?: string | null;
146
+ };
147
+ session?: FrontendFormSession | null;
148
+ };
149
+ export type FrontendFormFieldState = {
150
+ hidden: boolean;
151
+ disabled: boolean;
152
+ };
153
+ export type FrontendFormPageState = {
154
+ hidden: boolean;
155
+ };
156
+ export type FrontendFormState = {
157
+ status: 'idle' | 'loading' | 'ready' | 'submitting' | 'refreshing' | 'destroyed';
158
+ definition: FrontendFormDefinition;
159
+ session: FrontendFormSession;
160
+ values: Record<string, unknown>;
161
+ errors: FrontendSubmitResult['errors'];
162
+ fieldStates: Record<string, FrontendFormFieldState>;
163
+ pageStates: Record<string, FrontendFormPageState>;
164
+ currentPageId: string;
165
+ lastSubmitResult?: FrontendSubmitResult | null;
166
+ };
167
+ export type FrontendSubmitAction = 'back' | 'save' | 'next' | 'submit';
168
+ export type FrontendFormEventName = 'formie:client:ready' | 'formie:submit:result' | 'formie:page:navigate' | 'formie:page:navigate:error' | 'formie:session:refreshed' | 'formie:session:refresh:error' | 'formie:state:reset';
169
+ export type FrontendTransport = {
170
+ submit(input: {
171
+ definition: FrontendFormDefinition;
172
+ session: FrontendFormSession;
173
+ values: Record<string, unknown>;
174
+ action: 'back' | 'save' | 'submit';
175
+ }): Promise<FrontendSubmitResult>;
176
+ refreshSession(input: {
177
+ formHandle: string;
178
+ siteId?: number;
179
+ session: FrontendFormSession;
180
+ }): Promise<FrontendFormSession>;
181
+ setPage?(input: {
182
+ definition: FrontendFormDefinition;
183
+ session: FrontendFormSession;
184
+ values: Record<string, unknown>;
185
+ currentPageId?: string;
186
+ targetPageId: string;
187
+ }): Promise<FrontendFormSession>;
188
+ };
189
+ export type FrontendFormInstance = {
190
+ id: string;
191
+ getState(): FrontendFormState;
192
+ subscribe(listener: (state: FrontendFormState) => void): () => void;
193
+ setValue(fieldId: string, value: unknown): void;
194
+ patchValues(values: Record<string, unknown>): void;
195
+ submit(action?: FrontendSubmitAction): Promise<FrontendSubmitResult>;
196
+ setPage(pageId: string): Promise<void>;
197
+ refreshSession(): Promise<void>;
198
+ reset(): void;
199
+ destroy(): Promise<void>;
200
+ on(eventName: FrontendFormEventName | (string & {}), callback: (payload: unknown) => void): () => void;
201
+ };
202
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@verbb/formie-core",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "CHANGELOG.md",
11
+ "LICENSE.md"
12
+ ],
13
+ "license": "SEE LICENSE IN LICENSE.md",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/verbb/formie.git"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/verbb/formie/issues"
20
+ },
21
+ "homepage": "https://docs.verbb.io/formie/packages",
22
+ "engines": {
23
+ "node": ">=20.0.0"
24
+ },
25
+ "sideEffects": false,
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.js"
30
+ },
31
+ "./package.json": "./package.json"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "scripts": {
37
+ "build": "vite build && npx tsc -p tsconfig.json",
38
+ "test": "vitest run"
39
+ },
40
+ "dependencies": {
41
+ "expression-language": "^2.5.4"
42
+ },
43
+ "devDependencies": {
44
+ "typescript": "^6.0.3",
45
+ "vite": "^8.0.10",
46
+ "vitest": "^4.1.5"
47
+ }
48
+ }