@picked/client 0.0.1-dev.1785305085063 → 0.0.1-dev.1785908062293
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/.tsbuildinfo +1 -0
- package/dist/api-03c5jvVk.js +38 -0
- package/dist/api-CQxCVIrm.cjs +1 -0
- package/dist/cjs/form/index.js +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dom-observer/index.js +1 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/explanation/conditions-and-the-logic-engine.md +94 -0
- package/dist/docs/explanation/feature-flag-allocation.md +176 -0
- package/dist/docs/explanation/how-picked-works.md +124 -0
- package/dist/docs/explanation/how-pickedql-works.md +76 -0
- package/dist/docs/explanation/pages-and-flows.md +64 -0
- package/dist/docs/explanation/the-content-model.md +77 -0
- package/dist/docs/explanation/the-two-apis.md +68 -0
- package/dist/docs/explanation/why-server-side-rendering.md +76 -0
- package/dist/docs/explanation/workspaces-and-versions.md +71 -0
- package/dist/docs/how-to/add-a-step-field-or-action.md +43 -0
- package/dist/docs/{pickedql/examples.md → how-to/analytics/index.md} +53 -28
- package/dist/docs/how-to/archive-or-delete-a-workspace.md +46 -0
- package/dist/docs/how-to/authenticate-with-a-magic-link.md +40 -0
- package/dist/docs/how-to/authenticate-with-a-password.md +51 -0
- package/dist/docs/how-to/authenticate-with-an-api-key.md +51 -0
- package/dist/docs/how-to/authenticate-with-oauth.md +40 -0
- package/dist/docs/how-to/build-a-flow.md +83 -0
- package/dist/docs/how-to/connect-the-mcp-server.md +38 -0
- package/dist/docs/how-to/create-a-project.md +29 -0
- package/dist/docs/how-to/create-an-experience.md +42 -0
- package/dist/docs/how-to/create-and-revoke-an-api-key.md +37 -0
- package/dist/docs/how-to/debug-with-the-chrome-extension.md +57 -0
- package/dist/docs/how-to/define-a-page-layout.md +39 -0
- package/dist/docs/how-to/fill-and-publish-a-page.md +50 -0
- package/dist/docs/how-to/install-the-gtm-template.md +84 -0
- package/dist/docs/how-to/install-the-sdk.md +68 -0
- package/dist/docs/how-to/install-the-vite-plugin.md +56 -0
- package/dist/docs/how-to/invite-and-remove-members.md +34 -0
- package/dist/docs/how-to/preview-a-workspace.md +28 -0
- package/dist/docs/how-to/publish-a-workspace.md +30 -0
- package/dist/docs/how-to/read-a-feature-flag.md +101 -0
- package/dist/docs/how-to/register-a-component.md +55 -0
- package/dist/docs/how-to/register-an-action-handler.md +67 -0
- package/dist/docs/how-to/render-a-step-form.md +132 -0
- package/dist/docs/how-to/render-an-unpublished-preview.md +41 -0
- package/dist/docs/how-to/reuse-a-section.md +37 -0
- package/dist/docs/how-to/reuse-a-step-field-or-action.md +28 -0
- package/dist/docs/how-to/roll-back-a-published-version.md +26 -0
- package/dist/docs/how-to/run-an-ab-test.md +49 -0
- package/dist/docs/how-to/run-code-on-a-form-submission.md +125 -0
- package/dist/docs/how-to/server-render-a-page.md +81 -0
- package/dist/docs/how-to/set-a-content-security-policy.md +32 -0
- package/dist/docs/how-to/set-up-mfa.md +69 -0
- package/dist/docs/how-to/upload-and-use-an-asset.mdx +73 -0
- package/dist/docs/how-to/validate-a-field.md +52 -0
- package/dist/docs/how-to/write-a-condition.md +45 -0
- package/dist/docs/how-to/write-a-predicate.md +60 -0
- package/dist/docs/index.md +41 -59
- package/dist/docs/reference/dashboard/actions.mdx +53 -0
- package/dist/docs/reference/dashboard/api-keys.mdx +37 -0
- package/dist/docs/reference/dashboard/conditions.mdx +42 -0
- package/dist/docs/reference/dashboard/content/asset-library.mdx +63 -0
- package/dist/docs/reference/dashboard/content/content-entries.mdx +44 -0
- package/dist/docs/reference/dashboard/content/layouts.mdx +62 -0
- package/dist/docs/reference/dashboard/content/pages.mdx +35 -0
- package/dist/docs/reference/dashboard/content/sections.mdx +28 -0
- package/dist/docs/reference/dashboard/experiences.mdx +51 -0
- package/dist/docs/reference/dashboard/features.mdx +114 -0
- package/dist/docs/reference/dashboard/fields.mdx +100 -0
- package/dist/docs/reference/dashboard/flow-builder/canvas.mdx +58 -0
- package/dist/docs/reference/dashboard/flow-builder/condition-builder.md +57 -0
- package/dist/docs/reference/dashboard/flow-builder/keyboard-shortcuts.md +72 -0
- package/dist/docs/reference/dashboard/flow-builder/nodes.md +63 -0
- package/dist/docs/reference/dashboard/projects.mdx +44 -0
- package/dist/docs/reference/dashboard/reports.mdx +43 -0
- package/dist/docs/reference/dashboard/steps.mdx +37 -0
- package/dist/docs/reference/dashboard/team-management.md +29 -0
- package/dist/docs/reference/dashboard/workspace-versioning.mdx +30 -0
- package/dist/docs/reference/dashboard/workspaces.mdx +76 -0
- package/dist/docs/{delivery-api → reference/delivery-api}/experience-content.md +17 -5
- package/dist/docs/reference/delivery-api/index.md +45 -0
- package/dist/docs/reference/delivery-api/preview-caching-crawling.md +79 -0
- package/dist/docs/{delivery-api → reference/delivery-api}/project-config.md +15 -6
- package/dist/docs/reference/glossary.md +173 -0
- package/dist/docs/reference/management-api/authentication.md +74 -0
- package/dist/docs/{api → reference/management-api}/authorization-and-scopes.md +70 -47
- package/dist/docs/reference/management-api/error-handling.md +233 -0
- package/dist/docs/{api → reference/management-api}/pagination.md +36 -20
- package/dist/docs/reference/pickedql/data-sources.md +174 -0
- package/dist/docs/reference/pickedql/dimensions.md +87 -0
- package/dist/docs/{pickedql → reference/pickedql}/filtering.md +17 -6
- package/dist/docs/reference/pickedql/index.md +18 -0
- package/dist/docs/reference/pickedql/schema.md +172 -0
- package/dist/docs/reference/pickedql/virtual-functions.md +237 -0
- package/dist/docs/reference/sdk/actions.md +30 -0
- package/dist/docs/{sdk → reference/sdk}/conditions.md +15 -5
- package/dist/docs/reference/sdk/content-security-policy.md +21 -0
- package/dist/docs/reference/sdk/experiences.md +51 -0
- package/dist/docs/reference/sdk/features.md +233 -0
- package/dist/docs/reference/sdk/fields.md +209 -0
- package/dist/docs/reference/sdk/index.md +68 -0
- package/dist/docs/{sdk → reference/sdk}/plugins/create-experience.md +25 -34
- package/dist/docs/reference/sdk/plugins/dynamic-experiences.md +74 -0
- package/dist/docs/reference/sdk/plugins/index.md +29 -0
- package/dist/docs/{sdk → reference/sdk}/plugins/window-object.md +6 -0
- package/dist/docs/reference/sdk/predicates.md +43 -0
- package/dist/docs/reference/sdk/ssr/index.md +33 -0
- package/dist/docs/reference/sdk/ssr/rendering-and-hydration.md +103 -0
- package/dist/docs/reference/sdk/ssr/serialize.md +77 -0
- package/dist/docs/reference/sdk/ssr/slots-and-placements.md +59 -0
- package/dist/docs/reference/sdk/steps.md +87 -0
- package/dist/docs/reference/tools/chrome-extension.md +16 -0
- package/dist/docs/reference/tools/image-optimisation-service.md +104 -0
- package/dist/docs/reference/tools/mcp.md +88 -0
- package/dist/docs/reference/tools/vite-plugin.md +88 -0
- package/dist/docs/tutorials/first-api-call.md +228 -0
- package/dist/docs/tutorials/first-experience-in-the-dashboard.mdx +143 -0
- package/dist/docs/tutorials/first-experience.mdx +255 -0
- package/dist/docs/tutorials/first-server-rendered-page.mdx +186 -0
- package/dist/{dom-BwmTHeT7.js → dom-BqcToNL0.js} +1 -3
- package/dist/{dom-CDrHc_j9.cjs → dom-DlLH3FxV.cjs} +1 -1
- package/dist/esm/form/index.js +2 -4
- package/dist/esm/index.js +225 -186
- package/dist/esm/plugins/dom-observer/index.js +1 -1
- package/dist/esm/plugins/dynamic-experiences/index.js +3 -3
- package/dist/esm/preview/index.js +1 -1
- package/dist/esm/server/index.js +33 -31
- package/dist/{experience-instance-DOJShRk5.js → experience-instance-DGk11d8a.js} +3 -3
- package/dist/experience-instance-Dej3P1sE.cjs +1 -0
- package/dist/plugin-CHOVsx7Z.js +287 -0
- package/dist/plugin-DsaGXQHx.cjs +1 -0
- package/dist/{preview-channel-DW9J8t4B.js → preview-channel-CSr96XAo.js} +1 -1
- package/dist/{protocol-DSqOlW2r.js → protocol-C5KkkiZc.js} +1 -1
- package/dist/types/client.d.ts +7 -6
- package/dist/types/data-source/api.d.ts +60 -0
- package/dist/types/data-source/api.d.ts.map +1 -0
- package/dist/types/data-source/provider.d.ts +97 -0
- package/dist/types/data-source/provider.d.ts.map +1 -0
- package/dist/types/entities/action/action.d.ts +5 -4
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/component/component.d.ts +6 -5
- package/dist/types/entities/component/component.d.ts.map +1 -1
- package/dist/types/entities/condition/condition.d.ts +5 -5
- package/dist/types/entities/content/content.d.ts +4 -3
- package/dist/types/entities/experience/experience.d.ts +11 -10
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +10 -9
- package/dist/types/entities/feature/feature.d.ts +19 -2
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +7 -6
- package/dist/types/entities/framework/framework.d.ts +7 -6
- package/dist/types/entities/framework/framework.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +6 -6
- package/dist/types/entities/plugin/plugin.d.ts +3 -2
- package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
- package/dist/types/entities/predicate/predicate.d.ts +4 -3
- package/dist/types/entities/predicate/predicate.d.ts.map +1 -1
- package/dist/types/entities/response/response-validation.d.ts +3 -2
- package/dist/types/entities/response/response.d.ts +12 -11
- package/dist/types/entities/session/session.d.ts +2 -1
- package/dist/types/entities/step/step.d.ts +6 -5
- package/dist/types/exports.d.ts +2 -1
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/form/build-responses.d.ts +2 -1
- package/dist/types/form/create-field-evaluator.d.ts +4 -3
- package/dist/types/form/create-field-validation.d.ts +5 -4
- package/dist/types/form/create-form.d.ts +7 -6
- package/dist/types/form/create-submit-pipeline.d.ts +7 -6
- package/dist/types/form/get-step-fields.d.ts +3 -2
- package/dist/types/lifecycle/condition-selection.d.ts +14 -4
- package/dist/types/lifecycle/lifecycle.d.ts +4 -3
- package/dist/types/lifecycle/rules-logic.d.ts +4 -3
- package/dist/types/lifecycle/state-snapshot.d.ts +4 -3
- package/dist/types/picked.d.ts +79 -62
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/ping.d.ts +1 -1
- package/dist/types/ping.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +9 -8
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts +3 -2
- package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/serialization.d.ts.map +1 -1
- package/dist/types/plugins/dom-observer/plugin.d.ts +1 -1
- package/dist/types/plugins/dynamic-experiences/hash.d.ts +40 -5
- package/dist/types/plugins/dynamic-experiences/hash.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +2 -0
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +4 -36
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +42 -11
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/plugins/web-components/plugin.d.ts +2 -1
- package/dist/types/plugins/window-object/plugin.d.ts +2 -2
- package/dist/types/preview-channel.d.ts +5 -1
- package/dist/types/preview-receiver/index.d.ts +18 -1
- package/dist/types/preview-receiver/protocol.d.ts +10 -1
- package/dist/types/server/index.d.ts +3 -3
- package/dist/types/server/serialize.d.ts +8 -2
- package/dist/types/server/serialize.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +2 -1
- package/dist/types/utils/events.d.ts +6 -6
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +1 -1
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/id.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts +2 -1
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/dist/types/utils/node-tree/get-next-node-from-action.d.ts +2 -1
- package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts +2 -1
- package/dist/types/utils/node-tree/get-next-node.d.ts +1 -1
- package/dist/types/utils/node-tree/get-next-node.d.ts.map +1 -1
- package/dist/types/utils/node-tree/get-origin-node.d.ts +1 -1
- package/dist/types/utils/node-tree/get-origin-node.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +1 -1
- package/dist/types/utils/picked-config.d.ts +2 -1
- package/dist/types/utils/rehydrate-scripts.d.ts +6 -0
- package/dist/types/utils/rehydrate-scripts.d.ts.map +1 -1
- package/dist/types/utils/rules-logic.d.ts +6 -2
- package/dist/types/utils/storage.d.ts +1 -1
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/package.json +22 -23
- package/dist/api-CPL40b7A.js +0 -40
- package/dist/api-Dz5rgRgQ.cjs +0 -1
- package/dist/docs/actions.mdx +0 -78
- package/dist/docs/api/authentication.md +0 -376
- package/dist/docs/api/error-handling.md +0 -211
- package/dist/docs/api/index.md +0 -197
- package/dist/docs/api-keys.mdx +0 -40
- package/dist/docs/chrome-extension.md +0 -51
- package/dist/docs/conditions.mdx +0 -59
- package/dist/docs/content/asset-library.mdx +0 -93
- package/dist/docs/content/content-entries.mdx +0 -30
- package/dist/docs/content/layouts.mdx +0 -70
- package/dist/docs/content/pages.mdx +0 -67
- package/dist/docs/content/sections.mdx +0 -33
- package/dist/docs/delivery-api/index.md +0 -46
- package/dist/docs/delivery-api/preview-caching-crawling.md +0 -59
- package/dist/docs/experiences.mdx +0 -42
- package/dist/docs/features.mdx +0 -58
- package/dist/docs/fields.mdx +0 -79
- package/dist/docs/flow-builder/building-flows.md +0 -61
- package/dist/docs/flow-builder/condition-builder.md +0 -54
- package/dist/docs/flow-builder/keyboard-shortcuts.md +0 -66
- package/dist/docs/flow-builder/nodes.md +0 -43
- package/dist/docs/flow-builder/overview.mdx +0 -50
- package/dist/docs/gtm-template.md +0 -69
- package/dist/docs/guides/build-a-personalized-page.mdx +0 -143
- package/dist/docs/image-optimisation-service.md +0 -80
- package/dist/docs/mcp.md +0 -120
- package/dist/docs/pickedql/data-sources.md +0 -145
- package/dist/docs/pickedql/dimensions.md +0 -65
- package/dist/docs/pickedql/index.md +0 -36
- package/dist/docs/pickedql/schema.md +0 -156
- package/dist/docs/pickedql/virtual-functions.md +0 -204
- package/dist/docs/projects.mdx +0 -37
- package/dist/docs/reports.mdx +0 -18
- package/dist/docs/sdk/actions.md +0 -66
- package/dist/docs/sdk/content-security-policy.md +0 -32
- package/dist/docs/sdk/experiences.md +0 -46
- package/dist/docs/sdk/features.md +0 -212
- package/dist/docs/sdk/fields.md +0 -263
- package/dist/docs/sdk/index.md +0 -83
- package/dist/docs/sdk/plugins/dynamic-experiences.md +0 -58
- package/dist/docs/sdk/plugins/index.md +0 -9
- package/dist/docs/sdk/predicates.md +0 -112
- package/dist/docs/sdk/ssr/index.md +0 -62
- package/dist/docs/sdk/ssr/rendering-and-hydration.md +0 -141
- package/dist/docs/sdk/ssr/serialize.md +0 -86
- package/dist/docs/sdk/ssr/slots-and-placements.md +0 -35
- package/dist/docs/sdk/steps.md +0 -434
- package/dist/docs/steps.mdx +0 -44
- package/dist/docs/team-management.md +0 -40
- package/dist/docs/vite-plugin.md +0 -82
- package/dist/docs/workspace-versioning.mdx +0 -28
- package/dist/docs/workspaces.mdx +0 -102
- package/dist/experience-instance-DurC3pE-.cjs +0 -1
- package/dist/plugin-CFXwbXeM.js +0 -247
- package/dist/plugin-m4qekgtA.cjs +0 -1
package/dist/esm/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import { t as e } from "../object-BUDGxEqy.js";
|
|
|
2
2
|
import { n as t, t as n } from "../rules-logic-HesIUCu6.js";
|
|
3
3
|
import { t as r } from "../logger-DMN6TxJJ.js";
|
|
4
4
|
import { a as i, c as a, d as o, f as s, i as c, l, m as u, n as d, o as f, r as p, s as m, t as h, u as g } from "../supports-CO9bJGNl.js";
|
|
5
|
-
import { a as _, i as v, r as ee, s as y, t as b } from "../dom-
|
|
6
|
-
import { l as x, n as S, r as C, u as w } from "../experience-instance-
|
|
5
|
+
import { a as _, i as v, r as ee, s as y, t as b } from "../dom-BqcToNL0.js";
|
|
6
|
+
import { l as x, n as S, r as C, u as w } from "../experience-instance-DGk11d8a.js";
|
|
7
7
|
import { i as T, n as E, r as D, t as O } from "../storage-1MW3-_As.js";
|
|
8
|
-
import { n as te, r as ne } from "../api-
|
|
8
|
+
import { n as te, r as ne } from "../api-03c5jvVk.js";
|
|
9
9
|
import { t as re } from "../id-Bo4RBeOs.js";
|
|
10
10
|
import { n as ie, r as ae, t as oe } from "../inert-script-report-B_bMPRzp.js";
|
|
11
11
|
import { attach as k, combine as A, createApi as j, createDomain as M, createEffect as N, createEvent as P, createStore as F, sample as I } from "effector";
|
|
@@ -38,18 +38,18 @@ var z = M("experience"), se = L(({ client: e, experience: r }) => {
|
|
|
38
38
|
n ? e.experienceInstances.spawn(u, t, n) : e.experienceInstances.spawn(u, t);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
}), f =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
}), f = A({
|
|
42
|
+
preconditionPassed: e.preconditionPassedStore,
|
|
43
|
+
isUser: e.session.store.map((e) => e.isUser, { skipVoid: !1 }),
|
|
44
|
+
config: o
|
|
45
|
+
}), p = k({
|
|
46
|
+
source: f,
|
|
47
47
|
effect: async ({ preconditionPassed: i, isUser: a, config: o }) => {
|
|
48
48
|
if (!i || !a) return !1;
|
|
49
49
|
let { decisionLogic: s, targetSelectors: c } = o;
|
|
50
|
-
return c.length === 0 || v(c, r.id).length < 1 ? !1 : s === void 0
|
|
50
|
+
return c.length === 0 || v(c, r.id).length < 1 ? !1 : s === void 0 || !t(s) || await n(e, s) === !0;
|
|
51
51
|
}
|
|
52
|
-
}),
|
|
52
|
+
}), m = N(async () => {
|
|
53
53
|
if (!e.contentLoader) return !0;
|
|
54
54
|
try {
|
|
55
55
|
await e.contentLoader({
|
|
@@ -60,28 +60,28 @@ var z = M("experience"), se = L(({ client: e, experience: r }) => {
|
|
|
60
60
|
`${r.id}`;
|
|
61
61
|
}
|
|
62
62
|
return !0;
|
|
63
|
-
}),
|
|
63
|
+
}), h = P(), g = P(), _ = z.createStore(void 0, { skipVoid: !1 }).on(h, (e, t) => t).on(g, (e, t) => t);
|
|
64
64
|
return I({
|
|
65
|
-
clock:
|
|
66
|
-
target:
|
|
65
|
+
clock: h,
|
|
66
|
+
target: p
|
|
67
67
|
}), I({
|
|
68
|
-
clock:
|
|
69
|
-
source:
|
|
68
|
+
clock: p.doneData,
|
|
69
|
+
source: _,
|
|
70
70
|
filter: (e, t) => t,
|
|
71
71
|
fn: (e) => e,
|
|
72
72
|
target: d
|
|
73
73
|
}), I({
|
|
74
|
-
clock:
|
|
74
|
+
clock: p.doneData,
|
|
75
75
|
filter: Boolean,
|
|
76
|
-
target:
|
|
76
|
+
target: m
|
|
77
77
|
}), I({
|
|
78
|
-
clock:
|
|
79
|
-
source:
|
|
78
|
+
clock: g,
|
|
79
|
+
source: _,
|
|
80
80
|
fn: (e) => e,
|
|
81
81
|
target: d
|
|
82
82
|
}), I({
|
|
83
|
-
clock:
|
|
84
|
-
target:
|
|
83
|
+
clock: g,
|
|
84
|
+
target: m
|
|
85
85
|
}), u = {
|
|
86
86
|
id: r.id,
|
|
87
87
|
key: r.key,
|
|
@@ -92,10 +92,10 @@ var z = M("experience"), se = L(({ client: e, experience: r }) => {
|
|
|
92
92
|
actions: l,
|
|
93
93
|
merge: a.merge,
|
|
94
94
|
initialiseFx: d,
|
|
95
|
-
shouldInitialiseFx:
|
|
96
|
-
initialiseRequested:
|
|
97
|
-
initialiseDirectly:
|
|
98
|
-
prepareExperienceContentFx:
|
|
95
|
+
shouldInitialiseFx: p,
|
|
96
|
+
initialiseRequested: h,
|
|
97
|
+
initialiseDirectly: g,
|
|
98
|
+
prepareExperienceContentFx: m
|
|
99
99
|
}, u;
|
|
100
100
|
});
|
|
101
101
|
function ce(e) {
|
|
@@ -169,7 +169,7 @@ var le = L(({ client: e }) => {
|
|
|
169
169
|
for (let e of i) e.open();
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
|
-
|
|
172
|
+
let a = "key" in n ? {
|
|
173
173
|
key: n.key,
|
|
174
174
|
options: {
|
|
175
175
|
...n.options,
|
|
@@ -181,7 +181,8 @@ var le = L(({ client: e }) => {
|
|
|
181
181
|
...n.options,
|
|
182
182
|
initialiseOpen: !0
|
|
183
183
|
}
|
|
184
|
-
}
|
|
184
|
+
};
|
|
185
|
+
await c(a);
|
|
185
186
|
}
|
|
186
187
|
}),
|
|
187
188
|
listStore: a,
|
|
@@ -324,70 +325,70 @@ function V(e) {
|
|
|
324
325
|
function H(e) {
|
|
325
326
|
return Array.isArray(e);
|
|
326
327
|
}
|
|
327
|
-
function
|
|
328
|
+
function U(e) {
|
|
328
329
|
return e instanceof Promise;
|
|
329
330
|
}
|
|
330
|
-
function
|
|
331
|
+
function Ee(e) {
|
|
331
332
|
return typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1;
|
|
332
333
|
}
|
|
333
|
-
function
|
|
334
|
+
function W(e) {
|
|
334
335
|
if (Te(e)) return e;
|
|
335
336
|
let t = parseFloat(`${e}`);
|
|
336
337
|
return isNaN(t) ? 0 : t;
|
|
337
338
|
}
|
|
338
|
-
function
|
|
339
|
+
function G(e) {
|
|
339
340
|
return `${e}`;
|
|
340
341
|
}
|
|
341
|
-
var
|
|
342
|
+
var De = {
|
|
342
343
|
"==": (e, t) => e == t,
|
|
343
344
|
"===": (e, t) => e === t,
|
|
344
345
|
"!=": (e, t) => e != t,
|
|
345
346
|
"!==": (e, t) => e !== t,
|
|
346
|
-
">": (e, t) =>
|
|
347
|
-
">=": (e, t) =>
|
|
347
|
+
">": (e, t) => W(e) > W(t),
|
|
348
|
+
">=": (e, t) => W(e) >= W(t),
|
|
348
349
|
"<": (e, t, n) => {
|
|
349
|
-
let r =
|
|
350
|
+
let r = W(e), i = W(t);
|
|
350
351
|
if (n === void 0) return r < i;
|
|
351
|
-
let a =
|
|
352
|
+
let a = W(n);
|
|
352
353
|
return r < i && i < a;
|
|
353
354
|
},
|
|
354
355
|
"<=": (e, t, n) => {
|
|
355
|
-
let r =
|
|
356
|
+
let r = W(e), i = W(t);
|
|
356
357
|
if (n === void 0) return r <= i;
|
|
357
|
-
let a =
|
|
358
|
+
let a = W(n);
|
|
358
359
|
return r <= i && i <= a;
|
|
359
360
|
},
|
|
360
|
-
"!!": async (e) => await
|
|
361
|
-
"!": async (e) => !await
|
|
362
|
-
"%": (e, t) =>
|
|
361
|
+
"!!": async (e) => await q(e),
|
|
362
|
+
"!": async (e) => !await q(e),
|
|
363
|
+
"%": (e, t) => W(e) % W(t),
|
|
363
364
|
log: (e) => (console.log(e), e),
|
|
364
|
-
in: (e, t) => t ? V(t) ? t.indexOf(
|
|
365
|
-
cat: (...e) => e.map(
|
|
365
|
+
in: (e, t) => t ? V(t) ? t.indexOf(G(e)) !== -1 : H(t) ? t.includes(e) : !1 : !1,
|
|
366
|
+
cat: (...e) => e.map(G).join(""),
|
|
366
367
|
substr: (e, t, n) => {
|
|
367
|
-
let r =
|
|
368
|
+
let r = G(e), i = W(t);
|
|
368
369
|
if (n === void 0) return r.substr(i);
|
|
369
|
-
let a =
|
|
370
|
+
let a = W(n);
|
|
370
371
|
if (a < 0) {
|
|
371
372
|
let e = r.substr(i);
|
|
372
373
|
return e.substr(0, e.length + a);
|
|
373
374
|
}
|
|
374
375
|
return r.substr(i, a);
|
|
375
376
|
},
|
|
376
|
-
"+": (...e) => e.reduce((e, t) =>
|
|
377
|
-
"*": (...e) => e.reduce((e, t) =>
|
|
377
|
+
"+": (...e) => e.reduce((e, t) => W(e) + W(t), 0),
|
|
378
|
+
"*": (...e) => e.reduce((e, t) => W(e) * W(t), 1),
|
|
378
379
|
"-": (e, t) => {
|
|
379
|
-
let n =
|
|
380
|
-
return t === void 0 ? -n : n -
|
|
380
|
+
let n = W(e);
|
|
381
|
+
return t === void 0 ? -n : n - W(t);
|
|
381
382
|
},
|
|
382
|
-
"/": (e, t) =>
|
|
383
|
-
min: (...e) => Math.min(...e.map(
|
|
384
|
-
max: (...e) => Math.max(...e.map(
|
|
383
|
+
"/": (e, t) => W(e) / W(t),
|
|
384
|
+
min: (...e) => Math.min(...e.map(W)),
|
|
385
|
+
max: (...e) => Math.max(...e.map(W)),
|
|
385
386
|
merge: (...e) => e.reduce((e, t) => H(t) ? e.concat(t) : e.concat([t]), []),
|
|
386
387
|
var(e, t) {
|
|
387
388
|
let n = arguments.length > 1 ? t : null;
|
|
388
389
|
if (e === "" || e === "." || e == null) return this;
|
|
389
390
|
if (typeof e == "number" && Array.isArray(this)) return e >= 0 && e < this.length ? this[e] : n;
|
|
390
|
-
let r =
|
|
391
|
+
let r = G(e);
|
|
391
392
|
if (r === "" || r === ".") return this;
|
|
392
393
|
let i = r.split("."), a = this;
|
|
393
394
|
for (let e of i) {
|
|
@@ -402,16 +403,16 @@ var Oe = {
|
|
|
402
403
|
async missing(...e) {
|
|
403
404
|
let t = H(e[0]) ? e[0] : e, n = [];
|
|
404
405
|
for (let e of t) {
|
|
405
|
-
let t = await
|
|
406
|
+
let t = await K({ var: e }, this);
|
|
406
407
|
(t === null || t === "") && n.push(`${e}`);
|
|
407
408
|
}
|
|
408
409
|
return n;
|
|
409
410
|
},
|
|
410
411
|
async missing_some(e, t) {
|
|
411
|
-
let n = await
|
|
412
|
+
let n = await K({ missing: t }, this);
|
|
412
413
|
if (!H(n) || !H(t)) return [];
|
|
413
414
|
let r = n.filter(V);
|
|
414
|
-
return t.filter(V).length - r.length >=
|
|
415
|
+
return t.filter(V).length - r.length >= W(e) ? [] : r;
|
|
415
416
|
},
|
|
416
417
|
invoke(...e) {
|
|
417
418
|
let [t, ...n] = e;
|
|
@@ -425,101 +426,101 @@ var Oe = {
|
|
|
425
426
|
let [t, i] = e;
|
|
426
427
|
n = t, r = i;
|
|
427
428
|
}
|
|
428
|
-
return !V(n) || !V(r) ? !1 : new RegExp(n, r).test(
|
|
429
|
+
return !V(n) || !V(r) ? !1 : new RegExp(n, r).test(G(t));
|
|
429
430
|
},
|
|
430
431
|
throw(e) {
|
|
431
|
-
throw Error(
|
|
432
|
+
throw Error(G(e));
|
|
432
433
|
}
|
|
433
434
|
};
|
|
434
|
-
async function
|
|
435
|
+
async function K(e, t) {
|
|
435
436
|
if (!e) return e;
|
|
436
|
-
if (
|
|
437
|
-
if (H(e)) return Promise.all(e.map((e) =>
|
|
438
|
-
if (!
|
|
439
|
-
let n =
|
|
437
|
+
if (U(e)) return K(await e, t);
|
|
438
|
+
if (H(e)) return Promise.all(e.map((e) => K(e, t)));
|
|
439
|
+
if (!Ee(e)) return e;
|
|
440
|
+
let n = Oe(e), r = n ? e[n] ?? [] : [];
|
|
440
441
|
switch (H(r) || (r = [r]), n) {
|
|
441
442
|
case "if":
|
|
442
443
|
case "?:":
|
|
443
|
-
for (let e = 0; e < r.length - 1; e += 2) if (await
|
|
444
|
-
return r.length % 2 == 1 ?
|
|
444
|
+
for (let e = 0; e < r.length - 1; e += 2) if (await q(await K(r[e], t))) return K(r[e + 1], t);
|
|
445
|
+
return r.length % 2 == 1 ? K(r[r.length - 1], t) : null;
|
|
445
446
|
case "and": {
|
|
446
447
|
let e = null;
|
|
447
|
-
for (let n of r) if (e = await
|
|
448
|
+
for (let n of r) if (e = await K(n, t), !await q(e)) return e;
|
|
448
449
|
return e;
|
|
449
450
|
}
|
|
450
451
|
case "or": {
|
|
451
452
|
let e = null;
|
|
452
|
-
for (let n of r) if (e = await
|
|
453
|
+
for (let n of r) if (e = await K(n, t), await q(e)) return e;
|
|
453
454
|
return e;
|
|
454
455
|
}
|
|
455
456
|
case "map": {
|
|
456
|
-
let e = await
|
|
457
|
-
return H(e) ? await Promise.all(e.map((e) =>
|
|
457
|
+
let e = await K(r[0], t);
|
|
458
|
+
return H(e) ? await Promise.all(e.map((e) => K(r[1], e))) : [];
|
|
458
459
|
}
|
|
459
460
|
case "filter": {
|
|
460
|
-
let e = await
|
|
461
|
+
let e = await K(r[0], t);
|
|
461
462
|
return H(e) ? (await Promise.all(e.map(async (e) => ({
|
|
462
463
|
item: e,
|
|
463
|
-
shouldInclude: await
|
|
464
|
+
shouldInclude: await q(await K(r[1], e))
|
|
464
465
|
})))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
|
|
465
466
|
}
|
|
466
467
|
case "reduce": {
|
|
467
|
-
let e = await
|
|
468
|
-
if (!H(e)) return r.length > 2 ? await
|
|
469
|
-
let n = r[1], i = r.length > 2 ? await
|
|
470
|
-
for (let t of e) i = await
|
|
468
|
+
let e = await K(r[0], t);
|
|
469
|
+
if (!H(e)) return r.length > 2 ? await K(r[2], t) : null;
|
|
470
|
+
let n = r[1], i = r.length > 2 ? await K(r[2], t) : null;
|
|
471
|
+
for (let t of e) i = await K(n, {
|
|
471
472
|
current: t,
|
|
472
473
|
accumulator: i
|
|
473
474
|
});
|
|
474
475
|
return i;
|
|
475
476
|
}
|
|
476
477
|
case "all": {
|
|
477
|
-
let e = await
|
|
478
|
+
let e = await K(r[0], t);
|
|
478
479
|
if (!H(e) || e.length === 0) return !1;
|
|
479
|
-
for (let t of e) if (!await
|
|
480
|
+
for (let t of e) if (!await q(await K(r[1], t))) return !1;
|
|
480
481
|
return !0;
|
|
481
482
|
}
|
|
482
483
|
case "some": {
|
|
483
|
-
let e = await
|
|
484
|
+
let e = await K(r[0], t);
|
|
484
485
|
if (!H(e)) return !1;
|
|
485
|
-
for (let t of e) if (await
|
|
486
|
+
for (let t of e) if (await q(await K(r[1], t))) return !0;
|
|
486
487
|
return !1;
|
|
487
488
|
}
|
|
488
489
|
case "none": {
|
|
489
|
-
let e = await
|
|
490
|
+
let e = await K(r[0], t);
|
|
490
491
|
if (!H(e)) return !0;
|
|
491
|
-
for (let t of e) if (await
|
|
492
|
+
for (let t of e) if (await q(await K(r[1], t))) return !1;
|
|
492
493
|
return !0;
|
|
493
494
|
}
|
|
494
495
|
case "catch": try {
|
|
495
|
-
return await
|
|
496
|
+
return await K(r[0], t);
|
|
496
497
|
} catch (e) {
|
|
497
|
-
return
|
|
498
|
+
return Ee(e) ? await K(e, t) : r[1] ? await K(r[1], e) : e instanceof Error ? e.message : e;
|
|
498
499
|
}
|
|
499
500
|
}
|
|
500
|
-
let i = await Promise.all(r.map((e) =>
|
|
501
|
+
let i = await Promise.all(r.map((e) => K(e, t))), a = n ? De[n] : void 0;
|
|
501
502
|
if (!a) throw Error(`Unrecognized operation ${n}`);
|
|
502
503
|
return a.apply(t, i);
|
|
503
504
|
}
|
|
504
|
-
async function
|
|
505
|
-
return
|
|
505
|
+
async function q(e) {
|
|
506
|
+
return U(e) ? q(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
|
|
506
507
|
}
|
|
507
|
-
function
|
|
508
|
+
function Oe(e) {
|
|
508
509
|
return Object.keys(e)[0];
|
|
509
510
|
}
|
|
510
511
|
//#endregion
|
|
511
512
|
//#region src/lifecycle/rules-logic.ts
|
|
512
|
-
function
|
|
513
|
+
function ke(e, t, n) {
|
|
513
514
|
return new Proxy(Object.create(null), { get(r, i) {
|
|
514
515
|
if (typeof i != "string") return;
|
|
515
516
|
let a = e.find((e) => e.key === i);
|
|
516
|
-
if (a !== void 0) return async () => n.has(i)
|
|
517
|
+
if (a !== void 0) return async () => !n.has(i) && await K(a.logic, {
|
|
517
518
|
...t,
|
|
518
|
-
conditions:
|
|
519
|
+
conditions: ke(e, t, new Set(n).add(i))
|
|
519
520
|
}) === !0;
|
|
520
521
|
} });
|
|
521
522
|
}
|
|
522
|
-
var
|
|
523
|
+
var Ae = L(({ client: e }) => k({
|
|
523
524
|
source: {
|
|
524
525
|
stateSnapshot: e.stateSnapshotStore,
|
|
525
526
|
predicates: e.predicates.listStore,
|
|
@@ -556,21 +557,21 @@ var je = L(({ client: e }) => k({
|
|
|
556
557
|
features: u,
|
|
557
558
|
...s
|
|
558
559
|
};
|
|
559
|
-
return await
|
|
560
|
+
return await K(o, {
|
|
560
561
|
...d,
|
|
561
|
-
conditions:
|
|
562
|
+
conditions: ke(a, d, /* @__PURE__ */ new Set())
|
|
562
563
|
});
|
|
563
564
|
}
|
|
564
565
|
}));
|
|
565
|
-
function
|
|
566
|
-
return R(
|
|
566
|
+
function je(e) {
|
|
567
|
+
return R(Ae, e);
|
|
567
568
|
}
|
|
568
569
|
//#endregion
|
|
569
570
|
//#region src/ping.ts
|
|
570
|
-
var
|
|
571
|
+
var Me = 6e3, Ne = O("last_ping", "global"), Pe = async (e) => {
|
|
571
572
|
try {
|
|
572
|
-
let t = Date.now(), n = E.get(
|
|
573
|
-
if (n.isSet() && (r = n.json() ?? 0), r && t - r <
|
|
573
|
+
let t = Date.now(), n = E.get(Ne), r = 0;
|
|
574
|
+
if (n.isSet() && (r = n.json() ?? 0), r && t - r < Me) return !0;
|
|
574
575
|
let i = {
|
|
575
576
|
projectId: e.projectId,
|
|
576
577
|
path: window.location.pathname
|
|
@@ -581,23 +582,23 @@ var Ne = 6e3, Pe = O("last_ping", "global"), Fe = async (e) => {
|
|
|
581
582
|
} catch {
|
|
582
583
|
return !1;
|
|
583
584
|
}
|
|
584
|
-
},
|
|
585
|
-
let t =
|
|
585
|
+
}, J = M("lifecycle"), Fe = L(({ client: e }) => {
|
|
586
|
+
let t = J.store(!1), r = F(void 0, {
|
|
586
587
|
skipVoid: !1,
|
|
587
|
-
domain:
|
|
588
|
+
domain: J
|
|
588
589
|
}), i = F(void 0, {
|
|
589
590
|
skipVoid: !1,
|
|
590
|
-
domain:
|
|
591
|
-
}), a =
|
|
591
|
+
domain: J
|
|
592
|
+
}), a = J.store("idle"), o = J.store([]), s = F(void 0, {
|
|
592
593
|
skipVoid: !1,
|
|
593
|
-
domain:
|
|
594
|
+
domain: J
|
|
594
595
|
}), l = F(void 0, {
|
|
595
596
|
skipVoid: !1,
|
|
596
|
-
domain:
|
|
597
|
+
domain: J
|
|
597
598
|
}), u = P(), d = P(), f = P(), p = P(), m = P(), h = P();
|
|
598
599
|
o.on(p, (e, t) => [...e, t]), s.on(m, (e, t) => t), l.on(h, (e, t) => t), t.on(d, () => !0);
|
|
599
600
|
let g = N(() => {
|
|
600
|
-
|
|
601
|
+
Pe(e);
|
|
601
602
|
}), _ = N(async () => {
|
|
602
603
|
await ee();
|
|
603
604
|
}), v = N(async () => {
|
|
@@ -670,19 +671,23 @@ var Ne = 6e3, Pe = O("last_ping", "global"), Fe = async (e) => {
|
|
|
670
671
|
target: e.eventBus
|
|
671
672
|
});
|
|
672
673
|
let w = F(!1).on(_.done, () => !0), T = F(!1).on(f, () => !0), E = F(!1).on(y.done, () => !0), D = A(r, i, (e, t) => e === !0 && t === !0);
|
|
673
|
-
|
|
674
|
+
I({
|
|
674
675
|
clock: f,
|
|
675
676
|
source: D,
|
|
676
677
|
filter: (e) => e,
|
|
677
678
|
fn: () => void 0,
|
|
678
679
|
target: v
|
|
679
|
-
})
|
|
680
|
-
|
|
680
|
+
});
|
|
681
|
+
let O = A(w, T, D, (e, t, n) => e && t && n);
|
|
682
|
+
I({
|
|
683
|
+
clock: O,
|
|
681
684
|
filter: (e) => e,
|
|
682
685
|
fn: () => void 0,
|
|
683
686
|
target: y
|
|
684
|
-
})
|
|
685
|
-
|
|
687
|
+
});
|
|
688
|
+
let te = A(w, T, D, E, (e, t, n, r) => e && t && (!n || r));
|
|
689
|
+
return I({
|
|
690
|
+
clock: te,
|
|
686
691
|
filter: (e) => e,
|
|
687
692
|
fn: () => void 0,
|
|
688
693
|
target: d
|
|
@@ -726,13 +731,13 @@ var Ne = 6e3, Pe = O("last_ping", "global"), Fe = async (e) => {
|
|
|
726
731
|
setCondition: h
|
|
727
732
|
};
|
|
728
733
|
});
|
|
729
|
-
function
|
|
730
|
-
return R(
|
|
734
|
+
function Ie(e) {
|
|
735
|
+
return R(Fe, e);
|
|
731
736
|
}
|
|
732
737
|
//#endregion
|
|
733
738
|
//#region src/entities/predicate/predicate.ts
|
|
734
|
-
var
|
|
735
|
-
let t =
|
|
739
|
+
var Le = M("predicate"), Re = L(({ client: e }) => {
|
|
740
|
+
let t = Le.store({}), n = j(t, { register(e, t) {
|
|
736
741
|
return {
|
|
737
742
|
...e,
|
|
738
743
|
[t.name]: {
|
|
@@ -790,16 +795,23 @@ var Re = M("predicate"), ze = L(({ client: e }) => {
|
|
|
790
795
|
getEvokablePredicate: s
|
|
791
796
|
};
|
|
792
797
|
});
|
|
793
|
-
function
|
|
794
|
-
return R(
|
|
798
|
+
function ze(e) {
|
|
799
|
+
return R(Re, e);
|
|
795
800
|
}
|
|
796
|
-
var
|
|
801
|
+
var Be = (e, t, n) => {
|
|
797
802
|
n.register({
|
|
798
803
|
name: e,
|
|
799
804
|
predicate: t
|
|
800
805
|
});
|
|
801
|
-
},
|
|
802
|
-
|
|
806
|
+
}, Ve = M("feature");
|
|
807
|
+
function Y(e) {
|
|
808
|
+
return e?.enabled === !1;
|
|
809
|
+
}
|
|
810
|
+
function He(e) {
|
|
811
|
+
return e === "true" || e !== "false" && e;
|
|
812
|
+
}
|
|
813
|
+
var Ue = L(({ client: e }) => {
|
|
814
|
+
let t = Ve.store({}), n = Ve.store([]), i = j(t, { register(e, t) {
|
|
803
815
|
return {
|
|
804
816
|
...e,
|
|
805
817
|
[t.id]: t.feature
|
|
@@ -824,14 +836,15 @@ var Ve = (e, t, n) => {
|
|
|
824
836
|
}),
|
|
825
837
|
target: i.register
|
|
826
838
|
});
|
|
827
|
-
let o = N(async ({ id: e, key: t, storage: n = "local" }) => {
|
|
828
|
-
|
|
829
|
-
|
|
839
|
+
let o = N(async ({ id: e, key: t, storage: n = "local", enabled: r }) => {
|
|
840
|
+
if (r === !1) return null;
|
|
841
|
+
let i = O(`feature:${e}:${t}`, "global"), a = (n === "session" ? D : E).get(i).text();
|
|
842
|
+
return a ? {
|
|
830
843
|
id: e,
|
|
831
844
|
key: t,
|
|
832
|
-
bucket:
|
|
845
|
+
bucket: He(a),
|
|
833
846
|
storage: n
|
|
834
|
-
};
|
|
847
|
+
} : null;
|
|
835
848
|
}), s = N((e) => {
|
|
836
849
|
if (!e) return null;
|
|
837
850
|
let t = O(`feature:${e.id}:${e.key}`, "global");
|
|
@@ -846,6 +859,12 @@ var Ve = (e, t, n) => {
|
|
|
846
859
|
if (a) return a;
|
|
847
860
|
let o = e[n];
|
|
848
861
|
if (!o) throw Error(`Feature with id '${n}' not found`);
|
|
862
|
+
if (Y(o.feature)) return {
|
|
863
|
+
id: o.id,
|
|
864
|
+
bucket: !1,
|
|
865
|
+
key: i,
|
|
866
|
+
storage: o.feature.storage
|
|
867
|
+
};
|
|
849
868
|
let s = c.get(`${n}:${i}`);
|
|
850
869
|
if (s !== void 0) {
|
|
851
870
|
let e = await s;
|
|
@@ -874,13 +893,15 @@ var Ve = (e, t, n) => {
|
|
|
874
893
|
return {
|
|
875
894
|
id: t,
|
|
876
895
|
key: n.feature.key,
|
|
877
|
-
storage: n.feature.storage
|
|
896
|
+
storage: n.feature.storage,
|
|
897
|
+
enabled: n.feature.enabled
|
|
878
898
|
};
|
|
879
899
|
},
|
|
880
900
|
target: o
|
|
881
901
|
}), I({
|
|
882
902
|
source: t,
|
|
883
903
|
clock: l.doneData,
|
|
904
|
+
filter: (e, t) => !Y(e[t.id]?.feature),
|
|
884
905
|
fn: (e, t) => {
|
|
885
906
|
let { id: n, bucket: r, storage: i } = t, a = e[n]?.feature.key;
|
|
886
907
|
return a ? {
|
|
@@ -920,8 +941,11 @@ var Ve = (e, t, n) => {
|
|
|
920
941
|
}));
|
|
921
942
|
I({
|
|
922
943
|
clock: l.doneData,
|
|
923
|
-
source: {
|
|
924
|
-
|
|
944
|
+
source: {
|
|
945
|
+
resolvedFeatures: n,
|
|
946
|
+
allFeatures: t
|
|
947
|
+
},
|
|
948
|
+
filter: ({ resolvedFeatures: e, allFeatures: t }, { id: n, key: r }) => !Y(t[n]?.feature) && !e.some((e) => e.id === n && e.key === r),
|
|
925
949
|
fn: (e, t) => t,
|
|
926
950
|
target: e.eventBus.prepend((e) => ({
|
|
927
951
|
type: "feature_decide",
|
|
@@ -929,8 +953,11 @@ var Ve = (e, t, n) => {
|
|
|
929
953
|
}))
|
|
930
954
|
}), I({
|
|
931
955
|
clock: [o.doneData, l.doneData],
|
|
932
|
-
source:
|
|
933
|
-
|
|
956
|
+
source: {
|
|
957
|
+
resolvedFeatures: n,
|
|
958
|
+
allFeatures: t
|
|
959
|
+
},
|
|
960
|
+
fn: ({ resolvedFeatures: e, allFeatures: t }, n) => !n || Y(t[n.id]?.feature) || e.some((e) => e.id === n.id && e.key === n.key) ? e : [...e, n],
|
|
934
961
|
target: n
|
|
935
962
|
});
|
|
936
963
|
function d(e) {
|
|
@@ -972,7 +999,7 @@ var Ge = (e, t, n) => {
|
|
|
972
999
|
id: e,
|
|
973
1000
|
feature: t
|
|
974
1001
|
});
|
|
975
|
-
},
|
|
1002
|
+
}, X = M("history");
|
|
976
1003
|
function Ke(e, t) {
|
|
977
1004
|
return {
|
|
978
1005
|
id: re(`history-entry-${Date.now()}-${Math.random()}}`),
|
|
@@ -982,7 +1009,7 @@ function Ke(e, t) {
|
|
|
982
1009
|
};
|
|
983
1010
|
}
|
|
984
1011
|
var qe = L(() => {
|
|
985
|
-
let e =
|
|
1012
|
+
let e = X.store({ entries: [] }), t = X.event(), n = X.event(), r = X.event(), i = X.event();
|
|
986
1013
|
e.on(t, (e, t) => ({ entries: [...e.entries, Ke(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Ke(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
|
|
987
1014
|
function a(e, t) {
|
|
988
1015
|
let n = {
|
|
@@ -1232,7 +1259,7 @@ var dt = (e, t, n) => {
|
|
|
1232
1259
|
};
|
|
1233
1260
|
//#endregion
|
|
1234
1261
|
//#region src/entities/response/response-validation.ts
|
|
1235
|
-
function
|
|
1262
|
+
function Z(e, t, n, r) {
|
|
1236
1263
|
return {
|
|
1237
1264
|
fieldKey: e.key,
|
|
1238
1265
|
userMessage: n,
|
|
@@ -1240,7 +1267,7 @@ function Y(e, t, n, r) {
|
|
|
1240
1267
|
value: t
|
|
1241
1268
|
};
|
|
1242
1269
|
}
|
|
1243
|
-
function
|
|
1270
|
+
function Q(e) {
|
|
1244
1271
|
return e === null || e === "" || Array.isArray(e) && !e.length;
|
|
1245
1272
|
}
|
|
1246
1273
|
function ft(e) {
|
|
@@ -1260,37 +1287,37 @@ function ht(e, t) {
|
|
|
1260
1287
|
return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
|
|
1261
1288
|
}
|
|
1262
1289
|
function gt(e, t) {
|
|
1263
|
-
if (e.type !== "object" ||
|
|
1290
|
+
if (e.type !== "object" || Q(t)) return null;
|
|
1264
1291
|
if (e.multiple) {
|
|
1265
|
-
if (!Array.isArray(t)) return
|
|
1292
|
+
if (!Array.isArray(t)) return Z(e, t, "This field expects multiple values", "Field expects an array of objects.");
|
|
1266
1293
|
for (let n of t) {
|
|
1267
|
-
if (typeof n != "object" || !n) return
|
|
1268
|
-
if (!pt(n)) return
|
|
1294
|
+
if (typeof n != "object" || !n) return Z(e, t, "This field expects object values", "Field expects an array of objects, but received non-object value.");
|
|
1295
|
+
if (!pt(n)) return Z(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1269
1296
|
}
|
|
1270
1297
|
return null;
|
|
1271
1298
|
}
|
|
1272
|
-
return Array.isArray(t) ?
|
|
1299
|
+
return Array.isArray(t) ? Z(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? Z(e, t, "This field expects an object value", "Field expects an object value.") : pt(t) ? null : Z(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1273
1300
|
}
|
|
1274
1301
|
function _t(e, t) {
|
|
1275
|
-
if (
|
|
1302
|
+
if (Q(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
|
|
1276
1303
|
let n = Array.isArray(t) ? t : [t];
|
|
1277
1304
|
if (e.type === "object") {
|
|
1278
1305
|
let r = new Set(e.options.map((e) => JSON.stringify(e.value)));
|
|
1279
|
-
return n.every((e) => r.has(JSON.stringify(e))) ? null :
|
|
1306
|
+
return n.every((e) => r.has(JSON.stringify(e))) ? null : Z(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
|
|
1280
1307
|
}
|
|
1281
1308
|
let r = e.options.map((e) => e.value);
|
|
1282
|
-
return n.every((e) => !ft(e) || e === null ? !1 : r.includes(e)) ? null :
|
|
1309
|
+
return n.every((e) => !ft(e) || e === null ? !1 : r.includes(e)) ? null : Z(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
|
|
1283
1310
|
}
|
|
1284
1311
|
async function vt(t, n, r, i) {
|
|
1285
|
-
if (n.validation && !e(n.validation) && !
|
|
1312
|
+
if (n.validation && !e(n.validation) && !Q(r)) {
|
|
1286
1313
|
let e = i ? {
|
|
1287
1314
|
$input: r,
|
|
1288
1315
|
responses: i
|
|
1289
1316
|
} : { $input: r }, a = await t(n.validation, e);
|
|
1290
|
-
if (typeof a == "string") return
|
|
1291
|
-
if (a === !1) return
|
|
1317
|
+
if (typeof a == "string") return Z(n, r, a, `Field validation resulted in an error: ${a}.`);
|
|
1318
|
+
if (a === !1) return Z(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
|
|
1292
1319
|
}
|
|
1293
|
-
return n.required &&
|
|
1320
|
+
return n.required && Q(r) ? Z(n, r, "This field is required", "Field is required.") : !n.multiple && Array.isArray(r) && r.length > 1 ? Z(n, r, "This field expects a single response", "Field expects a single response.") : null;
|
|
1294
1321
|
}
|
|
1295
1322
|
//#endregion
|
|
1296
1323
|
//#region src/entities/response/response.ts
|
|
@@ -1538,17 +1565,17 @@ var At = L(() => {
|
|
|
1538
1565
|
let i = { id: e.id };
|
|
1539
1566
|
return e.isUser !== void 0 && (i.isUser = e.isUser), Object.keys(r).length > 0 && (i.identifiers = r), i;
|
|
1540
1567
|
}
|
|
1568
|
+
}), i = k({
|
|
1569
|
+
source: n,
|
|
1570
|
+
effect: (e) => {
|
|
1571
|
+
if (m()) try {
|
|
1572
|
+
E.get(Dt).set(e);
|
|
1573
|
+
} catch {}
|
|
1574
|
+
}
|
|
1541
1575
|
});
|
|
1542
1576
|
return I({
|
|
1543
1577
|
source: n,
|
|
1544
|
-
target:
|
|
1545
|
-
source: n,
|
|
1546
|
-
effect: (e) => {
|
|
1547
|
-
if (m()) try {
|
|
1548
|
-
E.get(Dt).set(e);
|
|
1549
|
-
} catch {}
|
|
1550
|
-
}
|
|
1551
|
-
})
|
|
1578
|
+
target: i
|
|
1552
1579
|
}), {
|
|
1553
1580
|
store: n,
|
|
1554
1581
|
setIsUser: r.setIsUser,
|
|
@@ -1582,13 +1609,13 @@ function Ft(e) {
|
|
|
1582
1609
|
}
|
|
1583
1610
|
//#endregion
|
|
1584
1611
|
//#region src/utils/render-string.ts
|
|
1585
|
-
function
|
|
1612
|
+
function $(e) {
|
|
1586
1613
|
return e == null || e === "" || Number.isNaN(e);
|
|
1587
1614
|
}
|
|
1588
1615
|
var It = {
|
|
1589
|
-
default: (e, t) =>
|
|
1590
|
-
append: (e, t) => t &&
|
|
1591
|
-
prepend: (e, t) => t &&
|
|
1616
|
+
default: (e, t) => $(e) ? String(t ?? "") : String(e),
|
|
1617
|
+
append: (e, t) => t && !$(e) ? `${e} ${t}` : e,
|
|
1618
|
+
prepend: (e, t) => t && !$(e) ? `${t} ${e}` : e,
|
|
1592
1619
|
upper: (e) => typeof e == "string" ? e.toUpperCase() : e,
|
|
1593
1620
|
lower: (e) => typeof e == "string" ? e.toLowerCase() : e,
|
|
1594
1621
|
capitalize: (e) => typeof e == "string" ? e.charAt(0).toUpperCase() + e.slice(1) : e,
|
|
@@ -1621,7 +1648,7 @@ function zt(e, t) {
|
|
|
1621
1648
|
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = It[i];
|
|
1622
1649
|
o && (r = o(r, a));
|
|
1623
1650
|
}
|
|
1624
|
-
return
|
|
1651
|
+
return $(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
|
|
1625
1652
|
}
|
|
1626
1653
|
function Bt(e, t) {
|
|
1627
1654
|
let n = "", r = 0;
|
|
@@ -1641,16 +1668,18 @@ function Bt(e, t) {
|
|
|
1641
1668
|
}
|
|
1642
1669
|
//#endregion
|
|
1643
1670
|
//#region src/utils/preview-session.ts
|
|
1644
|
-
var
|
|
1645
|
-
function
|
|
1646
|
-
return !s() || !h() ? !1 : !!Et()[
|
|
1671
|
+
var Vt = "preview-token";
|
|
1672
|
+
function Ht() {
|
|
1673
|
+
return !s() || !h() ? !1 : !!Et()[Vt]?.[0];
|
|
1647
1674
|
}
|
|
1648
1675
|
//#endregion
|
|
1649
1676
|
//#region src/picked.ts
|
|
1650
|
-
var
|
|
1677
|
+
var Ut = class {
|
|
1651
1678
|
static logger = r;
|
|
1652
1679
|
options;
|
|
1653
1680
|
dataSource = null;
|
|
1681
|
+
seededVersionId = null;
|
|
1682
|
+
versionSkew = null;
|
|
1654
1683
|
contentLoader;
|
|
1655
1684
|
previewEmbedderOrigins = null;
|
|
1656
1685
|
plugins = {};
|
|
@@ -1667,7 +1696,7 @@ var Ht = class {
|
|
|
1667
1696
|
experienceInstances = S({ client: this });
|
|
1668
1697
|
experiences = ue({ client: this });
|
|
1669
1698
|
frameworks = xe({ client: this });
|
|
1670
|
-
predicates =
|
|
1699
|
+
predicates = ze({ client: this });
|
|
1671
1700
|
features = We({ client: this });
|
|
1672
1701
|
conditions = wt();
|
|
1673
1702
|
fields = $e();
|
|
@@ -1677,13 +1706,13 @@ var Ht = class {
|
|
|
1677
1706
|
actions = ut({ client: this });
|
|
1678
1707
|
conditionResults = C();
|
|
1679
1708
|
stateSnapshotStore = we({ client: this });
|
|
1680
|
-
evaluateRuleLogicFx =
|
|
1709
|
+
evaluateRuleLogicFx = je({ client: this });
|
|
1681
1710
|
start;
|
|
1682
1711
|
readyStore;
|
|
1683
1712
|
preconditionPassedStore;
|
|
1684
1713
|
conditionPassedStore;
|
|
1685
1714
|
lifecycleStageStore;
|
|
1686
|
-
lifecycle =
|
|
1715
|
+
lifecycle = Ie({ client: this });
|
|
1687
1716
|
renderStringFx = k({
|
|
1688
1717
|
source: this.responses.listStore,
|
|
1689
1718
|
effect: (e, { template: t, context: n }) => {
|
|
@@ -1702,7 +1731,7 @@ var Ht = class {
|
|
|
1702
1731
|
}), this.maybeStartPreviewChannel();
|
|
1703
1732
|
}
|
|
1704
1733
|
maybeStartPreviewChannel() {
|
|
1705
|
-
|
|
1734
|
+
Ht() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
|
|
1706
1735
|
}
|
|
1707
1736
|
registerFramework = (e) => {
|
|
1708
1737
|
Se(e, this.frameworks);
|
|
@@ -1719,7 +1748,7 @@ var Ht = class {
|
|
|
1719
1748
|
Ge(e, t, this.features);
|
|
1720
1749
|
};
|
|
1721
1750
|
registerPredicate = (e, t) => {
|
|
1722
|
-
|
|
1751
|
+
Be(e, t, this.predicates);
|
|
1723
1752
|
};
|
|
1724
1753
|
registerCondition = (e) => {
|
|
1725
1754
|
this.conditions.register(e);
|
|
@@ -1785,8 +1814,8 @@ var Ht = class {
|
|
|
1785
1814
|
try {
|
|
1786
1815
|
let [t, n] = e.split(":");
|
|
1787
1816
|
if (!t || !n) return;
|
|
1788
|
-
let r = n;
|
|
1789
|
-
|
|
1817
|
+
let r = He(n);
|
|
1818
|
+
this.registerFeature(t, {
|
|
1790
1819
|
key: `${r}`,
|
|
1791
1820
|
name: t,
|
|
1792
1821
|
decide: () => r,
|
|
@@ -1822,11 +1851,19 @@ var Ht = class {
|
|
|
1822
1851
|
});
|
|
1823
1852
|
}
|
|
1824
1853
|
getPluginConfig = (e) => this.plugins[e] ?? {};
|
|
1825
|
-
},
|
|
1826
|
-
async function
|
|
1854
|
+
}, Wt = "application/picked-javascript", Gt = "application/picked-module", Kt = "data-picked-hydrated";
|
|
1855
|
+
async function qt(e) {
|
|
1827
1856
|
if (!("document" in globalThis)) return;
|
|
1828
1857
|
let t = "application/picked-module", n = "data-picked-hydrated";
|
|
1829
|
-
function r(e
|
|
1858
|
+
function r(e) {
|
|
1859
|
+
try {
|
|
1860
|
+
Function(e.textContent);
|
|
1861
|
+
} catch (t) {
|
|
1862
|
+
return t instanceof SyntaxError && (console.error("[picked] Skipped a rehydrated inline script that failed to parse.", t), e.setAttribute(n, ""), !0);
|
|
1863
|
+
}
|
|
1864
|
+
return !1;
|
|
1865
|
+
}
|
|
1866
|
+
function i(e, t) {
|
|
1830
1867
|
let r = document.createElement("script");
|
|
1831
1868
|
for (let t of Array.from(e.attributes)) t.name !== "type" && r.setAttribute(t.name, t.value);
|
|
1832
1869
|
t && r.setAttribute("type", t), r.setAttribute(n, ""), e.src ? r.async = !1 : r.textContent = e.textContent;
|
|
@@ -1835,37 +1872,39 @@ async function $(e) {
|
|
|
1835
1872
|
}) : null;
|
|
1836
1873
|
return e.src ? e.replaceWith(r) : (globalThis.__pickedEmbedScriptRoot = e.getRootNode(), e.replaceWith(r), globalThis.__pickedEmbedScriptRoot = null), i;
|
|
1837
1874
|
}
|
|
1838
|
-
let
|
|
1839
|
-
for (let e of
|
|
1875
|
+
let a = Array.from(e.querySelectorAll(`script[type="application/picked-javascript"]:not([${n}]), script[type="${t}"]:not([${n}])`)).filter((e) => e instanceof HTMLScriptElement);
|
|
1876
|
+
for (let e of a) {
|
|
1840
1877
|
if (!e.isConnected) continue;
|
|
1841
|
-
let n =
|
|
1842
|
-
n &&
|
|
1878
|
+
let n = e.getAttribute("type") === t ? "module" : null;
|
|
1879
|
+
if (!e.src && n === null && r(e)) continue;
|
|
1880
|
+
let a = i(e, n);
|
|
1881
|
+
a && await a;
|
|
1843
1882
|
}
|
|
1844
1883
|
}
|
|
1845
|
-
function
|
|
1846
|
-
return `<script>(${
|
|
1884
|
+
function Jt() {
|
|
1885
|
+
return `<script>(${qt.toString()})(document)<\/script>`;
|
|
1847
1886
|
}
|
|
1848
1887
|
//#endregion
|
|
1849
1888
|
//#region src/utils/html-asset-value.ts
|
|
1850
|
-
function
|
|
1889
|
+
function Yt(e) {
|
|
1851
1890
|
return typeof e == "object" && !!e && "id" in e && typeof e.id == "string" && "content" in e && (typeof e.content == "string" || e.content === null);
|
|
1852
1891
|
}
|
|
1853
1892
|
//#endregion
|
|
1854
1893
|
//#region src/entities/component/lazyComponent.ts
|
|
1855
|
-
function
|
|
1894
|
+
function Xt(e) {
|
|
1856
1895
|
return {
|
|
1857
1896
|
$$type: "lazy-component",
|
|
1858
1897
|
load: e
|
|
1859
1898
|
};
|
|
1860
1899
|
}
|
|
1861
|
-
function
|
|
1900
|
+
function Zt(e) {
|
|
1862
1901
|
return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
|
|
1863
1902
|
}
|
|
1864
1903
|
//#endregion
|
|
1865
1904
|
//#region src/exports.ts
|
|
1866
|
-
var
|
|
1867
|
-
let t = new
|
|
1905
|
+
var Qt = (e) => {
|
|
1906
|
+
let t = new Ut(e);
|
|
1868
1907
|
return u(t), t;
|
|
1869
1908
|
};
|
|
1870
1909
|
//#endregion
|
|
1871
|
-
export {
|
|
1910
|
+
export { Kt as PICKED_HYDRATED_ATTR, Gt as PICKED_MODULE_SCRIPT_TYPE, Wt as PICKED_SCRIPT_TYPE, Vt as PREVIEW_TOKEN_PARAM, Ut as Picked, Jt as buildRehydrateBootstrap, Qt as createClient, fe as createPluginEffect, O as createStorageKey, n as evaluateRuleLogic, Mt as getPickedConfig, Yt as isHtmlAssetValue, h as isInsideIframe, Zt as isLazyLoader, _ as isPickedRoot, Ht as isPreviewSession, Xt as lazyComponent, E as localStore, oe as onInertScriptSubtrees, qt as rehydrateScripts, ie as reportInertScriptSubtrees, ae as resetInertScriptReport, D as sessionStore, T as subscribe, d as supportsCookies, p as supportsCryptoRandomUUID, c as supportsDocument, i as supportsHistory, f as supportsIntersectionObserver, m as supportsLocalStorage, a as supportsLocation, l as supportsSessionStorage, g as supportsShadowRoot, o as supportsWebComponents, s as supportsWindow };
|