@picked/client 0.0.1-dev.1772493269328 → 0.0.1-dev.1773364848747

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.
Files changed (33) hide show
  1. package/dist/{api-Cn3XwsA6.js → api-CMwQlyo0.js} +1 -1
  2. package/dist/{api-D-NB7WP7.cjs → api-DQC5OMTN.cjs} +1 -1
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/plugins/create-experience/index.js +1 -1
  5. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  7. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  8. package/dist/esm/index.js +504 -490
  9. package/dist/esm/plugins/create-experience/index.js +248 -250
  10. package/dist/esm/plugins/dynamic-experiences/index.js +66 -60
  11. package/dist/esm/plugins/responses-browser-storage/index.js +18 -17
  12. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  13. package/dist/to-kebab-case-BPnCZjhB.js +6 -0
  14. package/dist/to-kebab-case-BsOQ8CON.cjs +1 -0
  15. package/dist/types/client.d.ts +13 -0
  16. package/dist/types/client.d.ts.map +1 -1
  17. package/dist/types/entities/experience/experience.d.ts +31 -17
  18. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  19. package/dist/types/entities/field/field.d.ts +8 -2
  20. package/dist/types/entities/field/field.d.ts.map +1 -1
  21. package/dist/types/entities/response/response.d.ts +6 -6
  22. package/dist/types/entities/response/response.d.ts.map +1 -1
  23. package/dist/types/picked.d.ts +14 -11
  24. package/dist/types/picked.d.ts.map +1 -1
  25. package/dist/types/plugins/create-experience/create-experience.d.ts +11 -9
  26. package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
  27. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  28. package/dist/types/plugins/dynamic-experiences/types.d.ts +3 -1
  29. package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
  30. package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
  31. package/dist/types/utils/to-kebab-case.d.ts +9 -0
  32. package/dist/types/utils/to-kebab-case.d.ts.map +1 -0
  33. package/package.json +67 -4
@@ -1,93 +1,99 @@
1
- import { a as l } from "../../../api-Cn3XwsA6.js";
2
- import { c as F } from "../../../api-Cn3XwsA6.js";
1
+ import { a as l } from "../../../api-CMwQlyo0.js";
2
+ import { c as S } from "../../../api-CMwQlyo0.js";
3
3
  import { l as a } from "../../../logger-C9a75KZn.js";
4
4
  function d(e) {
5
- let n = 2166136261;
6
- for (let r = 0; r < e.length; r++)
7
- n ^= e.charCodeAt(r), n = Math.imul(n, 16777619);
8
- return n >>> 0;
5
+ let r = 2166136261;
6
+ for (let n = 0; n < e.length; n++)
7
+ r ^= e.charCodeAt(n), r = Math.imul(r, 16777619);
8
+ return r >>> 0;
9
9
  }
10
10
  function p(e) {
11
11
  return d(e) % 100;
12
12
  }
13
- function g(e, n) {
14
- return n <= 0 ? !1 : n >= 100 ? !0 : e < n;
13
+ function g(e, r) {
14
+ return r <= 0 ? !1 : r >= 100 ? !0 : e < r;
15
15
  }
16
16
  function h(e) {
17
- return typeof e != "object" || e === null || !("id" in e && "name" in e && "enabled" in e && "weight" in e && "version" in e) ? !1 : typeof e.id == "string" && typeof e.name == "string" && typeof e.enabled == "boolean" && typeof e.weight == "number" && typeof e.version == "number";
17
+ return typeof e != "object" || e === null || !("key" in e && "name" in e && "enabled" in e && "weight" in e && "version" in e) ? !1 : typeof e.key == "string" && typeof e.name == "string" && typeof e.enabled == "boolean" && typeof e.weight == "number" && typeof e.version == "number";
18
18
  }
19
19
  function f(e) {
20
20
  return typeof e != "object" || e === null || !("features" in e) || !Array.isArray(e.features) ? !1 : e.features.every(h);
21
21
  }
22
22
  function m(e) {
23
- const n = e.searchParams["preview-token"];
24
- if (n && n.length > 0)
25
- return n[0];
23
+ const r = e.searchParams["preview-token"];
24
+ if (r && r.length > 0)
25
+ return r[0];
26
26
  }
27
- function _(e) {
28
- const n = /* @__PURE__ */ new Set(), r = e.searchParams.feature;
29
- if (!r)
30
- return n;
31
- for (const o of r) {
27
+ function y(e) {
28
+ const r = /* @__PURE__ */ new Set(), n = e.searchParams.feature;
29
+ if (!n)
30
+ return r;
31
+ for (const o of n) {
32
32
  const t = o.indexOf(":");
33
- t > 0 && n.add(o.substring(0, t));
33
+ t > 0 && r.add(o.substring(0, t));
34
34
  }
35
- return n;
35
+ return r;
36
36
  }
37
- function u(e, n, r) {
38
- const o = _(e), t = e.session?.id;
37
+ function c(e, r, n) {
38
+ const o = y(e), t = e.session?.id;
39
39
  if (!t)
40
40
  throw new Error("Session ID is required for feature registration");
41
41
  const i = p(t);
42
- for (const s of n.features)
43
- o.has(s.id) || y(e, s, r, i);
42
+ for (const s of r.features)
43
+ o.has(s.key) || w(e, s, n, i);
44
44
  }
45
- function y(e, n, r, o) {
46
- e.registerFeature(n.id, {
47
- key: `v${n.version}`,
48
- name: n.name,
49
- storage: r ? "session" : "local",
50
- decide: () => n.enabled ? g(o, n.weight) : !1
45
+ function w(e, r, n, o) {
46
+ e.registerFeature(r.key, {
47
+ key: `v${r.version}`,
48
+ name: r.name,
49
+ storage: n ? "session" : "local",
50
+ decide: () => r.enabled ? g(o, r.weight) : !1
51
51
  });
52
52
  }
53
- function w() {
54
- if (typeof __PICKED_PROJECT_CONFIG__ > "u")
55
- return;
53
+ function v() {
56
54
  let e;
57
- if (typeof __PICKED_PROJECT_CONFIG__ == "string")
55
+ try {
56
+ e = __PICKED_PROJECT_CONFIG__;
57
+ } catch {
58
+ return;
59
+ }
60
+ if (e === void 0)
61
+ return;
62
+ let r;
63
+ if (typeof e == "string")
58
64
  try {
59
- e = JSON.parse(__PICKED_PROJECT_CONFIG__);
65
+ r = JSON.parse(e);
60
66
  } catch {
61
67
  a("warn", "Build-time project config is not valid JSON");
62
68
  return;
63
69
  }
64
70
  else
65
- e = __PICKED_PROJECT_CONFIG__;
66
- if (f(e))
67
- return e;
71
+ r = e;
72
+ if (f(r))
73
+ return r;
68
74
  a("warn", "Build-time project config has invalid shape, falling back to runtime fetch");
69
75
  }
70
- function C(e) {
76
+ function j(e) {
71
77
  try {
72
- const n = new URL(e).hostname;
73
- return n === "localhost" || n === "127.0.0.1" || n === "::1";
78
+ const r = new URL(e).hostname;
79
+ return r === "localhost" || r === "127.0.0.1" || r === "::1";
74
80
  } catch {
75
81
  return !1;
76
82
  }
77
83
  }
78
- function v(e) {
84
+ function k(e) {
79
85
  if (typeof e != "object" || e === null || !("cause" in e))
80
86
  return !1;
81
- const { cause: n } = e;
82
- return typeof n != "object" || n === null || !("code" in n) ? !1 : n.code === "ECONNREFUSED";
87
+ const { cause: r } = e;
88
+ return typeof r != "object" || r === null || !("code" in r) ? !1 : r.code === "ECONNREFUSED";
83
89
  }
84
- async function c(e, n, r) {
85
- const o = r?.previewToken ? `projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}` : `projects/${n}`;
90
+ async function u(e, r, n) {
91
+ const o = n?.previewToken ? `projects/${r}?preview_token=${encodeURIComponent(n.previewToken)}` : `projects/${r}`;
86
92
  let t;
87
93
  try {
88
- t = await l(e, o, r?.headers);
94
+ t = await l(e, o, n?.headers);
89
95
  } catch (s) {
90
- return C(e) && v(s) || a("warn", "Failed to fetch project config", s), null;
96
+ return j(e) && k(s) || a("warn", "Failed to fetch project config", s), null;
91
97
  }
92
98
  if (!t.ok)
93
99
  return a("warn", `Project config request failed with status ${t.status.toString()}`), null;
@@ -99,33 +105,33 @@ async function c(e, n, r) {
99
105
  }
100
106
  return f(i) ? i : (a("warn", "Invalid project config response shape"), null);
101
107
  }
102
- function I(e) {
108
+ function P(e) {
103
109
  return {
104
110
  name: "dynamic-experiences",
105
- setup: (n) => {
106
- const r = e?.apiUrl ?? n.apiUrl;
111
+ setup: (r) => {
112
+ const n = e?.apiUrl ?? r.apiUrl;
107
113
  return {
108
114
  onStart: async () => {
109
- const o = m(n);
115
+ const o = m(r);
110
116
  if (o) {
111
- const s = await c(r, n.projectId, { previewToken: o });
112
- s && u(n, s, !0);
117
+ const s = await u(n, r.projectId, { previewToken: o });
118
+ s && c(r, s, !0);
113
119
  return;
114
120
  }
115
- const t = e?.projectConfig ?? w();
121
+ const t = e?.projectConfig ?? v();
116
122
  if (t) {
117
- u(n, t, !1);
123
+ c(r, t, !1);
118
124
  return;
119
125
  }
120
- const i = await c(r, n.projectId);
121
- i && u(n, i, !1);
126
+ const i = await u(n, r.projectId);
127
+ i && c(r, i, !1);
122
128
  }
123
129
  };
124
130
  }
125
131
  };
126
132
  }
127
133
  export {
128
- F as createClientHeaders,
129
- I as dynamicExperiencesPlugin,
130
- c as fetchProject
134
+ S as createClientHeaders,
135
+ P as dynamicExperiencesPlugin,
136
+ u as fetchProject
131
137
  };
@@ -1,40 +1,41 @@
1
- import { createEffect as i, attach as f, sample as c } from "effector";
2
- import { c as u, l as g, s as d } from "../../../storage-Co_LbKr_.js";
3
- const p = u("responses", "global"), S = (r, s) => {
1
+ import { createEffect as i, attach as f, sample as p } from "effector";
2
+ import { c as u, l as g, s as m } from "../../../storage-Co_LbKr_.js";
3
+ import { t as S } from "../../../to-kebab-case-BPnCZjhB.js";
4
+ const c = u("responses", "global"), b = (n, s) => {
4
5
  const o = {};
5
- return Object.entries(r).forEach(([t, n]) => {
6
- !s.find((l) => l.id === t)?.policies?.doNotStoreValue && (o[t] = n);
6
+ return Object.entries(n).forEach(([t, a]) => {
7
+ !s.find((r) => (r.key ?? S(r.name)) === t)?.policies?.doNotStoreValue && (o[t] = a);
7
8
  }), o;
8
- }, R = ({
9
- storage: r = "local"
9
+ }, y = ({
10
+ storage: n = "local"
10
11
  } = {}) => ({
11
12
  name: "responses-browser-storage-plugin",
12
13
  setup: (s) => {
13
- const o = r === "local" ? g : d, t = i(async () => {
14
- const e = o.get(p).json();
14
+ const o = n === "local" ? g : m, t = i(async () => {
15
+ const e = o.get(c).json();
15
16
  if (!e)
16
17
  return null;
17
18
  s.responses.register(e);
18
- }), n = f({
19
+ }), a = f({
19
20
  source: {
20
21
  responses: s.responses.getAllStore,
21
22
  fields: s.fields.listStore
22
23
  },
23
- effect: ({ responses: e, fields: a }) => {
24
- const l = S(e, a);
25
- o.set(p, l);
24
+ effect: ({ responses: e, fields: l }) => {
25
+ const r = b(e, l);
26
+ o.set(c, r);
26
27
  }
27
28
  });
28
- c({
29
+ p({
29
30
  source: s.eventBus,
30
31
  filter: (e) => e.type === "load",
31
32
  target: t
32
- }), c({
33
+ }), p({
33
34
  source: s.responses.getAllStore,
34
- target: n
35
+ target: a
35
36
  });
36
37
  }
37
38
  });
38
39
  export {
39
- R as responsesBrowserStoragePlugin
40
+ y as responsesBrowserStoragePlugin
40
41
  };
@@ -69,7 +69,7 @@ const l = "responses", m = { storeName: l, keyPath: "fieldId" }, I = () => ({
69
69
  source: { responses: r.responses.listStore, fields: r.fields.listStore },
70
70
  fn: ({ responses: t, fields: e }) => {
71
71
  const s = e.filter((i) => !i.policies?.doNotStoreValue);
72
- return t.filter((i) => s.some((w) => w.id === i.fieldId));
72
+ return t.filter((i) => s.some((w) => w.key === i.fieldId));
73
73
  },
74
74
  target: c
75
75
  }), d({
@@ -0,0 +1,6 @@
1
+ function a(e) {
2
+ return e.toLowerCase().replace(/[^a-z0-9\s]/g, "").trim().replace(/\s+/g, "-");
3
+ }
4
+ export {
5
+ a as t
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";function a(e){return e.toLowerCase().replace(/[^a-z0-9\s]/g,"").trim().replace(/\s+/g,"-")}exports.toKebabCase=a;
@@ -2,6 +2,7 @@ import { Predicate } from './entities/predicate/predicate';
2
2
  import { Action } from './entities/action/action';
3
3
  import { Plugin } from './entities/plugin/plugin';
4
4
  import { Feature } from './entities/feature/feature';
5
+ import { AdaptedComponent } from './entities/component/component';
5
6
  import { LogicRule } from './logic-engine';
6
7
  export interface CreateClientOptions {
7
8
  /**
@@ -88,6 +89,18 @@ export interface CreateClientOptions {
88
89
  ````
89
90
  */
90
91
  features?: Record<string, Feature | (() => Feature)>;
92
+ /**
93
+ * Register components for use in dynamic experiences
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * components: {
98
+ * HeroBanner: adaptedHeroBannerComponent,
99
+ * ProductCard: adaptedProductCardComponent,
100
+ * }
101
+ * ```
102
+ */
103
+ components?: Record<string, AdaptedComponent>;
91
104
  /**
92
105
  * Evaluate a condition or boolean expression before initializing the client
93
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IAEnE;;;;;;;;;;;;;;;OAeG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;IAEnE;;;;;;;;;;;;;;;OAeG;IAEH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAE7C;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,SAAS,CAAA;IAExB;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB"}
@@ -11,7 +11,7 @@ declare const createExperienceFactory: ({ client, experience }: {
11
11
  id: string;
12
12
  configStore: import('effector').Store<{
13
13
  name: string;
14
- decisionLogic: string | number | boolean | import('../../logic-engine').LogicArray | import('../../logic-engine').LogicObject | (() => LogicValue) | Promise<import('../../logic-engine').SyncLogicValue> | undefined;
14
+ decisionLogic: LogicValue | LogicRule;
15
15
  targetSelectors: ExperienceTarget[];
16
16
  initializeOpenLogic: LogicValue | LogicRule;
17
17
  }>;
@@ -33,6 +33,15 @@ declare const createExperienceFactory: ({ client, experience }: {
33
33
  strategy: "override";
34
34
  }>;
35
35
  };
36
+ /**
37
+ * Creates an Effector store for a single experience.
38
+ * @param params - The client instance and experience data.
39
+ * @returns An experience store with config, tree, fields, and component sub-stores.
40
+ * @example
41
+ * ```typescript
42
+ * const store = createExperience({ client, experience })
43
+ * ```
44
+ */
36
45
  export declare function createExperience<T extends Parameters<typeof createExperienceFactory>[0]>(params: T): ReturnType<typeof createExperienceFactory>;
37
46
  /** Options for launching an experience. */
38
47
  export interface LaunchExperienceOptions {
@@ -53,7 +62,7 @@ declare const createExperienceIndexFactory: ({ client }: {
53
62
  id: string;
54
63
  configStore: import('effector').Store<{
55
64
  name: string;
56
- decisionLogic: string | number | boolean | import('../../logic-engine').LogicArray | import('../../logic-engine').LogicObject | (() => LogicValue) | Promise<import('../../logic-engine').SyncLogicValue> | undefined;
65
+ decisionLogic: LogicValue | LogicRule;
57
66
  targetSelectors: ExperienceTarget[];
58
67
  initializeOpenLogic: LogicValue | LogicRule;
59
68
  }>;
@@ -80,7 +89,7 @@ declare const createExperienceIndexFactory: ({ client }: {
80
89
  id: string;
81
90
  configStore: import('effector').Store<{
82
91
  name: string;
83
- decisionLogic: string | number | boolean | import('../../logic-engine').LogicArray | import('../../logic-engine').LogicObject | (() => LogicValue) | Promise<import('../../logic-engine').SyncLogicValue> | undefined;
92
+ decisionLogic: LogicValue | LogicRule;
84
93
  targetSelectors: ExperienceTarget[];
85
94
  initializeOpenLogic: LogicValue | LogicRule;
86
95
  }>;
@@ -117,7 +126,7 @@ declare const createExperienceIndexFactory: ({ client }: {
117
126
  id: string;
118
127
  configStore: import('effector').Store<{
119
128
  name: string;
120
- decisionLogic: string | number | boolean | import('../../logic-engine').LogicArray | import('../../logic-engine').LogicObject | (() => LogicValue) | Promise<import('../../logic-engine').SyncLogicValue> | undefined;
129
+ decisionLogic: LogicValue | LogicRule;
121
130
  targetSelectors: ExperienceTarget[];
122
131
  initializeOpenLogic: LogicValue | LogicRule;
123
132
  }>;
@@ -140,10 +149,20 @@ declare const createExperienceIndexFactory: ({ client }: {
140
149
  }>;
141
150
  }[]>;
142
151
  };
152
+ /**
153
+ * Creates an Effector-based index for registering and retrieving experiences.
154
+ * @param params - The client instance.
155
+ * @returns An experience index with register, get, launch, and open methods.
156
+ * @example
157
+ * ```typescript
158
+ * const index = createExperienceIndex({ client })
159
+ * ```
160
+ */
143
161
  export declare function createExperienceIndex<T extends Parameters<typeof createExperienceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceIndexFactory>;
144
162
  export interface ExperienceStep {
145
163
  id: string;
146
- label: string;
164
+ key: string;
165
+ name: string;
147
166
  fieldIds: string[];
148
167
  }
149
168
  export type ExperienceNode = StepNode | ConditionalNode | LaunchExperienceNode | OriginNode | ActionNode;
@@ -154,17 +173,15 @@ export interface ExperienceAction {
154
173
  export interface ActionNode extends BaseNode {
155
174
  type: 'action';
156
175
  action: string;
157
- position: [number, number];
158
176
  }
159
177
  export interface BaseNode {
160
178
  id: string;
161
179
  type: string;
162
- position: [number, number];
163
180
  }
164
181
  export interface StepNode extends BaseNode {
165
182
  type: 'step';
166
183
  stepId: string;
167
- label: string;
184
+ name: string;
168
185
  }
169
186
  export interface ConditionalNode extends BaseNode {
170
187
  type: 'conditional';
@@ -195,13 +212,12 @@ export interface ExperienceTarget {
195
212
  export interface Experience {
196
213
  id: string;
197
214
  name: string;
215
+ componentName?: string;
198
216
  component?: AdaptedComponent;
199
217
  conditionals: ExperienceConditional[];
200
218
  initializeOpen?: LogicRule | LogicValue;
201
219
  actions?: ExperienceAction[];
202
220
  condition?: LogicRule | LogicValue;
203
- /** @deprecated Use `condition` instead. This property will be removed in a future version. */
204
- decide?: LogicRule;
205
221
  edges: ExperienceEdge[];
206
222
  nodes: ExperienceNode[];
207
223
  fields: Field[];
@@ -210,16 +226,14 @@ export interface Experience {
210
226
  }
211
227
  export declare const setupExperience: (experience: Experience, experienceStore: ExperiencesListStore) => void;
212
228
  /**
213
- * Initializes an experience for each target that exists in the DOM
214
- *
215
- * @param client
216
- * @param experience
229
+ * Initializes an experience for each target that exists in the DOM.
230
+ * @param client - The Picked client instance.
231
+ * @param experience - The experience store to initialise.
217
232
  */
218
233
  export declare const initialiseExperience: (client: Picked, experience: ExperienceStore, options?: LaunchExperienceOptions) => void;
219
234
  /**
220
- * Conditionally initializes experiences
221
- *
222
- * @param client
235
+ * Conditionally initializes experiences.
236
+ * @param client - The Picked client instance.
223
237
  */
224
238
  export declare const initialiseExperiences: (client: Picked) => Promise<void>;
225
239
  export declare const shouldInitialiseExperience: (client: Picked, experience: ExperienceStore) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,13 @@ export type JsonValue = string | number | boolean | null | {
11
11
  } | JsonValue[];
12
12
  export type FieldValue = PrimitiveFieldValue | PrimitiveFieldValue[] | JsonValue | JsonValue[];
13
13
  export interface FieldBase<TOptionValue = PrimitiveFieldValue> {
14
+ /** Database row id assigned by the API. Not set on locally-defined fields. */
14
15
  id: string;
16
+ /** Stable kebab-case identifier. Auto-derived from `name` via `toKebabCase` if not provided. */
17
+ key: string;
18
+ /** Human-readable name, e.g. "What Is Your First Name". */
15
19
  name: string;
20
+ /** End-user facing label shown in the UI, e.g. "First name". */
16
21
  label: string;
17
22
  type: 'text' | 'number' | 'object' | 'boolean';
18
23
  multiple: boolean;
@@ -78,8 +83,9 @@ export interface FieldBooleanMultiple extends FieldBase<boolean> {
78
83
  export type Field = FieldTextSingular | FieldTextMultiple | FieldNumberSingular | FieldNumberMultiple | FieldObjectSingular | FieldObjectMultiple | FieldBooleanSingular | FieldBooleanMultiple;
79
84
  declare const createFieldIndexFactory: () => {
80
85
  register: (field: Field) => void;
81
- update: (fieldId: FieldBase["id"], updates: Partial<Field>) => void;
82
- getById: (id: FieldBase["id"]) => Store<Field | null>;
86
+ update: (fieldKey: string, updates: Partial<Field>) => void;
87
+ getByKey: (key: string) => Store<Field | null>;
88
+ getById: (id: string) => Store<Field | null>;
83
89
  listStore: Store<Field[]>;
84
90
  getByName: (name: FieldBase["name"]) => Store<Field | null>;
85
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/entities/field/field.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@ declare const createResponseIndexFactory: ({ client }: {
11
11
  client: Picked;
12
12
  }) => {
13
13
  register: {
14
- (fieldId: Field["id"], response: Response): void;
15
- (payload: Record<Field["id"], Response>, response?: never): void;
14
+ (fieldId: string, response: Response): void;
15
+ (payload: Record<string, Response>, response?: never): void;
16
16
  };
17
17
  clearAll: import('effector').EventCallable<void>;
18
18
  clear: import('effector').EventCallable<string>;
@@ -31,15 +31,15 @@ declare const createResponseIndexFactory: ({ client }: {
31
31
  [fieldId: string]: FieldValue;
32
32
  }>;
33
33
  getByFieldId: {
34
- (fieldId: Field["id"]): Store<FieldValue>;
35
- <T extends JsonValue>(fieldId: Field["id"]): Store<T | null>;
34
+ (fieldId: string): Store<FieldValue>;
35
+ <T extends JsonValue>(fieldId: string): Store<T | null>;
36
36
  };
37
37
  getByFieldName: (fieldName: Field["name"]) => Store<FieldValue>;
38
38
  };
39
39
  export declare function createResponseIndex<T extends Parameters<typeof createResponseIndexFactory>[0]>(params: T): ReturnType<typeof createResponseIndexFactory>;
40
- export type CommitResponses = Record<Field['id'], FieldValue>;
40
+ export type CommitResponses = Record<string, FieldValue>;
41
41
  export interface ValidationError {
42
- fieldId: Field['id'];
42
+ fieldId: string;
43
43
  userMessage: string;
44
44
  systemMessage: string;
45
45
  value: FieldValue;
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AA8CvF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;kBA8BnD,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,GAAG,IAAI;kBACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;gCAuO5D,eAAe,KACjC,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;8CAvNpB,eAAe,KACjC,OAAO,CAAC;QAAE,iBAAiB,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;;;;;;;;;kBAkPxD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;SAExC,CAAC,SAAS,SAAS,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;;gCA6B9C,KAAK,CAAC,MAAM,CAAC;CAwChD,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE/C;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAE7D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAGpB,WAAW,EAAE,MAAM,CAAA;IAGnB,aAAa,EAAE,MAAM,CAAA;IAGrB,KAAK,EAAE,UAAU,CAAA;CAClB"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AA+CvF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;kBA+BnD,MAAM,YAAY,QAAQ,GAAG,IAAI;kBACjC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;gCAyOvD,eAAe,KACjC,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;8CAxNpB,eAAe,KACjC,OAAO,CAAC;QAAE,iBAAiB,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;;;;;;;;;kBAmPxD,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;SAEnC,CAAC,SAAS,SAAS,WAAW,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;;gCAuBzC,KAAK,CAAC,MAAM,CAAC;CAyChD,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE/C;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IAGf,WAAW,EAAE,MAAM,CAAA;IAGnB,aAAa,EAAE,MAAM,CAAA;IAGrB,KAAK,EAAE,UAAU,CAAA;CAClB"}
@@ -1,7 +1,7 @@
1
1
  import { Experience, LaunchExperienceOptions } from './entities/experience/experience';
2
2
  import { Plugin, PluginConfigIndex } from './entities/plugin/plugin';
3
3
  import { CreateClientOptions } from './client';
4
- import { AdaptableComponents, AdaptedComponent } from './entities/component/component';
4
+ import { AdaptedComponent } from './entities/component/component';
5
5
  import { Framework } from './entities/framework/framework';
6
6
  import { StateSnapshot } from './utils/state-snaphot';
7
7
  import { Predicate } from './entities/predicate/predicate';
@@ -28,6 +28,7 @@ export declare class Picked {
28
28
  readonly session?: SessionStore | null;
29
29
  readonly precondition?: LogicRule | boolean;
30
30
  readonly condition?: LogicRule | boolean;
31
+ preconditionPassed?: boolean;
31
32
  readonly searchParams: import('./utils/search-params').PickedSearchParams;
32
33
  readonly history: {
33
34
  push: import('effector').EventCallable<{
@@ -69,7 +70,7 @@ export declare class Picked {
69
70
  id: string;
70
71
  configStore: import('effector').Store<{
71
72
  name: string;
72
- decisionLogic: string | number | boolean | import('./logic-engine').LogicArray | import('./logic-engine').LogicObject | (() => import('./logic-engine').LogicValue) | Promise<import('./logic-engine').SyncLogicValue> | undefined;
73
+ decisionLogic: import('./logic-engine').LogicValue | LogicRule;
73
74
  targetSelectors: import('.').ExperienceTarget[];
74
75
  initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
75
76
  }>;
@@ -95,7 +96,7 @@ export declare class Picked {
95
96
  id: string;
96
97
  configStore: import('effector').Store<{
97
98
  name: string;
98
- decisionLogic: string | number | boolean | import('./logic-engine').LogicArray | import('./logic-engine').LogicObject | (() => import('./logic-engine').LogicValue) | Promise<import('./logic-engine').SyncLogicValue> | undefined;
99
+ decisionLogic: import('./logic-engine').LogicValue | LogicRule;
99
100
  targetSelectors: import('.').ExperienceTarget[];
100
101
  initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
101
102
  }>;
@@ -129,7 +130,7 @@ export declare class Picked {
129
130
  id: string;
130
131
  configStore: import('effector').Store<{
131
132
  name: string;
132
- decisionLogic: string | number | boolean | import('./logic-engine').LogicArray | import('./logic-engine').LogicObject | (() => import('./logic-engine').LogicValue) | Promise<import('./logic-engine').SyncLogicValue> | undefined;
133
+ decisionLogic: import('./logic-engine').LogicValue | LogicRule;
133
134
  targetSelectors: import('.').ExperienceTarget[];
134
135
  initializeOpenLogic: import('./logic-engine').LogicValue | LogicRule;
135
136
  }>;
@@ -175,8 +176,8 @@ export declare class Picked {
175
176
  };
176
177
  readonly responses: {
177
178
  register: {
178
- (fieldId: Field["id"], response: import('.').Response): void;
179
- (payload: Record<Field["id"], import('.').Response>, response?: never): void;
179
+ (fieldId: string, response: import('.').Response): void;
180
+ (payload: Record<string, import('.').Response>, response?: never): void;
180
181
  };
181
182
  clearAll: import('effector').EventCallable<void>;
182
183
  clear: import('effector').EventCallable<string>;
@@ -195,15 +196,16 @@ export declare class Picked {
195
196
  [fieldId: string]: import('.').FieldValue;
196
197
  }>;
197
198
  getByFieldId: {
198
- (fieldId: Field["id"]): import('effector').Store<import('.').FieldValue>;
199
- <T extends import('.').JsonValue>(fieldId: Field["id"]): import('effector').Store<T | null>;
199
+ (fieldId: string): import('effector').Store<import('.').FieldValue>;
200
+ <T extends import('.').JsonValue>(fieldId: string): import('effector').Store<T | null>;
200
201
  };
201
202
  getByFieldName: (fieldName: Field["name"]) => import('effector').Store<import('.').FieldValue>;
202
203
  };
203
204
  readonly fields: {
204
205
  register: (field: Field) => void;
205
- update: (fieldId: import('.').FieldBase["id"], updates: Partial<Field>) => void;
206
- getById: (id: import('.').FieldBase["id"]) => import('effector').Store<Field | null>;
206
+ update: (fieldKey: string, updates: Partial<Field>) => void;
207
+ getByKey: (key: string) => import('effector').Store<Field | null>;
208
+ getById: (id: string) => import('effector').Store<Field | null>;
207
209
  listStore: import('effector').Store<Field[]>;
208
210
  getByName: (name: import('.').FieldBase["name"]) => import('effector').Store<Field | null>;
209
211
  };
@@ -216,7 +218,7 @@ export declare class Picked {
216
218
  constructor(options: CreateClientOptions);
217
219
  start: () => void;
218
220
  registerFramework: (framework: Framework) => void;
219
- registerComponent: (name: keyof AdaptableComponents, component: AdaptedComponent) => void;
221
+ registerComponent: (name: string, component: AdaptedComponent) => void;
220
222
  registerPlugin: (plugin: Plugin) => void;
221
223
  registerFeature: (name: string, feature: Feature) => void;
222
224
  registerPredicate: (name: string, predicate: Predicate) => void;
@@ -234,6 +236,7 @@ export declare class Picked {
234
236
  private setupFeatures;
235
237
  private setupPredicates;
236
238
  private setupActions;
239
+ private setupComponents;
237
240
  getPluginConfig: (pluginName: string) => PluginConfigIndex[string] | Record<string, unknown>;
238
241
  /**
239
242
  * Interpolates a template string using values from the client's response store and/or a provided context.