@picked/client 0.0.1-dev.1773807602703 → 0.0.1-dev.1773878362211
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/{api-GlH9T8_1.js → api-4YC7Dkcf.js} +1 -1
- package/dist/{api-GvmToTw0.cjs → api-dQTozK5u.cjs} +1 -1
- package/dist/cjs/form/index.js +1 -0
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
- package/dist/cjs/plugins/single-page-app/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/form/index.js +393 -0
- package/dist/esm/index.js +684 -771
- package/dist/esm/plugins/create-experience/index.js +284 -360
- package/dist/esm/plugins/dynamic-experiences/index.js +78 -145
- package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
- package/dist/esm/plugins/history-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-indexeddb/index.js +51 -46
- package/dist/esm/plugins/single-page-app/index.js +24 -24
- package/dist/esm/server/index.js +1 -1
- package/dist/experience-instance-Bd4kkjE6.js +559 -0
- package/dist/experience-instance-UAZPiG2b.cjs +1 -0
- package/dist/{object-JwZ58NOH.js → object-CJssU1Pm.js} +1 -1
- package/dist/object-mwaxtjLG.cjs +1 -0
- package/dist/rules-logic-CZfip-Wl.js +265 -0
- package/dist/rules-logic-Cgia6n5p.cjs +1 -0
- package/dist/storage-58NoTSsc.cjs +1 -0
- package/dist/{storage-Co_LbKr_.js → storage-B2d81EOI.js} +35 -30
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +31 -48
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +2 -2
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +12 -17
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/project/project.d.ts.map +1 -1
- package/dist/types/entities/response/response.d.ts +7 -9
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/form/build-responses.d.ts +14 -0
- package/dist/types/form/build-responses.d.ts.map +1 -0
- package/dist/types/form/create-field-evaluator.d.ts +19 -0
- package/dist/types/form/create-field-evaluator.d.ts.map +1 -0
- package/dist/types/form/create-field-validation.d.ts +44 -0
- package/dist/types/form/create-field-validation.d.ts.map +1 -0
- package/dist/types/form/create-form.d.ts +56 -0
- package/dist/types/form/create-form.d.ts.map +1 -0
- package/dist/types/form/create-submit-pipeline.d.ts +58 -0
- package/dist/types/form/create-submit-pipeline.d.ts.map +1 -0
- package/dist/types/form/get-step-fields.d.ts +5 -0
- package/dist/types/form/get-step-fields.d.ts.map +1 -0
- package/dist/types/form/index.d.ts +10 -0
- package/dist/types/form/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +2 -8
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +23 -41
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +41 -70
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +1 -1
- package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +5 -20
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +0 -46
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +2 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +2 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +2 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +0 -3
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +2 -2
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +0 -1
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/indexed-db.d.ts +2 -1
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +3 -3
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +2 -7
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +0 -8
- package/dist/types/utils/object.d.ts.map +1 -1
- package/dist/types/utils/picked-config.d.ts +1 -1
- package/dist/types/utils/picked-config.d.ts.map +1 -1
- package/dist/types/utils/search-params.d.ts.map +1 -1
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/package.json +27 -3
- package/dist/experience-instance-CxiOyYPf.cjs +0 -1
- package/dist/experience-instance-DCknHRkX.js +0 -804
- package/dist/nodes-DQt4TfuO.js +0 -26
- package/dist/nodes-DsL8kMSX.cjs +0 -1
- package/dist/object-BbFTsGh3.cjs +0 -1
- package/dist/storage-Be5xWNPC.cjs +0 -1
- package/dist/types/entities/condition/condition.d.ts +0 -17
- package/dist/types/entities/condition/condition.d.ts.map +0 -1
- package/dist/types/entities/step/step.d.ts +0 -20
- package/dist/types/entities/step/step.d.ts.map +0 -1
- package/dist/types/utils/key.d.ts +0 -12
- package/dist/types/utils/key.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/entities/feature/feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAExE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,UAAU,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,UAAU,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC1D;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAA;AAK3E,QAAA,MAAM,yBAAyB,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;mBAgBvD,MAAM,WAAW,OAAO,KAAG,IAAI;kBAwMhC,MAAM;sBAOF,MAAM;;sCAKhB,MAAM,KAClB,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/entities/feature/feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAI1C,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAExE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,UAAU,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,UAAU,EAAE,IAAI,CAAA;IAChB,SAAS,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC1D;AAED,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAA;AAK3E,QAAA,MAAM,yBAAyB,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;mBAgBvD,MAAM,WAAW,OAAO,KAAG,IAAI;kBAwMhC,MAAM;sBAOF,MAAM;;sCAKhB,MAAM,KAClB,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CA4CrD,CAAA;AAEF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAC1F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAE9C;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,OAAO,EAAE,UAAU,aAAa,SAEnF,CAAA"}
|
|
@@ -2,6 +2,15 @@ import { Store } from 'effector';
|
|
|
2
2
|
import { LogicRule } from '../../logic-engine';
|
|
3
3
|
export type FieldsStore = ReturnType<typeof createFieldIndex>;
|
|
4
4
|
export type PrimitiveFieldValue = string | number | boolean | null;
|
|
5
|
+
export type FieldOptionValue = string | number | boolean;
|
|
6
|
+
export interface FieldOption<T = FieldOptionValue> {
|
|
7
|
+
id?: string;
|
|
8
|
+
label: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
value: T;
|
|
11
|
+
condition?: LogicRule;
|
|
12
|
+
}
|
|
13
|
+
export type FieldOptionArray<T = FieldOptionValue> = FieldOption<T>[];
|
|
5
14
|
/**
|
|
6
15
|
* JSON-serializable value type for object fields.
|
|
7
16
|
* Recursively defines all valid JSON-serializable structures.
|
|
@@ -10,10 +19,8 @@ export type JsonValue = string | number | boolean | null | {
|
|
|
10
19
|
[key: string]: JsonValue;
|
|
11
20
|
} | JsonValue[];
|
|
12
21
|
export type FieldValue = PrimitiveFieldValue | PrimitiveFieldValue[] | JsonValue | JsonValue[];
|
|
13
|
-
export interface FieldBase<TOptionValue =
|
|
22
|
+
export interface FieldBase<TOptionValue = JsonValue> {
|
|
14
23
|
id: string;
|
|
15
|
-
/** Stable kebab-case identifier used for lookups across API versions. */
|
|
16
|
-
key: string;
|
|
17
24
|
name: string;
|
|
18
25
|
label: string;
|
|
19
26
|
type: 'text' | 'number' | 'object' | 'boolean';
|
|
@@ -21,8 +28,6 @@ export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
|
|
|
21
28
|
required: boolean;
|
|
22
29
|
defaultValue?: FieldValue;
|
|
23
30
|
condition?: LogicRule;
|
|
24
|
-
/** References a global condition by key. Takes precedence over inline `condition`. */
|
|
25
|
-
conditionKey?: string;
|
|
26
31
|
placeholder?: string;
|
|
27
32
|
description?: string;
|
|
28
33
|
helpText?: string;
|
|
@@ -31,13 +36,7 @@ export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
|
|
|
31
36
|
doNotTrackValue?: boolean;
|
|
32
37
|
doNotStoreValue?: boolean;
|
|
33
38
|
};
|
|
34
|
-
options?:
|
|
35
|
-
id: string;
|
|
36
|
-
label: string;
|
|
37
|
-
description?: string;
|
|
38
|
-
value: TOptionValue;
|
|
39
|
-
condition?: LogicRule;
|
|
40
|
-
}[] | null;
|
|
39
|
+
options?: FieldOptionArray<TOptionValue> | null;
|
|
41
40
|
}
|
|
42
41
|
export interface FieldTextSingular extends FieldBase<string> {
|
|
43
42
|
type: 'text';
|
|
@@ -82,15 +81,11 @@ export interface FieldBooleanMultiple extends FieldBase<boolean> {
|
|
|
82
81
|
export type Field = FieldTextSingular | FieldTextMultiple | FieldNumberSingular | FieldNumberMultiple | FieldObjectSingular | FieldObjectMultiple | FieldBooleanSingular | FieldBooleanMultiple;
|
|
83
82
|
declare const createFieldIndexFactory: () => {
|
|
84
83
|
register: (field: Field) => void;
|
|
85
|
-
update: (
|
|
84
|
+
update: (fieldId: FieldBase["id"], updates: Partial<Field>) => void;
|
|
86
85
|
getById: (id: FieldBase["id"]) => Store<Field | null>;
|
|
87
|
-
getByKey: (key: FieldBase["key"]) => Store<Field | null>;
|
|
88
86
|
listStore: Store<Field[]>;
|
|
89
87
|
getByName: (name: FieldBase["name"]) => Store<Field | null>;
|
|
90
88
|
};
|
|
91
|
-
/**
|
|
92
|
-
*
|
|
93
|
-
*/
|
|
94
89
|
export declare function createFieldIndex(): ReturnType<typeof createFieldIndexFactory>;
|
|
95
90
|
export declare const setupField: (field: Field, fields: FieldsStore) => void;
|
|
96
91
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAI7D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAElE;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,SAAS,EAAE,CAAA;AAEf,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAA;AAE9F,MAAM,WAAW,SAAS,CAAC,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;CACrB;AA4FD,wBAAgB,aAAa;;sBA3EsB,MAAM;cAAQ,cAAc;;;sBACzB,MAAM;cAAQ,cAAc;;;uBAC9B,MAAM;;;iBACT,YAAY,EAAE;;;EA0E9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/entities/project/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;CAC/B;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/entities/project/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;CAC/B;AAGD,eAAO,MAAM,iBAAiB,GAC5B,gBAAgB,MAAM,EACtB,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAOjB,CAAA"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Store } from 'effector';
|
|
2
2
|
import { Picked } from '../../picked';
|
|
3
|
-
import { Field, FieldValue } from '../field/field';
|
|
3
|
+
import { Field, FieldValue, JsonValue } from '../field/field';
|
|
4
4
|
export type ResponsesStore = ReturnType<typeof createResponseIndex>;
|
|
5
5
|
export type Response = FieldValue;
|
|
6
6
|
export interface ResponseListItem {
|
|
7
|
-
/** @deprecated Use `fieldKey` instead. */
|
|
8
7
|
fieldId: string;
|
|
9
|
-
fieldKey: string;
|
|
10
8
|
value: Response | undefined;
|
|
11
9
|
}
|
|
12
10
|
declare const createResponseIndexFactory: ({ client }: {
|
|
@@ -27,19 +25,19 @@ declare const createResponseIndexFactory: ({ client }: {
|
|
|
27
25
|
}>;
|
|
28
26
|
listStore: Store<{
|
|
29
27
|
fieldId: string;
|
|
30
|
-
|
|
31
|
-
value: FieldValue;
|
|
28
|
+
value: FieldValue | undefined;
|
|
32
29
|
}[]>;
|
|
33
30
|
getAllStore: Store<{
|
|
34
31
|
[fieldId: string]: FieldValue;
|
|
35
32
|
}>;
|
|
36
|
-
getByFieldId:
|
|
37
|
-
|
|
33
|
+
getByFieldId: {
|
|
34
|
+
(fieldId: Field["id"]): Store<FieldValue>;
|
|
35
|
+
<T extends JsonValue>(fieldId: Field["id"]): Store<T | null>;
|
|
36
|
+
};
|
|
38
37
|
getByFieldName: (fieldName: Field["name"]) => Store<FieldValue>;
|
|
39
38
|
};
|
|
40
39
|
export declare function createResponseIndex<T extends Parameters<typeof createResponseIndexFactory>[0]>(params: T): ReturnType<typeof createResponseIndexFactory>;
|
|
41
|
-
|
|
42
|
-
export type CommitResponses = Record<string, FieldValue>;
|
|
40
|
+
export type CommitResponses = Record<Field['id'], FieldValue>;
|
|
43
41
|
export interface ValidationError {
|
|
44
42
|
fieldId: Field['id'];
|
|
45
43
|
userMessage: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AA8CvF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;kBA+BnD,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,GAAG,IAAI;kBACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;gCA8O5D,eAAe,KACjC,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;8CA7NpB,eAAe,KACjC,OAAO,CAAC;QAAE,iBAAiB,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;;;;;;;;;kBAwPxD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;SAExC,CAAC,SAAS,SAAS,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;;gCAyB9C,KAAK,CAAC,MAAM,CAAC;CAwChD,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE/C;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAE7D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAGpB,WAAW,EAAE,MAAM,CAAA;IAGnB,aAAa,EAAE,MAAM,CAAA;IAGrB,KAAK,EAAE,UAAU,CAAA;CAClB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FieldBase, FieldValue } from '../entities/field/field';
|
|
2
|
+
type FieldLike = Pick<FieldBase, 'id' | 'type' | 'multiple'>;
|
|
3
|
+
/**
|
|
4
|
+
* Parses a FormData snapshot into a typed record of field responses.
|
|
5
|
+
*
|
|
6
|
+
* - Fields absent from FormData are mapped to `null`.
|
|
7
|
+
* - Empty string values are mapped to `null`.
|
|
8
|
+
* - Repeated entries for the same field (e.g. multi-select checkboxes) are
|
|
9
|
+
* merged into a typed array — matching the field's declared element type.
|
|
10
|
+
* - Values are coerced to the field's declared type (text -> string, number -> number, boolean -> boolean).
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildResponsesFromFormData(fields: FieldLike[], formData: FormData): Record<string, FieldValue>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=build-responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-responses.d.ts","sourceRoot":"","sources":["../../../src/form/build-responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpE,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,CAAA;AAgC5D;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EAAE,EACnB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAsC5B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Field, FieldValue } from '../entities/field/field';
|
|
2
|
+
import { Picked } from '../picked';
|
|
3
|
+
import { Store, StoreWritable } from 'effector';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a reactive store of evaluated fields for a given set of field IDs.
|
|
6
|
+
*
|
|
7
|
+
* Fields are re-evaluated whenever:
|
|
8
|
+
* - The available field IDs change (e.g. a step is entered)
|
|
9
|
+
* - Any response is committed (options may depend on prior answers)
|
|
10
|
+
* - The global field registry changes (fields registered after init)
|
|
11
|
+
* - Staged values change (field visibility conditions may reference responses.*)
|
|
12
|
+
*
|
|
13
|
+
* Evaluation runs `getStepFields` with effective responses (committed + staged) as context,
|
|
14
|
+
* so visibility conditions see live in-session values rather than only committed responses.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createFieldEvaluator(client: Picked, fieldIds: Store<string[]>, stagedValuesStore: StoreWritable<Record<string, FieldValue>>): {
|
|
17
|
+
fieldsStore: Store<Field[]>;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=create-field-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-field-evaluator.d.ts","sourceRoot":"","sources":["../../../src/form/create-field-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAA6C,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAEpG;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EACzB,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAC3D;IAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAwCjC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Field, FieldValue } from '../entities/field/field';
|
|
2
|
+
import { ValidationError } from '../entities/response/response';
|
|
3
|
+
import { Picked } from '../picked';
|
|
4
|
+
import { EventCallable, Store, StoreWritable } from 'effector';
|
|
5
|
+
export interface FieldValidation {
|
|
6
|
+
/** Dispatch when a field value changes — runs validation if the field has been touched. */
|
|
7
|
+
fieldChangeEvent: EventCallable<{
|
|
8
|
+
fieldId: string;
|
|
9
|
+
value: FieldValue;
|
|
10
|
+
}>;
|
|
11
|
+
/** Dispatch when a field loses focus — always runs full validation including required check. */
|
|
12
|
+
fieldBlurEvent: EventCallable<{
|
|
13
|
+
fieldId: string;
|
|
14
|
+
value: FieldValue;
|
|
15
|
+
}>;
|
|
16
|
+
/** Which fields have been interacted with — used by formFieldsStore to show/hide errors. */
|
|
17
|
+
touchedStore: StoreWritable<Partial<Record<string, boolean>>>;
|
|
18
|
+
/**
|
|
19
|
+
* Per-field validation errors — written by client-side validation and overwritten
|
|
20
|
+
* by server errors on commit failure. Exposed as writable so the submit pipeline
|
|
21
|
+
* can populate server errors and reset state on new submit attempts.
|
|
22
|
+
*/
|
|
23
|
+
fieldErrorsStore: StoreWritable<Partial<Record<string, ValidationError>>>;
|
|
24
|
+
/** Flat list of all current validation errors — derived from fieldErrorsStore. */
|
|
25
|
+
formErrorsStore: Store<ValidationError[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Current in-session field values — updated on every onChange/onBlur before commit.
|
|
28
|
+
* Used as the responses context for condition evaluation so conditions react to
|
|
29
|
+
* live input without writing to client.responses prematurely.
|
|
30
|
+
*/
|
|
31
|
+
stagedValuesStore: StoreWritable<Record<string, FieldValue>>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates the client-side validation slice for a form.
|
|
35
|
+
*
|
|
36
|
+
* Responsibilities:
|
|
37
|
+
* - Tracks which fields have been touched (first blur = touched)
|
|
38
|
+
* - Validates on blur (full: includes required check) and on change (if already touched)
|
|
39
|
+
* - Uses the same json-logic evaluator the server uses, so client and server results match
|
|
40
|
+
* - Maintains stagedValuesStore: current in-session values used as responses context for
|
|
41
|
+
* condition evaluation, avoiding premature writes to client.responses
|
|
42
|
+
*/
|
|
43
|
+
export declare function createFieldValidation(client: Picked, fieldsStore: Store<Field[]>, stagedValuesStore: StoreWritable<Record<string, FieldValue>>): FieldValidation;
|
|
44
|
+
//# sourceMappingURL=create-field-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-field-validation.d.ts","sourceRoot":"","sources":["../../../src/form/create-field-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,aAAa,EACnB,MAAM,UAAU,CAAA;AAMjB,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,gBAAgB,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;IACvE,gGAAgG;IAChG,cAAc,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;IACrE,4FAA4F;IAC5F,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7D;;;;OAIG;IACH,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IACzE,kFAAkF;IAClF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;IACzC;;;;OAIG;IACH,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;CAC7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAC3B,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAC3D,eAAe,CA0JjB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Field, FieldValue } from '../entities/field/field';
|
|
2
|
+
import { ExperienceInstance } from '../entities/experience-instance/experience-instance';
|
|
3
|
+
import { ValidationError } from '../entities/response/response';
|
|
4
|
+
import { Picked } from '../picked';
|
|
5
|
+
import { EventCallable, Store } from 'effector';
|
|
6
|
+
import { ErrorCallback, SubmitCallback, SubmitEventWithCurrentTarget, SuccessCallback } from './create-submit-pipeline';
|
|
7
|
+
export type FormField = Field & {
|
|
8
|
+
value: FieldValue | undefined;
|
|
9
|
+
/** Validation error for this field, or undefined if valid. */
|
|
10
|
+
error: ValidationError | undefined;
|
|
11
|
+
touched: boolean;
|
|
12
|
+
onChange: (e: Event) => void;
|
|
13
|
+
onBlur: (e: Event) => void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Dependencies that framework wrappers inject into createForm.
|
|
17
|
+
* Replaces Svelte's getPicked()/getExperience() context calls.
|
|
18
|
+
*/
|
|
19
|
+
export interface CreateFormDeps {
|
|
20
|
+
client: Picked;
|
|
21
|
+
experienceInstance: ExperienceInstance;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Return type for createForm()
|
|
25
|
+
* Provides form handlers, reactive stores, and callback registration
|
|
26
|
+
*/
|
|
27
|
+
export interface FormInstance<TFieldIds extends string = string> {
|
|
28
|
+
/** Form element props (bind to <form>) */
|
|
29
|
+
form: {
|
|
30
|
+
onsubmit: EventCallable<SubmitEventWithCurrentTarget>;
|
|
31
|
+
/** Flat list of all current validation errors — derived from fieldErrors */
|
|
32
|
+
errors: Store<ValidationError[]>;
|
|
33
|
+
/** Reactive store indicating if form is currently submitting */
|
|
34
|
+
submitting: Store<boolean>;
|
|
35
|
+
/** Register callbacks to transform/validate data before submission. Returns unsubscribe. */
|
|
36
|
+
onSubmit: (callback: SubmitCallback<TFieldIds>) => () => void;
|
|
37
|
+
/** Register callbacks to run on successful form submission. Returns unsubscribe. */
|
|
38
|
+
onSuccess: (callback: SuccessCallback<TFieldIds>) => () => void;
|
|
39
|
+
/** Register callbacks to run on form validation errors. Returns unsubscribe. */
|
|
40
|
+
onError: (callback: ErrorCallback) => () => void;
|
|
41
|
+
};
|
|
42
|
+
/** Reactive store of fields with current values, errors, touched state, and event handlers */
|
|
43
|
+
fields: Store<FormField[]>;
|
|
44
|
+
}
|
|
45
|
+
export declare function getEventValue(e: Event): FieldValue | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a form instance tied to a set of field IDs.
|
|
48
|
+
* Handles field evaluation, form submission, data transformation,
|
|
49
|
+
* validation, event bus tracking, and step navigation.
|
|
50
|
+
*
|
|
51
|
+
* Framework-agnostic — framework wrappers (Svelte, React) inject
|
|
52
|
+
* client and experienceInstance via the deps parameter and handle
|
|
53
|
+
* callback cleanup lifecycle.
|
|
54
|
+
*/
|
|
55
|
+
export declare function createForm(deps: CreateFormDeps, formId: string, title: Store<string>, fieldIds: Store<string[]>): FormInstance;
|
|
56
|
+
//# sourceMappingURL=create-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-form.d.ts","sourceRoot":"","sources":["../../../src/form/create-form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,KAAK,EAEX,MAAM,UAAU,CAAA;AAGjB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAC9B,KAAK,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,KAAK,EAAE,eAAe,GAAG,SAAS,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,kBAAkB,CAAA;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IAC7D,0CAA0C;IAC1C,IAAI,EAAE;QACJ,QAAQ,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAA;QACrD,4EAA4E;QAC5E,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;QAChC,gEAAgE;QAChE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1B,4FAA4F;QAC5F,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAA;QAC7D,oFAAoF;QACpF,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAA;QAC/D,gFAAgF;QAChF,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,IAAI,CAAA;KACjD,CAAA;IACD,8FAA8F;IAC9F,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;CAC3B;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAS9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GACxB,YAAY,CAwGd"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ExperienceInstance } from '../entities/experience-instance/experience-instance';
|
|
2
|
+
import { ExperienceStep } from '../entities/experience/experience';
|
|
3
|
+
import { Field, FieldValue } from '../entities/field/field';
|
|
4
|
+
import { ValidationError } from '../entities/response/response';
|
|
5
|
+
import { Picked } from '../picked';
|
|
6
|
+
import { Event, EventCallable, Store } from 'effector';
|
|
7
|
+
export type SubmitEventWithCurrentTarget = SubmitEvent & {
|
|
8
|
+
currentTarget: EventTarget & HTMLFormElement;
|
|
9
|
+
};
|
|
10
|
+
export type SuccessCallback<TFieldIds extends string = string> = (options: {
|
|
11
|
+
data: Record<TFieldIds, FieldValue>;
|
|
12
|
+
stopNavigation: EventCallable<void>;
|
|
13
|
+
}) => void | Promise<void>;
|
|
14
|
+
export type ErrorCallback = (errors: ValidationError[]) => void | Promise<void>;
|
|
15
|
+
export type SubmitCallback<TFieldIds extends string = string> = (data: Record<TFieldIds, FieldValue>) => Record<TFieldIds, FieldValue> | void | Promise<Record<TFieldIds, FieldValue> | void>;
|
|
16
|
+
export interface SubmitPipelineConfig {
|
|
17
|
+
client: Picked;
|
|
18
|
+
experienceInstance: ExperienceInstance;
|
|
19
|
+
formId: string;
|
|
20
|
+
title: Store<string>;
|
|
21
|
+
stepStore: Store<ExperienceStep | null>;
|
|
22
|
+
fieldsStore: Store<Field[]>;
|
|
23
|
+
goToNextStep: EventCallable<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface SubmitPipeline {
|
|
26
|
+
submitEvent: EventCallable<SubmitEventWithCurrentTarget>;
|
|
27
|
+
isFormSubmitting: Store<boolean>;
|
|
28
|
+
onSubmit: (callback: SubmitCallback) => () => void;
|
|
29
|
+
onSuccess: (callback: SuccessCallback) => () => void;
|
|
30
|
+
onError: (callback: ErrorCallback) => () => void;
|
|
31
|
+
/**
|
|
32
|
+
* Fired when a submit attempt starts — callers use this to clear validation state.
|
|
33
|
+
* Separating this from `submitEvent` keeps the pipeline decoupled from the
|
|
34
|
+
* validation module's internal stores.
|
|
35
|
+
*/
|
|
36
|
+
submitStarted: Event<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Fired when the server returns validation errors — callers write these to
|
|
39
|
+
* `fieldErrorsStore` in the validation module.
|
|
40
|
+
*/
|
|
41
|
+
serverErrorsReceived: Event<ValidationError[]>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates the submit pipeline for a form instance.
|
|
45
|
+
*
|
|
46
|
+
* Manages the full lifecycle of a form submission:
|
|
47
|
+
* - Emitting event bus calls (form_submit, form_submit_success, form_submit_error)
|
|
48
|
+
* - Running onSubmit data-transform callbacks in series
|
|
49
|
+
* - Committing responses to the server
|
|
50
|
+
* - Running onSuccess/onError callbacks in parallel
|
|
51
|
+
* - Navigating to the next step (unless stopNavigation is called)
|
|
52
|
+
*
|
|
53
|
+
* Returns coordination events (`submitStarted`, `serverErrorsReceived`) that the
|
|
54
|
+
* caller wires to the validation module to keep validation state in sync without
|
|
55
|
+
* the pipeline needing direct access to validation stores.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createSubmitPipeline({ client, experienceInstance, formId, title, stepStore, fieldsStore, goToNextStep, }: SubmitPipelineConfig): SubmitPipeline;
|
|
58
|
+
//# sourceMappingURL=create-submit-pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-submit-pipeline.d.ts","sourceRoot":"","sources":["../../../src/form/create-submit-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAOL,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAGjB,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,aAAa,EAAE,WAAW,GAAG,eAAe,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;IACzE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACnC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACpC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1B,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE/E,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,IAAI,CAC9D,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,KAChC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;AAOzF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACpB,SAAS,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACvC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAC3B,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAA;IACxD,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,MAAM,IAAI,CAAA;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;IACpD,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,IAAI,CAAA;IAChD;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B;;;OAGG;IACH,oBAAoB,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;CAC/C;AAoCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,YAAY,GACb,EAAE,oBAAoB,GAAG,cAAc,CAgMvC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Field } from '../entities/field/field';
|
|
2
|
+
import { Picked } from '../picked';
|
|
3
|
+
import { evaluateRuleLogic } from '../utils/rules-logic';
|
|
4
|
+
export declare function getStepFields<T extends Field>(client: Picked, fields: T[], context?: Parameters<typeof evaluateRuleLogic>[2]): Promise<T[]>;
|
|
5
|
+
//# sourceMappingURL=get-step-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-step-fields.d.ts","sourceRoot":"","sources":["../../../src/form/get-step-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAUxD,wBAAsB,aAAa,CAAC,CAAC,SAAS,KAAK,EACjD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO,CAAC,CAAC,EAAE,CAAC,CAoDd"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { buildResponsesFromFormData } from './build-responses';
|
|
2
|
+
export { getStepFields } from './get-step-fields';
|
|
3
|
+
export { createFieldEvaluator } from './create-field-evaluator';
|
|
4
|
+
export { createFieldValidation } from './create-field-validation';
|
|
5
|
+
export type { FieldValidation } from './create-field-validation';
|
|
6
|
+
export { createSubmitPipeline } from './create-submit-pipeline';
|
|
7
|
+
export type { SubmitPipelineConfig, SubmitPipeline, SubmitEventWithCurrentTarget, SuccessCallback, ErrorCallback, SubmitCallback, } from './create-submit-pipeline';
|
|
8
|
+
export { createForm, getEventValue } from './create-form';
|
|
9
|
+
export type { CreateFormDeps, FormField, FormInstance } from './create-form';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,4BAA4B,EAC5B,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACzD,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
export * from './exports';
|
|
2
2
|
export type * from './client';
|
|
3
3
|
export type * from './entities/action/action';
|
|
4
|
-
export type * from './entities/condition/condition';
|
|
5
4
|
export type * from './entities/component/component';
|
|
6
5
|
export type * from './entities/component/lazyComponent';
|
|
7
6
|
export type * from './entities/experience-instance/experience-instance';
|
|
8
7
|
export type * from './entities/experience/experience';
|
|
9
|
-
export type * from './entities/step/step';
|
|
10
8
|
export type * from './entities/feature/feature';
|
|
11
9
|
export type * from './entities/field/field';
|
|
12
10
|
export type * from './entities/framework/framework';
|
|
@@ -16,6 +14,7 @@ export type * from './entities/predicate/predicate';
|
|
|
16
14
|
export type * from './entities/project/project';
|
|
17
15
|
export type * from './utils/state-snaphot';
|
|
18
16
|
export type * from './utils/events';
|
|
17
|
+
export type * from './utils/search-params';
|
|
19
18
|
export type * from './entities/response/response';
|
|
20
19
|
export { Picked } from './picked';
|
|
21
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,wBAAwB,CAAA;AAC3C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -8,20 +8,14 @@ export type LogicValue = SyncLogicValue | (() => LogicValue) | (() => Promise<Sy
|
|
|
8
8
|
export interface LogicObject {
|
|
9
9
|
[key: string]: LogicValue;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
type LogicArray = Array<LogicValue>;
|
|
12
12
|
export type LogicRuleValue = string | number | boolean | null | undefined | LogicRule | LogicRule[] | LogicRuleValue[];
|
|
13
13
|
export interface LogicRule {
|
|
14
14
|
[key: string]: LogicRuleValue | LogicRuleValue[];
|
|
15
15
|
}
|
|
16
|
-
export type ComparisonOperation = (a: LogicValue, b: LogicValue) => boolean;
|
|
17
|
-
export type NumericOperation = (a: number, b: number, c?: number) => boolean | number;
|
|
18
|
-
export type UnaryOperation = (a: LogicValue) => LogicValue;
|
|
19
|
-
export type StringOperation = (source: LogicValue, start: number, end?: number) => string;
|
|
20
|
-
export type ArrayOperation = (...args: LogicValue[]) => LogicValue[];
|
|
21
|
-
export type MathOperation = (...args: number[]) => number;
|
|
22
16
|
export type LogicContext = {
|
|
23
17
|
[key: string]: LogicValue;
|
|
24
18
|
} | LogicValue;
|
|
25
|
-
export type Operation = (this: LogicContext, ...args: LogicValue[]) => LogicValue | Promise<SyncLogicValue>;
|
|
26
19
|
export declare function apply(logic: LogicObject | LogicValue | undefined, data?: LogicContext): Promise<LogicValue>;
|
|
20
|
+
export {};
|
|
27
21
|
//# sourceMappingURL=logic-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic-engine.d.ts","sourceRoot":"","sources":["../../src/logic-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;AAEpG,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,CAAC,MAAM,UAAU,CAAC,GAClB,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B;AAED,
|
|
1
|
+
{"version":3,"file":"logic-engine.d.ts","sourceRoot":"","sources":["../../src/logic-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;AAEpG,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,CAAC,MAAM,UAAU,CAAC,GAClB,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC,CAAA;AAE3B,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B;AAED,KAAK,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;AAEnC,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,GACT,SAAS,EAAE,GACX,cAAc,EAAE,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAA;CACjD;AAED,MAAM,MAAM,YAAY,GACpB;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B,GACD,UAAU,CAAA;AA8Od,wBAAsB,KAAK,CACzB,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,UAAU,CAAC,CAmJrB"}
|