@picked/client 0.0.1-dev.1789541668638 → 0.0.1-next.2
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/README.md +8 -0
- package/dist/cjs/index.js +1 -4
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/experience-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/history-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/responses-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/responses-indexeddb-plugin/index.js +1 -0
- package/dist/cjs/plugins/shopify/index.js +1 -0
- package/dist/cjs/plugins/single-page-app/index.js +1 -1
- package/dist/cjs/plugins/window-object/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/index.js +739 -1814
- package/dist/esm/plugins/create-experience/index.js +398 -490
- package/dist/esm/plugins/experience-browserstorage-plugin/index.js +38 -0
- package/dist/esm/plugins/history-browserstorage-plugin/index.js +26 -0
- package/dist/esm/plugins/responses-browserstorage-plugin/index.js +36 -0
- package/dist/esm/plugins/responses-indexeddb-plugin/index.js +101 -0
- package/dist/esm/plugins/shopify/index.js +59 -0
- package/dist/esm/plugins/single-page-app/index.js +35 -31
- package/dist/esm/plugins/window-object/index.js +9 -9
- package/dist/esm/server/index.js +89 -141
- package/dist/experience-instance-6ZKZS7dF.cjs +1 -0
- package/dist/experience-instance-BA0EXYg5.js +712 -0
- package/dist/id-BKIWbSTy.cjs +1 -0
- package/dist/id-BW-g3y32.js +6 -0
- package/dist/logger-BsmHUUw1.cjs +1 -0
- package/dist/logger-C9a75KZn.js +5 -0
- package/dist/object-BbFTsGh3.cjs +1 -0
- package/dist/object-JwZ58NOH.js +28 -0
- package/dist/storage-BPJwmlva.cjs +1 -0
- package/dist/storage-D87xFySf.js +85 -0
- package/dist/supports-BvrzQAVk.js +79 -0
- package/dist/supports-C0y3-V5V.cjs +1 -0
- package/dist/types/client.d.ts +23 -119
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/entities/component/component.d.ts +6 -45
- package/dist/types/entities/component/component.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +99 -160
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +113 -83
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts +8 -118
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +64 -96
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/framework/framework.d.ts +7 -32
- 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/history/history.d.ts.map +1 -1
- package/dist/types/entities/plugin/plugin.d.ts +2 -41
- package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
- package/dist/types/entities/predicate/predicate.d.ts +7 -30
- package/dist/types/entities/predicate/predicate.d.ts.map +1 -1
- package/dist/types/entities/project/project.d.ts +9 -0
- package/dist/types/entities/project/project.d.ts.map +1 -0
- package/dist/types/entities/response/response.d.ts +21 -57
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/exports.d.ts +4 -22
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +11 -13
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +184 -381
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/ping.d.ts +10 -0
- package/dist/types/ping.d.ts.map +1 -0
- package/dist/types/plugins/create-experience/create-experience.d.ts +44 -119
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +2 -2
- package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts +2 -3
- 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/experience-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/experience-browserstorage-plugin/plugin.d.ts +6 -0
- package/dist/types/plugins/experience-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/history-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/{history-browser-storage → history-browserstorage-plugin}/plugin.d.ts +1 -2
- package/dist/types/plugins/history-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/responses-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/responses-browserstorage-plugin/plugin.d.ts +6 -0
- package/dist/types/plugins/responses-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/responses-indexeddb-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/responses-indexeddb-plugin/plugin.d.ts +3 -0
- package/dist/types/plugins/responses-indexeddb-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/shopify/index.d.ts +2 -0
- package/dist/types/plugins/shopify/index.d.ts.map +1 -0
- package/dist/types/plugins/shopify/plugin.d.ts +3 -0
- package/dist/types/plugins/shopify/plugin.d.ts.map +1 -0
- package/dist/types/plugins/shopify/shopify.d.ts +28 -0
- package/dist/types/plugins/shopify/shopify.d.ts.map +1 -0
- package/dist/types/plugins/single-page-app/plugin.d.ts +2 -2
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/plugins/window-object/plugin.d.ts +2 -2
- package/dist/types/server/index.d.ts +3 -18
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +6 -4
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +38 -83
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +2 -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/indexed-db.d.ts +1 -2
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts +1 -2
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts +3 -0
- package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts.map +1 -0
- 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 +7 -17
- 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 +8 -19
- 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 +7 -31
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +2 -3
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +8 -0
- package/dist/types/utils/object.d.ts.map +1 -1
- package/dist/types/utils/rules-logic.d.ts +3 -33
- package/dist/types/utils/rules-logic.d.ts.map +1 -1
- package/dist/types/utils/search-params.d.ts.map +1 -1
- package/dist/types/utils/state-snaphot.d.ts +16 -0
- package/dist/types/utils/state-snaphot.d.ts.map +1 -0
- package/dist/types/utils/storage.d.ts +11 -374
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/dist/types/utils/supports.d.ts +0 -87
- package/dist/types/utils/supports.d.ts.map +1 -1
- package/package.json +49 -182
- package/dist/.tsbuildinfo +0 -1
- package/dist/api-C7q_7vxn.js +0 -22
- package/dist/api-Ctvh1qkk.cjs +0 -1
- package/dist/cjs/form/index.js +0 -1
- package/dist/cjs/plugins/dom-observer/index.js +0 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +0 -1
- package/dist/cjs/plugins/experience-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/responses-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +0 -1
- package/dist/cjs/plugins/telemetry/index.js +0 -1
- package/dist/cjs/plugins/web-components/index.js +0 -1
- package/dist/cjs/preview/index.js +0 -1
- package/dist/docs/_root.css +0 -101
- package/dist/docs/explanation/conditions-and-the-logic-engine.md +0 -94
- package/dist/docs/explanation/content-references.md +0 -99
- package/dist/docs/explanation/feature-flag-allocation.md +0 -218
- package/dist/docs/explanation/how-picked-works.md +0 -124
- package/dist/docs/explanation/how-pickedql-works.md +0 -76
- package/dist/docs/explanation/pages-and-flows.md +0 -64
- package/dist/docs/explanation/the-content-model.md +0 -87
- package/dist/docs/explanation/the-two-apis.md +0 -68
- package/dist/docs/explanation/why-server-side-rendering.md +0 -76
- package/dist/docs/explanation/workspaces-and-versions.md +0 -71
- package/dist/docs/how-to/add-a-step-field-or-action.md +0 -43
- package/dist/docs/how-to/analytics/index.md +0 -316
- package/dist/docs/how-to/archive-or-delete-a-workspace.md +0 -46
- package/dist/docs/how-to/authenticate-the-cli.md +0 -97
- package/dist/docs/how-to/authenticate-with-a-magic-link.md +0 -40
- package/dist/docs/how-to/authenticate-with-a-password.md +0 -51
- package/dist/docs/how-to/authenticate-with-an-api-key.md +0 -51
- package/dist/docs/how-to/authenticate-with-oauth.md +0 -40
- package/dist/docs/how-to/build-a-flow.md +0 -83
- package/dist/docs/how-to/connect-the-mcp-server.md +0 -38
- package/dist/docs/how-to/create-a-content-entry.md +0 -48
- package/dist/docs/how-to/create-a-project.md +0 -29
- package/dist/docs/how-to/create-an-experience.md +0 -42
- package/dist/docs/how-to/create-and-revoke-an-api-key.md +0 -42
- package/dist/docs/how-to/debug-with-the-chrome-extension.md +0 -57
- package/dist/docs/how-to/define-a-page-layout.md +0 -46
- package/dist/docs/how-to/fill-and-publish-a-page.md +0 -66
- package/dist/docs/how-to/install-the-gtm-template.md +0 -84
- package/dist/docs/how-to/install-the-sdk.md +0 -93
- package/dist/docs/how-to/install-the-vite-plugin.md +0 -69
- package/dist/docs/how-to/invite-and-remove-members.md +0 -35
- package/dist/docs/how-to/point-one-entry-at-another.md +0 -61
- package/dist/docs/how-to/preview-a-workspace.md +0 -28
- package/dist/docs/how-to/publish-a-workspace.md +0 -30
- package/dist/docs/how-to/read-a-feature-flag.md +0 -113
- package/dist/docs/how-to/read-a-referenced-entry.md +0 -109
- package/dist/docs/how-to/register-a-component.md +0 -55
- package/dist/docs/how-to/register-an-action-handler.md +0 -67
- package/dist/docs/how-to/render-a-step-form.md +0 -131
- package/dist/docs/how-to/render-an-unpublished-preview.md +0 -41
- package/dist/docs/how-to/reuse-a-section.md +0 -53
- package/dist/docs/how-to/reuse-a-step-field-or-action.md +0 -28
- package/dist/docs/how-to/roll-back-a-published-version.md +0 -26
- package/dist/docs/how-to/run-an-ab-test.md +0 -49
- package/dist/docs/how-to/run-code-on-a-form-submission.md +0 -125
- package/dist/docs/how-to/server-render-a-page.md +0 -81
- package/dist/docs/how-to/set-a-content-security-policy.md +0 -32
- package/dist/docs/how-to/set-up-mfa.md +0 -69
- package/dist/docs/how-to/switch-workspaces.md +0 -122
- package/dist/docs/how-to/upload-and-use-an-asset.mdx +0 -73
- package/dist/docs/how-to/validate-a-field.md +0 -52
- package/dist/docs/how-to/write-a-condition.md +0 -45
- package/dist/docs/how-to/write-a-predicate.md +0 -60
- package/dist/docs/index.md +0 -59
- package/dist/docs/reference/dashboard/actions.mdx +0 -53
- package/dist/docs/reference/dashboard/api-keys.mdx +0 -38
- package/dist/docs/reference/dashboard/conditions.mdx +0 -42
- package/dist/docs/reference/dashboard/content/asset-library.mdx +0 -63
- package/dist/docs/reference/dashboard/content/blocks.mdx +0 -57
- package/dist/docs/reference/dashboard/content/content-entries.mdx +0 -95
- package/dist/docs/reference/dashboard/content/models.mdx +0 -108
- package/dist/docs/reference/dashboard/content/pages.mdx +0 -61
- package/dist/docs/reference/dashboard/experiences.mdx +0 -51
- package/dist/docs/reference/dashboard/features.mdx +0 -154
- package/dist/docs/reference/dashboard/fields.mdx +0 -106
- package/dist/docs/reference/dashboard/flow-builder/canvas.mdx +0 -58
- package/dist/docs/reference/dashboard/flow-builder/condition-builder.md +0 -57
- package/dist/docs/reference/dashboard/flow-builder/keyboard-shortcuts.md +0 -72
- package/dist/docs/reference/dashboard/flow-builder/nodes.md +0 -63
- package/dist/docs/reference/dashboard/projects.mdx +0 -44
- package/dist/docs/reference/dashboard/reports.mdx +0 -43
- package/dist/docs/reference/dashboard/steps.mdx +0 -37
- package/dist/docs/reference/dashboard/team-management.md +0 -29
- package/dist/docs/reference/dashboard/workspace-versioning.mdx +0 -30
- package/dist/docs/reference/dashboard/workspaces.mdx +0 -76
- package/dist/docs/reference/delivery-api/experience-content.md +0 -152
- package/dist/docs/reference/delivery-api/index.md +0 -45
- package/dist/docs/reference/delivery-api/preview-caching-crawling.md +0 -79
- package/dist/docs/reference/delivery-api/project-config.md +0 -65
- package/dist/docs/reference/delivery-api/workspace-schema.md +0 -85
- package/dist/docs/reference/glossary.md +0 -181
- package/dist/docs/reference/management-api/authentication.md +0 -74
- package/dist/docs/reference/management-api/authorization-and-scopes.md +0 -285
- package/dist/docs/reference/management-api/error-handling.md +0 -233
- package/dist/docs/reference/management-api/pagination.md +0 -192
- package/dist/docs/reference/pickedql/data-sources.md +0 -174
- package/dist/docs/reference/pickedql/dimensions.md +0 -103
- package/dist/docs/reference/pickedql/filtering.md +0 -64
- package/dist/docs/reference/pickedql/index.md +0 -18
- package/dist/docs/reference/pickedql/schema.md +0 -172
- package/dist/docs/reference/pickedql/virtual-functions.md +0 -248
- package/dist/docs/reference/sdk/actions.md +0 -30
- package/dist/docs/reference/sdk/analytics-events.md +0 -445
- package/dist/docs/reference/sdk/conditions.md +0 -147
- package/dist/docs/reference/sdk/content-security-policy.md +0 -21
- package/dist/docs/reference/sdk/content.md +0 -213
- package/dist/docs/reference/sdk/experiences.md +0 -51
- package/dist/docs/reference/sdk/features.md +0 -256
- package/dist/docs/reference/sdk/fields.md +0 -255
- package/dist/docs/reference/sdk/index.md +0 -68
- package/dist/docs/reference/sdk/plugins/create-experience.md +0 -123
- package/dist/docs/reference/sdk/plugins/dynamic-experiences.md +0 -74
- package/dist/docs/reference/sdk/plugins/index.md +0 -29
- package/dist/docs/reference/sdk/plugins/window-object.md +0 -25
- package/dist/docs/reference/sdk/predicates.md +0 -43
- package/dist/docs/reference/sdk/ssr/index.md +0 -33
- package/dist/docs/reference/sdk/ssr/rendering-and-hydration.md +0 -103
- package/dist/docs/reference/sdk/ssr/serialize.md +0 -80
- package/dist/docs/reference/sdk/ssr/slots-and-placements.md +0 -59
- package/dist/docs/reference/sdk/steps.md +0 -86
- package/dist/docs/reference/sdk/type-generation.md +0 -196
- package/dist/docs/reference/tools/chrome-extension.md +0 -16
- package/dist/docs/reference/tools/cli.md +0 -146
- package/dist/docs/reference/tools/image-optimisation-service.md +0 -104
- package/dist/docs/reference/tools/mcp.md +0 -90
- package/dist/docs/reference/tools/vite-plugin.md +0 -163
- package/dist/docs/tutorials/first-api-call.md +0 -228
- package/dist/docs/tutorials/first-experience-in-the-dashboard.mdx +0 -143
- package/dist/docs/tutorials/first-experience.mdx +0 -254
- package/dist/docs/tutorials/first-server-rendered-page.mdx +0 -186
- package/dist/dom-BqcToNL0.js +0 -82
- package/dist/dom-DlLH3FxV.cjs +0 -1
- package/dist/emit-D-tLiWL1.cjs +0 -1
- package/dist/emit-Ds2EG7CB.js +0 -14
- package/dist/esm/form/index.js +0 -565
- package/dist/esm/plugins/dom-observer/index.js +0 -87
- package/dist/esm/plugins/dynamic-experiences/index.js +0 -5
- package/dist/esm/plugins/experience-browser-storage/index.js +0 -38
- package/dist/esm/plugins/history-browser-storage/index.js +0 -26
- package/dist/esm/plugins/responses-browser-storage/index.js +0 -71
- package/dist/esm/plugins/responses-indexeddb/index.js +0 -89
- package/dist/esm/plugins/telemetry/index.js +0 -100
- package/dist/esm/plugins/web-components/index.js +0 -19
- package/dist/esm/preview/index.js +0 -2
- package/dist/experience-instance-B9S6Yf0N.js +0 -711
- package/dist/experience-instance-D8rOg6We.cjs +0 -1
- package/dist/id-Bo4RBeOs.js +0 -4
- package/dist/id-Js-62re-.cjs +0 -1
- package/dist/inert-script-report-B_bMPRzp.js +0 -18
- package/dist/inert-script-report-ijRHPtcY.cjs +0 -1
- package/dist/logger-CSTvAyyB.cjs +0 -1
- package/dist/logger-DMN6TxJJ.js +0 -4
- package/dist/object-BUDGxEqy.js +0 -25
- package/dist/object-CIkt7Fkr.cjs +0 -1
- package/dist/plugin-ChafFq6S.js +0 -194
- package/dist/plugin-Dn25Gffy.cjs +0 -1
- package/dist/preview-channel-CSr96XAo.js +0 -98
- package/dist/preview-channel-Cx0e6fye.cjs +0 -1
- package/dist/protocol-Bb_vpLKE.cjs +0 -1
- package/dist/protocol-C5KkkiZc.js +0 -84
- package/dist/provider-B8wvmeC8.js +0 -98
- package/dist/provider-BBLlQOjV.cjs +0 -1
- package/dist/registry-C1t8l3t9.cjs +0 -1
- package/dist/registry-CXZv0uLg.js +0 -18
- package/dist/rules-logic-CGZIYgAI.cjs +0 -1
- package/dist/rules-logic-HesIUCu6.js +0 -13
- package/dist/storage-1MW3-_As.js +0 -103
- package/dist/storage-DUw9UJ2h.cjs +0 -1
- package/dist/supports-CO9bJGNl.js +0 -92
- package/dist/supports-DBzjGaWD.cjs +0 -1
- package/dist/types/data-source/api.d.ts +0 -60
- package/dist/types/data-source/api.d.ts.map +0 -1
- package/dist/types/data-source/provider.d.ts +0 -103
- package/dist/types/data-source/provider.d.ts.map +0 -1
- package/dist/types/data-source/registry.d.ts +0 -26
- package/dist/types/data-source/registry.d.ts.map +0 -1
- package/dist/types/data-source/request-observer.d.ts +0 -62
- package/dist/types/data-source/request-observer.d.ts.map +0 -1
- package/dist/types/data-source/virtual-data.d.ts +0 -19
- package/dist/types/data-source/virtual-data.d.ts.map +0 -1
- package/dist/types/entities/action/action.d.ts +0 -85
- package/dist/types/entities/action/action.d.ts.map +0 -1
- package/dist/types/entities/component/lazyComponent.d.ts +0 -11
- package/dist/types/entities/component/lazyComponent.d.ts.map +0 -1
- package/dist/types/entities/condition/condition.d.ts +0 -29
- package/dist/types/entities/condition/condition.d.ts.map +0 -1
- package/dist/types/entities/content/content.d.ts +0 -53
- package/dist/types/entities/content/content.d.ts.map +0 -1
- package/dist/types/entities/content/reference.d.ts +0 -101
- package/dist/types/entities/content/reference.d.ts.map +0 -1
- package/dist/types/entities/field/policies.d.ts +0 -35
- package/dist/types/entities/field/policies.d.ts.map +0 -1
- package/dist/types/entities/response/response-validation.d.ts +0 -75
- package/dist/types/entities/response/response-validation.d.ts.map +0 -1
- package/dist/types/entities/session/session.d.ts +0 -46
- package/dist/types/entities/session/session.d.ts.map +0 -1
- package/dist/types/entities/step/step.d.ts +0 -56
- package/dist/types/entities/step/step.d.ts.map +0 -1
- package/dist/types/form/build-responses.d.ts +0 -18
- package/dist/types/form/build-responses.d.ts.map +0 -1
- package/dist/types/form/create-field-evaluator.d.ts +0 -28
- package/dist/types/form/create-field-evaluator.d.ts.map +0 -1
- package/dist/types/form/create-field-validation.d.ts +0 -60
- package/dist/types/form/create-field-validation.d.ts.map +0 -1
- package/dist/types/form/create-form.d.ts +0 -153
- package/dist/types/form/create-form.d.ts.map +0 -1
- package/dist/types/form/create-submit-pipeline.d.ts +0 -116
- package/dist/types/form/create-submit-pipeline.d.ts.map +0 -1
- package/dist/types/form/get-step-fields.d.ts +0 -19
- package/dist/types/form/get-step-fields.d.ts.map +0 -1
- package/dist/types/form/index.d.ts +0 -11
- package/dist/types/form/index.d.ts.map +0 -1
- package/dist/types/lifecycle/condition-selection.d.ts +0 -146
- package/dist/types/lifecycle/condition-selection.d.ts.map +0 -1
- package/dist/types/lifecycle/lifecycle.d.ts +0 -48
- package/dist/types/lifecycle/lifecycle.d.ts.map +0 -1
- package/dist/types/lifecycle/rules-logic.d.ts +0 -25
- package/dist/types/lifecycle/rules-logic.d.ts.map +0 -1
- package/dist/types/lifecycle/state-snapshot.d.ts +0 -38
- package/dist/types/lifecycle/state-snapshot.d.ts.map +0 -1
- package/dist/types/plugins/dom-observer/index.d.ts +0 -3
- package/dist/types/plugins/dom-observer/index.d.ts.map +0 -1
- package/dist/types/plugins/dom-observer/plugin.d.ts +0 -50
- package/dist/types/plugins/dom-observer/plugin.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/hash.d.ts +0 -105
- package/dist/types/plugins/dynamic-experiences/hash.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +0 -7
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +0 -49
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +0 -45
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +0 -1
- package/dist/types/plugins/experience-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +0 -7
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/history-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/responses-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +0 -18
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/responses-indexeddb/index.d.ts.map +0 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts +0 -3
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/emit.d.ts +0 -18
- package/dist/types/plugins/telemetry/emit.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/index.d.ts +0 -4
- package/dist/types/plugins/telemetry/index.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/plugin-summary.d.ts +0 -10
- package/dist/types/plugins/telemetry/plugin-summary.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/plugin.d.ts +0 -45
- package/dist/types/plugins/telemetry/plugin.d.ts.map +0 -1
- package/dist/types/plugins/web-components/index.d.ts +0 -2
- package/dist/types/plugins/web-components/index.d.ts.map +0 -1
- package/dist/types/plugins/web-components/plugin.d.ts +0 -4
- package/dist/types/plugins/web-components/plugin.d.ts.map +0 -1
- package/dist/types/preview/index.d.ts +0 -18
- package/dist/types/preview/index.d.ts.map +0 -1
- package/dist/types/preview-bridge/index.d.ts +0 -14
- package/dist/types/preview-bridge/index.d.ts.map +0 -1
- package/dist/types/preview-channel.d.ts +0 -16
- package/dist/types/preview-channel.d.ts.map +0 -1
- package/dist/types/preview-receiver/apply-ops.d.ts +0 -32
- package/dist/types/preview-receiver/apply-ops.d.ts.map +0 -1
- package/dist/types/preview-receiver/index.d.ts +0 -32
- package/dist/types/preview-receiver/index.d.ts.map +0 -1
- package/dist/types/preview-receiver/protocol.d.ts +0 -69
- package/dist/types/preview-receiver/protocol.d.ts.map +0 -1
- package/dist/types/schema-registry.d.ts +0 -206
- package/dist/types/schema-registry.d.ts.map +0 -1
- package/dist/types/server/serialize.d.ts +0 -87
- package/dist/types/server/serialize.d.ts.map +0 -1
- package/dist/types/typed-content.d.ts +0 -17
- package/dist/types/typed-content.d.ts.map +0 -1
- package/dist/types/utils/client-telemetry.d.ts +0 -25
- package/dist/types/utils/client-telemetry.d.ts.map +0 -1
- package/dist/types/utils/content-path.d.ts +0 -37
- package/dist/types/utils/content-path.d.ts.map +0 -1
- package/dist/types/utils/html-asset-value.d.ts +0 -20
- package/dist/types/utils/html-asset-value.d.ts.map +0 -1
- package/dist/types/utils/inert-script-report.d.ts +0 -40
- package/dist/types/utils/inert-script-report.d.ts.map +0 -1
- package/dist/types/utils/node-tree/get-next-node-from-action.d.ts +0 -25
- package/dist/types/utils/node-tree/get-next-node-from-action.d.ts.map +0 -1
- package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts +0 -17
- package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts.map +0 -1
- package/dist/types/utils/node-tree/node-adjacency.d.ts +0 -50
- package/dist/types/utils/node-tree/node-adjacency.d.ts.map +0 -1
- package/dist/types/utils/node-tree/node-tree-index.d.ts +0 -57
- package/dist/types/utils/node-tree/node-tree-index.d.ts.map +0 -1
- package/dist/types/utils/picked-config.d.ts +0 -39
- package/dist/types/utils/picked-config.d.ts.map +0 -1
- package/dist/types/utils/preview-session.d.ts +0 -12
- package/dist/types/utils/preview-session.d.ts.map +0 -1
- package/dist/types/utils/rehydrate-scripts.d.ts +0 -50
- package/dist/types/utils/rehydrate-scripts.d.ts.map +0 -1
- package/dist/types/utils/render-string.d.ts +0 -24
- package/dist/types/utils/render-string.d.ts.map +0 -1
- package/dist/types/utils/user-timing.d.ts +0 -21
- package/dist/types/utils/user-timing.d.ts.map +0 -1
- package/dist/version-CLjPfmxk.cjs +0 -1
- package/dist/version-CPKulHMH.js +0 -256
- /package/dist/types/plugins/{experience-browser-storage → experience-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{history-browser-storage → history-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{responses-browser-storage → responses-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{responses-indexeddb → responses-indexeddb-plugin}/index.d.ts +0 -0
|
@@ -1,180 +1,114 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import type { ExperienceStep } from '../step/step';
|
|
6
|
-
import type { Framework } from '../framework/framework';
|
|
7
|
-
import type { Picked } from '../../picked';
|
|
8
|
-
import type { LogicRule, LogicValue } from '../../logic-engine';
|
|
9
|
-
import type { NodeTreeIndex } from '../../utils/node-tree/node-tree-index';
|
|
1
|
+
import { AdaptedComponent } from '../component/component';
|
|
2
|
+
import { Picked } from '../../picked';
|
|
3
|
+
import { LogicRule } from '../../logic-engine';
|
|
4
|
+
import { Field } from '../field/field';
|
|
10
5
|
export type ExperiencesListStore = ReturnType<typeof createExperienceIndex>;
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
export type ExperienceStore = ReturnType<typeof createExperience>;
|
|
7
|
+
declare const createExperienceFactory: ({ client, experience }: {
|
|
8
|
+
client: Picked;
|
|
9
|
+
experience: Experience;
|
|
10
|
+
}) => {
|
|
13
11
|
id: string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
configStore: Store<{
|
|
12
|
+
configStore: import('effector').Store<{
|
|
13
|
+
type: string;
|
|
17
14
|
name: string;
|
|
18
|
-
decisionLogic
|
|
15
|
+
decisionLogic: LogicRule | undefined;
|
|
19
16
|
targetSelectors: ExperienceTarget[];
|
|
20
|
-
initializeOpenLogic?: LogicRule | LogicValue;
|
|
21
17
|
}>;
|
|
22
|
-
treeStore: Store<{
|
|
18
|
+
treeStore: import('effector').Store<{
|
|
23
19
|
steps: ExperienceStep[];
|
|
24
20
|
nodes: ExperienceNode[];
|
|
25
21
|
edges: ExperienceEdge[];
|
|
26
|
-
|
|
22
|
+
conditionals: ExperienceConditional[];
|
|
27
23
|
}>;
|
|
28
|
-
|
|
29
|
-
* The experience's flow graph, indexed for constant-time reads: node and edge
|
|
30
|
-
* lookups, plus a table of the min/max steps from every node to a leaf and back
|
|
31
|
-
* to an origin. Derived from the experience record, so it rebuilds when that
|
|
32
|
-
* record updates and a table read costs a map lookup.
|
|
33
|
-
*/
|
|
34
|
-
nodeTreeStore: Store<NodeTreeIndex>;
|
|
35
|
-
componentStore: Store<{
|
|
24
|
+
componentStore: import('effector').Store<{
|
|
36
25
|
name: string;
|
|
37
|
-
component: AdaptedComponent
|
|
38
|
-
frameworkStore: Store<Framework | undefined>;
|
|
26
|
+
component: AdaptedComponent<string, unknown>;
|
|
27
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
39
28
|
} | undefined>;
|
|
40
|
-
|
|
41
|
-
/** Effector event that merges a partial experience update into this store. */
|
|
42
|
-
merge: (payload: {
|
|
29
|
+
merge: import('effector').EventCallable<{
|
|
43
30
|
experience: Partial<Experience>;
|
|
44
|
-
strategy:
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* instance per matched DOM target.
|
|
49
|
-
*/
|
|
50
|
-
initialiseFx: Effect<LaunchExperienceOptions | undefined, void, Error>;
|
|
51
|
-
/**
|
|
52
|
-
* Per-experience gate evaluation effect. Attaches over `client.preconditionPassedStore`,
|
|
53
|
-
* the session's `isUser` slice, and `configStore`. Returns true when the experience
|
|
54
|
-
* should be initialised.
|
|
55
|
-
*/
|
|
56
|
-
shouldInitialiseFx: Effect<void, boolean, Error>;
|
|
57
|
-
/**
|
|
58
|
-
* Public event — requests initialisation, gated by `shouldInitialiseFx`. When the
|
|
59
|
-
* gate passes, the sample graph fires `prepareExperienceContentFx` and `initialiseFx`
|
|
60
|
-
* in parallel so content loading does not delay initialisation.
|
|
61
|
-
*/
|
|
62
|
-
initialiseRequested: EventCallable<LaunchExperienceOptions | undefined>;
|
|
63
|
-
/**
|
|
64
|
-
* Public event — requests initialisation directly, bypassing the `shouldInitialiseFx`
|
|
65
|
-
* gate. Fires `prepareExperienceContentFx` and `initialiseFx` in parallel.
|
|
66
|
-
*/
|
|
67
|
-
initialiseDirectly: EventCallable<LaunchExperienceOptions | undefined>;
|
|
68
|
-
/**
|
|
69
|
-
* Prepares per-experience CMS content by calling `client.contentLoader` and
|
|
70
|
-
* registering returned blobs into `client.contents`. Driven by the sample graph
|
|
71
|
-
* on `initialiseRequested`/`initialiseDirectly`; can also be called directly for
|
|
72
|
-
* speculative prefetch (e.g. Visibility-driven warm-up). Failure-tolerant:
|
|
73
|
-
* always resolves `true` even when the loader rejects, so initialisation is
|
|
74
|
-
* never blocked by content failures.
|
|
75
|
-
*/
|
|
76
|
-
prepareExperienceContentFx: Effect<void, boolean, Error>;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Creates an Effector store for a single experience.
|
|
80
|
-
*
|
|
81
|
-
* @template T - Factory parameter type.
|
|
82
|
-
* @param {T} params - The client instance and experience data.
|
|
83
|
-
* @param {Picked} params.client - The Picked client instance the experience is bound to.
|
|
84
|
-
* @param {Experience} params.experience - The experience definition to wrap in stores and effects.
|
|
85
|
-
* @returns {ReturnType<typeof createExperienceFactory>} An experience store with config, tree, fields, and component sub-stores.
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* const store = createExperience({ client, experience })
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
export declare function createExperience(params: {
|
|
92
|
-
client: Picked;
|
|
93
|
-
experience: Experience;
|
|
94
|
-
}): ExperienceStore;
|
|
95
|
-
/** Options for launching an experience. */
|
|
96
|
-
export interface LaunchExperienceOptions {
|
|
97
|
-
/** When true, the experience will be opened immediately after initialization. */
|
|
98
|
-
initialiseOpen?: boolean;
|
|
99
|
-
/** When true, the experience's condition logic is skipped and it is launched unconditionally. */
|
|
100
|
-
bypassCondition?: boolean;
|
|
101
|
-
}
|
|
102
|
-
/** Options for opening an experience. Same as {@link LaunchExperienceOptions} without `initialiseOpen`. */
|
|
103
|
-
export type OpenExperienceOptions = Omit<LaunchExperienceOptions, 'initialiseOpen'>;
|
|
31
|
+
strategy: "override";
|
|
32
|
+
}>;
|
|
33
|
+
};
|
|
34
|
+
export declare function createExperience<T extends Parameters<typeof createExperienceFactory>[0]>(params: T): ReturnType<typeof createExperienceFactory>;
|
|
104
35
|
declare const createExperienceIndexFactory: ({ client }: {
|
|
105
36
|
client: Picked;
|
|
106
37
|
}) => {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
/** Returns a derived store for an experience by its ID. The store value is `undefined` when no match exists. */
|
|
110
|
-
get: (id: Experience['id']) => Store<ExperienceStore | undefined>;
|
|
111
|
-
/** @deprecated Use `experiences.get(id)` instead. */
|
|
112
|
-
getById: (id: Experience['id']) => Store<ExperienceStore | undefined>;
|
|
113
|
-
/** Returns a derived store for an experience by its key. The store value is `undefined` when no match exists. */
|
|
114
|
-
getByKey: (key: Experience['key']) => Store<ExperienceStore | undefined>;
|
|
115
|
-
/** Effector effect that launches an experience by its key. */
|
|
116
|
-
launch: Effect<{
|
|
117
|
-
key: string;
|
|
118
|
-
options?: LaunchExperienceOptions;
|
|
119
|
-
} | {
|
|
38
|
+
register: (experience: Experience) => void;
|
|
39
|
+
getById: (id: Experience["id"]) => import('effector').Store<{
|
|
120
40
|
id: string;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
41
|
+
configStore: import('effector').Store<{
|
|
42
|
+
type: string;
|
|
43
|
+
name: string;
|
|
44
|
+
decisionLogic: LogicRule | undefined;
|
|
45
|
+
targetSelectors: ExperienceTarget[];
|
|
46
|
+
}>;
|
|
47
|
+
treeStore: import('effector').Store<{
|
|
48
|
+
steps: ExperienceStep[];
|
|
49
|
+
nodes: ExperienceNode[];
|
|
50
|
+
edges: ExperienceEdge[];
|
|
51
|
+
conditionals: ExperienceConditional[];
|
|
52
|
+
}>;
|
|
53
|
+
componentStore: import('effector').Store<{
|
|
54
|
+
name: string;
|
|
55
|
+
component: AdaptedComponent<string, unknown>;
|
|
56
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
57
|
+
} | undefined>;
|
|
58
|
+
merge: import('effector').EventCallable<{
|
|
59
|
+
experience: Partial<Experience>;
|
|
60
|
+
strategy: "override";
|
|
61
|
+
}>;
|
|
62
|
+
} | undefined>;
|
|
63
|
+
listStore: import('effector').Store<{
|
|
128
64
|
id: string;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
65
|
+
configStore: import('effector').Store<{
|
|
66
|
+
type: string;
|
|
67
|
+
name: string;
|
|
68
|
+
decisionLogic: LogicRule | undefined;
|
|
69
|
+
targetSelectors: ExperienceTarget[];
|
|
70
|
+
}>;
|
|
71
|
+
treeStore: import('effector').Store<{
|
|
72
|
+
steps: ExperienceStep[];
|
|
73
|
+
nodes: ExperienceNode[];
|
|
74
|
+
edges: ExperienceEdge[];
|
|
75
|
+
conditionals: ExperienceConditional[];
|
|
76
|
+
}>;
|
|
77
|
+
componentStore: import('effector').Store<{
|
|
78
|
+
name: string;
|
|
79
|
+
component: AdaptedComponent<string, unknown>;
|
|
80
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
81
|
+
} | undefined>;
|
|
82
|
+
merge: import('effector').EventCallable<{
|
|
83
|
+
experience: Partial<Experience>;
|
|
84
|
+
strategy: "override";
|
|
85
|
+
}>;
|
|
86
|
+
}[]>;
|
|
135
87
|
};
|
|
136
|
-
/**
|
|
137
|
-
* Creates an Effector-based index for registering and retrieving experiences.
|
|
138
|
-
*
|
|
139
|
-
* @template T - Factory parameter type.
|
|
140
|
-
* @param {T} params - The client instance.
|
|
141
|
-
* @returns {ReturnType<typeof createExperienceIndexFactory>} An experience index with register, getById, getByKey, launch, and open methods.
|
|
142
|
-
* @example
|
|
143
|
-
* ```typescript
|
|
144
|
-
* const index = createExperienceIndex({ client })
|
|
145
|
-
* ```
|
|
146
|
-
*/
|
|
147
88
|
export declare function createExperienceIndex<T extends Parameters<typeof createExperienceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceIndexFactory>;
|
|
148
|
-
export
|
|
149
|
-
export interface ExperienceAction {
|
|
89
|
+
export interface ExperienceStep {
|
|
150
90
|
id: string;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
export interface ActionNode extends BaseNode {
|
|
154
|
-
type: 'action';
|
|
155
|
-
actionId?: string;
|
|
156
|
-
actionKey?: string;
|
|
157
|
-
name?: string;
|
|
91
|
+
label: string;
|
|
92
|
+
fieldIds: string[];
|
|
158
93
|
}
|
|
94
|
+
export type ExperienceNode = StepNode | ConditionalNode | LaunchExperienceNode | OriginNode;
|
|
159
95
|
export interface BaseNode {
|
|
160
96
|
id: string;
|
|
161
97
|
type: string;
|
|
98
|
+
position: [number, number];
|
|
162
99
|
}
|
|
163
100
|
export interface StepNode extends BaseNode {
|
|
164
101
|
type: 'step';
|
|
165
102
|
stepId: string;
|
|
166
|
-
|
|
167
|
-
name?: string;
|
|
103
|
+
label: string;
|
|
168
104
|
}
|
|
169
|
-
export interface
|
|
170
|
-
type: '
|
|
171
|
-
|
|
172
|
-
conditionKey?: string;
|
|
105
|
+
export interface ConditionalNode extends BaseNode {
|
|
106
|
+
type: 'conditional';
|
|
107
|
+
conditionalId: string;
|
|
173
108
|
}
|
|
174
109
|
export interface LaunchExperienceNode extends BaseNode {
|
|
175
110
|
type: 'experience';
|
|
176
111
|
experienceId: string;
|
|
177
|
-
experienceKey: string;
|
|
178
112
|
}
|
|
179
113
|
export interface OriginNode extends BaseNode {
|
|
180
114
|
type: 'origin';
|
|
@@ -183,7 +117,11 @@ export interface ExperienceEdge {
|
|
|
183
117
|
id: string;
|
|
184
118
|
sourceNodeId: string;
|
|
185
119
|
destinationNodeId: string;
|
|
186
|
-
|
|
120
|
+
sourceNodeHandle?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface ExperienceConditional {
|
|
123
|
+
id: string;
|
|
124
|
+
condition: LogicRule;
|
|
187
125
|
}
|
|
188
126
|
export interface ExperienceTarget {
|
|
189
127
|
selector: string;
|
|
@@ -191,30 +129,31 @@ export interface ExperienceTarget {
|
|
|
191
129
|
}
|
|
192
130
|
export interface Experience {
|
|
193
131
|
id: string;
|
|
194
|
-
key: string;
|
|
195
132
|
name: string;
|
|
196
|
-
|
|
133
|
+
type: string;
|
|
197
134
|
component?: AdaptedComponent;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
/** Decision logic that controls whether this experience is initialised. */
|
|
201
|
-
condition?: LogicRule | LogicValue;
|
|
135
|
+
conditionals: ExperienceConditional[];
|
|
136
|
+
decide: LogicRule | undefined;
|
|
202
137
|
edges: ExperienceEdge[];
|
|
203
138
|
nodes: ExperienceNode[];
|
|
139
|
+
fields: Field[];
|
|
140
|
+
steps: ExperienceStep[];
|
|
204
141
|
targets: ExperienceTarget[];
|
|
205
142
|
}
|
|
143
|
+
export declare const setupExperience: (experience: Experience, experienceStore: ExperiencesListStore) => void;
|
|
144
|
+
/**
|
|
145
|
+
* Initializes an experience for each target that exists in the DOM
|
|
146
|
+
*
|
|
147
|
+
* @param client
|
|
148
|
+
* @param experience
|
|
149
|
+
*/
|
|
150
|
+
export declare const initialiseExperience: (client: Picked, experience: ExperienceStore) => void;
|
|
206
151
|
/**
|
|
207
|
-
* Conditionally
|
|
208
|
-
* `initialiseExperiencesFx` effect, which attaches over `client.experiences.listStore`
|
|
209
|
-
* and runs each experience's per-store `shouldInitialiseFx` and `initialiseFx`.
|
|
152
|
+
* Conditionally initializes experiences
|
|
210
153
|
*
|
|
211
|
-
* @param
|
|
212
|
-
* @returns {Promise<void>} Resolves when all per-experience initialisations settle.
|
|
213
|
-
* @example
|
|
214
|
-
* ```typescript
|
|
215
|
-
* await initialiseExperiences(client)
|
|
216
|
-
* ```
|
|
154
|
+
* @param client
|
|
217
155
|
*/
|
|
218
156
|
export declare const initialiseExperiences: (client: Picked) => Promise<void>;
|
|
157
|
+
export declare const shouldInitialiseExperience: (client: Picked, experience: ExperienceStore) => Promise<boolean>;
|
|
219
158
|
export {};
|
|
220
159
|
//# sourceMappingURL=experience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,99 +1,129 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import type { Component } from '../component/component';
|
|
5
|
-
import type { Framework } from '../framework/framework';
|
|
6
|
-
import type { ExperienceStep } from '../step/step';
|
|
7
|
-
import type { Picked } from '../../picked';
|
|
8
|
-
import type { HistoryEntry } from '../history/history';
|
|
9
|
-
export interface ExperienceInstance {
|
|
10
|
-
id: string;
|
|
11
|
-
experienceKey: Experience['key'];
|
|
12
|
-
experienceId: Experience['id'];
|
|
13
|
-
/** Static name snapshot captured at spawn time. Use `configStore` for the latest (reactive) value. */
|
|
14
|
-
experienceName: string;
|
|
15
|
-
configStore: ExperienceStore['configStore'];
|
|
16
|
-
target: HTMLElement | undefined;
|
|
17
|
-
componentStore: ExperienceStore['componentStore'];
|
|
18
|
-
/**
|
|
19
|
-
* Reactive store of the resolved `{ component, framework }` pair for this instance, derived via `combine` over the instance's `componentStore` and `client.frameworks.listStore`. Resolves to `null` when either side is missing.
|
|
20
|
-
*/
|
|
21
|
-
componentAndFrameworkStore: Store<{
|
|
22
|
-
component: Component;
|
|
23
|
-
framework: Framework;
|
|
24
|
-
} | null>;
|
|
25
|
-
stateStore: Store<'transitioning' | 'ready'>;
|
|
26
|
-
isOpenStore: Store<boolean>;
|
|
27
|
-
open: EventCallable<void>;
|
|
28
|
-
close: EventCallable<void>;
|
|
29
|
-
toggleOpen: EventCallable<void>;
|
|
30
|
-
setOpen: EventCallable<boolean>;
|
|
31
|
-
treeStore: ExperienceStore['treeStore'];
|
|
32
|
-
currentNodeStore: Store<ExperienceNode | null>;
|
|
33
|
-
/**
|
|
34
|
-
* The step currently on screen. Only step nodes update it, so it deliberately
|
|
35
|
-
* retains the last resolved step — rather than blanking to `null` — while the
|
|
36
|
-
* engine transits ANY non-step node (an action running or a condition
|
|
37
|
-
* evaluating). Both `StepRouter` bindings keep rendering this step during those
|
|
38
|
-
* transits instead of flashing empty; it is `null` only before the first step
|
|
39
|
-
* resolves. This "hold last step" contract intentionally applies to every
|
|
40
|
-
* non-step transit, not just async actions.
|
|
41
|
-
*/
|
|
42
|
-
currentStepStore: Store<ExperienceStep | null>;
|
|
43
|
-
previousStepStore: Store<ExperienceStep | null>;
|
|
44
|
-
nextReachableStepNodesStore: Store<ExperienceNode[]>;
|
|
45
|
-
stepsToOriginStore: Store<number[]>;
|
|
46
|
-
stepsToLeafStore: Store<number[]>;
|
|
47
|
-
goToNextStep: EventCallable<void>;
|
|
48
|
-
goToPreviousStep: EventCallable<void>;
|
|
49
|
-
goToStepById: EventCallable<string>;
|
|
50
|
-
goToStepByKey: EventCallable<string>;
|
|
51
|
-
stepsHistoryStore: Store<HistoryEntry[]>;
|
|
52
|
-
/**
|
|
53
|
-
* Per-instance mount effect. Attached over `componentAndFrameworkStore` so the render call always receives the current resolved component+framework pair.
|
|
54
|
-
*/
|
|
55
|
-
mountFx: Effect<void, void, Error>;
|
|
56
|
-
}
|
|
1
|
+
import { Experience, ExperienceNode, ExperienceStore, ExperienceTarget } from '../experience/experience';
|
|
2
|
+
import { Picked } from '../../picked';
|
|
3
|
+
export type ExperienceInstance = ReturnType<typeof createExperienceInstance>;
|
|
57
4
|
export type ExperienceInstanceIndex = ReturnType<typeof createExperienceInstanceIndex>;
|
|
58
5
|
export interface ExperienceInstanceTarget {
|
|
59
6
|
selector: HTMLElement[];
|
|
60
7
|
placement: ExperienceTarget['placement'];
|
|
61
8
|
}
|
|
62
|
-
declare const createExperienceInstanceFactory: ({ client, experience, target,
|
|
9
|
+
declare const createExperienceInstanceFactory: ({ client, experience, target, }: {
|
|
63
10
|
client: Picked;
|
|
64
11
|
experience: ExperienceStore;
|
|
65
12
|
target?: HTMLElement;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
13
|
+
}) => {
|
|
14
|
+
experienceId: string;
|
|
15
|
+
configStore: import('effector').Store<{
|
|
16
|
+
type: string;
|
|
17
|
+
name: string;
|
|
18
|
+
decisionLogic: import('../../logic-engine').LogicRule | undefined;
|
|
19
|
+
targetSelectors: ExperienceTarget[];
|
|
20
|
+
}>;
|
|
21
|
+
target: HTMLElement | undefined;
|
|
22
|
+
componentStore: import('effector').Store<{
|
|
23
|
+
name: string;
|
|
24
|
+
component: import('../..').AdaptedComponent<string, unknown>;
|
|
25
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
26
|
+
} | undefined>;
|
|
27
|
+
stateStore: import('effector').StoreWritable<"transitioning" | "ready">;
|
|
28
|
+
isOpenStore: import('effector').StoreWritable<boolean>;
|
|
29
|
+
open: import('effector').EventCallable<void>;
|
|
30
|
+
close: import('effector').EventCallable<void>;
|
|
31
|
+
toggleOpen: import('effector').EventCallable<void>;
|
|
32
|
+
setOpen: import('effector').EventCallable<boolean>;
|
|
33
|
+
treeStore: import('effector').Store<{
|
|
34
|
+
steps: import('../..').ExperienceStep[];
|
|
35
|
+
nodes: ExperienceNode[];
|
|
36
|
+
edges: import('../..').ExperienceEdge[];
|
|
37
|
+
conditionals: import('../..').ExperienceConditional[];
|
|
38
|
+
}>;
|
|
39
|
+
currentNodeStore: import('effector').Store<ExperienceNode | null>;
|
|
40
|
+
currentStepStore: import('effector').Store<import('../..').ExperienceStep | null>;
|
|
41
|
+
nextReachableStepNodesStore: import('effector').Store<ExperienceNode[]>;
|
|
42
|
+
stepsToOriginStore: import('effector').Store<number[]>;
|
|
43
|
+
stepsToLeafStore: import('effector').Store<number[]>;
|
|
44
|
+
goToNextStep: import('effector').EventCallable<void>;
|
|
45
|
+
goToPreviousStep: import('effector').EventCallable<void>;
|
|
46
|
+
goToStepById: import('effector').EventCallable<string>;
|
|
47
|
+
stepsHistoryStore: import('effector').Store<import('../..').HistoryEntry[]>;
|
|
48
|
+
};
|
|
78
49
|
export declare function createExperienceInstance<T extends Parameters<typeof createExperienceInstanceFactory>[0]>(params: T): ReturnType<typeof createExperienceInstanceFactory>;
|
|
79
50
|
declare const createExperienceInstanceIndexFactory: ({ client }: {
|
|
80
51
|
client: Picked;
|
|
81
52
|
}) => {
|
|
82
|
-
spawn: (experience: ExperienceStore, target: HTMLElement
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
53
|
+
spawn: (experience: ExperienceStore, target: HTMLElement) => void;
|
|
54
|
+
getByExperienceId: (id: Experience["id"]) => import('effector').Store<{
|
|
55
|
+
experienceId: string;
|
|
56
|
+
configStore: import('effector').Store<{
|
|
57
|
+
type: string;
|
|
58
|
+
name: string;
|
|
59
|
+
decisionLogic: import('../../logic-engine').LogicRule | undefined;
|
|
60
|
+
targetSelectors: ExperienceTarget[];
|
|
61
|
+
}>;
|
|
62
|
+
target: HTMLElement | undefined;
|
|
63
|
+
componentStore: import('effector').Store<{
|
|
64
|
+
name: string;
|
|
65
|
+
component: import('../..').AdaptedComponent<string, unknown>;
|
|
66
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
67
|
+
} | undefined>;
|
|
68
|
+
stateStore: import('effector').StoreWritable<"transitioning" | "ready">;
|
|
69
|
+
isOpenStore: import('effector').StoreWritable<boolean>;
|
|
70
|
+
open: import('effector').EventCallable<void>;
|
|
71
|
+
close: import('effector').EventCallable<void>;
|
|
72
|
+
toggleOpen: import('effector').EventCallable<void>;
|
|
73
|
+
setOpen: import('effector').EventCallable<boolean>;
|
|
74
|
+
treeStore: import('effector').Store<{
|
|
75
|
+
steps: import('../..').ExperienceStep[];
|
|
76
|
+
nodes: ExperienceNode[];
|
|
77
|
+
edges: import('../..').ExperienceEdge[];
|
|
78
|
+
conditionals: import('../..').ExperienceConditional[];
|
|
79
|
+
}>;
|
|
80
|
+
currentNodeStore: import('effector').Store<ExperienceNode | null>;
|
|
81
|
+
currentStepStore: import('effector').Store<import('../..').ExperienceStep | null>;
|
|
82
|
+
nextReachableStepNodesStore: import('effector').Store<ExperienceNode[]>;
|
|
83
|
+
stepsToOriginStore: import('effector').Store<number[]>;
|
|
84
|
+
stepsToLeafStore: import('effector').Store<number[]>;
|
|
85
|
+
goToNextStep: import('effector').EventCallable<void>;
|
|
86
|
+
goToPreviousStep: import('effector').EventCallable<void>;
|
|
87
|
+
goToStepById: import('effector').EventCallable<string>;
|
|
88
|
+
stepsHistoryStore: import('effector').Store<import('../..').HistoryEntry[]>;
|
|
89
|
+
}[]>;
|
|
90
|
+
listStore: import('effector').Store<{
|
|
91
|
+
experienceId: string;
|
|
92
|
+
configStore: import('effector').Store<{
|
|
93
|
+
type: string;
|
|
94
|
+
name: string;
|
|
95
|
+
decisionLogic: import('../../logic-engine').LogicRule | undefined;
|
|
96
|
+
targetSelectors: ExperienceTarget[];
|
|
97
|
+
}>;
|
|
98
|
+
target: HTMLElement | undefined;
|
|
99
|
+
componentStore: import('effector').Store<{
|
|
100
|
+
name: string;
|
|
101
|
+
component: import('../..').AdaptedComponent<string, unknown>;
|
|
102
|
+
frameworkStore: import('effector').Store<import('../..').Framework | undefined>;
|
|
103
|
+
} | undefined>;
|
|
104
|
+
stateStore: import('effector').StoreWritable<"transitioning" | "ready">;
|
|
105
|
+
isOpenStore: import('effector').StoreWritable<boolean>;
|
|
106
|
+
open: import('effector').EventCallable<void>;
|
|
107
|
+
close: import('effector').EventCallable<void>;
|
|
108
|
+
toggleOpen: import('effector').EventCallable<void>;
|
|
109
|
+
setOpen: import('effector').EventCallable<boolean>;
|
|
110
|
+
treeStore: import('effector').Store<{
|
|
111
|
+
steps: import('../..').ExperienceStep[];
|
|
112
|
+
nodes: ExperienceNode[];
|
|
113
|
+
edges: import('../..').ExperienceEdge[];
|
|
114
|
+
conditionals: import('../..').ExperienceConditional[];
|
|
115
|
+
}>;
|
|
116
|
+
currentNodeStore: import('effector').Store<ExperienceNode | null>;
|
|
117
|
+
currentStepStore: import('effector').Store<import('../..').ExperienceStep | null>;
|
|
118
|
+
nextReachableStepNodesStore: import('effector').Store<ExperienceNode[]>;
|
|
119
|
+
stepsToOriginStore: import('effector').Store<number[]>;
|
|
120
|
+
stepsToLeafStore: import('effector').Store<number[]>;
|
|
121
|
+
goToNextStep: import('effector').EventCallable<void>;
|
|
122
|
+
goToPreviousStep: import('effector').EventCallable<void>;
|
|
123
|
+
goToStepById: import('effector').EventCallable<string>;
|
|
124
|
+
stepsHistoryStore: import('effector').Store<import('../..').HistoryEntry[]>;
|
|
125
|
+
}[]>;
|
|
86
126
|
};
|
|
87
|
-
/**
|
|
88
|
-
* Creates an index that tracks all experience instances keyed by experience ID.
|
|
89
|
-
*
|
|
90
|
-
* @param {Parameters<typeof createExperienceInstanceIndexFactory>[0]} params - Factory parameters including the client.
|
|
91
|
-
* @returns {ExperienceInstanceIndex} The created experience-instance index.
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* const index = createExperienceInstanceIndex({ client })
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
127
|
export declare function createExperienceInstanceIndex<T extends Parameters<typeof createExperienceInstanceIndexFactory>[0]>(params: T): ReturnType<typeof createExperienceInstanceIndexFactory>;
|
|
98
128
|
export {};
|
|
99
129
|
//# sourceMappingURL=experience-instance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAGjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAmB1C,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAC5E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACtF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,QAAA,MAAM,+BAA+B,oCAKhC;IACD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,eAAe,CAAA;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkTF,CAAA;AAED,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAC/D,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAE/D;AAED,QAAA,MAAM,oCAAoC,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;wBAoI7D,eAAe,UAAU,WAAW;4BAQhC,UAAU,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS/C,CAAA;AAEF,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAAC,CAAC,CAAC,EACpE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAEpE"}
|