@picked/client 0.0.50 → 0.0.51-next.10

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 (130) hide show
  1. package/dist/api-CHy9HcU7.cjs +1 -0
  2. package/dist/{api-DWBcrf98.js → api-mlYS-lDj.js} +1 -1
  3. package/dist/cjs/form/index.js +1 -0
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/create-experience/index.js +1 -1
  6. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  7. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  8. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  9. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  10. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  11. package/dist/cjs/plugins/single-page-app/index.js +1 -1
  12. package/dist/cjs/server/index.js +1 -1
  13. package/dist/esm/form/index.js +472 -0
  14. package/dist/esm/index.js +473 -383
  15. package/dist/esm/plugins/create-experience/index.js +198 -165
  16. package/dist/esm/plugins/dynamic-experiences/index.js +52 -30
  17. package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
  18. package/dist/esm/plugins/history-browser-storage/index.js +1 -1
  19. package/dist/esm/plugins/responses-browser-storage/index.js +7 -9
  20. package/dist/esm/plugins/responses-indexeddb/index.js +11 -11
  21. package/dist/esm/plugins/single-page-app/index.js +4 -4
  22. package/dist/esm/server/index.js +1 -1
  23. package/dist/experience-instance-DOcd8XI1.cjs +1 -0
  24. package/dist/experience-instance-NHU1moID.js +486 -0
  25. package/dist/{object-Clj5zVr1.js → object-C82v79xc.js} +2 -1
  26. package/dist/object-CUJOjanb.cjs +1 -0
  27. package/dist/rules-logic-CnVktz2l.js +240 -0
  28. package/dist/rules-logic-nMHNVLn7.cjs +1 -0
  29. package/dist/{storage-DyxpJ0pg.js → storage-6Xk0uAxB.js} +3 -1
  30. package/dist/storage-B6lQtc4-.cjs +1 -0
  31. package/dist/types/client.d.ts +47 -43
  32. package/dist/types/client.d.ts.map +1 -1
  33. package/dist/types/entities/action/action.d.ts +37 -5
  34. package/dist/types/entities/action/action.d.ts.map +1 -1
  35. package/dist/types/entities/condition/condition.d.ts +20 -0
  36. package/dist/types/entities/condition/condition.d.ts.map +1 -0
  37. package/dist/types/entities/experience/experience.d.ts +67 -51
  38. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  39. package/dist/types/entities/experience-instance/experience-instance.d.ts +22 -2
  40. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  41. package/dist/types/entities/feature/feature.d.ts.map +1 -1
  42. package/dist/types/entities/field/field.d.ts +24 -10
  43. package/dist/types/entities/field/field.d.ts.map +1 -1
  44. package/dist/types/entities/history/history.d.ts.map +1 -1
  45. package/dist/types/entities/response/response-validation.d.ts +74 -0
  46. package/dist/types/entities/response/response-validation.d.ts.map +1 -0
  47. package/dist/types/entities/response/response.d.ts +24 -20
  48. package/dist/types/entities/response/response.d.ts.map +1 -1
  49. package/dist/types/entities/step/step.d.ts +42 -0
  50. package/dist/types/entities/step/step.d.ts.map +1 -0
  51. package/dist/types/exports.d.ts +0 -1
  52. package/dist/types/exports.d.ts.map +1 -1
  53. package/dist/types/form/build-responses.d.ts +17 -0
  54. package/dist/types/form/build-responses.d.ts.map +1 -0
  55. package/dist/types/form/create-field-evaluator.d.ts +27 -0
  56. package/dist/types/form/create-field-evaluator.d.ts.map +1 -0
  57. package/dist/types/form/create-field-validation.d.ts +59 -0
  58. package/dist/types/form/create-field-validation.d.ts.map +1 -0
  59. package/dist/types/form/create-form.d.ts +97 -0
  60. package/dist/types/form/create-form.d.ts.map +1 -0
  61. package/dist/types/form/create-submit-pipeline.d.ts +70 -0
  62. package/dist/types/form/create-submit-pipeline.d.ts.map +1 -0
  63. package/dist/types/form/get-step-fields.d.ts +18 -0
  64. package/dist/types/form/get-step-fields.d.ts.map +1 -0
  65. package/dist/types/form/index.d.ts +10 -0
  66. package/dist/types/form/index.d.ts.map +1 -0
  67. package/dist/types/index.d.ts +3 -1
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/types/logic-engine.d.ts +12 -10
  70. package/dist/types/logic-engine.d.ts.map +1 -1
  71. package/dist/types/picked.d.ts +99 -33
  72. package/dist/types/picked.d.ts.map +1 -1
  73. package/dist/types/plugins/create-experience/create-experience.d.ts +53 -31
  74. package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
  75. package/dist/types/plugins/create-experience/index.d.ts +2 -2
  76. package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
  77. package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
  78. package/dist/types/plugins/dynamic-experiences/plugin.d.ts +21 -4
  79. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  80. package/dist/types/plugins/dynamic-experiences/types.d.ts +45 -0
  81. package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
  82. package/dist/types/plugins/experience-browser-storage/plugin.d.ts +2 -1
  83. package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
  84. package/dist/types/plugins/history-browser-storage/plugin.d.ts +1 -0
  85. package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
  86. package/dist/types/plugins/responses-browser-storage/plugin.d.ts +2 -1
  87. package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
  88. package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
  89. package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
  90. package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
  91. package/dist/types/utils/dom.d.ts +0 -3
  92. package/dist/types/utils/dom.d.ts.map +1 -1
  93. package/dist/types/utils/events.d.ts +2 -2
  94. package/dist/types/utils/events.d.ts.map +1 -1
  95. package/dist/types/utils/global-obj.d.ts +0 -1
  96. package/dist/types/utils/global-obj.d.ts.map +1 -1
  97. package/dist/types/utils/indexed-db.d.ts +2 -1
  98. package/dist/types/utils/indexed-db.d.ts.map +1 -1
  99. package/dist/types/utils/logger.d.ts.map +1 -1
  100. package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts +16 -0
  101. package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts.map +1 -0
  102. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
  103. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
  104. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
  105. package/dist/types/utils/nodes.d.ts +2 -2
  106. package/dist/types/utils/nodes.d.ts.map +1 -1
  107. package/dist/types/utils/object.d.ts +0 -8
  108. package/dist/types/utils/object.d.ts.map +1 -1
  109. package/dist/types/utils/picked-config.d.ts +1 -1
  110. package/dist/types/utils/picked-config.d.ts.map +1 -1
  111. package/dist/types/utils/rules-logic.d.ts +31 -0
  112. package/dist/types/utils/rules-logic.d.ts.map +1 -1
  113. package/dist/types/utils/search-params.d.ts.map +1 -1
  114. package/dist/types/utils/state-snaphot.d.ts +11 -1
  115. package/dist/types/utils/state-snaphot.d.ts.map +1 -1
  116. package/dist/types/utils/storage.d.ts.map +1 -1
  117. package/package.json +43 -7
  118. package/dist/api-BwTaomem.cjs +0 -1
  119. package/dist/experience-instance-BRpI9I4s.js +0 -710
  120. package/dist/experience-instance-BUTnwbSJ.cjs +0 -1
  121. package/dist/object-BReQiaSS.cjs +0 -1
  122. package/dist/storage-BFjb8azI.cjs +0 -1
  123. package/dist/types/entities/project/project.d.ts +0 -9
  124. package/dist/types/entities/project/project.d.ts.map +0 -1
  125. package/dist/types/utils/get-step-fields.d.ts +0 -4
  126. package/dist/types/utils/get-step-fields.d.ts.map +0 -1
  127. package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts +0 -3
  128. package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts.map +0 -1
  129. /package/dist/{id-CIbS4P60.cjs → id-Bv44ilEo.cjs} +0 -0
  130. /package/dist/{id-BniPxOdF.js → id-CRqy981z.js} +0 -0
@@ -0,0 +1,472 @@
1
+ import { t as e } from "../../rules-logic-CnVktz2l.js";
2
+ import { attach as t, combine as n, createEffect as r, createEvent as i, createStore as a, sample as o, split as s } from "effector";
3
+ //#region src/form/build-responses.ts
4
+ function c(e, t, n) {
5
+ let r = e[t];
6
+ if (r === void 0) {
7
+ e[t] = n;
8
+ return;
9
+ }
10
+ if (Array.isArray(r) && Array.isArray(n) && n.length > 0) {
11
+ typeof r[0] == "string" ? e[t] = [...r, ...n].map(String) : typeof r[0] == "number" ? e[t] = [...r, ...n].map(Number) : typeof r[0] == "boolean" ? e[t] = [...r, ...n].map((e) => !!e) : e[t] = n;
12
+ return;
13
+ }
14
+ e[t] = n;
15
+ }
16
+ function l(e, t) {
17
+ let n = Array.from(t.entries()), r = {};
18
+ return e.forEach((e) => {
19
+ let t = n.filter(([t]) => t === e.key);
20
+ t.length === 0 && (t = [[e.key, ""]]), t.forEach(([, t]) => {
21
+ if (t === "") {
22
+ c(r, e.key, null);
23
+ return;
24
+ }
25
+ switch (e.type) {
26
+ case "text":
27
+ case "object":
28
+ c(r, e.key, e.multiple ? [String(t)] : String(t));
29
+ break;
30
+ case "number":
31
+ c(r, e.key, e.multiple ? [Number(t)] : Number(t));
32
+ break;
33
+ case "boolean":
34
+ c(r, e.key, e.multiple ? [t === "true"] : t === "true");
35
+ break;
36
+ }
37
+ });
38
+ }), r;
39
+ }
40
+ //#endregion
41
+ //#region src/form/get-step-fields.ts
42
+ function u(e) {
43
+ return Array.isArray(e.options) && e.options.some((e) => "condition" in e);
44
+ }
45
+ function d(e) {
46
+ return e.some((e) => e.condition || u(e));
47
+ }
48
+ function f(e) {
49
+ return e.condition ?? null;
50
+ }
51
+ async function p(t, n, r) {
52
+ return n.length === 0 || !d(n) ? n : (await Promise.all(n.map(async (n) => {
53
+ let i = f(n);
54
+ if (!(!i || await e(t, i, r))) return null;
55
+ if (!Array.isArray(n.options) || !u(n)) return n;
56
+ let a = (await Promise.all(n.options.map(async (n) => n.condition ? await e(t, n.condition, r) ? n : null : n))).filter((e) => e !== null);
57
+ return a.length === n.options.length ? n : a.length === 0 ? null : {
58
+ ...n,
59
+ options: a
60
+ };
61
+ }))).filter((e) => e !== null);
62
+ }
63
+ //#endregion
64
+ //#region src/form/create-field-evaluator.ts
65
+ function m(e, n, i) {
66
+ let s = a([]), c = t({
67
+ source: {
68
+ allFields: e.fields.listStore,
69
+ fieldIds: n,
70
+ staged: i,
71
+ committed: e.responses.getAllStore
72
+ },
73
+ effect: r(async ({ allFields: t, fieldIds: n, staged: r, committed: i }) => await p(e, t.filter((e) => n.includes(e.id)), { responses: {
74
+ ...i,
75
+ ...r
76
+ } }))
77
+ });
78
+ return o({
79
+ clock: c.doneData,
80
+ target: s
81
+ }), c(), o({
82
+ clock: [
83
+ e.responses.listStore,
84
+ n,
85
+ e.fields.listStore,
86
+ i
87
+ ],
88
+ target: c
89
+ }), { fieldsStore: s };
90
+ }
91
+ //#endregion
92
+ //#region src/form/create-field-validation.ts
93
+ function h(e) {
94
+ return e === null || e === "" || Array.isArray(e) && e.length === 0;
95
+ }
96
+ function g(n, r, s) {
97
+ let c = i(), l = i(), u = i(), d = a({});
98
+ o({
99
+ clock: u,
100
+ source: d,
101
+ fn: (e, { fieldKey: t }) => ({
102
+ ...e,
103
+ [t]: !0
104
+ }),
105
+ target: d
106
+ });
107
+ let f = a({}), p = f.map((e) => Object.values(e).filter((e) => e !== void 0)), m = t({
108
+ source: {
109
+ fields: r,
110
+ staged: s,
111
+ committed: n.responses.getAllStore
112
+ },
113
+ effect: async ({ fields: t, staged: r, committed: i }, { fieldKey: a, value: o, checkRequired: s }) => {
114
+ let c = t.find((e) => e.key === a);
115
+ if (!c) return {
116
+ fieldKey: a,
117
+ error: null
118
+ };
119
+ if (c.validation && Object.keys(c.validation).length > 0) {
120
+ let t = {
121
+ ...i,
122
+ ...r
123
+ }, s = await e(n, c.validation, {
124
+ responses: t,
125
+ $input: o
126
+ });
127
+ if (typeof s == "string") return {
128
+ fieldKey: a,
129
+ error: {
130
+ fieldKey: c.key,
131
+ userMessage: s,
132
+ systemMessage: s,
133
+ value: o
134
+ }
135
+ };
136
+ if (s === !1) return {
137
+ fieldKey: a,
138
+ error: {
139
+ fieldKey: c.key,
140
+ userMessage: "This field is invalid",
141
+ systemMessage: "Field validation rule returned false.",
142
+ value: o
143
+ }
144
+ };
145
+ }
146
+ return s && c.required && h(o) ? {
147
+ fieldKey: a,
148
+ error: {
149
+ fieldKey: c.key,
150
+ userMessage: "This field is required",
151
+ systemMessage: "Field is required.",
152
+ value: o
153
+ }
154
+ } : {
155
+ fieldKey: a,
156
+ error: null
157
+ };
158
+ }
159
+ });
160
+ return o({
161
+ clock: c,
162
+ source: d,
163
+ filter: (e, { fieldKey: t }) => e[t] === !0,
164
+ fn: (e, { fieldKey: t, value: n }) => ({
165
+ fieldKey: t,
166
+ value: n,
167
+ checkRequired: !1
168
+ }),
169
+ target: m
170
+ }), o({
171
+ clock: l,
172
+ source: d,
173
+ filter: (e, { fieldKey: t }) => e[t] === !0,
174
+ fn: (e, { fieldKey: t, value: n }) => ({
175
+ fieldKey: t,
176
+ value: n,
177
+ checkRequired: !1
178
+ }),
179
+ target: m
180
+ }), o({
181
+ clock: u,
182
+ fn: ({ fieldKey: e, value: t }) => ({
183
+ fieldKey: e,
184
+ value: t,
185
+ checkRequired: !0
186
+ }),
187
+ target: m
188
+ }), s.on(c, (e, { fieldKey: t, value: n }) => ({
189
+ ...e,
190
+ [t]: n
191
+ })), s.on(l, (e, { fieldKey: t, value: n }) => ({
192
+ ...e,
193
+ [t]: n
194
+ })), s.on(u, (e, { fieldKey: t, value: n }) => ({
195
+ ...e,
196
+ [t]: n
197
+ })), f.on(m.doneData, (e, { fieldKey: t, error: n }) => {
198
+ if (n === null) {
199
+ let n = { ...e };
200
+ return delete n[t], n;
201
+ }
202
+ return {
203
+ ...e,
204
+ [t]: n
205
+ };
206
+ }), {
207
+ fieldInputEvent: c,
208
+ fieldChangeEvent: l,
209
+ fieldBlurEvent: u,
210
+ touchedStore: d,
211
+ fieldErrorsStore: f,
212
+ formErrorsStore: p,
213
+ stagedValuesStore: s
214
+ };
215
+ }
216
+ //#endregion
217
+ //#region src/form/create-submit-pipeline.ts
218
+ function _(e) {
219
+ let t = [];
220
+ return {
221
+ executeFx: r(async (...n) => await e(t, ...n)),
222
+ register: (e) => (t.push(e), () => {
223
+ t = t.filter((t) => t !== e);
224
+ })
225
+ };
226
+ }
227
+ function v({ client: e, experienceInstance: n, formId: c, title: u, stepStore: d, fieldsStore: f, goToNextStep: p }) {
228
+ let m = i(), h = i(), g = i(), v = i(), y = i(), b = a(!1), x = a(!1);
229
+ x.on(v, () => !0).on(m, () => !1);
230
+ let S = m.map(() => void 0), C = _(async (e, t) => {
231
+ await Promise.all(e.map((e) => Promise.resolve(e(t))));
232
+ }), w = _(async (e, t) => {
233
+ await Promise.all(e.map((e) => Promise.resolve(e(t))));
234
+ }), T = _(async (e, t) => {
235
+ let n = t;
236
+ for (let t of e) {
237
+ let e = await Promise.resolve(t(n));
238
+ e !== void 0 && (n = e);
239
+ }
240
+ return n;
241
+ }), E = r(async (t) => ({
242
+ data: t,
243
+ errors: (await e.responses.commit(t)).errors
244
+ })), D = t({
245
+ source: {
246
+ step: d,
247
+ title: u
248
+ },
249
+ mapParams: (e, t) => ({
250
+ step: t.step,
251
+ title: t.title,
252
+ data: e.data
253
+ }),
254
+ effect: r(async ({ step: t, title: r, data: i }) => (e.eventBus({
255
+ type: "form_submit_success",
256
+ form: {
257
+ id: c,
258
+ title: r
259
+ },
260
+ experience: n,
261
+ step: t ?? void 0
262
+ }), i))
263
+ }), O = t({
264
+ source: {
265
+ step: d,
266
+ title: u
267
+ },
268
+ mapParams: (e, t) => ({
269
+ step: t.step,
270
+ title: t.title,
271
+ errors: e.errors
272
+ }),
273
+ effect: r(async ({ step: t, title: r, errors: i }) => (e.eventBus({
274
+ type: "form_submit_error",
275
+ form: {
276
+ id: c,
277
+ title: r
278
+ },
279
+ exception: { reason: i },
280
+ experience: n,
281
+ step: t ?? void 0
282
+ }), i.forEach((r) => {
283
+ e.eventBus({
284
+ type: "field_validation_error",
285
+ exception: { reason: [r] },
286
+ experience: n,
287
+ step: t ?? void 0
288
+ });
289
+ }), i))
290
+ });
291
+ return o({
292
+ clock: m,
293
+ fn: () => !0,
294
+ target: b
295
+ }), o({
296
+ clock: m,
297
+ source: {
298
+ step: d,
299
+ title: u
300
+ },
301
+ fn: ({ step: e, title: t }) => ({
302
+ formId: c,
303
+ title: t,
304
+ step: e
305
+ }),
306
+ target: r(({ formId: t, title: r, step: i }) => {
307
+ e.eventBus({
308
+ type: "form_submit",
309
+ form: {
310
+ id: t,
311
+ title: r
312
+ },
313
+ experience: n,
314
+ step: i ?? void 0
315
+ });
316
+ })
317
+ }), o({
318
+ clock: m,
319
+ source: { stepFields: f },
320
+ fn: ({ stepFields: e }, t) => (t.preventDefault(), l(e, new FormData(t.currentTarget))),
321
+ target: T.executeFx
322
+ }), o({
323
+ clock: T.executeFx.doneData,
324
+ target: E
325
+ }), s({
326
+ source: E.doneData,
327
+ match: { hasErrors: ({ errors: e }) => e.length > 0 },
328
+ cases: {
329
+ hasErrors: O,
330
+ __: D
331
+ }
332
+ }), o({
333
+ clock: D.doneData,
334
+ target: h
335
+ }), o({
336
+ clock: h,
337
+ fn: (e) => ({
338
+ data: e,
339
+ stopNavigation: v
340
+ }),
341
+ target: C.executeFx
342
+ }), o({
343
+ clock: C.executeFx.done,
344
+ target: y
345
+ }), o({
346
+ clock: y,
347
+ source: x,
348
+ filter: (e) => !e,
349
+ target: p
350
+ }), o({
351
+ clock: O.doneData,
352
+ target: g
353
+ }), o({
354
+ clock: g,
355
+ target: w.executeFx
356
+ }), o({
357
+ clock: [y, w.executeFx.done],
358
+ fn: () => !1,
359
+ target: b
360
+ }), {
361
+ submitEvent: m,
362
+ isFormSubmitting: b,
363
+ onBeforeSubmit: T.register,
364
+ onSuccess: C.register,
365
+ onError: w.register,
366
+ submitStarted: S,
367
+ validationErrorsReceived: g
368
+ };
369
+ }
370
+ //#endregion
371
+ //#region src/form/create-form.ts
372
+ function y(e) {
373
+ let t = e.currentTarget;
374
+ if (t instanceof HTMLInputElement) return t.type === "checkbox" ? t.checked : t.value;
375
+ if (t instanceof HTMLSelectElement || t instanceof HTMLTextAreaElement) return t.value;
376
+ }
377
+ function b(e, t, r, i) {
378
+ let { client: s, experienceInstance: c } = e, { currentStepStore: l, goToNextStep: u } = c, d = n(l, c, (e, t) => ({
379
+ stepId: e?.id,
380
+ experienceId: t.id
381
+ })), f = a({}), { fieldsStore: p } = m(s, i, f);
382
+ o({
383
+ clock: p,
384
+ source: f,
385
+ fn: (e, t) => {
386
+ let n = !1, r = { ...e };
387
+ for (let e of t) e.defaultValue != null && !(e.key in r) && (r[e.key] = e.defaultValue, n = !0);
388
+ return n ? r : e;
389
+ },
390
+ target: f
391
+ });
392
+ let { fieldInputEvent: h, fieldChangeEvent: _, fieldBlurEvent: b, touchedStore: x, fieldErrorsStore: S, formErrorsStore: C } = g(s, p, f), w = n({
393
+ fields: p,
394
+ responses: s.responses.listStore,
395
+ staged: f,
396
+ fieldErrors: S,
397
+ touched: x,
398
+ experienceAndStepId: d
399
+ }, ({ fields: e, responses: t, staged: n, fieldErrors: r, touched: i, experienceAndStepId: a }) => e.map((e) => {
400
+ let o = (t) => {
401
+ let n = y(t);
402
+ n !== void 0 && h({
403
+ fieldKey: e.key,
404
+ value: n
405
+ });
406
+ }, s = (t) => {
407
+ let n = y(t);
408
+ n !== void 0 && _({
409
+ fieldKey: e.key,
410
+ value: n
411
+ });
412
+ }, c = (t) => {
413
+ let n = y(t);
414
+ n !== void 0 && b({
415
+ fieldKey: e.key,
416
+ value: n
417
+ });
418
+ }, l = n[e.key] ?? t.find((t) => t.fieldKey === e.key)?.value ?? e.defaultValue, u = r[e.key], d = e.type === "number" ? "number" : "text", f = e.type === "boolean" ? "checkbox" : d, { experienceId: p, stepId: m } = a, g = `${p}-${m ?? "step"}-${e.id}`;
419
+ return {
420
+ ...e,
421
+ value: l,
422
+ error: u,
423
+ touched: i[e.key] ?? !1,
424
+ props: {
425
+ id: g,
426
+ name: e.key,
427
+ key: e.key,
428
+ value: l,
429
+ type: f,
430
+ required: e.required,
431
+ placeholder: e.placeholder,
432
+ oninput: o,
433
+ onchange: s,
434
+ onblur: c
435
+ }
436
+ };
437
+ })), { submitEvent: T, isFormSubmitting: E, onBeforeSubmit: D, onSuccess: O, onError: k, submitStarted: A, validationErrorsReceived: j } = v({
438
+ client: s,
439
+ experienceInstance: c,
440
+ formId: t,
441
+ title: r,
442
+ stepStore: l,
443
+ fieldsStore: p,
444
+ goToNextStep: u
445
+ });
446
+ return o({
447
+ clock: A,
448
+ fn: () => ({}),
449
+ target: x
450
+ }), o({
451
+ clock: A,
452
+ fn: () => ({}),
453
+ target: S
454
+ }), o({
455
+ clock: j,
456
+ source: p,
457
+ fn: (e, t) => Object.fromEntries(t.map((t) => [e.find((e) => e.key === t.fieldKey)?.key ?? t.fieldKey, t])),
458
+ target: S
459
+ }), {
460
+ form: {
461
+ props: { onsubmit: T },
462
+ errors: C,
463
+ submitting: E,
464
+ onBeforeSubmit: D,
465
+ onSuccess: O,
466
+ onError: k
467
+ },
468
+ fields: w
469
+ };
470
+ }
471
+ //#endregion
472
+ export { l as buildResponsesFromFormData, m as createFieldEvaluator, g as createFieldValidation, b as createForm, v as createSubmitPipeline, y as getEventValue, p as getStepFields };