@picked/client 0.0.1-dev.1774224866171 → 0.0.1-dev.1774244905386
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-ZK-H-MlI.js → api-ENA5t36y.js} +1 -1
- package/dist/{api-WKe5XBeR.cjs → api-dkMxUUe0.cjs} +1 -1
- 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/plugins/web-components/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/index.js +503 -426
- package/dist/esm/plugins/create-experience/index.js +352 -281
- package/dist/esm/plugins/dynamic-experiences/index.js +53 -30
- 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 +9 -5
- package/dist/esm/plugins/single-page-app/index.js +4 -4
- package/dist/esm/plugins/web-components/index.js +1 -1
- package/dist/esm/server/index.js +1 -1
- package/dist/experience-instance-BODAwa-_.js +713 -0
- package/dist/experience-instance-DImQh64e.cjs +1 -0
- package/dist/object-BReQiaSS.cjs +1 -0
- package/dist/{object-C82v79xc.js → object-Clj5zVr1.js} +1 -2
- package/dist/storage-BFjb8azI.cjs +1 -0
- package/dist/{storage-6Xk0uAxB.js → storage-DyxpJ0pg.js} +1 -3
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/condition/condition.d.ts +17 -0
- package/dist/types/entities/condition/condition.d.ts.map +1 -0
- package/dist/types/entities/experience/experience.d.ts +36 -59
- 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 +17 -12
- 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 +9 -0
- package/dist/types/entities/project/project.d.ts.map +1 -0
- package/dist/types/entities/response/response.d.ts +10 -7
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/entities/step/step.d.ts +38 -0
- package/dist/types/entities/step/step.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +8 -2
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +61 -52
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +81 -50
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +2 -2
- 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 +21 -4
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +47 -0
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +1 -2
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +0 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +1 -2
- 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 +3 -0
- 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 +1 -0
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/indexed-db.d.ts +1 -2
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/key.d.ts +12 -0
- package/dist/types/utils/key.d.ts.map +1 -0
- 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 +25 -2
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +8 -0
- 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 +1 -11
- package/dist/cjs/form/index.js +0 -1
- package/dist/esm/form/index.js +0 -428
- package/dist/experience-instance-DZiAwXph.js +0 -481
- package/dist/experience-instance-Ddk4Jktn.cjs +0 -1
- package/dist/object-CUJOjanb.cjs +0 -1
- package/dist/rules-logic-B7vJrWyO.js +0 -231
- package/dist/rules-logic-CXr4wXcG.cjs +0 -1
- package/dist/storage-B6lQtc4-.cjs +0 -1
- package/dist/types/form/build-responses.d.ts +0 -14
- package/dist/types/form/build-responses.d.ts.map +0 -1
- package/dist/types/form/create-field-evaluator.d.ts +0 -19
- package/dist/types/form/create-field-evaluator.d.ts.map +0 -1
- package/dist/types/form/create-field-validation.d.ts +0 -44
- package/dist/types/form/create-field-validation.d.ts.map +0 -1
- package/dist/types/form/create-form.d.ts +0 -66
- package/dist/types/form/create-form.d.ts.map +0 -1
- package/dist/types/form/create-submit-pipeline.d.ts +0 -58
- package/dist/types/form/create-submit-pipeline.d.ts.map +0 -1
- package/dist/types/form/get-step-fields.d.ts +0 -5
- package/dist/types/form/get-step-fields.d.ts.map +0 -1
- package/dist/types/form/index.d.ts +0 -10
- package/dist/types/form/index.d.ts.map +0 -1
- package/dist/types/plugins/create-experience/serialization.d.ts +0 -6
- package/dist/types/plugins/create-experience/serialization.d.ts.map +0 -1
- /package/dist/{id-CRqy981z.js → id-BniPxOdF.js} +0 -0
- /package/dist/{id-Bv44ilEo.cjs → id-CIbS4P60.cjs} +0 -0
|
@@ -8,14 +8,20 @@ export type LogicValue = SyncLogicValue | (() => LogicValue) | (() => Promise<Sy
|
|
|
8
8
|
export interface LogicObject {
|
|
9
9
|
[key: string]: LogicValue;
|
|
10
10
|
}
|
|
11
|
-
type LogicArray = Array<LogicValue>;
|
|
11
|
+
export 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;
|
|
16
22
|
export type LogicContext = {
|
|
17
23
|
[key: string]: LogicValue;
|
|
18
24
|
} | LogicValue;
|
|
25
|
+
export type Operation = (this: LogicContext, ...args: LogicValue[]) => LogicValue | Promise<SyncLogicValue>;
|
|
19
26
|
export declare function apply(logic: LogicObject | LogicValue | undefined, data?: LogicContext): Promise<LogicValue>;
|
|
20
|
-
export {};
|
|
21
27
|
//# 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,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;AAE1C,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,mBAAmB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,KAAK,OAAO,CAAA;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAA;AACrF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,UAAU,KAAK,UAAU,CAAA;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AACzF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAA;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAA;AAEzD,MAAM,MAAM,YAAY,GACpB;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B,GACD,UAAU,CAAA;AAqCd,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,YAAY,EAClB,GAAG,IAAI,EAAE,UAAU,EAAE,KAClB,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AAuMzC,wBAAsB,KAAK,CACzB,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,UAAU,CAAC,CAoJrB"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -8,13 +8,16 @@ import { Predicate } from './entities/predicate/predicate';
|
|
|
8
8
|
import { Feature } from './entities/feature/feature';
|
|
9
9
|
import { EventBusPayload, EventHistoryStore } from './utils/events';
|
|
10
10
|
import { Field } from './entities/field/field';
|
|
11
|
+
import { ExperienceStep } from './entities/step/step';
|
|
11
12
|
import { Action } from './entities/action/action';
|
|
13
|
+
import { Condition } from './entities/condition/condition';
|
|
12
14
|
import { SessionStore } from './utils/user-session';
|
|
13
15
|
import { LogicRule } from './logic-engine';
|
|
14
16
|
export declare class Picked {
|
|
15
17
|
static readonly logger: (level: "log" | "warn" | "info" | "error", ...args: Parameters<Console["log"]>) => void;
|
|
16
18
|
private readonly options;
|
|
17
19
|
isReady: boolean;
|
|
20
|
+
private project?;
|
|
18
21
|
private readonly plugins;
|
|
19
22
|
private readonly pluginStartHooks;
|
|
20
23
|
readonly eventBus: import('effector').EventCallable<EventBusPayload>;
|
|
@@ -28,7 +31,7 @@ export declare class Picked {
|
|
|
28
31
|
readonly precondition?: LogicRule | boolean;
|
|
29
32
|
readonly condition?: LogicRule | boolean;
|
|
30
33
|
preconditionPassed?: boolean;
|
|
31
|
-
readonly searchParams: import('
|
|
34
|
+
readonly searchParams: import('./utils/search-params').PickedSearchParams;
|
|
32
35
|
readonly history: {
|
|
33
36
|
push: import('effector').EventCallable<{
|
|
34
37
|
experienceId: string;
|
|
@@ -65,34 +68,10 @@ export declare class Picked {
|
|
|
65
68
|
};
|
|
66
69
|
readonly experiences: {
|
|
67
70
|
register: (experience: Experience) => void;
|
|
68
|
-
get: (
|
|
69
|
-
id: string;
|
|
70
|
-
configStore: import('effector').Store<{
|
|
71
|
-
name: string;
|
|
72
|
-
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
73
|
-
targetSelectors: import('.').ExperienceTarget[];
|
|
74
|
-
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
75
|
-
}>;
|
|
76
|
-
treeStore: import('effector').Store<{
|
|
77
|
-
steps: import('.').ExperienceStep[];
|
|
78
|
-
nodes: import('.').ExperienceNode[];
|
|
79
|
-
edges: import('.').ExperienceEdge[];
|
|
80
|
-
conditionals: import('.').ExperienceConditional[];
|
|
81
|
-
}>;
|
|
82
|
-
fieldsStore: import('effector').Store<Field[]>;
|
|
83
|
-
componentStore: import('effector').Store<{
|
|
84
|
-
name: string;
|
|
85
|
-
component: AdaptedComponent<string, unknown>;
|
|
86
|
-
frameworkStore: import('effector').Store<Framework | undefined>;
|
|
87
|
-
} | undefined>;
|
|
88
|
-
actions: import('.').ExperienceAction[];
|
|
89
|
-
merge: import('effector').EventCallable<{
|
|
90
|
-
experience: Partial<Experience>;
|
|
91
|
-
strategy: "override";
|
|
92
|
-
}>;
|
|
93
|
-
} | undefined>;
|
|
94
|
-
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
71
|
+
get: (key: string) => import('effector').Store<{
|
|
95
72
|
id: string;
|
|
73
|
+
key: string;
|
|
74
|
+
name: string;
|
|
96
75
|
configStore: import('effector').Store<{
|
|
97
76
|
name: string;
|
|
98
77
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -100,12 +79,11 @@ export declare class Picked {
|
|
|
100
79
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
101
80
|
}>;
|
|
102
81
|
treeStore: import('effector').Store<{
|
|
103
|
-
steps:
|
|
82
|
+
steps: ExperienceStep[];
|
|
104
83
|
nodes: import('.').ExperienceNode[];
|
|
105
84
|
edges: import('.').ExperienceEdge[];
|
|
106
|
-
|
|
85
|
+
conditions: Condition[];
|
|
107
86
|
}>;
|
|
108
|
-
fieldsStore: import('effector').Store<Field[]>;
|
|
109
87
|
componentStore: import('effector').Store<{
|
|
110
88
|
name: string;
|
|
111
89
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -118,15 +96,17 @@ export declare class Picked {
|
|
|
118
96
|
}>;
|
|
119
97
|
} | undefined>;
|
|
120
98
|
launch: import('effector').Effect<{
|
|
121
|
-
|
|
99
|
+
key: string;
|
|
122
100
|
options?: LaunchExperienceOptions;
|
|
123
101
|
}, void, Error>;
|
|
124
102
|
open: import('effector').Effect<{
|
|
125
|
-
|
|
103
|
+
key: string;
|
|
126
104
|
options?: import('./exports').OpenExperienceOptions;
|
|
127
105
|
}, void, Error>;
|
|
128
106
|
listStore: import('effector').Store<{
|
|
129
107
|
id: string;
|
|
108
|
+
key: string;
|
|
109
|
+
name: string;
|
|
130
110
|
configStore: import('effector').Store<{
|
|
131
111
|
name: string;
|
|
132
112
|
decisionLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
@@ -134,12 +114,11 @@ export declare class Picked {
|
|
|
134
114
|
initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
|
|
135
115
|
}>;
|
|
136
116
|
treeStore: import('effector').Store<{
|
|
137
|
-
steps:
|
|
117
|
+
steps: ExperienceStep[];
|
|
138
118
|
nodes: import('.').ExperienceNode[];
|
|
139
119
|
edges: import('.').ExperienceEdge[];
|
|
140
|
-
|
|
120
|
+
conditions: Condition[];
|
|
141
121
|
}>;
|
|
142
|
-
fieldsStore: import('effector').Store<Field[]>;
|
|
143
122
|
componentStore: import('effector').Store<{
|
|
144
123
|
name: string;
|
|
145
124
|
component: AdaptedComponent<string, unknown>;
|
|
@@ -173,6 +152,20 @@ export declare class Picked {
|
|
|
173
152
|
listStore: import('effector').Store<import('.').FeatureBucket[]>;
|
|
174
153
|
getEvokableFeature: (featureName: string) => import('effector').Store<() => Promise<boolean | string | undefined>>;
|
|
175
154
|
};
|
|
155
|
+
readonly conditions: {
|
|
156
|
+
register: (condition: Condition) => void;
|
|
157
|
+
getById: (id: Condition["id"]) => import('effector').Store<Condition | null>;
|
|
158
|
+
getByKey: (key: Condition["key"]) => import('effector').Store<Condition | null>;
|
|
159
|
+
listStore: import('effector').Store<Condition[]>;
|
|
160
|
+
};
|
|
161
|
+
readonly fields: {
|
|
162
|
+
register: (field: Field) => void;
|
|
163
|
+
update: (fieldKeyOrId: import('.').FieldBase["key"], updates: Partial<Field>) => void;
|
|
164
|
+
getById: (id: import('.').FieldBase["id"]) => import('effector').Store<Field | null>;
|
|
165
|
+
getByKey: (key: import('.').FieldBase["key"]) => import('effector').Store<Field | null>;
|
|
166
|
+
listStore: import('effector').Store<Field[]>;
|
|
167
|
+
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
168
|
+
};
|
|
176
169
|
readonly responses: {
|
|
177
170
|
register: {
|
|
178
171
|
(fieldId: Field["id"], response: import('.').Response): void;
|
|
@@ -189,23 +182,21 @@ export declare class Picked {
|
|
|
189
182
|
}>;
|
|
190
183
|
listStore: import('effector').Store<{
|
|
191
184
|
fieldId: string;
|
|
192
|
-
|
|
185
|
+
fieldKey: string;
|
|
186
|
+
value: import('.').FieldValue;
|
|
193
187
|
}[]>;
|
|
194
188
|
getAllStore: import('effector').Store<{
|
|
195
189
|
[fieldId: string]: import('.').FieldValue;
|
|
196
190
|
}>;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
};
|
|
191
|
+
getAllByKeyStore: import('effector').Store<Record<string, import('.').FieldValue>>;
|
|
192
|
+
getByFieldId: (fieldId: Field["id"]) => import('effector').Store<import('.').FieldValue>;
|
|
193
|
+
getByFieldKey: (key: Field["key"]) => import('effector').Store<import('.').FieldValue>;
|
|
201
194
|
getByFieldName: (fieldName: Field["name"]) => import('effector').Store<import('.').FieldValue>;
|
|
202
195
|
};
|
|
203
|
-
readonly
|
|
204
|
-
register: (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
listStore: import('effector').Store<Field[]>;
|
|
208
|
-
getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
|
|
196
|
+
readonly steps: {
|
|
197
|
+
register: (step: ExperienceStep) => void;
|
|
198
|
+
getById: (id: ExperienceStep["id"]) => import('effector').Store<ExperienceStep | null>;
|
|
199
|
+
listStore: import('effector').Store<ExperienceStep[]>;
|
|
209
200
|
};
|
|
210
201
|
readonly actions: {
|
|
211
202
|
register: (name: string, action: Action) => void;
|
|
@@ -220,13 +211,34 @@ export declare class Picked {
|
|
|
220
211
|
registerPlugin: (plugin: Plugin) => void;
|
|
221
212
|
registerFeature: (name: string, feature: Feature) => void;
|
|
222
213
|
registerPredicate: (name: string, predicate: Predicate) => void;
|
|
214
|
+
registerCondition: (condition: Condition) => void;
|
|
223
215
|
registerField: (field: Field) => void;
|
|
216
|
+
registerStep: (step: ExperienceStep) => void;
|
|
224
217
|
registerAction: (name: string, action: Action) => void;
|
|
225
218
|
registerExperience: (experience: Experience) => void;
|
|
226
219
|
getStateSnapshot: () => StateSnapshot;
|
|
227
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* Launches an experience by ID.
|
|
222
|
+
*
|
|
223
|
+
* @deprecated Use `client.experiences.launch({ key: experienceKey })` instead.
|
|
224
|
+
* @param experienceId - The experience ID to launch.
|
|
225
|
+
* @param options - Optional launch options.
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* await client.launchExperienceById('exp-1')
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
228
231
|
launchExperienceById: (experienceId: string, options?: LaunchExperienceOptions) => Promise<void>;
|
|
229
|
-
/**
|
|
232
|
+
/**
|
|
233
|
+
* Opens an experience by ID.
|
|
234
|
+
*
|
|
235
|
+
* @deprecated Use `client.experiences.open({ key: experienceKey })` instead.
|
|
236
|
+
* @param experienceId - The experience ID to open.
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* await client.openExperienceById('exp-1')
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
230
242
|
openExperienceById: (experienceId: string) => Promise<void>;
|
|
231
243
|
private runPluginStartHooks;
|
|
232
244
|
private evaluateGate;
|
|
@@ -265,15 +277,12 @@ export declare class Picked {
|
|
|
265
277
|
* @param template Template containing placeholders.
|
|
266
278
|
* @param context Optional data for interpolation. Non-responses.* keys belong here; function values are executed.
|
|
267
279
|
* @returns Interpolated string.
|
|
268
|
-
*
|
|
269
280
|
* @example
|
|
270
281
|
* renderString("Hello {{ name | default: 'Guest' | capitalize }}! Email: {{ responses.email | lower }}.", { name: "ALICE" })
|
|
271
282
|
* // => "Hello Alice! Email: alice@example.com."
|
|
272
|
-
*
|
|
273
283
|
* @example
|
|
274
284
|
* renderString("User: {{ getName | capitalize }}", { getName: () => "alice" })
|
|
275
285
|
* // => "User: Alice"
|
|
276
|
-
*
|
|
277
286
|
* @example
|
|
278
287
|
* renderString("Fruits: {{ fruits | list }}", { fruits: ["apple", "banana", "cherry"] })
|
|
279
288
|
* // => "Fruits: apple, banana, and cherry"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExperienceTarget } from '../../entities/experience/experience';
|
|
2
2
|
import { AdaptedComponent } from '../../entities/component/component';
|
|
3
3
|
import { LogicRule, LogicValue } from '../../logic-engine';
|
|
4
|
-
import { Field,
|
|
5
|
-
import { Serialized } from './serialization';
|
|
6
|
-
export type { FieldOptionValue, FieldOption, FieldOptionArray };
|
|
4
|
+
import { Field, FieldBooleanMultiple, FieldBooleanSingular, FieldNumberMultiple, FieldNumberSingular, FieldObjectMultiple, FieldObjectSingular, FieldTextMultiple, FieldTextSingular, JsonValue } from '../../entities/field/field';
|
|
7
5
|
export interface Nodeable {
|
|
8
6
|
node: SerializableNode | null;
|
|
9
7
|
}
|
|
10
8
|
export interface SerializableStep extends Nodeable {
|
|
11
9
|
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
key: string;
|
|
12
|
+
/** @deprecated Use `name` instead. */
|
|
12
13
|
label: string;
|
|
13
14
|
fields: SerializableField[];
|
|
14
15
|
experience: SerializableExperience;
|
|
15
16
|
nextStep: (stepOptions: CreateStepOptions | SerializableStep) => SerializableStep;
|
|
16
|
-
|
|
17
|
+
nextCondition: (conditionOptions: CreateConditionOptions | SerializableCondition) => SerializableCondition;
|
|
18
|
+
/** @deprecated Use `nextCondition` instead. */
|
|
19
|
+
nextConditional: (conditionOptions: CreateConditionOptions | SerializableCondition) => SerializableCondition;
|
|
17
20
|
addNextExperience: (experience: SerializableExperience) => SerializableExperience;
|
|
18
21
|
addField: (fieldOptions: CreateFieldOptions | SerializableField) => SerializableField;
|
|
19
|
-
serialize: () =>
|
|
22
|
+
serialize: () => string;
|
|
20
23
|
}
|
|
21
24
|
export interface CreateStepOptions {
|
|
22
25
|
id?: string;
|
|
23
|
-
|
|
26
|
+
name?: string;
|
|
27
|
+
key?: string;
|
|
28
|
+
/** @deprecated Use `name` instead. */
|
|
29
|
+
label?: string;
|
|
24
30
|
fields?: SerializableField[];
|
|
25
31
|
}
|
|
26
|
-
export type SerializableNode = SerializableStepNode |
|
|
32
|
+
export type SerializableNode = SerializableStepNode | SerializableConditionNode | SerializableLaunchExperienceNode | SerializableOriginNode | SerializableActionNode;
|
|
27
33
|
export interface SerializableActionNode extends SerializableBaseNode {
|
|
28
34
|
type: 'action';
|
|
29
35
|
action: string;
|
|
30
36
|
addNext: (nodeable: Nodeable) => undefined;
|
|
31
37
|
onSuccess: (nodeable: Nodeable) => undefined;
|
|
32
38
|
onFail: (nodeable: Nodeable) => undefined;
|
|
33
|
-
serialize: () =>
|
|
39
|
+
serialize: () => string;
|
|
34
40
|
}
|
|
35
41
|
export interface CreateActionOptions {
|
|
36
42
|
action: string;
|
|
@@ -39,15 +45,15 @@ export declare const createAction: (actionOptions: CreateActionOptions, experien
|
|
|
39
45
|
export interface SerializableBaseNode {
|
|
40
46
|
id: string;
|
|
41
47
|
experience: SerializableExperience;
|
|
42
|
-
serialize: () =>
|
|
48
|
+
serialize: () => string;
|
|
43
49
|
}
|
|
44
50
|
export interface SerializableStepNode extends SerializableBaseNode {
|
|
45
51
|
type: 'step';
|
|
46
52
|
connectedStep: SerializableStep;
|
|
47
53
|
}
|
|
48
|
-
export interface
|
|
49
|
-
type: '
|
|
50
|
-
|
|
54
|
+
export interface SerializableConditionNode extends SerializableBaseNode {
|
|
55
|
+
type: 'condition';
|
|
56
|
+
connectedCondition: SerializableCondition;
|
|
51
57
|
}
|
|
52
58
|
export interface SerializableLaunchExperienceNode extends SerializableBaseNode {
|
|
53
59
|
type: 'experience';
|
|
@@ -60,8 +66,8 @@ export type CreateNodeOptions = {
|
|
|
60
66
|
step: SerializableStep;
|
|
61
67
|
type: 'step';
|
|
62
68
|
} | {
|
|
63
|
-
|
|
64
|
-
type: '
|
|
69
|
+
condition: SerializableCondition;
|
|
70
|
+
type: 'condition';
|
|
65
71
|
} | {
|
|
66
72
|
type: 'origin';
|
|
67
73
|
} | {
|
|
@@ -77,75 +83,93 @@ export interface SerializableEdge {
|
|
|
77
83
|
sourceNodeHandle: 'true' | 'false' | null;
|
|
78
84
|
destinationNode: SerializableNode;
|
|
79
85
|
experience: SerializableExperience;
|
|
80
|
-
serialize: () =>
|
|
86
|
+
serialize: () => string;
|
|
81
87
|
}
|
|
82
88
|
export interface CreateEdgeOptions {
|
|
83
89
|
sourceNode: SerializableNode;
|
|
84
90
|
sourceNodeHandle: 'true' | 'false' | null;
|
|
85
91
|
destinationNode: SerializableNode;
|
|
86
92
|
}
|
|
87
|
-
export interface
|
|
93
|
+
export interface SerializableCondition extends Nodeable {
|
|
88
94
|
id: string;
|
|
95
|
+
key: string;
|
|
96
|
+
name: string;
|
|
97
|
+
/** @deprecated Use `name` instead. */
|
|
89
98
|
label?: string;
|
|
90
|
-
|
|
99
|
+
logic: LogicRule;
|
|
91
100
|
experience: SerializableExperience;
|
|
92
101
|
addTrue: (nodeable: Nodeable) => undefined;
|
|
93
102
|
addFalse: (nodeable: Nodeable) => undefined;
|
|
94
|
-
serialize: () =>
|
|
103
|
+
serialize: () => string;
|
|
95
104
|
}
|
|
96
|
-
export interface
|
|
105
|
+
export interface CreateConditionOptions {
|
|
106
|
+
/** @deprecated The `id` is auto-generated. This property is accepted but ignored. */
|
|
107
|
+
id?: string;
|
|
97
108
|
condition: LogicRule;
|
|
109
|
+
name?: string;
|
|
110
|
+
key?: string;
|
|
111
|
+
/** @deprecated Use `name` instead. */
|
|
98
112
|
label?: string;
|
|
99
113
|
}
|
|
100
|
-
export
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
114
|
+
export type CreateFieldOptions = Omit<Field, 'id' | 'key' | 'options' | 'placeholder' | 'description' | 'helpText' | 'validation' | 'policies' | 'defaultValue'> & {
|
|
115
|
+
/**
|
|
116
|
+
* @deprecated Provide `key` instead. If omitted, a stable key is auto-generated from `name`.
|
|
117
|
+
* The internal `id` is derived from `key` when not explicitly set.
|
|
118
|
+
*/
|
|
119
|
+
id?: string;
|
|
120
|
+
key?: string;
|
|
121
|
+
defaultValue?: string | number | boolean | object | null | string[] | number[] | boolean[] | object[];
|
|
105
122
|
placeholder?: string;
|
|
106
123
|
description?: string;
|
|
107
124
|
helpText?: string;
|
|
108
|
-
defaultValue?: T | T[] | null;
|
|
109
|
-
multiple: boolean;
|
|
110
125
|
validation?: LogicRule;
|
|
111
|
-
condition?: LogicRule;
|
|
112
|
-
required: boolean;
|
|
113
|
-
options?: FieldOptionArray<JsonValue>;
|
|
114
126
|
policies?: {
|
|
115
127
|
doNotTrackValue?: boolean;
|
|
116
128
|
doNotStoreValue?: boolean;
|
|
117
129
|
};
|
|
118
|
-
|
|
119
|
-
|
|
130
|
+
options?: NonNullable<FieldTextSingular['options']>[number][] | NonNullable<FieldTextMultiple['options']>[number][] | NonNullable<FieldNumberSingular['options']>[number][] | NonNullable<FieldNumberMultiple['options']>[number][] | NonNullable<FieldBooleanSingular['options']>[number][] | NonNullable<FieldBooleanMultiple['options']>[number][] | Omit<NonNullable<FieldObjectSingular['options']>[number], 'id'>[] | Omit<NonNullable<FieldObjectMultiple['options']>[number], 'id'>[];
|
|
131
|
+
};
|
|
132
|
+
export type SerializableField<T extends JsonValue = JsonValue> = {
|
|
120
133
|
id: string;
|
|
134
|
+
key: string;
|
|
121
135
|
name: string;
|
|
122
|
-
type: 'text' | 'number' | 'boolean' | 'object';
|
|
123
136
|
label: string;
|
|
137
|
+
type: 'text' | 'number' | 'object' | 'boolean';
|
|
138
|
+
multiple: boolean;
|
|
139
|
+
required: boolean;
|
|
140
|
+
defaultValue: string | number | boolean | object | null | string[] | number[] | boolean[] | object[];
|
|
124
141
|
placeholder?: string;
|
|
125
142
|
description?: string;
|
|
126
143
|
helpText?: string;
|
|
127
|
-
|
|
128
|
-
multiple: boolean;
|
|
129
|
-
validation?: LogicRule;
|
|
144
|
+
validation: LogicRule;
|
|
130
145
|
condition?: LogicRule;
|
|
131
|
-
required: boolean;
|
|
132
|
-
options: FieldOptionArray<JsonValue> | null;
|
|
133
146
|
policies?: {
|
|
134
147
|
doNotTrackValue?: boolean;
|
|
135
148
|
doNotStoreValue?: boolean;
|
|
136
149
|
};
|
|
150
|
+
options: {
|
|
151
|
+
id: string;
|
|
152
|
+
label: string;
|
|
153
|
+
description?: string;
|
|
154
|
+
value: JsonValue;
|
|
155
|
+
condition?: LogicRule;
|
|
156
|
+
}[] | null;
|
|
137
157
|
/**
|
|
138
158
|
* Phantom type property for TypeScript type inference.
|
|
139
159
|
* This property never exists at runtime but enables type-safe field value access.
|
|
160
|
+
*
|
|
140
161
|
* @internal
|
|
141
162
|
*/
|
|
142
163
|
__fieldType?: T;
|
|
143
|
-
|
|
144
|
-
|
|
164
|
+
} & {
|
|
165
|
+
serialize: () => string;
|
|
166
|
+
};
|
|
145
167
|
export interface SerializableExperience {
|
|
146
168
|
id: string;
|
|
169
|
+
key: string;
|
|
147
170
|
component?: AdaptedComponent;
|
|
148
171
|
name: string;
|
|
172
|
+
/** Decision logic that controls whether this experience is initialised. */
|
|
149
173
|
condition?: LogicRule | LogicValue;
|
|
150
174
|
initializeOpen?: LogicRule | LogicValue;
|
|
151
175
|
targets: ExperienceTarget[];
|
|
@@ -153,13 +177,17 @@ export interface SerializableExperience {
|
|
|
153
177
|
nodes: SerializableNode[];
|
|
154
178
|
edges: SerializableEdge[];
|
|
155
179
|
fields: SerializableField[];
|
|
156
|
-
|
|
180
|
+
conditions: SerializableCondition[];
|
|
157
181
|
addStep: (stepOptions: CreateStepOptions | SerializableStep | OrphanStep, after?: {
|
|
158
182
|
node: SerializableNode | null;
|
|
159
183
|
}) => SerializableStep;
|
|
160
|
-
|
|
184
|
+
addCondition: (conditionOptions: CreateConditionOptions | SerializableCondition, after?: {
|
|
185
|
+
node: SerializableNode | null;
|
|
186
|
+
}) => SerializableCondition;
|
|
187
|
+
/** @deprecated Use `addCondition` instead. */
|
|
188
|
+
addConditional: (conditionOptions: CreateConditionOptions | SerializableCondition, after?: {
|
|
161
189
|
node: SerializableNode | null;
|
|
162
|
-
}) =>
|
|
190
|
+
}) => SerializableCondition;
|
|
163
191
|
addExperience: (experience: SerializableExperience, after?: {
|
|
164
192
|
node: SerializableNode | null;
|
|
165
193
|
}) => SerializableExperience;
|
|
@@ -167,29 +195,32 @@ export interface SerializableExperience {
|
|
|
167
195
|
addAction: (actionOptions: CreateActionOptions | SerializableActionNode, after?: {
|
|
168
196
|
node: SerializableNode | null;
|
|
169
197
|
}) => SerializableActionNode;
|
|
170
|
-
serialize: () =>
|
|
198
|
+
serialize: () => string;
|
|
171
199
|
}
|
|
172
200
|
export interface CreateExperienceOptions {
|
|
173
201
|
id: string;
|
|
202
|
+
key?: string;
|
|
174
203
|
name: string;
|
|
204
|
+
/** Decision logic that controls whether this experience is initialised. */
|
|
175
205
|
condition?: LogicRule | LogicValue;
|
|
176
206
|
initializeOpen?: LogicRule | LogicValue;
|
|
177
207
|
targets: ExperienceTarget[];
|
|
178
208
|
component?: AdaptedComponent;
|
|
179
209
|
}
|
|
180
|
-
export type OrphanStep = Omit<SerializableStep, 'nextStep' | 'nextConditional' | 'addNextExperience' | 'node' | 'serialize' | 'addField' | 'experience'> & {
|
|
210
|
+
export type OrphanStep = Omit<SerializableStep, 'nextStep' | 'nextCondition' | 'nextConditional' | 'addNextExperience' | 'node' | 'serialize' | 'addField' | 'experience'> & {
|
|
181
211
|
addField: (fieldOrFieldOptions: CreateFieldOptions | SerializableField) => void;
|
|
182
212
|
};
|
|
183
213
|
export declare const createStep: (stepOptions: CreateStepOptions) => OrphanStep;
|
|
184
214
|
export declare const bindExperienceStep: (stepOptions: CreateStepOptions | OrphanStep, experience: SerializableExperience) => SerializableStep;
|
|
185
215
|
export declare const createNode: (nodeOptions: CreateNodeOptions, experience: SerializableExperience) => SerializableNode;
|
|
186
216
|
export declare const createEdge: (edgeOptions: CreateEdgeOptions, experience: SerializableExperience) => SerializableEdge;
|
|
187
|
-
export declare const
|
|
217
|
+
export declare const createCondition: (conditionOptions: CreateConditionOptions, experience: SerializableExperience) => SerializableCondition;
|
|
188
218
|
/**
|
|
189
219
|
* Creates a field with optional generic type parameter for object field type safety.
|
|
190
|
-
*
|
|
191
|
-
* @
|
|
192
|
-
* @
|
|
220
|
+
*
|
|
221
|
+
* @template T - The type of the object field value (only applicable for type: 'object').
|
|
222
|
+
* @param fieldOptions - The field configuration options.
|
|
223
|
+
* @returns A serializable field with type information.
|
|
193
224
|
* @example
|
|
194
225
|
* ```typescript
|
|
195
226
|
* // Without type parameter (default JsonValue)
|
|
@@ -200,6 +231,6 @@ export declare const createConditional: (conditionalOptions: CreateConditionalOp
|
|
|
200
231
|
* const typedField = createField<MyData>({ type: 'object', ... })
|
|
201
232
|
* ```
|
|
202
233
|
*/
|
|
203
|
-
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions
|
|
234
|
+
export declare const createField: <T extends JsonValue = JsonValue>(fieldOptions: CreateFieldOptions) => SerializableField<T>;
|
|
204
235
|
export declare const createExperience: (experience: CreateExperienceOptions) => SerializableExperience;
|
|
205
236
|
//# sourceMappingURL=create-experience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
/** @file Public API for the create-experience plugin. */
|
|
1
2
|
export { createExperiencePlugin } from './plugin';
|
|
2
3
|
export type * from './plugin';
|
|
3
4
|
export type * from './create-experience';
|
|
4
|
-
export {
|
|
5
|
-
export { serialization } from './serialization';
|
|
5
|
+
export { createCondition, createEdge, createExperience, createNode, createField, createStep, } from './create-experience';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,qBAAqB,CAAA;AACxC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,qBAAqB,CAAA;AACxC,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/plugin.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,UAAU,6BAA6B;IACrC,WAAW,EAAE,sBAAsB,EAAE,CAAA;CACtC;AAED,eAAO,MAAM,sBAAsB,GAAI,SAAS,6BAA6B,KAAG,MA2B/E,CAAA"}
|
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
2
|
import { DynamicExperiencesPluginOptions, FetchProjectOptions, ProjectConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches the project configuration from the Picked REST API.
|
|
5
|
+
*
|
|
6
|
+
* Returns `null` on network failure, non-OK responses, or invalid JSON shape.
|
|
7
|
+
* Connection-refused errors from local URLs are suppressed silently.
|
|
8
|
+
*
|
|
9
|
+
* @param apiUrl - Base URL for the Picked API.
|
|
10
|
+
* @param projectId - Project ID to fetch config for.
|
|
11
|
+
* @param options - Optional headers and preview token.
|
|
12
|
+
* @returns Validated project config, or `null` on any failure.
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const config = await fetchProject('https://api.picked.app', 'proj_123')
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
3
18
|
export declare function fetchProject(apiUrl: string, projectId: string, options?: FetchProjectOptions): Promise<ProjectConfig | null>;
|
|
4
19
|
/**
|
|
5
|
-
* Plugin that fetches
|
|
6
|
-
* and
|
|
20
|
+
* Plugin that fetches project configuration from the Picked REST API and registers
|
|
21
|
+
* features, steps, fields, and experiences with the client.
|
|
7
22
|
*
|
|
8
|
-
* Features are fetched during the `onStart` hook, before experience
|
|
9
|
-
*
|
|
23
|
+
* Features are fetched during the `onStart` hook, before experience initialisation.
|
|
24
|
+
* Search param feature overrides take precedence over API-provided values.
|
|
10
25
|
*
|
|
26
|
+
* @param options - Optional plugin configuration.
|
|
27
|
+
* @returns A configured Picked plugin.
|
|
11
28
|
* @example
|
|
12
29
|
* ```typescript
|
|
13
30
|
* import { dynamicExperiencesPlugin } from '@picked/client/plugins/dynamic-experiences'
|