@salsita-ai/sdk 0.50.0-develop.24077d65e6 → 0.50.0-develop.257ef311fd
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 +19 -14
- package/dist/admin/default-admin-elements.d.ts +9 -0
- package/dist/admin/default-admin-elements.js +1 -0
- package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
- package/dist/admin/default-elements/built-in-entity-element.js +1 -0
- package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
- package/dist/admin/default-elements/built-in-layout-element.js +1 -0
- package/dist/admin/default-elements/index.d.ts +2 -0
- package/dist/admin/default-elements/index.js +1 -0
- package/dist/admin/index.d.ts +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/application-spec/caching/content-diff.js +1 -1
- package/dist/application-spec/core/application-file.d.ts +0 -2
- package/dist/application-spec/core/application-file.js +1 -1
- package/dist/application-spec/errors/diagnostic-codes.d.ts +5 -0
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -0
- package/dist/application-spec/errors/diagnostic-messages.js +1 -1
- package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
- package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
- package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/common/index.js +1 -1
- package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
- package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
- package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
- package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
- package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
- package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
- package/dist/application-spec/generate-application/code/story-files.js +1 -1
- package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
- package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
- package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
- package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
- package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
- package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
- package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
- package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +6 -6
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +59 -63
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
- package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
- package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
- package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
- package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/globals.js +24 -44
- package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
- package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
- package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
- package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
- package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
- package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -7
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
- package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
- package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
- package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
- package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
- package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
- package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
- package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
- package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
- package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
- package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
- package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
- package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
- package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
- package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
- package/dist/application-spec/generate-application/index.d.ts +2 -0
- package/dist/application-spec/generate-application/index.js +1 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
- package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
- package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
- package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
- package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
- package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
- package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
- package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
- package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
- package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
- package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
- package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
- package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
- package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
- package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
- package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
- package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +2 -1
- package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
- package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
- package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
- package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
- package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
- package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
- package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
- package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
- package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
- package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
- package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
- package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
- package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
- package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
- package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
- package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
- package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
- package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
- package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
- package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
- package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
- package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
- package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
- package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
- package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
- package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
- package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
- package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
- package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
- package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
- package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
- package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
- package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
- package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
- package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
- package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
- package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
- package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
- package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
- package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
- package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
- package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
- package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
- package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +6 -2
- package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
- package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
- package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
- package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
- package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
- package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
- package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
- package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
- package/dist/client/phoenix-api.d.ts +367 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +36 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +7 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +21 -1
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/common/index.d.ts +3 -1
- package/dist/configurator/common/index.js +1 -1
- package/dist/configurator/common/use-finalize-action.d.ts +31 -0
- package/dist/configurator/common/use-finalize-action.js +1 -0
- package/dist/configurator/common/use-reset-camera.d.ts +6 -0
- package/dist/configurator/common/use-reset-camera.js +1 -0
- package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
- package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
- package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
- package/dist/configurator/configuration-not-found-page/index.js +1 -0
- package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
- package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
- package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
- package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
- package/dist/configurator/pages/RootPage.js +1 -1
- package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
- package/dist/configurator/pages/configurator-layout-name.js +1 -0
- package/dist/configurator/pages/default-configurator-elements.d.ts +9 -0
- package/dist/configurator/pages/default-configurator-elements.js +1 -0
- package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
- package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
- package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
- package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
- package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
- package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
- package/dist/configurator/pages/default-elements/index.d.ts +4 -0
- package/dist/configurator/pages/default-elements/index.js +1 -0
- package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
- package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
- package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
- package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
- package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
- package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
- package/dist/configurator/pages/index.d.ts +1 -0
- package/dist/configurator/pages/index.js +1 -1
- package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
- package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
- package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
- package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
- package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +1 -1
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
- package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +1 -1
- package/dist/configurator/ui/assistant/entity-link/index.d.ts +0 -1
- package/dist/configurator/ui/assistant/entity-link/index.js +1 -1
- package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
- package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
- package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
- package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
- package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
- package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
- package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
- package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
- package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
- package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
- package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
- package/dist/configurator/ui/assistant/form/form-model.js +1 -0
- package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
- package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
- package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
- package/dist/configurator/ui/assistant/form/form-state.js +1 -0
- package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/form/index.js +1 -0
- package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
- package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
- package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
- package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
- package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
- package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
- package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
- package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
- package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
- package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
- package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
- package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
- package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
- package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
- package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
- package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
- package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
- package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
- package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
- package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
- package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
- package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
- package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
- package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
- package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
- package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
- package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
- package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
- package/dist/configurator/ui/assistant/thread-items.js +1 -1
- package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
- package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
- package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
- package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
- package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
- package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
- package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
- package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
- package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
- package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
- package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
- package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
- package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
- package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
- package/dist/docs/fabs/basic.mdx +2 -2
- package/dist/docs/index.json +1 -1
- package/dist/docs/layouts/custom-layout.mdx +1471 -200
- package/dist/docs/other-features/not-found-404.mdx +1 -1
- package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
- package/dist/docs/phoenix/components.mdx +6 -0
- package/dist/docs/phoenix/configurator-interface.mdx +99 -21
- package/dist/docs/phoenix/deployments.mdx +2 -6
- package/dist/docs/phoenix/domain-model.mdx +2 -0
- package/dist/docs/phoenix/finalization.mdx +1 -1
- package/dist/docs/phoenix/getting-started.mdx +6 -3
- package/dist/docs/phoenix/layout-slots.mdx +12 -10
- package/dist/docs/phoenix/localization.mdx +10 -6
- package/dist/docs/phoenix/migration-guide.mdx +24 -11
- package/dist/docs/phoenix/phoenix-cli.mdx +67 -20
- package/dist/docs/phoenix/project-structure.mdx +70 -33
- package/dist/docs/phoenix/quickstart.mdx +7 -7
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
- package/dist/docs/phoenix/testing.mdx +8 -0
- package/dist/docs/phoenix/webhooks.mdx +21 -4
- package/dist/domain/application/application-config.d.ts +3 -1
- package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
- package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
- package/dist/domain/application/assistant/index.d.ts +2 -0
- package/dist/domain/application/assistant/index.js +1 -1
- package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
- package/dist/domain/application/configurator-builder.d.ts +4 -1
- package/dist/domain/application/configurator-builder.js +1 -1
- package/dist/domain/core/schema/extended-schema-validator.js +1 -1
- package/dist/domain/domain-context/index.d.ts +1 -1
- package/dist/domain/domain-context/undo-system.d.ts +28 -1
- package/dist/domain/domain-context/undo-system.js +1 -1
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
- package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
- package/dist/domain/domain-runtime/spec/selectors.js +1 -1
- package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
- package/dist/domain/system-components/child-entity-selection.js +1 -1
- package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
- package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
- package/dist/editor/Editor.d.ts +7 -0
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/mocks/CreateMockYaml.js +2 -2
- package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
- package/dist/editor/mocks/EditorMockContext.js +1 -1
- package/dist/globals/index.d.ts +2 -0
- package/dist/i18n/locales/cs/messages.js +1 -1
- package/dist/i18n/locales/da/messages.js +1 -1
- package/dist/i18n/locales/de/messages.js +1 -1
- package/dist/i18n/locales/de-AT/messages.js +1 -1
- package/dist/i18n/locales/en/messages.js +1 -1
- package/dist/i18n/locales/en-AU/messages.js +1 -1
- package/dist/i18n/locales/en-GB/messages.js +1 -1
- package/dist/i18n/locales/es/messages.js +1 -1
- package/dist/i18n/locales/fr/messages.js +1 -1
- package/dist/i18n/locales/hu/messages.js +1 -1
- package/dist/i18n/locales/it/messages.js +1 -1
- package/dist/i18n/locales/nl/messages.js +1 -1
- package/dist/i18n/locales/pl/messages.js +1 -1
- package/dist/i18n/locales/pt/messages.js +1 -1
- package/dist/i18n/locales/ro/messages.js +1 -1
- package/dist/i18n/locales/sk/messages.js +1 -1
- package/dist/i18n/locales/tr/messages.js +1 -1
- package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
- package/dist/legacy/domain-cli/utils/cache.js +1 -1
- package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +79 -80
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -2
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
- package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
- package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
- package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
- package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
- package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
- package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
- package/dist/phoenix/application-spec/project-files.js +1 -1
- package/dist/phoenix/bin.d.ts +2 -0
- package/dist/phoenix/bin.js +2 -0
- package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
- package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
- package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
- package/dist/phoenix/check-configs/eslint-config.js +1 -0
- package/dist/phoenix/check-configs/index.d.ts +8 -0
- package/dist/phoenix/check-configs/index.js +1 -0
- package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
- package/dist/phoenix/check-configs/typescript-project.js +1 -0
- package/dist/phoenix/cli.d.ts +0 -1
- package/dist/phoenix/cli.js +1 -2
- package/dist/phoenix/commands/build.js +1 -1
- package/dist/phoenix/commands/check.js +1 -1
- package/dist/phoenix/commands/clean.js +1 -1
- package/dist/phoenix/commands/deploy.js +2 -2
- package/dist/phoenix/commands/deps/deps.d.ts +73 -0
- package/dist/phoenix/commands/deps/deps.js +3 -0
- package/dist/phoenix/commands/deps/index.d.ts +1 -0
- package/dist/phoenix/commands/deps/index.js +1 -0
- package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
- package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
- package/dist/phoenix/commands/dev.js +5 -5
- package/dist/phoenix/commands/fix.js +1 -1
- package/dist/phoenix/commands/index.d.ts +1 -0
- package/dist/phoenix/commands/index.js +1 -1
- package/dist/phoenix/commands/init.d.ts +17 -5
- package/dist/phoenix/commands/init.js +1 -1
- package/dist/phoenix/commands/link.js +1 -1
- package/dist/phoenix/commands/prettier.js +1 -1
- package/dist/phoenix/commands/sync.js +1 -1
- package/dist/phoenix/commands/unlink.js +1 -1
- package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
- package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
- package/dist/phoenix/services/lingui.d.ts +8 -0
- package/dist/phoenix/services/lingui.js +1 -1
- package/dist/phoenix/services/swc.js +1 -1
- package/dist/phoenix/services/vite-config.js +1 -1
- package/dist/phoenix/utils/index.d.ts +4 -2
- package/dist/phoenix/utils/index.js +1 -1
- package/dist/phoenix/utils/node-version/index.d.ts +1 -0
- package/dist/phoenix/utils/node-version/index.js +1 -0
- package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
- package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
- package/dist/phoenix/utils/package-info.d.ts +0 -9
- package/dist/phoenix/utils/package-info.js +1 -1
- package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
- package/dist/phoenix/utils/package-manager/index.js +1 -0
- package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
- package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
- package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
- package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
- package/dist/phoenix/utils/run-command.d.ts +11 -0
- package/dist/phoenix/utils/run-command.js +1 -1
- package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
- package/dist/phoenix/utils/sdk-tool/index.js +1 -0
- package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
- package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
- package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
- package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
- package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
- package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +15 -4
- package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -1
- package/dist/react-sdk/domain-context/index.d.ts +2 -1
- package/dist/react-sdk/domain-context/index.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
- package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
- package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/package.json +46 -35
- package/schema/domain-spec.json +86 -8
- package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
- package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
- package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
- package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
- package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
- package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +0 -5
- package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +0 -1
- package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
- package/dist/phoenix/commands/generate-project-files.js +0 -1
- /package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +0 -0
- /package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.js +0 -0
|
@@ -8,6 +8,12 @@ export interface AssistantToolItem {
|
|
|
8
8
|
readonly input: unknown;
|
|
9
9
|
readonly result: unknown;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* What the forms in a stretch of assistant text are: shown only in the last message of the thread,
|
|
13
|
+
* and usable only once its reply has ended. A form in any earlier message has been answered or
|
|
14
|
+
* passed over, so it is not shown at all.
|
|
15
|
+
*/
|
|
16
|
+
export type AssistantFormsVisibility = 'hidden' | 'disabled' | 'enabled';
|
|
11
17
|
/**
|
|
12
18
|
* One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, a row
|
|
13
19
|
* of chips for the tool calls that follow each other without text in between, or the line that
|
|
@@ -22,6 +28,7 @@ export type AssistantThreadItem = {
|
|
|
22
28
|
readonly id: string;
|
|
23
29
|
readonly markdown: string;
|
|
24
30
|
readonly isStreaming: boolean;
|
|
31
|
+
readonly forms: AssistantFormsVisibility;
|
|
25
32
|
} | {
|
|
26
33
|
readonly kind: 'tools';
|
|
27
34
|
readonly id: string;
|
|
@@ -39,7 +46,7 @@ export interface AssistantThreadView {
|
|
|
39
46
|
* Lays the messages of the chat out as the blocks the thread renders. Reasoning is left out; tool
|
|
40
47
|
* results are not shown on their own but decide the state of the chip of their call.
|
|
41
48
|
*/
|
|
42
|
-
export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean) => AssistantThreadView;
|
|
49
|
+
export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean, isResuming: boolean) => AssistantThreadView;
|
|
43
50
|
/**
|
|
44
51
|
* Lays the closed threads of the conversation out above the thread that continues them, oldest
|
|
45
52
|
* first, each ended by a separator: the assistant read on from a summary of it, not from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{match as t}from"ts-pattern";import{describeToolCall as e}from"./tool-chip.js";let r=t=>{try{return JSON.parse(t)}catch{return t}},i=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,n,s)=>{let l=(t=>{let e=new Map;for(let i of t)for(let t of i.parts)"tool-result"===t.type&&e.set(t.toolCallId,{result:"string"==typeof t.content?r(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return e})(o),a=[],d=o.at(-1),p=t=>{let e=a.at(-1);e?.kind==="tools"?a[a.length-1]={...e,tools:[...e.tools,t]}:a.push({kind:"tools",id:t.id,tools:[t]})};for(let r of o){if("user"===r.role){let t=i(r.parts);t&&a.push({kind:"user",id:r.id,text:t});continue}let o=n&&r===d,u=t({isLast:r===d,isBusy:o||s}).with({isLast:!1},()=>"hidden").with({isBusy:!0},()=>"disabled").otherwise(()=>"enabled");r.parts.forEach((t,i)=>{let n=`${r.id}:${i}`;if("text"===t.type){if(t.content.trim()){let e=o&&i===r.parts.length-1;a.push({kind:"text",id:n,markdown:t.content,isStreaming:e,forms:u})}return}if("tool-call"!==t.type)return;let s=l.get(t.id),d=t.input,h=t.output??s?.result;p({id:t.id,input:d,result:h,chip:e({name:t.name,input:d,result:h,error:s?.error,isReplyRunning:o})})})}let u=a.at(-1),h=d?.role==="assistant"&&(u?.kind==="text"&&u.isStreaming||u?.kind==="tools");return{items:a,isThinking:n&&!h}};export const buildEarlierThreadItems=t=>t.flatMap(({threadId:t,messages:e})=>[...buildThreadView(e,!1,!1).items.map(e=>"text"===e.kind?{...e,id:`${t}:${e.id}`,forms:"hidden"}:{...e,id:`${t}:${e.id}`}),{kind:"separator",id:`${t}:separator`}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as
|
|
1
|
+
import{useCallback as e,useEffect as r,useLayoutEffect as t,useRef as l,useState as c}from"react";export const useFollowStream=(o,n)=>{let s=l(null),i=l(!0),[u,g]=c(!1),h=e(()=>{let e=s.current;i.current=!0,g(!1),e&&(e.scrollTop=e.scrollHeight)},[]),H=e(()=>{let e=s.current;e&&(i.current=e.scrollHeight-e.scrollTop-e.clientHeight<=24,i.current&&g(!1))},[]);return t(()=>{h()},[n,h]),t(()=>{let e=s.current;e&&(i.current?e.scrollTop=e.scrollHeight:e.scrollHeight>e.clientHeight&&g(!0))},[o]),r(()=>{let e=s.current;if(!e)return;let r=()=>{i.current&&(e.scrollTop=e.scrollHeight)},t=new ResizeObserver(r);return t.observe(e),e.addEventListener("load",r,!0),()=>{t.disconnect(),e.removeEventListener("load",r,!0)}},[]),{scrollerRef:s,hasUnseenContent:u,handleScroll:H,scrollToEnd:h}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{Trans as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{useSnackbar as t}from"notistack";import{match as e}from"ts-pattern";import{useConfiguratorMessages as a,useLogger as n}from"#package/react-sdk";export const InvariantViolations=()=>{let{enqueueSnackbar:o}=t(),s=n();return a(t=>{e(t).with({kind:"error"},({error:t})=>{s.error("Uncaught error",t),o(r(i,{id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"}),{variant:"error"})}).with({kind:"violation"},({entityId:r,violation:i,text:t})=>{o(`${String(r)}: ${t}`,{variant:e(i.severity).with("notice",()=>"info").with("warning",()=>"warning").with("fixable",()=>"error").with("fatal",()=>"error").exhaustive()})}).with({kind:"sideEffect"},()=>{}).with({kind:"saveError"},{kind:"saveRecovery"},()=>{}).exhaustive()}),null};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r,jsxs as s,Fragment as
|
|
1
|
+
import{jsx as r,jsxs as s,Fragment as e}from"react/jsx-runtime";import{memo as o}from"react";import{SaveMessageSnackbars as t}from"../../../save-message-snackbars/index.js";import{InvariantViolations as a}from"./InvariantViolations.js";import{SideEffects as i}from"./SideEffects.js";export const Services=o(()=>s(e,{children:[r(a,{}),r(i,{}),r(t,{})]}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{useCallback as i}from"react";import{finalizeButtonComponent as a,finalizePageComponent as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{useCallback as i}from"react";import{finalizeButtonComponent as a,finalizePageComponent as n}from"#package/domain";import{FrontendAnalyticsFactory as o,useAnalyticsService as r,useDomain as s,useFinalizeViolations as l,useFirstRootComponent as d,useLocalizable as m}from"#package/react-sdk";import{TooltipWithArrow as c,useResponsive as p}from"#package/ui-sdk";import{ResponsiveFinalizeButton as u}from"./ResponsiveFinalizeButton.js";import{MobileThemeableFinalizeButton as f,ThemeableFinalizeButton as g}from"./ThemeableFinalizeButton.js";let h={id:"sdk.finalize.notConfigured.tooltip",message:"Finalize feature is not configured."},k=()=>{let{isMobile:i}=p(),a=m(h);return i?t(c,{title:a,children:t("span",{children:t(f,{disabled:!0})})}):t(c,{title:a,children:t("span",{children:t(g,{disabled:!0,children:t(e,{id:"sdk.layout.sidebar.finalize.label",message:"Add to cart"})})})})},z=e=>{let{finalizeNavigationStates:a}=e,{navigationSystem:n,storeSystem:d}=s(),m=r(),c=i(async()=>{let t=a[0];t&&(m.push(o.FinalizeButtonClicked()),d.stageAndCommit([n.getPushNavigationUpdate(t,d.stateSlices.committed.value.state)]))},[a,n,m,d]),{disabled:p,hints:f}=l();return t(u,{onClick:c,disabled:p,hints:f})};export const CommonFinalizeButton=()=>{let e=d(a),i=d(n);return e?e?.state.button:i?t(z,{finalizeNavigationStates:i.state.finalizeNavigationStates}):t(k,{})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as a,Fab as m,styled as o}from"@mui/material";import{useCallback as e}from"react";import{FrontendAnalyticsFactory as i,useAnalyticsService as n}from"#package/react-sdk";import{PhxIcon as l,useResponsive as c}from"#package/ui-sdk";let p=o(m)(({theme:r})=>({backgroundColor:r.palette.primary.main,color:r.palette.getContrastText(r.palette.primary.main)}));export const CommonSummaryButton=m=>{let{onEnterSummary:o}=m,{isMobile:s}=c(),u=n(),d=e(()=>{u.push(i.SummaryButtonClicked()),o()},[u,o]);return s?r(p,{onClick:d,children:r(l,{name:"List"})}):r(a,{color:"primary",variant:"contained",size:"large",fullWidth:!0,endIcon:r(l,{name:"ArrowRight"}),onClick:d,children:r(t,{id:"sdk.layout.summary.button.label",message:"Summary"})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{useAnalyticsService as m,useIntegrationState as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as m,useIntegrationState as n}from"#package/react-sdk";import{PhxIcon as s}from"#package/ui-sdk";import{useConfiguratorRouting as c,usePresetSelection as l,usePreview as p}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as d}from"./CloseConfiguratorButton.js";export const CommonTopNavigation=e(()=>{let e=m(),f=c(),{presetCategories:u}=l(),{isPreview:g,isPreviewEnabled:k}=p(),x=u.flatMap(o=>o.presets).length>1,C=n(),j=i(()=>{e.push(a.GoToProductsClicked()),f.goToIndex()},[e,f]);if(!C.embeddedView)return x||!k||g?x?o(t,{size:"small",startIcon:o(s,{name:"ArrowLeft"}),onClick:j,children:o(r,{id:"sdk.layout.navigation.common.product.label",message:"Website"})}):null:o(d,{})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{tooltipClasses as t}from"@mui/material";import{useCallback as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{tooltipClasses as t}from"@mui/material";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as o,useResolveLocalizable as l}from"#package/react-sdk";import{TooltipWithArrow as n,useResponsive as m}from"#package/ui-sdk";import{MobileThemeableFinalizeButton as s,ThemeableFinalizeButton as p}from"./ThemeableFinalizeButton.js";export const ResponsiveFinalizeButton=c=>{let{title:d,onClick:u,disabled:h,hints:f}=c,{isMobile:k}=m(),x=l(),b=o(),g=a(()=>{b.push(r.FinalizeButtonClicked()),u()},[b,u]);return k?i(n,{title:f,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(s,{onClick:g,disabled:h})})}):i(n,{title:f,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(p,{disabled:h,onClick:g,children:d?x(d):i(e,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as t}from"react/jsx-runtime";import{Stack as r,Typography as e}from"@mui/material";import{match as a}from"ts-pattern";import{isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as l}from"#package/domain";import{useIsFullscreenActive as i,useRootEntityPrice as m}from"#package/react-sdk";import{Sidebar as s,MobileControls as p}from"#package/ui-sdk";import{usePreview as u,useSidebarSummary as f}from"../../../../configurator-context/index.js";import{LayoutSlots as d}from"../../../configurator-layout/index.js";import{LayoutFooter as c,LayoutToolbarReadDesktop as b,LayoutToolbarReadDesktopFullScreen as C,SimpleSummary as j}from"../../../phoenix-layout-elements/index.js";import{
|
|
1
|
+
import{jsx as o,jsxs as t}from"react/jsx-runtime";import{Stack as r,Typography as e}from"@mui/material";import{match as a}from"ts-pattern";import{isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as l}from"#package/domain";import{useIsFullscreenActive as i,useRootEntityPrice as m}from"#package/react-sdk";import{Sidebar as s,MobileControls as p}from"#package/ui-sdk";import{usePreview as u,useSidebarSummary as f}from"../../../../configurator-context/index.js";import{LayoutSlots as d}from"../../../configurator-layout/index.js";import{LayoutFooter as c,LayoutToolbarReadDesktop as b,LayoutToolbarReadDesktopFullScreen as C,SimpleSummary as j}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as g}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as k}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CloseConfiguratorButton as x}from"./CloseConfiguratorButton.js";import{CommonDesktopToolbar as h}from"./CommonDesktopToolbar.js";import{CommonMobileToolbar as v}from"./CommonMobileToolbar.js";import{ReactiveInterfaceLayout as y}from"./ReactiveInterfaceLayout.js";import{ToolControls as w}from"./ToolControls.js";import{ViewControls as T}from"./ViewControls.js";export const SummaryReadLayout=()=>{let{page:B}=f(),L=a(B).with(null,()=>null).when(n,o=>o.state.page).when(l,t=>o(j,{summary:t.state.items})).otherwise(()=>null),M=i(),S=m(),{isPreview:D,isPreviewEnabled:R}=u(),H=!M&&!D&&R;return o(y,{canvas:o(d.Canvas,{}),sidebar:L&&o(s.Layout,{content:L,chat:null,footer:null}),topNavigation:H&&o(x,{}),branding:null,toolbar:o(b,{defaultSlot:()=>o(h,{readMode:!0})}),fullScreenToolbar:o(C,{defaultSlot:()=>o(k,{})}),viewControls:o(T,{}),toolControls:o(w,{}),overlay:o(g,{}),mobileControls:o(p.OrientationContainer,{portraitComponent:o(p.Layout,{chat:null,toolbar:o(v,{readMode:!0}),navigation:null,drawer:!M&&L}),landscapeComponent:null}),mobileTopNavigation:H&&o(x,{}),mobileHeaderActionButton:null,mobileHeaderCenter:!M&&o(e,{variant:"h6",sx:{paddingBlock:1},children:S}),sideEffects:null,footer:t(r,{children:[o(d.DesktopReadonlyBanner,{}),o(c,{})]})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as m,Fragment as r}from"react/jsx-runtime";import{Typography as
|
|
1
|
+
import{jsx as o,jsxs as m,Fragment as r}from"react/jsx-runtime";import{Typography as e}from"@mui/material";import{match as t}from"ts-pattern";import{customPriceFooterComponent as a,isCustomSummaryComponentSnapshot as i,isSimpleSummaryComponentSnapshot as n}from"#package/domain";import{useFirstRootComponent as s,useIsFullscreenActive as l,useRootEntityPrice as p}from"#package/react-sdk";import{MobileControls as c,MobileControls as f}from"#package/ui-sdk";import{useEnterSidebarSummary as u,useHasSidebarSummary as d,useLeaveSidebarSummary as b,useSidebarSummary as g}from"../../../../configurator-context/index.js";import{LayoutSlots as j}from"../../../configurator-layout/index.js";import{LayoutDialog as y,LayoutFooter as v,SimpleSummary as C}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as S}from"../../../save-message-snackbars/index.js";import{MobileChat as h}from"../../chat/MobileChat.js";import{FullscreenDesktopToolbar as k}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as x}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{CommonMobileToolbar as A}from"../common/CommonMobileToolbar.js";import{CommonTopNavigation as T}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as M}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as L}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as N}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as P}from"../common/SideEffects.js";import{ToolControls as E}from"../common/ToolControls.js";import{ViewControls as O}from"../common/ViewControls.js";import{SimpleMobileHeaderAction as V}from"./SimpleMobileHeaderAction.js";import{SimpleSidebar as B}from"./SimpleSidebar.js";import{SimpleSidebarContent as D}from"./SimpleSidebarContent.js";import{SimpleMobileTopNavigation as F}from"./SimpleTopNavigation.js";export const SimpleOwnerLayout=()=>{let H=s(a),I=d(),{isSummaryActive:z,page:R}=g(),q=t(R).with(null,()=>null).when(i,o=>o.state.page).when(n,m=>o(C,{summary:m.state.items})).otherwise(()=>null),G=u(),J=b(),K=p(),Q=l();return o(N,{canvas:o(j.Canvas,{}),sidebar:o(B,{hasSummary:I,isSummaryActive:z,summaryPage:q,price:K,onEnterSummary:G,onLeaveSummary:J,customPriceNode:H?.state.node}),topNavigation:o(T,{}),branding:null,toolbar:o(x,{}),fullScreenToolbar:o(k,{}),viewControls:o(O,{}),toolControls:o(E,{}),overlay:m(r,{children:[o(L,{}),o(S,{}),o(w,{}),o(y,{})]}),mobileControls:o(f.OrientationContainer,{portraitComponent:o(f.Layout,{chat:!Q&&o(h,{icon:"CustomBigAiAssistant",label:{id:"sdk.chat.mobile.assistant.label",message:"AI Assistant"}}),toolbar:o(A,{}),navigation:null,drawer:!Q&&o(D,{summaryPage:q,isSummaryActive:z,onLeaveSummary:J})}),landscapeComponent:o(c.ViewOnlyMode,{message:o(M,{})})}),mobileTopNavigation:!Q&&o(F,{}),mobileHeaderActionButton:!Q&&o(V,{isSummaryPageActive:z,onEnterSummary:G,hasSummary:I}),mobileHeaderCenter:!Q&&o(e,{variant:"h6",sx:{paddingBlock:1},children:K}),sideEffects:o(P,{}),footer:o(v,{})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as m,usePresetEmbeddedState as s}from"#package/react-sdk";import{PhxIcon as n}from"#package/ui-sdk";import{useConfiguratorRouting as l,usePresetSelection as p,usePreview as c}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as f}from"../common/CloseConfiguratorButton.js";export const SimpleMobileTopNavigation=e(()=>{let e=m(),u=l(),{presetCategories:d}=p(),{isPreview:g,isPreviewEnabled:k}=c(),x=d.flatMap(o=>o.presets).length>1,b=i(()=>{e.push(a.GoToProductsClicked()),u.goToIndex()},[e,u]);if(!s())return x||g||!k?x?o(t,{size:"small",startIcon:o(n,{name:"ArrowLeft"}),onClick:b,children:o(r,{id:"sdk.layout.navigation.mobile.product.label",message:"Website"})}):null:o(f,{})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as
|
|
1
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{memo as i,useCallback as o}from"react";import{FrontendAnalyticsFactory as s,useActiveNavigationState as n,useAnalyticsService as r,useDomain as p,usePresetEmbeddedState as c,useResolveLocalizable as l}from"#package/react-sdk";import{TopNavigation as d,useResponsive as m}from"#package/ui-sdk";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:v,storeSystem:x}=p(),h=n(),C=g(),S=l(),{presetCategories:T}=u(),j=c(),N=T.flatMap(t=>t.presets).length>1,b=!j&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=m(),y=o(()=>{k.push(s.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(d.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(d.Step,{isCompleted:!0,onClick:y,compact:P,children:t(a,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,a)=>{let i=b?a<I-1:a<I,o=S(e.label);return t(d.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(s.TopNavigationStepClicked(t)),x.stageAndCommit([v.getNavigationUpdate(t)]))},children:o},o)})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useDomain as p,useFirstRootComponent as c,usePresetEmbeddedState as f,useResolveLocalizable as d,useRootEntityPrice as g,useSelectedDomainEntityId as u,useStoreSelector as v}from"#package/react-sdk";import{MobileControls as b}from"#package/ui-sdk";import{useConfiguratorRouting as j,usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{
|
|
1
|
+
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useDomain as p,useFirstRootComponent as c,usePresetEmbeddedState as f,useResolveLocalizable as d,useRootEntityPrice as g,useSelectedDomainEntityId as u,useStoreSelector as v}from"#package/react-sdk";import{MobileControls as b}from"#package/ui-sdk";import{useConfiguratorRouting as j,usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as I}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as h}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as N}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{DefaultViewOnlyMessage as A}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as D}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as E}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as L}from"../common/SideEffects.js";import{ToolControls as M}from"../common/ToolControls.js";import{ViewControls as P}from"../common/ViewControls.js";import{StepsNavigation as V}from"./StepsNavigation.js";import{StepsSideBar as F}from"./StepsSideBar.js";export const StepsOwnerLayout=()=>{let{storeSystem:O,navigationSystem:B}=p(),H=d(),R=m(),U=u(),z=c(r),$=c(n),q=l({componentTypes:[s],entityIds:[U]}),G=i(()=>z?.state.steps??[],[z]),J=i(()=>(q??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:H(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(R)}}),[q,R,H]),K=i(()=>{let o=J.find(o=>o.isActive);return o?.value??"none"},[J]),Q=v(o=>U===o.state.rootEntityId,[U]),W=g(),X=j(),{presetCategories:Y}=S(),Z=f(),_=Y.flatMap(o=>o.presets).length>1,oo=!Z&&_,ot=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o-1];if(!t){oo&&X.goToIndex();return}let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,oo,X,O]),oe=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o+1];if(!t)return;let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,O]),oa=i(()=>G.findIndex(o=>o.navigationStates.includes(R))===G.length-1,[G,R]);return o(E,{canvas:o(x.Canvas,{}),sidebar:o(F,{price:W,tabs:J,activeTab:K,isRootPage:Q,customPriceNode:$?.state.node,isLastStep:oa,onNextStepClick:oe,onPreviousStepClick:ot}),viewControls:o(P,{}),toolControls:o(M,{}),topNavigation:o(V,{steps:G}),branding:null,toolbar:o(k,{defaultSlot:()=>o(N,{})}),fullScreenToolbar:o(T,{defaultSlot:()=>o(h,{})}),overlay:t(e,{children:[o(D,{}),o(I,{}),o(w,{}),o(C,{})]}),mobileControls:o(b.ViewOnlyMode,{message:o(A,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(L,{}),footer:o(y,{})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{Button as i,Stack as n}from"@mui/material";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as l,useAnalyticsService as s,usePresetEmbeddedState as m,useResolveLocalizable as c,useSession as p}from"#package/react-sdk";import{PhxIcon as u,SidebarPrice as d,StepsSidebarFooterLayout as k}from"#package/ui-sdk";import{CommonFinalizeButton as f}from"../common/CommonFinalizeButton.js";import{SaveTemplateButton as g}from"../common/SaveTemplateButton.js";import{SetAsTemplateButton as h}from"../common/SetAsTemplateButton.js";let x={id:"sdk.totalPrice",message:"Total price"},S=t=>{let{onClick:r}=t,n=s(),m=a(()=>{n.push(l.PreviousStepButtonClicked()),r()},[n,r]);return e(i,{size:"large",startIcon:e(u,{name:"ArrowLeft"}),fullWidth:!0,onClick:m,children:e(o,{id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"})})},B=t=>{let{onClick:r}=t,n=s(),m=a(()=>{n.push(l.NextStepButtonClicked()),r()},[n,r]);return e(i,{variant:"contained",size:"large",endIcon:e(u,{name:"ArrowRight"}),fullWidth:!0,onClick:m,children:e(o,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})})};export const StepsSidebarFooter=o=>{let{formattedPrice:i,customPriceNode:a,isLastStep:l,onPreviousStepClick:s,onNextStepClick:u}=o,b=m(),C=c(),j=null!=p().rawAdminSessionToken,v=j&&b,A=j&&!b;return e(k,{priceNode:t(r,{children:[a,!a&&i&&t(n,{alignItems:"center",flexWrap:"wrap",direction:"row",children:[e(d.Label,{label:C(x),sx:{marginInlineEnd:"auto"}}),e(d.Value,{value:i})]})]}),startActionButton:e(S,{onClick:s}),endActionButton:t(r,{children:[!l&&e(B,{onClick:u}),l&&!v&&e(f,{}),l&&v&&e(g,{})]}),templateButton:l&&A&&e(h,{})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useMemo as r}from"react";import{match as a}from"ts-pattern";import{customPriceFooterComponent as m,isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as i,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as l,useComponents as c,useFirstRootComponent as p,useResolveLocalizable as f,useRootEntityPrice as u,useSelectedDomainEntityId as d,useStoreSelector as b}from"#package/react-sdk";import{MobileControls as g}from"#package/ui-sdk";import{useEnterSidebarSummary as v,useHasSidebarSummary as j,useLeaveSidebarSummary as y,useSidebarSummary as T}from"../../../../configurator-context/index.js";import{LayoutSlots as h}from"../../../configurator-layout/index.js";import{LayoutDialog as w,LayoutFooter as
|
|
1
|
+
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useMemo as r}from"react";import{match as a}from"ts-pattern";import{customPriceFooterComponent as m,isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as i,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as l,useComponents as c,useFirstRootComponent as p,useResolveLocalizable as f,useRootEntityPrice as u,useSelectedDomainEntityId as d,useStoreSelector as b}from"#package/react-sdk";import{MobileControls as g}from"#package/ui-sdk";import{useEnterSidebarSummary as v,useHasSidebarSummary as j,useLeaveSidebarSummary as y,useSidebarSummary as T}from"../../../../configurator-context/index.js";import{LayoutSlots as h}from"../../../configurator-layout/index.js";import{LayoutDialog as w,LayoutFooter as x,SimpleSummary as C}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as k}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as S}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as E}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as A}from"../common/CommonFinalizePage.js";import{CommonTopNavigation as I}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as N}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as P}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as V}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as D}from"../common/SideEffects.js";import{ToolControls as F}from"../common/ToolControls.js";import{ViewControls as L}from"../common/ViewControls.js";import{TabsSidebar as M}from"./TabsSidebar.js";export const TabsOwnerLayout=()=>{let O=f(),H=l(),R=d(),{isSummaryActive:z,page:B}=T(),$=a(B).with(null,()=>null).when(n,o=>o.state.page).when(i,t=>o(C,{summary:t.state.items})).otherwise(()=>null),q=j(),G=v(),J=y(),K=c({componentTypes:[s],entityIds:[R]}),Q=p(m),U=b(o=>R===o.state.rootEntityId,[R]),W=r(()=>(K??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:O(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(H)}}),[K,H,O]),X=r(()=>{let o=W.find(o=>o.isActive);return o?.value??"none"},[W]),Y=u();return o(e,{children:o(V,{canvas:o(h.Canvas,{}),sidebar:o(M,{hasSummary:q,isSummaryActive:z,summaryPage:$,price:Y,onEnterSummary:G,onLeaveSummary:J,tabs:W,activeTab:X,isRootPage:U,customPriceNode:Q?.state.node}),topNavigation:o(I,{}),branding:null,toolbar:o(E,{}),fullScreenToolbar:o(S,{}),viewControls:o(L,{}),toolControls:o(F,{}),overlay:t(e,{children:[o(P,{}),o(k,{}),o(A,{}),o(w,{})]}),mobileControls:o(g.ViewOnlyMode,{message:o(N,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(D,{}),footer:o(x,{})})})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDimensionConfig as o,useDimensionState as l,useDimensions as s,useLocalizable as u}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";let h=o=>{let{value:l}=o,u=n(),{setGlobalUnit:h}=s(),p=e(()=>{u.push(a.GlobalDimensionsButtonClicked(l)),h(l)},[u,l,h]),f=i(()=>m(l).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[l]),w=i(()=>m(l).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[l]);return t(c.Item,{value:l,"aria-label":w,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=l(),m=u(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useLingui as i,Trans as t}from"@lingui/react";import{Switch as a}from"@mui/material";import{useObservableEagerState as r}from"observable-hooks";import{useCallback as o}from"react";import{applicationConfigComponent as m}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useFirstRootComponent as c}from"#package/react-sdk";import{MobileToolbar as l}from"#package/ui-sdk";import{useConfigurator as p}from"../../../../application-runtime/index.js";let d={"aria-label":{id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"}};export const MeasurementsIndicatorsSwitch=()=>{let{_:u}=i(),g=c(m),f=g?.state.indicatorSwitch??!0,k=s(),{canvasSystem:b}=p(),h=r(b.dimensionIndicatorShown$),I=o(()=>{k.push(n.DimensionIndicatorsToggled()),b.toggleDimensionIndicator()},[k,b]);return f?e(l.SectionItem,{title:e(t,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(a,{inputProps:{...d,"aria-label":u(d["aria-label"])},checked:h,onChange:I})}):null};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{memo as l,useCallback as t}from"react";import{useAnalyticsService as o,useDomain as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{memo as l,useCallback as t}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as o,useDomain as s,useLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as i,PhxIcon as a}from"#package/ui-sdk";let c={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarAction=l(({openFullscreenButtonTitle:l=c,showTitle:m=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=s(),p=t(()=>{u.push(r.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),f=n(l);return e(i.Button,{title:f,size:"small",onClick:p,showTitle:m,children:e(a,{name:"ArrowsOut"})})});let m={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarAction=l(({exitFullscreenButtonTitle:l=m,showTitle:c=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=s(),p=t(()=>{u.push(r.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[u,d,g]),f=n(l);return e(i.Button,{title:f,size:"small",onClick:p,showTitle:c,children:e(a,{name:"ArrowsIn"})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as l}from"@mui/material";import{useCallback as a,useState as i}from"react";import{FrontendAnalyticsFactory as s,useAnalyticsService as n,useResolveLocalizable as m}from"#package/react-sdk";import{DesktopToolbar as p,Dialog as c,PhxIcon as d}from"#package/ui-sdk";let u={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarAction=g=>{let{content:h}=g,[k,b]=i(!1),f=n(),C=a(()=>{f.push(s.HelpDialogOpened()),b(!0)},[f]),x=a(()=>{f.push(s.HelpDialogClosed()),b(!1)},[f]),H=m();return o(t,{children:[e(p.Button,{title:H(u),onClick:C,children:e(d,{name:"Question"})}),e(c.Root,{isOpen:k,onClose:x,children:e(c.ContentLayout,{body:h,controls:e(l,{variant:"contained",onClick:x,children:e(r,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useLingui as a}from"@lingui/react";import{Box as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useLingui as a}from"@lingui/react";import{Box as n,Stack as m}from"@mui/material";import{memo as s,useCallback as o,useMemo as i}from"react";import{match as u}from"ts-pattern";import{DimensionUnit as c}from"#package/domain";import{FrontendAnalyticsFactory as p,useAnalyticsService as l,useDimensionState as h}from"#package/react-sdk";import{DesktopToolbar as d,PhxIcon as M}from"#package/ui-sdk";import{DimensionUnitSelector as g}from"../common/DimensionUnitSelector.js";import{MeasurementsIndicatorsSwitch as f}from"../common/MeasurementsIndicatorsSwitch.js";export const MeasurementIcon=t=>{let{unit:r}=t;return u(r).with(c.mm,()=>e(M,{name:"CustomMeasureMm"})).with(c.cm,()=>e(M,{name:"CustomMeasureCm"})).with(c.m,()=>e(M,{name:"CustomMeasureM"})).with(c.inch,()=>e(M,{name:"CustomMeasureIn"})).with(c.feet,()=>e(M,{name:"CustomMeasureFt"})).exhaustive()};let C="measurements";export const MeasurementsToolbarAction=s(s=>{let{anchorRef:u,onClose:c,onToggle:M,openedKey:k,i18n:x}=s,{_:w}=a(),b=i(()=>({changeMeasureButtonTitle:w({id:"sdk.measurements",message:"Change measure"}),changeMeasureButtonAriaLabel:w({id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"}),...x}),[x,w]),j=l(),{unit:B}=h(),I=o(()=>{j.push(p.MeasurementsMenuToggled()),M(C)},[j,M]),T=o(e=>{j.push(p.MeasurementsMenuClosed()),c(e)},[j,c]);return t(r,{children:[e(d.Button,{title:b.changeMeasureButtonTitle,size:"small","aria-expanded":k===C?"true":void 0,"aria-label":b.changeMeasureButtonAriaLabel,"aria-haspopup":"menu",onClick:I,children:e(MeasurementIcon,{unit:B})}),e(d.Popper,{placement:"top-start",anchorEl:u.current,isOpen:k===C,onClose:T,children:e(n,{component:"div",sx:{p:2},children:t(m,{spacing:2,direction:"column",children:[e(f,{}),e(g,{})]})})})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useThemeProps as r}from"@mui/material";import{useObservableEagerState as t}from"observable-hooks";import{memo as d,useCallback as i}from"react";import{
|
|
1
|
+
import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useThemeProps as r}from"@mui/material";import{useObservableEagerState as t}from"observable-hooks";import{memo as d,useCallback as i}from"react";import{FrontendAnalyticsFactory as l,useAnalyticsService as a,useDomain as s,useResolveLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as m,PhxIcon as u}from"#package/ui-sdk";let p={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"},c={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const UndoRedoToolbarGroup=d(d=>{let{showLabels:k=!1,disableTooltip:b=!1,undoButtonTitle:h=p,redoButtonTitle:C=c}=r({name:"PhxToolbarUndoRedo",props:d}),f=a(),{undoSystem:w}=s(),{canUndo:R,canRedo:T}=t(w.can$),x=n(),B=i(()=>{f.push(l.UndoButtonClicked()),w.undo()},[f,w]),g=i(()=>{f.push(l.RedoButtonClicked()),w.redo()},[f,w]);return e(m.ButtonGroup,{children:[o(m.Button,{title:x(h),onClick:B,disabled:!R,showTitle:k,disableTooltip:b,children:o(u,{name:"ArrowCounterClockwise"})}),o(m.Button,{title:x(C),onClick:g,disabled:!T,showTitle:k,disableTooltip:b,children:o(u,{name:"ArrowClockwise"})})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{memo as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as r}from"react";import{createPhoenixLayoutElement as o,enterFullscreenToolbarButtonSchema as l}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDomain as s,useLocalizable as m}from"#package/react-sdk";import{DesktopToolbar as c,PhxIcon as i}from"#package/ui-sdk";let p={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarButton=o({schema:l,component:t(t=>{let{icon:o,showTitle:l=!1}=t,u=n(),{navigationSystem:d,storeSystem:g}=s(),f=r(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),k=m(p);return e(c.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(i,{name:o??"ArrowsOut"})})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{memo as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as o}from"react";import{createPhoenixLayoutElement as r,exitFullscreenToolbarButtonSchema as l}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as s,useDomain as m,useLocalizable as i}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as c}from"#package/ui-sdk";let p={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarButton=r({schema:l,component:t(t=>{let{icon:r,showTitle:l=!1}=t,u=s(),{navigationSystem:d,storeSystem:g}=m(),f=o(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[u,d,g]),k=i(p);return e(n.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(c,{name:r??"ArrowsIn"})})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as e,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as l,useCallback as i,useState as
|
|
1
|
+
import{jsx as o,jsxs as e,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as l,useCallback as i,useState as s}from"react";import{createPhoenixLayoutElement as n,helpToolbarButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as p,useAnalyticsService as c,useLocalizable as d}from"#package/react-sdk";import{DesktopToolbar as u,Dialog as g,PhxIcon as h}from"#package/ui-sdk";import{ToolbarHelp as k}from"./ToolbarHelp.js";let f={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarButton=n({schema:m,component:l(l=>{let{children:n,icon:m}=l,[b,C]=s(!1),H=c(),j=i(()=>{H.push(p.HelpDialogOpened()),C(!0)},[H]),x=i(()=>{H.push(p.HelpDialogClosed()),C(!1)},[H]),T=d(f);return e(r,{children:[o(u.Button,{title:T,onClick:j,children:o(h,{name:m??"Question"})}),o(g.Root,{isOpen:b,onClose:x,children:o(g.ContentLayout,{body:n??o(k,{}),controls:o(a,{variant:"contained",onClick:x,children:o(t,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})})});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PhoenixLayoutElementRegistration } from '#package/domain';
|
|
2
2
|
export declare const createLayoutCustomOwnerUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
|
|
3
3
|
export type CreateLayoutCustomOwnerUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
|
|
4
|
+
/** The owner UI of `layout: custom`. The project's element mounts no message services, so the save snackbars come from here. */
|
|
4
5
|
export declare const LayoutCustomOwnerUi: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as r}from"#package/react-sdk";import{SaveMessageSnackbars as s}from"../save-message-snackbars/index.js";let m="LayoutCustomOwnerUi";export const createLayoutCustomOwnerUi=e=>o(m,e);export const LayoutCustomOwnerUi=()=>t(a,{children:[e(s,{}),e(r,{name:m,elementProps:{},defaultSlot:()=>null})]});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PhoenixLayoutElementRegistration } from '#package/domain';
|
|
2
2
|
export declare const createLayoutCustomReadUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
|
|
3
3
|
export type CreateLayoutCustomReadUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
|
|
4
|
+
/** The read UI of `layout: custom`. Read mode shows no save messages; the save snackbars are mounted so that one left from owner mode closes. */
|
|
4
5
|
export declare const LayoutCustomReadUi: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as
|
|
1
|
+
import{jsx as a,jsxs as e,Fragment as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as s}from"#package/react-sdk";import{SaveMessageSnackbars as r}from"../save-message-snackbars/index.js";let m="LayoutCustomReadUi";export const createLayoutCustomReadUi=a=>o(m,a);export const LayoutCustomReadUi=()=>e(t,{children:[a(r,{}),a(s,{name:m,elementProps:{},defaultSlot:()=>null})]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as m,Stack as
|
|
1
|
+
import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as m,Stack as a}from"@mui/material";import{memo as n,useCallback as t}from"react";import{createPhoenixLayoutElement as o,measurementsToolbarButtonSchema as i}from"#package/domain";import{FrontendAnalyticsFactory as u,useAnalyticsService as p,useDimensionState as l,useLocalizable as c}from"#package/react-sdk";import{DesktopToolbar as d}from"#package/ui-sdk";import{DimensionUnitSelector as h}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as g}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMeasurementsVisibility as k}from"./measurements/use-measurements-visibility.js";let j="measurements",M={id:"sdk.measurements",message:"Change measure"},x={id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"};export const MeasurementsToolbarButton=o({schema:i,component:n(n=>{let{showIndicatorSwitch:o,icons:i}=n,{ref:b,handleClose:C,handleToggle:T,openedKey:v}=d.useToolbarPopper(),B=p(),{unit:I}=l(),{indicatorSwitchShown:P,measurementsShown:S}=k(o),w=t(()=>{B.push(u.MeasurementsMenuToggled()),T(j)},[B,T]),y=t(e=>{B.push(u.MeasurementsMenuClosed()),C(e)},[B,C]),z=c(M),D=c(x);return S?r(s,{children:[e(d.Button,{ref:b,title:z,size:"small","aria-expanded":v===j?"true":void 0,"aria-label":D,"aria-haspopup":"menu",onClick:w,children:e(g,{unit:I,icons:i})}),e(d.Popper,{placement:"top-start",anchorEl:b.current,isOpen:v===j,onClose:y,children:e(m,{component:"div",sx:{p:2},children:r(a,{spacing:2,direction:"column",children:[P&&e(f,{}),e(h,{})]})})})]}):null})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{memo as e
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{memo as e}from"react";import{createPhoenixLayoutElement as r,redoToolbarButtonSchema as t}from"#package/domain";import{useLocalizable as a,useUndoRedo as m}from"#package/react-sdk";import{DesktopToolbar as i,PhxIcon as d}from"#package/ui-sdk";let s={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const RedoToolbarButton=r({schema:t,component:e(e=>{let{icon:r,showTitle:t=!1}=e,{canRedo:c,redo:l}=m(),n=a(s);return o(i.Button,{title:n,onClick:l,disabled:!c,showTitle:t,children:o(d,{name:r??"ArrowClockwise"})})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{memo as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{memo as e}from"react";import{createPhoenixLayoutElement as t,undoToolbarButtonSchema as r}from"#package/domain";import{useLocalizable as a,useUndoRedo as m}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as i}from"#package/ui-sdk";let d={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"};export const UndoToolbarButton=t({schema:r,component:e(e=>{let{icon:t,showTitle:r=!1}=e,{canUndo:s,undo:c}=m(),l=a(d);return o(n.Button,{title:l,onClick:c,disabled:!s,showTitle:r,children:o(i,{name:t??"ArrowCounterClockwise"})})})});
|
package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as e}from"react";import{
|
|
1
|
+
import{useMemo as e}from"react";import{FrontendAnalyticsFactory as o,useAccessService as t,useAnalyticsService as i,useDomainApplication as a,useIntegrationState as r}from"#package/react-sdk";import{useConfiguratorRouting as d,usePresetSelection as n,usePreview as s}from"../../../../../configurator-context/index.js";import{useCloseAction as c}from"../../../../../integration/index.js";export const useGoBackAction=()=>{let l=i(),{configurationPersistSystem:p}=a(),u=d(),{presetCategories:m}=n(),{isPreview:w,isPreviewEnabled:f,leave:g}=s(),{accessInfo:x}=t(),k=m.flatMap(e=>e.presets).length>1,v=r(),C=c();return e(()=>v.embeddedView?null:k?async()=>{l.push(o.GoToProductsClicked()),x.viewMode||await p.save(),u.goToIndex()}:null!==C?async()=>{l.push(o.CloseConfiguratorClicked()),x.viewMode||await p.save(),await C()}:f&&!w?()=>{l.push(o.ExpandedViewClosed()),g()}:null,[l,p,k,v.embeddedView,w,f,g,u,C,x.viewMode])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{Tab as a,Tabs as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Tab as a,Tabs as e}from"@mui/material";import{memo as o,useCallback as n}from"react";import{horizontalTabsComponent as i}from"#package/domain";import{FrontendAnalyticsFactory as r,getI18nKey as s,useActiveNavigationState as l,useAnalyticsService as m,useComponents as c,useDomain as p,useResolveLocalizable as b}from"#package/react-sdk";import{PhxIcon as u}from"#package/ui-sdk";let d=o(o=>{let{component:i}=o,c=l(),d=m(),{navigationSystem:g,storeSystem:f}=p(),h=b(),v=i.state.tabs.findIndex(t=>t.navigationStates.includes(c));return t(e,{variant:"scrollable",value:-1!==v&&v,onChange:n((t,a)=>{let e=i.state.tabs[a];if(!e)return;let o=e.navigationStates[0];o&&(d.push(r.TopNavigationStepClicked(o)),f.stageAndCommit([g.getNavigationUpdate(o)]))},[i.state.tabs,d,f,g]),children:i.state.tabs.map(e=>t(a,{label:h(e.label),icon:e.icon?t(u,{name:e.icon}):void 0,iconPosition:"start"},s(e.label)))})});export const DesktopHorizontalTabs=o(()=>{let a=c({componentTypes:[i]});if(0===a.length)return null;if(a.length>1)throw Error("Multiple horizontal tabs components are active, only one horizontal tabs component can be active at a time, check your domain configuration to ensure only one horizontalTabs component is defined");return t(d,{component:a.at(0)})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as
|
|
1
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{memo as i,useCallback as o}from"react";import{FrontendAnalyticsFactory as s,useActiveNavigationState as n,useAnalyticsService as r,useDomain as p,usePresetEmbeddedState as c,useResolveLocalizable as l}from"#package/react-sdk";import{TopNavigation as d,useResponsive as m}from"#package/ui-sdk";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:v,storeSystem:x}=p(),h=n(),C=g(),S=l(),{presetCategories:T}=u(),j=c(),N=T.flatMap(t=>t.presets).length>1,b=!j&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=m(),y=o(()=>{k.push(s.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(d.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(d.Step,{isCompleted:!0,onClick:y,compact:P,children:t(a,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,a)=>{let i=b?a<I-1:a<I,o=S(e.label);return t(d.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(s.TopNavigationStepClicked(t)),x.stageAndCommit([v.getNavigationUpdate(t)]))},children:o},o)})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDimensionConfig as o,useDimensionState as l,useDimensions as s,useLocalizable as u}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";let h=o=>{let{value:l}=o,u=n(),{setGlobalUnit:h}=s(),p=e(()=>{u.push(a.GlobalDimensionsButtonClicked(l)),h(l)},[u,l,h]),f=i(()=>m(l).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[l]),w=i(()=>m(l).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[l]);return t(c.Item,{value:l,"aria-label":w,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=l(),m=u(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
|
package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{Trans as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Switch as t}from"@mui/material";import{useObservableEagerState as o}from"observable-hooks";import{useCallback as r}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as s,useLocalizable as m}from"#package/react-sdk";import{MobileToolbar as n}from"#package/ui-sdk";import{useConfigurator as c}from"../../../application-runtime/index.js";let p={id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"};export const MeasurementsIndicatorsSwitch=()=>{let d=s(),{canvasSystem:l}=c(),u=o(l.dimensionIndicatorShown$),g=r(()=>{d.push(a.DimensionIndicatorsToggled()),l.toggleDimensionIndicator()},[d,l]),f=m(p);return e(n.SectionItem,{title:e(i,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(t,{inputProps:{"aria-label":f},checked:u,onChange:g})})};
|
package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import i from"lodash/noop.js";import{useCallback as e}from"react";import{finalizeButtonComponent as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import i from"lodash/noop.js";import{useCallback as e}from"react";import{finalizeButtonComponent as a,finalizePageComponent as o}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useDomain as r,useFinalizeViolations as m,useFirstRootComponent as l}from"#package/react-sdk";import{CustomFinalizeButton as c}from"../common/CustomFinalizeButton.js";let u=()=>t(c,{hints:"Finalize feature is not configured.",disabled:!0,onClick:i}),d=i=>{let{finalizeNavigationStates:a}=i,{navigationSystem:o,storeSystem:l}=r(),u=s(),d=e(async()=>{let t=a[0];t&&(u.push(n.FinalizeButtonClicked()),l.stageAndCommit([o.getPushNavigationUpdate(t,l.stateSlices.committed.value.state)]))},[a,o,u,l]),{disabled:p,hints:f}=m();return t(c,{hints:f,disabled:p,onClick:d})};export const BasicFinalizeButton=()=>{let i=l(a),e=l(o);return i?i?.state.button:e?t(d,{finalizeNavigationStates:e.state.finalizeNavigationStates}):t(u,{})};
|
package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{useCallback as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as e,useAnalyticsService as i,useResolveLocalizable as r}from"#package/react-sdk";import{PhxIcon as s,ResponsiveSidebarFooterButton as n}from"#package/ui-sdk";export const CustomFinalizeButton=l=>{let{busy:m,disabled:p,hints:u,icon:c,onClick:d,title:f}=l,k=r(),g=i();return t(n,{tooltip:u,busy:m,disabled:p,onClick:a(t=>{t.preventDefault(),t.stopPropagation(),g.push(e.FinalizeButtonClicked()),d?.()},[g,d]),slotProps:{button:{startIcon:c?t(s,{name:c}):void 0}},children:f?k(f):t(o,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})};
|
package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{Trans as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{memo as m,useCallback as o}from"react";import{createPhoenixLayoutElement as a,enterSummaryButtonSchema as e}from"#package/domain";import{FrontendAnalyticsFactory as i,useAnalyticsService as n}from"#package/react-sdk";import{ResponsiveSidebarFooterButton as c}from"#package/ui-sdk";import{useEnterSidebarSummary as s}from"../../../../configurator-context/index.js";export const EnterSummaryButton=a({schema:e,component:m(()=>{let m=n(),a=s();return r(c,{onClick:o(()=>{m.push(i.SummaryButtonClicked()),a()},[m,a]),children:r(t,{id:"sdk.layout.summary.button.label",message:"Summary"})})})});
|
package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as i,useCallback as o}from"react";import{createPhoenixLayoutElement as r,nextStepButtonSchema as n}from"#package/domain";import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as i,useCallback as o}from"react";import{createPhoenixLayoutElement as r,nextStepButtonSchema as n}from"#package/domain";import{FrontendAnalyticsFactory as m,useAnalyticsService as s,useDomain as l}from"#package/react-sdk";import{useResponsive as c}from"#package/ui-sdk";import{useConfigurator as p}from"../../../../application-runtime/index.js";export const NextStepButton=r({schema:n,component:i(()=>{let i=s(),{layoutSystem:r}=p(),{navigationSystem:n,storeSystem:d}=l(),{isDesktop:g}=c(),u=o(()=>{let t=n.getActiveNavigationState(d.stateSlices.committed.value.state),e=r.getNavigationSteps(d.stateSlices.committed.value.state);i.push(m.NextStepButtonClicked());let a=e.findIndex(e=>e.navigationStates.includes(t)),o=e[a+1];if(!o)return;let s=o.navigationStates[0];s&&d.stageAndCommit([n.getNavigationUpdate(s)])},[i,n,d,r]);return g?t(a,{variant:"contained",color:"primary",size:"large",onClick:u,children:t(e,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})}):t(a,{variant:"contained",color:"primary",size:"small",onClick:u,children:t(e,{id:"sdk.layout.sidebar.nextStepShort.label",message:"Next"})})})});
|
package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{IconButton as e,Tooltip as i}from"@mui/material";import{memo as a,useCallback as o}from"react";import{createPhoenixLayoutElement as r,previousStepButtonSchema as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{IconButton as e,Tooltip as i}from"@mui/material";import{memo as a,useCallback as o}from"react";import{createPhoenixLayoutElement as r,previousStepButtonSchema as n}from"#package/domain";import{FrontendAnalyticsFactory as m,useAnalyticsService as s,useDomain as l,useLocalizable as c}from"#package/react-sdk";import{PhxIcon as p,useResponsive as d}from"#package/ui-sdk";import{useConfigurator as u}from"../../../../application-runtime/index.js";import{useBackToPresetEnabled as g,useConfiguratorRouting as f,useSteps as v}from"../../../../configurator-context/index.js";let S={id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"};export const PreviousStepButton=r({schema:n,component:a(a=>{let{icon:r}=a,n=c(S),k=s(),x=g(),{layoutSystem:h}=u(),j=f(),{navigationSystem:C,storeSystem:b}=l(),{isDesktop:N}=d(),{previousStepDisabled:P}=v();return t(i,{title:n,placement:"top",children:t("span",{style:{alignSelf:"center"},children:t(e,{variant:"muted",color:"default",size:N?"medium":"small",disabled:P,onClick:o(()=>{let t=C.getActiveNavigationState(b.stateSlices.committed.value.state),e=h.getNavigationSteps(b.stateSlices.committed.value.state);k.push(m.PreviousStepButtonClicked());let i=e.findIndex(e=>e.navigationStates.includes(t)),a=e[i-1];if(!a){x&&j.goToIndex();return}let o=a.navigationStates[0];o&&b.stageAndCommit([C.getNavigationUpdate(o)])},[k,C,x,j,b,h]),children:t(p,{name:r??"CaretLeft"})})})})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useCallback as r,useState as s}from"react";import{
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useCallback as r,useState as s}from"react";import{useResolveLocalizable as o,useResourceUrl as l}from"#package/react-sdk";import{Preset as n}from"#package/ui-sdk";import{ConfigurationNotFoundPageElement as a}from"../../configuration-not-found-page/index.js";import{usePresetSelection as d,usePreview as m}from"../../configurator-context/index.js";import{ClosePresetScreenButton as c}from"./ClosePresetScreenButton.js";import{PresetBackButton as g}from"./PresetBackButton.js";import{PresetPreviewLayout as p}from"./PresetPreviewLayout.js";import{PresetSnackbarsRoot as u}from"./PresetSnackbarsRoot.js";let f={id:"sdk.presets.select.button.label",message:"Select"},k={id:"sdk.presets.detail.close.label",message:"Close"},S={id:"sdk.presets.detail.learnMore.label",message:"Learn more"},h={id:"sdk.presets.detail.select.label",message:"Select"},B=t=>{let{id:i,name:s,description:a,img:m,imgAlt:c,detailTitle:g,detailDescription:p}=t,{selectPreset:u,creatingPresetId:B}=d(),b=o(),{getResourceUrl:C}=l(),T=r(()=>{u(i)},[u,i]),j=(m&&C(m))??"",y=B===i;return e(n.Card,{title:b(s),description:b(a),imgSrc:j,imgAlt:b(c),selectButtonTitle:b(f),loading:y,disabled:null!==B&&!y,onSelect:T,additionalInfoButton:void 0!==g&&void 0!==p&&e(n.DetailDialog,{img:j,imgAlt:b(c),detailTitle:b(g),detailDescription:b(p),closeButtonTitle:b(k),learnMoreLinkTitle:b(S),selectButtonTitle:b(h),onSelect:T})},b(s))},b=t=>{let{id:i,name:s,description:a,img:d,imgAlt:m,onSelect:c}=t,g=o(),{getResourceUrl:p}=l(),u=r(()=>{c(i)},[c,i]);return e(n.Card,{title:g(s),description:g(a),imgSrc:(d&&p(d))??"",imgAlt:g(m),selectButtonTitle:g(f),onSelect:u},g(s))},C={id:"sdk.presets.category.count.message",message:"{presetCount, plural, one {# preset} other {# presets}}"},T=t=>{let{selectedCategory:r,onCategorySelected:s}=t,{presetCategories:l}=d(),n=o();if(1===l.length)return e(i,{children:l[0].presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))});if(null!==r){let t=l.find(e=>e.id===r);if(void 0===t)throw Error(`Category with id ${r} not found!`);return e(i,{children:t.presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))})}return e(i,{children:l.map(t=>e(b,{id:t.id,name:t.name,description:t.description??n({...C,values:{presetCount:t.presets.length}}),img:t.img,imgAlt:t.imgAlt,onSelect:s},t.id))})},j={id:"sdk.presets.category.heading.title",message:"Select starting preset"},y={id:"sdk.presets.preview.title",message:"Customize product"},A={id:"sdk.presets.start.button.label",message:"Start configuring"};export const CategoryPresetUi=l=>{let{action:f,footer:k,overlay:S}=l,[h,B]=s(null),{isPreview:b}=m(),C=o(),v=r(()=>{B(null)},[]),{presetCategories:x}=d();return b?e(p,{title:C(y),startButtonLabel:C(A)}):0===x.length?e(a,{}):t(i,{children:[e(n.ScreenLayout,{heading:C(j),action:f,footer:k,overlay:S,backButton:h&&e(g,{onBack:v}),closeButton:!h&&e(c,{}),children:e(T,{selectedCategory:h,onCategorySelected:B})}),e(u,{})]})};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shows the save messages of `useConfiguratorMessages` as snackbars: a `saveError` as an error snackbar that stays
|
|
3
|
+
* until it is dismissed or a later save succeeds, and a `saveRecovery` as an informational one. Mounted wherever a
|
|
4
|
+
* layout mounts its message services: `LayoutSlots.Services`, the legacy layouts' overlays and the `custom` owner UI.
|
|
5
|
+
* In read mode, from the access or the web component's `readonly`, nothing is saved: an error snackbar left from
|
|
6
|
+
* owner mode is closed and no message is shown. The read UIs that replace an owner UI in read mode
|
|
7
|
+
* (`SummaryReadLayout`, the `custom` read UI) mount it too, since the owner UI's instance unmounts before it can close
|
|
8
|
+
* the snackbar.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SaveMessageSnackbars: () => null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as s}from"@mui/material";import{useSnackbar as i}from"notistack";import{useEffect as t}from"react";import{useApplicationRuntime as o,useApplicationRuntimeSelector as a,useConfiguratorMessages as n}from"#package/react-sdk";let m="phx-configuration-persist-system-failure";export const SaveMessageSnackbars=()=>{let c=a(o().selectors.domainContext.configurator.getInitializationState).isViewMode,{enqueueSnackbar:d,closeSnackbar:p}=i();return t(()=>{c&&p(m)},[c,p]),n(i=>{c||("saveError"===i.kind&&d(r(e,{id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"}),{variant:"error",key:m,persist:!0,preventDuplicate:!0,action:i=>r(s,{color:"inherit",size:"small",onClick:()=>{p(i)},children:r(e,{id:"sdk.persist.system.error.dismiss",message:"Dismiss"})})}),"saveRecovery"===i.kind&&(p(m),d(r(e,{id:"sdk.persist.system.error.recovered",message:"Configuration updated"}),{variant:"info"})))}),null};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SaveMessageSnackbars } from './SaveMessageSnackbars.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{SaveMessageSnackbars}from"./SaveMessageSnackbars.js";
|
|
@@ -189,6 +189,7 @@ interface ChildEntityCardSelectorSchema {
|
|
|
189
189
|
interface ChildEntitySelectionComponentState {
|
|
190
190
|
value: { $read: string } // Read-only - system manages DomainEntityId updates
|
|
191
191
|
options: { $read: string } // Expression returning ChildEntitySelectionOption[]
|
|
192
|
+
keepChildren?: boolean // Keep the children of the replaced entity; by default they are deleted
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
// Each selectable option configuration
|