@picked/client 0.0.1-dev.1778561735098 → 0.0.1-dev.1780446300503
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-XV6bcv_D.cjs → api-Cqg2gPbP.cjs} +1 -1
- package/dist/{api-Bzb9pR2r.js → api-qqBYwjhT.js} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/dom-observer/index.js +1 -0
- 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/plugins/window-object/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/image-optimisation-service.md +6 -6
- package/dist/docs/sdk/content-security-policy.md +8 -7
- package/dist/docs/sdk/fields.md +2 -2
- package/dist/docs/workspaces.mdx +1 -1
- package/dist/dom-DjfSrkpp.js +84 -0
- package/dist/dom-sqnnO-CT.cjs +1 -0
- package/dist/esm/index.js +360 -349
- package/dist/esm/plugins/create-experience/index.js +1 -1
- package/dist/esm/plugins/dom-observer/index.js +87 -0
- package/dist/esm/plugins/dynamic-experiences/index.js +3 -163
- package/dist/esm/plugins/experience-browser-storage/index.js +2 -2
- package/dist/esm/plugins/history-browser-storage/index.js +15 -54
- package/dist/esm/plugins/responses-browser-storage/index.js +2 -2
- package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
- package/dist/esm/plugins/single-page-app/index.js +14 -14
- package/dist/esm/plugins/web-components/index.js +2 -2
- package/dist/esm/plugins/window-object/index.js +1 -1
- package/dist/esm/server/index.js +84 -51
- package/dist/experience-instance-B2Xb6TAm.cjs +1 -0
- package/dist/experience-instance-Brph8SaR.js +512 -0
- package/dist/plugin-7rlBjq6t.js +240 -0
- package/dist/plugin-D1FIRtEo.cjs +1 -0
- package/dist/preview-bridge-Cv-Fu5Y1.cjs +1 -0
- package/dist/preview-bridge-eBbZClad.js +33 -0
- package/dist/supports-34OzZK5j.cjs +1 -0
- package/dist/{supports-0XIfd4-R.js → supports-BgjwyijI.js} +11 -4
- 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 +22 -2
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +16 -28
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/step/step.d.ts +17 -2
- 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/lifecycle/condition-selection.d.ts +98 -0
- package/dist/types/lifecycle/condition-selection.d.ts.map +1 -0
- package/dist/types/lifecycle/lifecycle.d.ts.map +1 -1
- package/dist/types/lifecycle/state-snapshot.d.ts.map +1 -1
- package/dist/types/picked.d.ts +72 -8
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dom-observer/index.d.ts +3 -0
- package/dist/types/plugins/dom-observer/index.d.ts.map +1 -0
- package/dist/types/plugins/dom-observer/plugin.d.ts +50 -0
- package/dist/types/plugins/dom-observer/plugin.d.ts.map +1 -0
- 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 +41 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +67 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +0 -16
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/preview-bridge/index.d.ts +14 -0
- package/dist/types/preview-bridge/index.d.ts.map +1 -0
- package/dist/types/server/index.d.ts +8 -0
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/server/serialize.d.ts +67 -0
- package/dist/types/server/serialize.d.ts.map +1 -0
- package/dist/types/utils/dom.d.ts +0 -27
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/supports.d.ts +8 -0
- package/dist/types/utils/supports.d.ts.map +1 -1
- package/package.json +12 -2
- package/dist/experience-instance-B16NqD7y.cjs +0 -1
- package/dist/experience-instance-CZC0uPuv.js +0 -513
- package/dist/supports-Dsjg-82e.cjs +0 -1
- /package/dist/{id-Bv44ilEo.cjs → id-Cg7fVl1O.cjs} +0 -0
- /package/dist/{id-CRqy981z.js → id-n2yrHvNo.js} +0 -0
- /package/dist/{storage-B6lQtc4-.cjs → storage-BXSlLTRa.cjs} +0 -0
- /package/dist/{storage-6Xk0uAxB.js → storage-hOHCCXvP.js} +0 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import "./logger-6z_gb4rA.js";
|
|
2
|
+
import { t as e } from "./api-qqBYwjhT.js";
|
|
3
|
+
import { attach as t } from "effector";
|
|
4
|
+
//#region src/plugins/dynamic-experiences/hash.ts
|
|
5
|
+
function n(e) {
|
|
6
|
+
let t = 2166136261;
|
|
7
|
+
for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
|
|
8
|
+
return t >>> 0;
|
|
9
|
+
}
|
|
10
|
+
function r(e) {
|
|
11
|
+
return n(e) % 100;
|
|
12
|
+
}
|
|
13
|
+
function i(e, t) {
|
|
14
|
+
return t <= 0 ? !1 : t >= 100 ? !0 : e < t;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/plugins/dynamic-experiences/plugin.ts
|
|
18
|
+
function a(e) {
|
|
19
|
+
return typeof e == "object" && !!e && "features" in e && Array.isArray(e.features);
|
|
20
|
+
}
|
|
21
|
+
function o(e, t) {
|
|
22
|
+
if (Array.isArray(t.conditions)) for (let n of t.conditions) e.registerCondition(n);
|
|
23
|
+
}
|
|
24
|
+
function s(e, t) {
|
|
25
|
+
e.registerExperience({
|
|
26
|
+
id: t.id,
|
|
27
|
+
key: t.key,
|
|
28
|
+
name: t.name,
|
|
29
|
+
targets: t.targets,
|
|
30
|
+
nodes: t.nodes,
|
|
31
|
+
edges: t.edges,
|
|
32
|
+
condition: t.condition,
|
|
33
|
+
initializeOpen: t.initializeOpen,
|
|
34
|
+
componentName: t.componentName
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function c(e, t) {
|
|
38
|
+
if (Array.isArray(t.fields)) for (let n of t.fields) e.registerField(n);
|
|
39
|
+
}
|
|
40
|
+
function l(e, t) {
|
|
41
|
+
if (!Array.isArray(t.steps)) return;
|
|
42
|
+
let n = new Map(t.fields.map((e) => [e.id, e.key]));
|
|
43
|
+
for (let r of t.steps) {
|
|
44
|
+
let t = [];
|
|
45
|
+
for (let e of r.fieldIds ?? []) {
|
|
46
|
+
let i = n.get(e);
|
|
47
|
+
if (i === void 0) {
|
|
48
|
+
`${r.key}${e}`;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
t.push(i);
|
|
52
|
+
}
|
|
53
|
+
let i = r.layoutContentId ? e.contents.getById(r.layoutContentId) : null;
|
|
54
|
+
e.registerStep({
|
|
55
|
+
id: r.id,
|
|
56
|
+
key: r.key,
|
|
57
|
+
name: r.name,
|
|
58
|
+
fieldKeys: t,
|
|
59
|
+
layoutName: r.layoutName,
|
|
60
|
+
...r.layoutContentId !== void 0 && {
|
|
61
|
+
layoutContentId: r.layoutContentId,
|
|
62
|
+
layoutContentStore: i
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function u(e, t) {
|
|
68
|
+
if (Array.isArray(t.experiences)) for (let n of t.experiences) s(e, n);
|
|
69
|
+
}
|
|
70
|
+
function d(e, t, n) {
|
|
71
|
+
m(e, t, n.isPreview, n.sessionId), o(e, t), c(e, t), l(e, t), u(e, t);
|
|
72
|
+
}
|
|
73
|
+
function f(e) {
|
|
74
|
+
let t = e.searchParams["preview-token"];
|
|
75
|
+
if (t && t.length > 0) return t[0];
|
|
76
|
+
}
|
|
77
|
+
function p(e) {
|
|
78
|
+
let t = /* @__PURE__ */ new Set(), n = e.searchParams.feature;
|
|
79
|
+
if (!n) return t;
|
|
80
|
+
for (let e of n) {
|
|
81
|
+
let n = e.indexOf(":");
|
|
82
|
+
n > 0 && t.add(e.substring(0, n));
|
|
83
|
+
}
|
|
84
|
+
return t;
|
|
85
|
+
}
|
|
86
|
+
function m(e, t, n, i) {
|
|
87
|
+
let a = p(e), o = r(i);
|
|
88
|
+
for (let r of t.features) a.has(r.id) || h(e, r, n, o);
|
|
89
|
+
}
|
|
90
|
+
function h(e, t, n, r) {
|
|
91
|
+
e.registerFeature(t.id, {
|
|
92
|
+
key: `v${t.version}`,
|
|
93
|
+
name: t.name,
|
|
94
|
+
storage: n ? "session" : "local",
|
|
95
|
+
decide: () => t.enabled ? i(r, t.weight) : !1
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function g(e) {
|
|
99
|
+
try {
|
|
100
|
+
let t = new URL(e).hostname;
|
|
101
|
+
return t === "localhost" || t === "127.0.0.1" || t === "::1";
|
|
102
|
+
} catch {
|
|
103
|
+
return !1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function _(e) {
|
|
107
|
+
if (typeof e != "object" || !e || !("cause" in e)) return !1;
|
|
108
|
+
let { cause: t } = e;
|
|
109
|
+
return typeof t != "object" || !t || !("code" in t) ? !1 : t.code === "ECONNREFUSED";
|
|
110
|
+
}
|
|
111
|
+
async function v(t, n, r) {
|
|
112
|
+
let i = r?.previewToken ? `projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}` : `projects/${n}`, o;
|
|
113
|
+
try {
|
|
114
|
+
o = await e(t, i, r?.headers);
|
|
115
|
+
} catch (e) {
|
|
116
|
+
return g(t) && _(e), null;
|
|
117
|
+
}
|
|
118
|
+
if (!o.ok) return `${o.status.toString()}`, null;
|
|
119
|
+
let s;
|
|
120
|
+
try {
|
|
121
|
+
s = await o.json();
|
|
122
|
+
} catch {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
return a(s) ? s : null;
|
|
126
|
+
}
|
|
127
|
+
function y(e) {
|
|
128
|
+
return typeof e != "object" || !e || !("experienceId" in e) || !("content" in e) ? !1 : Array.isArray(e.content);
|
|
129
|
+
}
|
|
130
|
+
async function b(t, n, r, i) {
|
|
131
|
+
let a = i?.previewToken ? `projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}` : `projects/${n}/experiences/${r}/content`, o;
|
|
132
|
+
try {
|
|
133
|
+
o = await e(t, a, i?.headers);
|
|
134
|
+
} catch (e) {
|
|
135
|
+
return g(t) && _(e) || `${r}`, null;
|
|
136
|
+
}
|
|
137
|
+
if (!o.ok) return `${r}${o.status.toString()}`, null;
|
|
138
|
+
let s;
|
|
139
|
+
try {
|
|
140
|
+
s = await o.json();
|
|
141
|
+
} catch {
|
|
142
|
+
return `${r}`, null;
|
|
143
|
+
}
|
|
144
|
+
return y(s) ? s : (`${r}`, null);
|
|
145
|
+
}
|
|
146
|
+
function x(e, t) {
|
|
147
|
+
for (let n of t.content) e.registerContent({
|
|
148
|
+
id: n.id,
|
|
149
|
+
data: n.data
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function S(e) {
|
|
153
|
+
if (typeof e != "object" || !e || !("projectConfig" in e) || !("experienceContent" in e) || !("manifestMetadata" in e)) return !1;
|
|
154
|
+
let { experienceContent: t } = e;
|
|
155
|
+
return typeof t == "function";
|
|
156
|
+
}
|
|
157
|
+
async function C() {
|
|
158
|
+
try {
|
|
159
|
+
let e = await import("virtual:picked/data");
|
|
160
|
+
return S(e) ? e : null;
|
|
161
|
+
} catch {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function w(e, t, n) {
|
|
166
|
+
return (r) => b(e, t, r.id, n ? { previewToken: n } : void 0);
|
|
167
|
+
}
|
|
168
|
+
function T(e, t) {
|
|
169
|
+
return (n) => e(n, t ? { previewToken: t } : void 0);
|
|
170
|
+
}
|
|
171
|
+
function E(e) {
|
|
172
|
+
return (t, n) => e.experienceContent(t, n);
|
|
173
|
+
}
|
|
174
|
+
function D(e, t) {
|
|
175
|
+
let n = /* @__PURE__ */ new Map();
|
|
176
|
+
return (r, i) => {
|
|
177
|
+
let a = n.get(r.id);
|
|
178
|
+
if (a) return a;
|
|
179
|
+
let o = (async () => {
|
|
180
|
+
try {
|
|
181
|
+
let n = await t(r, i);
|
|
182
|
+
return n && x(e, n), n;
|
|
183
|
+
} finally {
|
|
184
|
+
n.delete(r.id);
|
|
185
|
+
}
|
|
186
|
+
})();
|
|
187
|
+
return n.set(r.id, o), o;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
async function O(e) {
|
|
191
|
+
let { client: t, apiUrl: n, options: r } = e, i = f(t), a = !!i, o = r?.projectConfig ?? null, s = r?.getContent ? T(r.getContent, i) : null, c = null;
|
|
192
|
+
if (i) return o ??= await v(n, t.projectId, { previewToken: i }), s ??= w(n, t.projectId, i), {
|
|
193
|
+
config: o,
|
|
194
|
+
contentLoader: s,
|
|
195
|
+
dataSource: c,
|
|
196
|
+
isPreview: a
|
|
197
|
+
};
|
|
198
|
+
if (o && s) return {
|
|
199
|
+
config: o,
|
|
200
|
+
contentLoader: s,
|
|
201
|
+
dataSource: c,
|
|
202
|
+
isPreview: a
|
|
203
|
+
};
|
|
204
|
+
let l = await C();
|
|
205
|
+
return l ? (o ??= l.projectConfig, s ??= E(l), c = l.manifestMetadata, {
|
|
206
|
+
config: o,
|
|
207
|
+
contentLoader: s,
|
|
208
|
+
dataSource: c,
|
|
209
|
+
isPreview: a
|
|
210
|
+
}) : (o ??= await v(n, t.projectId), s ??= w(n, t.projectId), {
|
|
211
|
+
config: o,
|
|
212
|
+
contentLoader: s,
|
|
213
|
+
dataSource: c,
|
|
214
|
+
isPreview: a
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
function k(e) {
|
|
218
|
+
return {
|
|
219
|
+
name: "dynamic-experiences",
|
|
220
|
+
setup: (n) => {
|
|
221
|
+
let r = e?.apiUrl ?? n.apiUrl;
|
|
222
|
+
return { onStart: t({
|
|
223
|
+
source: n.session.store.map((e) => e.id),
|
|
224
|
+
effect: async (t) => {
|
|
225
|
+
let { config: i, contentLoader: a, dataSource: o, isPreview: s } = await O({
|
|
226
|
+
client: n,
|
|
227
|
+
apiUrl: r,
|
|
228
|
+
options: e
|
|
229
|
+
});
|
|
230
|
+
a && (n.contentLoader = D(n, a)), n.dataSource = o, i && d(n, i, {
|
|
231
|
+
isPreview: s,
|
|
232
|
+
sessionId: t
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}) };
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
//#endregion
|
|
240
|
+
export { d as i, b as n, v as r, k as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./logger-fbvQC40v.cjs`);const e=require(`./api-Cqg2gPbP.cjs`);let t=require(`effector`);function n(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function r(e){return n(e)%100}function i(e,t){return t<=0?!1:t>=100?!0:e<t}function a(e){return typeof e==`object`&&!!e&&`features`in e&&Array.isArray(e.features)}function o(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function s(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function c(e,t){if(Array.isArray(t.fields))for(let n of t.fields)e.registerField(n)}function l(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function u(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)s(e,n)}function d(e,t,n){m(e,t,n.isPreview,n.sessionId),o(e,t),c(e,t),l(e,t),u(e,t)}function f(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function p(e){let t=new Set,n=e.searchParams.feature;if(!n)return t;for(let e of n){let n=e.indexOf(`:`);n>0&&t.add(e.substring(0,n))}return t}function m(e,t,n,i){let a=p(e),o=r(i);for(let r of t.features)a.has(r.id)||h(e,r,n,o)}function h(e,t,n,r){e.registerFeature(t.id,{key:`v${t.version}`,name:t.name,storage:n?`session`:`local`,decide:()=>t.enabled?i(r,t.weight):!1})}function g(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`}catch{return!1}}function _(e){if(typeof e!=`object`||!e||!(`cause`in e))return!1;let{cause:t}=e;return typeof t!=`object`||!t||!(`code`in t)?!1:t.code===`ECONNREFUSED`}async function v(t,n,r){let i=r?.previewToken?`projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}`:`projects/${n}`,o;try{o=await e.t(t,i,r?.headers)}catch(e){return g(t)&&_(e),null}if(!o.ok)return`${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return null}return a(s)?s:null}function y(e){return typeof e!=`object`||!e||!(`experienceId`in e)||!(`content`in e)?!1:Array.isArray(e.content)}async function b(t,n,r,i){let a=i?.previewToken?`projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}`:`projects/${n}/experiences/${r}/content`,o;try{o=await e.t(t,a,i?.headers)}catch(e){return g(t)&&_(e)||`${r}`,null}if(!o.ok)return`${r}${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return`${r}`,null}return y(s)?s:(`${r}`,null)}function x(e,t){for(let n of t.content)e.registerContent({id:n.id,data:n.data})}function S(e){if(typeof e!=`object`||!e||!(`projectConfig`in e)||!(`experienceContent`in e)||!(`manifestMetadata`in e))return!1;let{experienceContent:t}=e;return typeof t==`function`}async function C(){try{let e=await import(`virtual:picked/data`);return S(e)?e:null}catch{return null}}function w(e,t,n){return r=>b(e,t,r.id,n?{previewToken:n}:void 0)}function T(e,t){return n=>e(n,t?{previewToken:t}:void 0)}function E(e){return(t,n)=>e.experienceContent(t,n)}function D(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&x(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}async function O(e){let{client:t,apiUrl:n,options:r}=e,i=f(t),a=!!i,o=r?.projectConfig??null,s=r?.getContent?T(r.getContent,i):null,c=null;if(i)return o??=await v(n,t.projectId,{previewToken:i}),s??=w(n,t.projectId,i),{config:o,contentLoader:s,dataSource:c,isPreview:a};if(o&&s)return{config:o,contentLoader:s,dataSource:c,isPreview:a};let l=await C();return l?(o??=l.projectConfig,s??=E(l),c=l.manifestMetadata,{config:o,contentLoader:s,dataSource:c,isPreview:a}):(o??=await v(n,t.projectId),s??=w(n,t.projectId),{config:o,contentLoader:s,dataSource:c,isPreview:a})}function k(e){return{name:`dynamic-experiences`,setup:n=>{let r=e?.apiUrl??n.apiUrl;return{onStart:(0,t.attach)({source:n.session.store.map(e=>e.id),effect:async t=>{let{config:i,contentLoader:a,dataSource:o,isPreview:s}=await O({client:n,apiUrl:r,options:e});a&&(n.contentLoader=D(n,a)),n.dataSource=o,i&&d(n,i,{isPreview:s,sessionId:t})}})}}}}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./object-ThO1DEyl.cjs`),t=require(`./supports-34OzZK5j.cjs`);var n=`picked-preview:navigation`,r=!1;function i(){return`*`}function a(){let{href:e,pathname:t,search:r}=window.location,a={type:n,href:e,pathname:t,search:r};window.parent.postMessage(a,i())}function o(e){return function(...t){e.apply(this,t),a()}}function s(){if(r||!t.f())return()=>void 0;r=!0,a();let n=()=>{a()};return window.addEventListener(`popstate`,n),t.a()&&(e.n(window.history,`pushState`,o),e.n(window.history,`replaceState`,o)),()=>{r=!1,window.removeEventListener(`popstate`,n)}}exports.initPreviewBridge=s;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { n as e } from "./object-DvUDOytC.js";
|
|
2
|
+
import { a as t, f as n } from "./supports-BgjwyijI.js";
|
|
3
|
+
//#region src/preview-bridge/index.ts
|
|
4
|
+
var r = "picked-preview:navigation", i = !1;
|
|
5
|
+
function a() {
|
|
6
|
+
return "*";
|
|
7
|
+
}
|
|
8
|
+
function o() {
|
|
9
|
+
let { href: e, pathname: t, search: n } = window.location, i = {
|
|
10
|
+
type: r,
|
|
11
|
+
href: e,
|
|
12
|
+
pathname: t,
|
|
13
|
+
search: n
|
|
14
|
+
};
|
|
15
|
+
window.parent.postMessage(i, a());
|
|
16
|
+
}
|
|
17
|
+
function s(e) {
|
|
18
|
+
return function(...t) {
|
|
19
|
+
e.apply(this, t), o();
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function c() {
|
|
23
|
+
if (i || !n()) return () => void 0;
|
|
24
|
+
i = !0, o();
|
|
25
|
+
let r = () => {
|
|
26
|
+
o();
|
|
27
|
+
};
|
|
28
|
+
return window.addEventListener("popstate", r), t() && (e(window.history, "pushState", s), e(window.history, "replaceState", s)), () => {
|
|
29
|
+
i = !1, window.removeEventListener("popstate", r);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { c as initPreviewBridge };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Symbol(`Picked`),t=globalThis,n=n=>{t[e]=n};function r(){try{return`location`in t&&!!t.location}catch{return!1}}function i(){try{return`history`in t&&!!t.history}catch{return!1}}function a(){try{return`localStorage`in t&&!!t.localStorage}catch{return!1}}function o(){try{return`sessionStorage`in t&&!!t.sessionStorage}catch{return!1}}function s(){try{return`document`in t&&`cookie`in t.document}catch{return!1}}function c(){try{return`document`in t&&`createElement`in t.document&&`attachShadow`in t.document.createElement(`div`)}catch{return!1}}function l(){try{return`window`in t}catch{return!1}}function u(){try{return l()&&t.top!==t.self}catch{return!0}}function d(){try{return`document`in t}catch{return!1}}function f(){try{return`IntersectionObserver`in t}catch{return!1}}function p(){try{return`customElements`in t&&!!t.customElements}catch{return!1}}function m(){try{return`crypto`in t&&`randomUUID`in t.crypto}catch{return!1}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return c}});
|
|
@@ -54,27 +54,34 @@ function l() {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
function u() {
|
|
57
|
+
try {
|
|
58
|
+
return l() && t.top !== t.self;
|
|
59
|
+
} catch {
|
|
60
|
+
return !0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function d() {
|
|
57
64
|
try {
|
|
58
65
|
return "document" in t;
|
|
59
66
|
} catch {
|
|
60
67
|
return !1;
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
|
-
function
|
|
70
|
+
function f() {
|
|
64
71
|
try {
|
|
65
72
|
return "IntersectionObserver" in t;
|
|
66
73
|
} catch {
|
|
67
74
|
return !1;
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
|
-
function
|
|
77
|
+
function p() {
|
|
71
78
|
try {
|
|
72
79
|
return "customElements" in t && !!t.customElements;
|
|
73
80
|
} catch {
|
|
74
81
|
return !1;
|
|
75
82
|
}
|
|
76
83
|
}
|
|
77
|
-
function
|
|
84
|
+
function m() {
|
|
78
85
|
try {
|
|
79
86
|
return "crypto" in t && "randomUUID" in t.crypto;
|
|
80
87
|
} catch {
|
|
@@ -82,4 +89,4 @@ function p() {
|
|
|
82
89
|
}
|
|
83
90
|
}
|
|
84
91
|
//#endregion
|
|
85
|
-
export {
|
|
92
|
+
export { i as a, r as c, p as d, l as f, d as i, o as l, n as m, s as n, f as o, t as p, m as r, a as s, u as t, c as u };
|
|
@@ -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} content - The content record to register.
|
|
29
|
+
* @param {ContentsStore} 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;AAEjE,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"}
|
|
@@ -45,14 +45,34 @@ export interface ExperienceStore {
|
|
|
45
45
|
* should be initialised.
|
|
46
46
|
*/
|
|
47
47
|
shouldInitialiseFx: Effect<void, boolean, Error>;
|
|
48
|
+
/**
|
|
49
|
+
* Public event — requests initialisation, gated by `shouldInitialiseFx`. When the
|
|
50
|
+
* gate passes, the sample graph fires `prepareExperienceContentFx` and `initialiseFx`
|
|
51
|
+
* in parallel so content loading does not delay initialisation.
|
|
52
|
+
*/
|
|
53
|
+
initialiseRequested: EventCallable<LaunchExperienceOptions | undefined>;
|
|
54
|
+
/**
|
|
55
|
+
* Public event — requests initialisation directly, bypassing the `shouldInitialiseFx`
|
|
56
|
+
* gate. Fires `prepareExperienceContentFx` and `initialiseFx` in parallel.
|
|
57
|
+
*/
|
|
58
|
+
initialiseDirectly: EventCallable<LaunchExperienceOptions | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Prepares per-experience CMS content by calling `client.contentLoader` and
|
|
61
|
+
* registering returned blobs into `client.contents`. Driven by the sample graph
|
|
62
|
+
* on `initialiseRequested`/`initialiseDirectly`; can also be called directly for
|
|
63
|
+
* speculative prefetch (e.g. Visibility-driven warm-up). Failure-tolerant:
|
|
64
|
+
* always resolves `true` even when the loader rejects, so initialisation is
|
|
65
|
+
* never blocked by content failures.
|
|
66
|
+
*/
|
|
67
|
+
prepareExperienceContentFx: Effect<void, boolean, Error>;
|
|
48
68
|
}
|
|
49
69
|
/**
|
|
50
70
|
* Creates an Effector store for a single experience.
|
|
51
71
|
*
|
|
52
72
|
* @template T - Factory parameter type.
|
|
53
73
|
* @param {T} params - The client instance and experience data.
|
|
54
|
-
* @param {Picked} params.client - The Picked client
|
|
55
|
-
* @param {Experience} params.experience - The experience definition to wrap in stores.
|
|
74
|
+
* @param {Picked} params.client - The Picked client instance the experience is bound to.
|
|
75
|
+
* @param {Experience} params.experience - The experience definition to wrap in stores and effects.
|
|
56
76
|
* @returns {ReturnType<typeof createExperienceFactory>} An experience store with config, tree, fields, and component sub-stores.
|
|
57
77
|
* @example
|
|
58
78
|
* ```typescript
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EACV,UAAU,
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,25 @@
|
|
|
1
1
|
import { ExperienceNode } from '../experience/experience';
|
|
2
|
-
|
|
3
|
-
export interface InstanceScope {
|
|
4
|
-
instanceId: string;
|
|
5
|
-
experienceId: string;
|
|
6
|
-
}
|
|
7
|
-
/** Payload carried by `push`/`replace` — an `InstanceScope` plus the node to record. */
|
|
8
|
-
export interface InstanceNodeIntent extends InstanceScope {
|
|
9
|
-
node: ExperienceNode;
|
|
10
|
-
}
|
|
11
|
-
export interface HistoryEntry extends InstanceScope {
|
|
2
|
+
export interface HistoryEntry {
|
|
12
3
|
id: string;
|
|
13
4
|
node: ExperienceNode;
|
|
14
5
|
at: number;
|
|
6
|
+
experienceId: string;
|
|
15
7
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a fresh history instance: an Effector-backed list of navigation
|
|
18
|
-
* entries plus the events that drive it. Live entries are filtered per
|
|
19
|
-
* instance via `instanceId`; the derived `snapshotStore` groups by
|
|
20
|
-
* `experienceId` and is used by the storage plugin to resume across respawn.
|
|
21
|
-
*
|
|
22
|
-
* @returns {ReturnType<typeof invoke<typeof createHistoryFactory>>} The events and stores.
|
|
23
|
-
* @example
|
|
24
|
-
* const history = createHistory()
|
|
25
|
-
*/
|
|
26
8
|
export declare function createHistory(): {
|
|
27
|
-
push: import('effector').EventCallable<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
9
|
+
push: import('effector').EventCallable<{
|
|
10
|
+
experienceId: string;
|
|
11
|
+
node: ExperienceNode;
|
|
12
|
+
}>;
|
|
13
|
+
replace: import('effector').EventCallable<{
|
|
14
|
+
experienceId: string;
|
|
15
|
+
node: ExperienceNode;
|
|
16
|
+
}>;
|
|
17
|
+
back: import('effector').EventCallable<{
|
|
18
|
+
experienceId?: string;
|
|
19
|
+
}>;
|
|
20
|
+
restore: import('effector').EventCallable<{
|
|
21
|
+
entries: HistoryEntry[];
|
|
32
22
|
}>;
|
|
33
|
-
|
|
34
|
-
entriesStore: import('effector').StoreWritable<HistoryEntry[]>;
|
|
35
|
-
snapshotStore: import('effector').Store<Record<string, HistoryEntry[]>>;
|
|
23
|
+
entriesStore: import('effector').Store<HistoryEntry[]>;
|
|
36
24
|
};
|
|
37
25
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"
|
|
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,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;
|
|
@@ -19,6 +33,7 @@ declare const createStepIndexFactory: () => {
|
|
|
19
33
|
/**
|
|
20
34
|
* Creates an Effector-based index for registering and retrieving steps.
|
|
21
35
|
*
|
|
36
|
+
* @returns {ReturnType<typeof createStepIndexFactory>} A step index with register, getById, getByKey, listStore, and indexStore.
|
|
22
37
|
* @example
|
|
23
38
|
* ```typescript
|
|
24
39
|
* const steps = createStepIndex()
|
|
@@ -28,8 +43,8 @@ export declare function createStepIndex(): ReturnType<typeof createStepIndexFact
|
|
|
28
43
|
/**
|
|
29
44
|
* Registers a step with the given index via the helper function.
|
|
30
45
|
*
|
|
31
|
-
* @param step - The step definition to register.
|
|
32
|
-
* @param index - The step index to register the step with.
|
|
46
|
+
* @param {ExperienceStep} step - The step definition to register.
|
|
47
|
+
* @param {ReturnType<typeof createStepIndex>} index - The step index to register the step with.
|
|
33
48
|
* @example
|
|
34
49
|
* ```typescript
|
|
35
50
|
* setupStep(step, index)
|
|
@@ -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;AAED,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;;;;;;;;GAQG;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"}
|