@picked/client 0.0.1-dev.1778120127377 → 0.0.1-dev.1778136207545
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-zfqEYPyX.js → api-Crj5wFbR.js} +1 -1
- package/dist/{api-BM3zWj3k.cjs → api-NcKXNrkY.cjs} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/esm/index.js +220 -174
- package/dist/esm/plugins/dynamic-experiences/index.js +103 -38
- package/dist/types/entities/content/content.d.ts +37 -0
- package/dist/types/entities/content/content.d.ts.map +1 -0
- package/dist/types/entities/experience/experience.d.ts +23 -2
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/step/step.d.ts +14 -0
- package/dist/types/entities/step/step.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/picked.d.ts +38 -0
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +2 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +18 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +62 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../../../logger-6z_gb4rA.js";
|
|
2
|
-
import { i as e, t } from "../../../api-
|
|
2
|
+
import { i as e, t } from "../../../api-Crj5wFbR.js";
|
|
3
3
|
import { attach as n } from "effector";
|
|
4
4
|
//#region src/plugins/dynamic-experiences/hash.ts
|
|
5
5
|
function r(e) {
|
|
@@ -50,12 +50,17 @@ function u(e, t) {
|
|
|
50
50
|
}
|
|
51
51
|
t.push(i);
|
|
52
52
|
}
|
|
53
|
+
let i = r.layoutContentId ? e.contents.getById(r.layoutContentId) : null;
|
|
53
54
|
e.registerStep({
|
|
54
55
|
id: r.id,
|
|
55
56
|
key: r.key,
|
|
56
57
|
name: r.name,
|
|
57
58
|
fieldKeys: t,
|
|
58
|
-
layoutName: r.layoutName
|
|
59
|
+
layoutName: r.layoutName,
|
|
60
|
+
...r.layoutContentId !== void 0 && {
|
|
61
|
+
layoutContentId: r.layoutContentId,
|
|
62
|
+
layoutContentStore: i
|
|
63
|
+
}
|
|
59
64
|
});
|
|
60
65
|
}
|
|
61
66
|
}
|
|
@@ -87,24 +92,7 @@ function h(e, t, n, r) {
|
|
|
87
92
|
decide: () => t.enabled ? a(r, t.weight) : !1
|
|
88
93
|
});
|
|
89
94
|
}
|
|
90
|
-
function g() {
|
|
91
|
-
let e;
|
|
92
|
-
try {
|
|
93
|
-
e = __PICKED_PROJECT_CONFIG__;
|
|
94
|
-
} catch {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (e === void 0) return;
|
|
98
|
-
let t;
|
|
99
|
-
if (typeof e == "string") try {
|
|
100
|
-
t = JSON.parse(e);
|
|
101
|
-
} catch {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
else t = e;
|
|
105
|
-
if (o(t)) return t;
|
|
106
|
-
}
|
|
107
|
-
function _(e) {
|
|
95
|
+
function g(e) {
|
|
108
96
|
try {
|
|
109
97
|
let t = new URL(e).hostname;
|
|
110
98
|
return t === "localhost" || t === "127.0.0.1" || t === "::1";
|
|
@@ -112,17 +100,17 @@ function _(e) {
|
|
|
112
100
|
return !1;
|
|
113
101
|
}
|
|
114
102
|
}
|
|
115
|
-
function
|
|
103
|
+
function _(e) {
|
|
116
104
|
if (typeof e != "object" || !e || !("cause" in e)) return !1;
|
|
117
105
|
let { cause: t } = e;
|
|
118
106
|
return typeof t != "object" || !t || !("code" in t) ? !1 : t.code === "ECONNREFUSED";
|
|
119
107
|
}
|
|
120
|
-
async function
|
|
108
|
+
async function v(e, n, r) {
|
|
121
109
|
let i = r?.previewToken ? `projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}` : `projects/${n}`, a;
|
|
122
110
|
try {
|
|
123
111
|
a = await t(e, i, r?.headers);
|
|
124
112
|
} catch (t) {
|
|
125
|
-
return
|
|
113
|
+
return g(e) && _(t), null;
|
|
126
114
|
}
|
|
127
115
|
if (!a.ok) return `${a.status.toString()}`, null;
|
|
128
116
|
let s;
|
|
@@ -133,7 +121,91 @@ async function y(e, n, r) {
|
|
|
133
121
|
}
|
|
134
122
|
return o(s) ? s : null;
|
|
135
123
|
}
|
|
136
|
-
function
|
|
124
|
+
function y(e) {
|
|
125
|
+
return typeof e != "object" || !e || !("experienceId" in e) || !("content" in e) ? !1 : Array.isArray(e.content);
|
|
126
|
+
}
|
|
127
|
+
async function b(e, n, r, i) {
|
|
128
|
+
let a = i?.previewToken ? `projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}` : `projects/${n}/experiences/${r}/content`, o;
|
|
129
|
+
try {
|
|
130
|
+
o = await t(e, a, i?.headers);
|
|
131
|
+
} catch (t) {
|
|
132
|
+
return g(e) && _(t) || `${r}`, null;
|
|
133
|
+
}
|
|
134
|
+
if (!o.ok) return `${r}${o.status.toString()}`, null;
|
|
135
|
+
let s;
|
|
136
|
+
try {
|
|
137
|
+
s = await o.json();
|
|
138
|
+
} catch {
|
|
139
|
+
return `${r}`, null;
|
|
140
|
+
}
|
|
141
|
+
return y(s) ? s : (`${r}`, null);
|
|
142
|
+
}
|
|
143
|
+
function x(e, t) {
|
|
144
|
+
for (let n of t.content) e.registerContent({
|
|
145
|
+
id: n.id,
|
|
146
|
+
data: n.data
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
function S(e) {
|
|
150
|
+
if (typeof e != "object" || !e || !("projectConfig" in e) || !("experienceContent" in e) || !("manifestMetadata" in e)) return !1;
|
|
151
|
+
let { experienceContent: t } = e;
|
|
152
|
+
return typeof t == "function";
|
|
153
|
+
}
|
|
154
|
+
var C = "virtual:picked/data";
|
|
155
|
+
async function w() {
|
|
156
|
+
try {
|
|
157
|
+
let e = await import(
|
|
158
|
+
/* @vite-ignore */
|
|
159
|
+
C
|
|
160
|
+
);
|
|
161
|
+
return S(e) ? e : null;
|
|
162
|
+
} catch {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function T(e, t, n) {
|
|
167
|
+
return (r) => b(e, t, r.id, n ? { previewToken: n } : void 0);
|
|
168
|
+
}
|
|
169
|
+
function E(e, t) {
|
|
170
|
+
return (n) => e(n, t ? { previewToken: t } : void 0);
|
|
171
|
+
}
|
|
172
|
+
function D(e) {
|
|
173
|
+
return (t, n) => e.experienceContent(t, n);
|
|
174
|
+
}
|
|
175
|
+
function O(e, t) {
|
|
176
|
+
return async (n, r) => {
|
|
177
|
+
let i = await t(n, r);
|
|
178
|
+
return i && x(e, i), i;
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
async function k(e) {
|
|
182
|
+
let { client: t, apiUrl: n, options: r } = e, i = f(t), a = !!i, o = r?.projectConfig ?? null, s = r?.getContent ? E(r.getContent, i) : null, c = null;
|
|
183
|
+
if (i) return o ||= await v(n, t.projectId, { previewToken: i }), s ||= T(n, t.projectId, i), {
|
|
184
|
+
config: o,
|
|
185
|
+
contentLoader: s,
|
|
186
|
+
dataSource: c,
|
|
187
|
+
isPreview: a
|
|
188
|
+
};
|
|
189
|
+
if (o && s) return {
|
|
190
|
+
config: o,
|
|
191
|
+
contentLoader: s,
|
|
192
|
+
dataSource: c,
|
|
193
|
+
isPreview: a
|
|
194
|
+
};
|
|
195
|
+
let l = await w();
|
|
196
|
+
return l ? (o ??= l.projectConfig, s ??= D(l), c = l.manifestMetadata, {
|
|
197
|
+
config: o,
|
|
198
|
+
contentLoader: s,
|
|
199
|
+
dataSource: c,
|
|
200
|
+
isPreview: a
|
|
201
|
+
}) : (o ||= await v(n, t.projectId), s ||= T(n, t.projectId), {
|
|
202
|
+
config: o,
|
|
203
|
+
contentLoader: s,
|
|
204
|
+
dataSource: c,
|
|
205
|
+
isPreview: a
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
function A(e) {
|
|
137
209
|
return {
|
|
138
210
|
name: "dynamic-experiences",
|
|
139
211
|
setup: (t) => {
|
|
@@ -141,23 +213,16 @@ function b(e) {
|
|
|
141
213
|
return { onStart: n({
|
|
142
214
|
source: t.session.store.map((e) => e.id),
|
|
143
215
|
effect: async (n) => {
|
|
144
|
-
let i =
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
let a = e?.projectConfig ?? g();
|
|
151
|
-
if (a) {
|
|
152
|
-
m(t, a, !1, n), s(t, a), l(t, a), u(t, a), d(t, a);
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
let o = await y(r, t.projectId);
|
|
156
|
-
o && (m(t, o, !1, n), s(t, o), l(t, o), u(t, o), d(t, o));
|
|
216
|
+
let { config: i, contentLoader: a, dataSource: o, isPreview: c } = await k({
|
|
217
|
+
client: t,
|
|
218
|
+
apiUrl: r,
|
|
219
|
+
options: e
|
|
220
|
+
});
|
|
221
|
+
a && (t.contentLoader = O(t, a)), t.dataSource = o, i && (m(t, i, c, n), s(t, i), l(t, i), u(t, i), d(t, i));
|
|
157
222
|
}
|
|
158
223
|
}) };
|
|
159
224
|
}
|
|
160
225
|
};
|
|
161
226
|
}
|
|
162
227
|
//#endregion
|
|
163
|
-
export { e as createClientHeaders,
|
|
228
|
+
export { e as createClientHeaders, A as dynamicExperiencesPlugin, b as fetchExperienceContent, v as fetchProject };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
export interface Content {
|
|
3
|
+
id: string;
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export type ContentsStore = ReturnType<typeof createContentIndex>;
|
|
7
|
+
declare const createContentIndexFactory: () => {
|
|
8
|
+
register: (content: Content) => void;
|
|
9
|
+
getById: (id: Content["id"]) => Store<Content | null>;
|
|
10
|
+
listStore: Store<Content[]>;
|
|
11
|
+
indexStore: import('effector').StoreWritable<{
|
|
12
|
+
[id: string]: Content;
|
|
13
|
+
}>;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Creates an Effector-based index for registering and retrieving content records.
|
|
17
|
+
*
|
|
18
|
+
* @returns {ContentsStore} A content index with register, getById, and listStore.
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const contents = createContentIndex()
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function createContentIndex(): ReturnType<typeof createContentIndexFactory>;
|
|
25
|
+
/**
|
|
26
|
+
* Registers a content record with the given index via the helper function.
|
|
27
|
+
*
|
|
28
|
+
* @param content - The content record to register.
|
|
29
|
+
* @param index - The content index to register the record with.
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* setupContent(content, index)
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function setupContent(content: Content, index: ContentsStore): void;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/entities/content/content.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAK9D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAGjE,QAAA,MAAM,yBAAyB;wBAuBF,OAAO,KAAG,IAAI;kBAmBpB,OAAO,CAAC,IAAI,CAAC,KAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;;;;;CAU1D,CAAA;AAEF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAEjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE"}
|
|
@@ -51,8 +51,8 @@ export interface ExperienceStore {
|
|
|
51
51
|
*
|
|
52
52
|
* @template T - Factory parameter type.
|
|
53
53
|
* @param {T} params - The client instance and experience data.
|
|
54
|
-
* @param params.client
|
|
55
|
-
* @param params.experience
|
|
54
|
+
* @param {Picked} params.client - The Picked client instance the experience is bound to.
|
|
55
|
+
* @param {Experience} params.experience - The experience definition to wrap in stores and effects.
|
|
56
56
|
* @returns {ReturnType<typeof createExperienceFactory>} An experience store with config, tree, fields, and component sub-stores.
|
|
57
57
|
* @example
|
|
58
58
|
* ```typescript
|
|
@@ -187,5 +187,26 @@ export interface Experience {
|
|
|
187
187
|
* ```
|
|
188
188
|
*/
|
|
189
189
|
export declare const initialiseExperiences: (client: Picked) => Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Resolves CMS Content for an experience by invoking the registered content loader
|
|
192
|
+
* (set on the client by `dynamicExperiencesPlugin`'s resolution chain). Runs after
|
|
193
|
+
* the experience's `shouldInitialiseFx` gate and before its `initialiseFx`, so layouts
|
|
194
|
+
* have content available on first render.
|
|
195
|
+
*
|
|
196
|
+
* Failure-tolerant: if no loader is registered, or the loader rejects, or the loader
|
|
197
|
+
* returns `null`, the experience still proceeds to initialisation. Steps whose
|
|
198
|
+
* `layoutContentId` references content that wasn't registered render with
|
|
199
|
+
* `layoutContentStore` resolving to `null`.
|
|
200
|
+
*
|
|
201
|
+
* @param {Picked} client - The Picked client instance.
|
|
202
|
+
* @param {ExperienceStore} experience - The experience to prepare content for.
|
|
203
|
+
* @returns {Promise<boolean>} Always `true` in this change — reserved for future tiers
|
|
204
|
+
* that may signal "skip render".
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* await prepareExperienceContent(client, experience)
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
export declare const prepareExperienceContent: (client: Picked, experience: ExperienceStore) => Promise<boolean>;
|
|
190
211
|
export {};
|
|
191
212
|
//# sourceMappingURL=experience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAElB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/D,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE3E,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;QACtC,eAAe,EAAE,gBAAgB,EAAE,CAAA;QACnC,mBAAmB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;KAC7C,CAAC,CAAA;IACF,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,UAAU,EAAE,SAAS,EAAE,CAAA;KACxB,CAAC,CAAA;IACF,cAAc,EAAE,KAAK,CACjB;QACE,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,gBAAgB,CAAA;QAC3B,cAAc,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;KAC7C,GACD,SAAS,CACZ,CAAA;IACD,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,8EAA8E;IAC9E,KAAK,EAAE,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAA;IACnF;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACtE;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;CACjD;AA2ID;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,eAAe,CAElB;AAED,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,2GAA2G;AAC3G,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAA;AAEnF,QAAA,MAAM,4BAA4B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAElB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAI/D,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE3E,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;QACtC,eAAe,EAAE,gBAAgB,EAAE,CAAA;QACnC,mBAAmB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;KAC7C,CAAC,CAAA;IACF,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,KAAK,EAAE,cAAc,EAAE,CAAA;QACvB,UAAU,EAAE,SAAS,EAAE,CAAA;KACxB,CAAC,CAAA;IACF,cAAc,EAAE,KAAK,CACjB;QACE,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,gBAAgB,CAAA;QAC3B,cAAc,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;KAC7C,GACD,SAAS,CACZ,CAAA;IACD,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,8EAA8E;IAC9E,KAAK,EAAE,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAA;IACnF;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACtE;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;CACjD;AA2ID;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,eAAe,CAElB;AAED,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,2GAA2G;AAC3G,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAA;AAEnF,QAAA,MAAM,4BAA4B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;IA8K9E,4GAA4G;;IAE5G,gHAAgH;cAlHjG,UAAU,CAAC,IAAI,CAAC;IAoH/B,qDAAqD;kBApHtC,UAAU,CAAC,IAAI,CAAC;IAsH/B,iHAAiH;oBAxG5F,UAAU,CAAC,KAAK,CAAC,KAAG,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;IA0G3E,8DAA8D;;aA7FjD,MAAM;kBAAY,uBAAuB;;YAC1C,MAAM;kBAAY,uBAAuB;;IA8FrD,yHAAyH;;aA1D5G,MAAM;kBAAY,qBAAqB;;YACxC,MAAM;kBAAY,qBAAqB;;IA2DnD,uEAAuE;;IAEvE,kFAAkF;;CAGpF,CAAA;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAChG,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAEjD;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,UAAU,CAAA;AACd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;CAEf;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,IAAI,EAAE,YAAY,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;CACjE;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IACvC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAExE,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,YAAY,eAAe,KAC1B,OAAO,CAAC,OAAO,CAYjB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Store } from 'effector';
|
|
2
|
+
import { Content } from '../content/content';
|
|
2
3
|
export type StepsStore = ReturnType<typeof createStepIndex>;
|
|
3
4
|
export interface ExperienceStep {
|
|
4
5
|
id: string;
|
|
@@ -6,6 +7,19 @@ export interface ExperienceStep {
|
|
|
6
7
|
name: string;
|
|
7
8
|
fieldKeys: string[];
|
|
8
9
|
layoutName?: string | null;
|
|
10
|
+
/**
|
|
11
|
+
* Optional reference to a CMS Content record that supplies the step's layout data.
|
|
12
|
+
* The actual content is registered separately via `client.registerContent` and
|
|
13
|
+
* resolved at render time through `layoutContentStore` against the global content registry.
|
|
14
|
+
*/
|
|
15
|
+
layoutContentId?: string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Reactive store of the content record this step references. Composed at registration
|
|
18
|
+
* time against `client.contents.getById(layoutContentId)`. `null` when the step has no
|
|
19
|
+
* `layoutContentId`. Reads stay reactive — content registered after the step
|
|
20
|
+
* (or updated mid-session) flows through automatically.
|
|
21
|
+
*/
|
|
22
|
+
layoutContentStore?: Store<Content | null> | null;
|
|
9
23
|
}
|
|
10
24
|
declare const createStepIndexFactory: () => {
|
|
11
25
|
register: (step: ExperienceStep) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../src/entities/step/step.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../src/entities/step/step.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAI3D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;CAClD;AAGD,QAAA,MAAM,sBAAsB;qBAuBF,cAAc,KAAG,IAAI;kBAkBxB,cAAc,CAAC,IAAI,CAAC,KAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;oBAcjD,cAAc,CAAC,KAAK,CAAC,KAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;;;;;CAa3E,CAAA;AAEF;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAE3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,IAAI,CAE/F"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/** @file Top-level public entry point — re-exports the client class, public utilities, and entity types. */
|
|
1
2
|
export * from './exports';
|
|
2
3
|
export type * from './client';
|
|
3
4
|
export type * from './entities/action/action';
|
|
4
5
|
export type * from './entities/condition/condition';
|
|
6
|
+
export type * from './entities/content/content';
|
|
5
7
|
export type * from './entities/component/component';
|
|
6
8
|
export type * from './entities/component/lazyComponent';
|
|
7
9
|
export type * from './entities/experience-instance/experience-instance';
|
|
@@ -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,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,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,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,cAAc,WAAW,CAAA;AACzB,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,4BAA4B,CAAA;AAC/C,mBAAmB,gCAAgC,CAAA;AACnD,mBAAmB,oCAAoC,CAAA;AACvD,mBAAmB,oDAAoD,CAAA;AACvE,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,sBAAsB,CAAA;AACzC,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,gBAAgB,CAAA;AACnC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,8BAA8B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -12,12 +12,41 @@ import { Feature } from './entities/feature/feature';
|
|
|
12
12
|
import { EventBusPayload, EventHistoryStore } from './utils/events';
|
|
13
13
|
import { Field } from './entities/field/field';
|
|
14
14
|
import { ExperienceStep } from './entities/step/step';
|
|
15
|
+
import { Content } from './entities/content/content';
|
|
16
|
+
import { ContentLoader } from './plugins/dynamic-experiences/types';
|
|
15
17
|
import { Action } from './entities/action/action';
|
|
16
18
|
import { Condition } from './entities/condition/condition';
|
|
17
19
|
import { SessionEntity } from './entities/session/session';
|
|
20
|
+
/**
|
|
21
|
+
* Provenance metadata describing where the Picked client's project config and
|
|
22
|
+
* content came from. Set by `dynamicExperiencesPlugin` when the Vite plugin's
|
|
23
|
+
* virtual data module is available; remains `null` otherwise.
|
|
24
|
+
*/
|
|
25
|
+
export interface PickedDataSource {
|
|
26
|
+
/** `'build'` when build-mode prefetch JSON was used, `'dev'` when the dev-mode runtime fetch was used. */
|
|
27
|
+
mode: 'dev' | 'build';
|
|
28
|
+
/** ISO 8601 timestamp from the manifest. `null` in dev mode where no manifest is written. */
|
|
29
|
+
fetchedAt: string | null;
|
|
30
|
+
/** The `versionId` recorded by the source, when known. */
|
|
31
|
+
projectVersionId: string | null;
|
|
32
|
+
/** The `workspaceId` recorded by the source, when known. */
|
|
33
|
+
workspaceId: string | null;
|
|
34
|
+
}
|
|
18
35
|
export declare class Picked {
|
|
19
36
|
static readonly logger: (level: "log" | "warn" | "info" | "error", ...args: Parameters<Console["log"]>) => void;
|
|
20
37
|
private readonly options;
|
|
38
|
+
/**
|
|
39
|
+
* Provenance metadata for the data backing this client. Populated by
|
|
40
|
+
* `dynamicExperiencesPlugin` when the Vite plugin's virtual data module is
|
|
41
|
+
* resolvable; remains `null` when the SDK is using the runtime API path.
|
|
42
|
+
*/
|
|
43
|
+
dataSource: PickedDataSource | null;
|
|
44
|
+
/**
|
|
45
|
+
* Content fetcher selected by `dynamicExperiencesPlugin`'s resolution chain.
|
|
46
|
+
* Called by `prepareExperienceContent` between target-match and
|
|
47
|
+
* the per-experience `initialiseFx`. `undefined` when no plugin has registered one yet.
|
|
48
|
+
*/
|
|
49
|
+
contentLoader?: ContentLoader;
|
|
21
50
|
private readonly plugins;
|
|
22
51
|
readonly eventBus: EventCallable<EventBusPayload>;
|
|
23
52
|
readonly events: EventHistoryStore;
|
|
@@ -168,6 +197,14 @@ export declare class Picked {
|
|
|
168
197
|
[id: string]: ExperienceStep;
|
|
169
198
|
}>;
|
|
170
199
|
};
|
|
200
|
+
readonly contents: {
|
|
201
|
+
register: (content: Content) => void;
|
|
202
|
+
getById: (id: Content["id"]) => Store<Content | null>;
|
|
203
|
+
listStore: Store<Content[]>;
|
|
204
|
+
indexStore: StoreWritable<{
|
|
205
|
+
[id: string]: Content;
|
|
206
|
+
}>;
|
|
207
|
+
};
|
|
171
208
|
readonly actions: {
|
|
172
209
|
register: EventCallable<{
|
|
173
210
|
key: string;
|
|
@@ -213,6 +250,7 @@ export declare class Picked {
|
|
|
213
250
|
registerCondition: (condition: Condition) => void;
|
|
214
251
|
registerField: (field: Field) => void;
|
|
215
252
|
registerStep: (step: ExperienceStep) => void;
|
|
253
|
+
registerContent: (content: Content) => void;
|
|
216
254
|
registerAction: (key: string, action: Action) => void;
|
|
217
255
|
registerExperience: (experience: Experience) => void;
|
|
218
256
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/** @file Public exports for the dynamic-experiences plugin (project config + per-experience content resolution). */
|
|
2
|
+
export { dynamicExperiencesPlugin, fetchExperienceContent, fetchProject } from './plugin';
|
|
2
3
|
export { createClientHeaders } from '../../utils/client-headers';
|
|
3
4
|
export type * from './types';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,mBAAmB,SAAS,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
import { DynamicExperiencesPluginOptions, FetchProjectOptions, ProjectConfig } from './types';
|
|
2
|
+
import { DynamicExperiencesPluginOptions, ExperienceContentResponse, FetchProjectOptions, ProjectConfig } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Fetches the project configuration from the Picked REST API.
|
|
5
5
|
*
|
|
@@ -16,6 +16,23 @@ import { DynamicExperiencesPluginOptions, FetchProjectOptions, ProjectConfig } f
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export declare function fetchProject(apiUrl: string, projectId: string, options?: FetchProjectOptions): Promise<ProjectConfig | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Fetches per-experience content from the Picked API.
|
|
21
|
+
*
|
|
22
|
+
* Returns `null` on network failure, non-OK responses, or invalid JSON shape — preserving
|
|
23
|
+
* the failure-tolerant policy: experiences still render, layouts handle null defensively.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} apiUrl - Base URL for the Picked API.
|
|
26
|
+
* @param {string} projectId - Project ID to fetch content for.
|
|
27
|
+
* @param {string} experienceId - Experience ID whose content to fetch.
|
|
28
|
+
* @param {FetchProjectOptions} [options] - Optional headers and preview token.
|
|
29
|
+
* @returns {Promise<ExperienceContentResponse | null>} Validated content response, or `null` on any failure.
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const content = await fetchExperienceContent('https://api.picked.app', 'proj_1', 'exp_1')
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function fetchExperienceContent(apiUrl: string, projectId: string, experienceId: string, options?: FetchProjectOptions): Promise<ExperienceContentResponse | null>;
|
|
19
36
|
/**
|
|
20
37
|
* Plugin that fetches project configuration from the Picked REST API and registers
|
|
21
38
|
* features, steps, fields, and experiences with the client.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,OAAO,KAAK,EAEV,+BAA+B,EAC/B,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EAId,MAAM,SAAS,CAAA;AAsThB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAmC/B;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAsC3C;AAgOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,+BAA+B,GAAG,MAAM,CAoC1F"}
|
|
@@ -9,8 +9,14 @@ import { LogicRule, LogicValue } from '../../logic-engine';
|
|
|
9
9
|
* keys against `ProjectConfig.fields` at registration time.
|
|
10
10
|
*
|
|
11
11
|
* `fieldIds` is optional: layout-only steps (driven purely by `layoutName`) omit it.
|
|
12
|
+
*
|
|
13
|
+
* `layoutContentId` is the wire-format reference to a CMS Content record. The actual
|
|
14
|
+
* content blob is delivered by `dynamicExperiencesPlugin`'s content resolution chain
|
|
15
|
+
* (virtual data module, preview-token API fetch, or direct API fetch) and registered
|
|
16
|
+
* via `client.registerContent`. Steps' derived `layoutContentStore` resolves reactively
|
|
17
|
+
* against the registry at render time.
|
|
12
18
|
*/
|
|
13
|
-
export type ApiExperienceStep = Omit<ExperienceStep, 'fieldKeys'> & {
|
|
19
|
+
export type ApiExperienceStep = Omit<ExperienceStep, 'fieldKeys' | 'layoutContentStore'> & {
|
|
14
20
|
fieldIds?: string[];
|
|
15
21
|
};
|
|
16
22
|
export interface ProjectConfigFeature {
|
|
@@ -66,9 +72,64 @@ export interface ProjectConfig {
|
|
|
66
72
|
export interface DynamicExperiencesPluginOptions {
|
|
67
73
|
apiUrl?: string;
|
|
68
74
|
projectConfig?: ProjectConfig;
|
|
75
|
+
/**
|
|
76
|
+
* Customer-supplied content fetcher. When provided, supersedes both the virtual
|
|
77
|
+
* data module and the runtime API for per-experience content resolution.
|
|
78
|
+
* Customers using this override are responsible for project ↔ content version
|
|
79
|
+
* consistency. Receives the resolved experience and the current preview token
|
|
80
|
+
* (when present) so the customer can decide preview semantics themselves.
|
|
81
|
+
*/
|
|
82
|
+
getContent?: (experience: {
|
|
83
|
+
id: string;
|
|
84
|
+
key: string;
|
|
85
|
+
}, options?: {
|
|
86
|
+
previewToken?: string;
|
|
87
|
+
}) => Promise<ExperienceContentResponse | null>;
|
|
69
88
|
}
|
|
70
89
|
export interface FetchProjectOptions {
|
|
71
90
|
previewToken?: string;
|
|
72
91
|
headers?: Record<string, string>;
|
|
73
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Wire-format content blob as returned by the Picked API content endpoint.
|
|
95
|
+
*/
|
|
96
|
+
export interface ContentBlob {
|
|
97
|
+
id: string;
|
|
98
|
+
data: Record<string, unknown>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Wire-format response shape for `GET /api/v1/projects/:projectId/experiences/:experienceId/content`.
|
|
102
|
+
* The response is agnostic of step structure — step ↔ content mapping is encoded in the
|
|
103
|
+
* project blob via `Step.layoutContentId`.
|
|
104
|
+
*/
|
|
105
|
+
export interface ExperienceContentResponse {
|
|
106
|
+
experienceId: string;
|
|
107
|
+
versionId: string;
|
|
108
|
+
content: ContentBlob[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Function that resolves an experience's content blobs. Set on the Picked client by
|
|
112
|
+
* `dynamicExperiencesPlugin` (selecting from virtual module, getContent override, or API)
|
|
113
|
+
* and called by `prepareExperienceContent` between target-match and `initialiseExperience`.
|
|
114
|
+
*/
|
|
115
|
+
export type ContentLoader = (experience: {
|
|
116
|
+
id: string;
|
|
117
|
+
key: string;
|
|
118
|
+
}, options?: {
|
|
119
|
+
previewToken?: string;
|
|
120
|
+
}) => Promise<ExperienceContentResponse | null>;
|
|
121
|
+
/**
|
|
122
|
+
* Optional-fields surface of the virtual data module exposed by `@picked/vite-plugin-picked`.
|
|
123
|
+
* The shape is identical between dev (`vite serve`) and build (`vite build`) modes.
|
|
124
|
+
*/
|
|
125
|
+
export interface VirtualPickedData {
|
|
126
|
+
projectConfig: ProjectConfig;
|
|
127
|
+
experienceContent: ContentLoader;
|
|
128
|
+
manifestMetadata: {
|
|
129
|
+
mode: 'dev' | 'build';
|
|
130
|
+
fetchedAt: string | null;
|
|
131
|
+
projectVersionId: string | null;
|
|
132
|
+
workspaceId: string | null;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
74
135
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/D
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EACjB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,oBAAoB,CAAC,GAAG;IACzF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,2EAA2E;IAC3E,SAAS,EAAE,SAAS,GAAG,UAAU,CAAA;IACjC,oEAAoE;IACpE,cAAc,EAAE,SAAS,GAAG,UAAU,CAAA;IACtC,+CAA+C;IAC/C,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC,yEAAyE;IACzE,WAAW,EAAE,uBAAuB,EAAE,CAAA;IACtC,yDAAyD;IACzD,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,oDAAoD;IACpD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,wEAAwE;IACxE,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CACX,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAChC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,KAChC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,aAAa,CAAA;IAChC,gBAAgB,EAAE;QAChB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAA;QACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;QAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC3B,CAAA;CACF"}
|