@salsita-ai/sdk 0.50.0-develop.f81ab6ac76 → 0.50.0-develop.f9cd9b3a12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +10 -1
- package/dist/application-spec/errors/diagnostic-messages.js +1 -1
- package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
- package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
- package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
- package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
- package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
- package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
- package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
- 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/skills/sdk-content.d.ts +13 -6
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
- package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
- package/dist/configurator/ConfiguratorApp.js +1 -1
- package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
- package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
- package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
- package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
- package/dist/configurator/app-loader-content/index.d.ts +2 -0
- package/dist/configurator/app-loader-content/index.js +1 -0
- package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +4 -3
- 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 +33 -7
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
- package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
- package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
- package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
- package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +45 -4
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
- package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +112 -4
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
- package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.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 -1
- package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
- package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
- package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
- package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
- package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
- package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
- package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
- package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
- package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
- package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
- package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
- package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
- package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
- package/dist/configurator/configurator-error-page/index.d.ts +3 -0
- package/dist/configurator/configurator-error-page/index.js +1 -0
- package/dist/configurator/index.d.ts +3 -0
- package/dist/configurator/index.js +1 -1
- package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
- package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
- package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
- package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
- package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
- package/dist/configurator/pages/default-configurator-elements.d.ts +4 -2
- package/dist/configurator/pages/default-configurator-elements.js +1 -1
- package/dist/configurator/pages/default-elements/index.d.ts +1 -0
- package/dist/configurator/pages/default-elements/index.js +1 -1
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
- package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
- package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
- package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
- package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
- package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
- package/dist/configurator/scene/index.d.ts +1 -0
- package/dist/configurator/scene/index.js +1 -1
- package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
- package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
- package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
- package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
- package/dist/configurator/toolbar-actions/index.d.ts +3 -0
- package/dist/configurator/toolbar-actions/index.js +1 -0
- package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
- package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
- package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
- package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
- package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
- package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
- package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
- package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
- package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
- package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
- package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
- package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/alert/index.js +1 -0
- package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
- package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
- package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
- package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
- package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
- package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
- package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
- package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/form/index.js +1 -1
- package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
- package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
- package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
- package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
- package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
- package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
- package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
- package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
- package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
- package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
- package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
- package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
- package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
- package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
- package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
- package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
- package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
- package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
- package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
- package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
- package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
- package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
- package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
- package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
- package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
- package/dist/configurator/ui/assistant/index.d.ts +3 -0
- package/dist/configurator/ui/assistant/index.js +1 -1
- package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
- package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
- package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
- package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
- package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
- package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
- package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
- package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
- package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
- package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
- package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
- package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
- package/dist/configurator/ui/assistant/tool-chip.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
- package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
- package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
- package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
- package/dist/configurator/ui/index.d.ts +1 -0
- package/dist/configurator/ui/index.js +1 -1
- package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
- 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/share/ShareModal.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
- package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.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/save-message-snackbars/SaveMessageSnackbars.js +1 -1
- package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
- package/dist/docs/fabs/basic.mdx +4 -0
- package/dist/docs/index.json +62 -1
- package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
- package/dist/docs/layouts/custom-layout.mdx +321 -159
- package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
- package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
- package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
- package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
- package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
- package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
- package/dist/docs/other-features/error-5xx.mdx +1 -1
- package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
- package/dist/docs/other-features/not-found-404.mdx +1 -1
- package/dist/docs/phoenix/configurator-interface.mdx +200 -66
- package/dist/docs/phoenix/finalization.mdx +1 -1
- package/dist/docs/phoenix/layout-slots.mdx +5 -5
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
- package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
- package/dist/docs/phoenix/testing.mdx +2 -2
- package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
- package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
- package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
- package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
- package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
- package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
- package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
- package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
- package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
- package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
- package/dist/domain/application/assistant/form/index.d.ts +4 -0
- package/dist/domain/application/assistant/form/index.js +1 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
- package/dist/domain/application/assistant/index.d.ts +2 -3
- package/dist/domain/application/assistant/index.js +1 -1
- package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
- package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
- package/dist/domain/application/web-component-property.d.ts +3 -1
- package/dist/domain/application/web-component-property.js +1 -1
- package/dist/domain/available-system-components.d.ts +1 -1
- package/dist/domain/available-system-components.js +1 -1
- package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
- package/dist/domain/domain-context/store-system/store-system.js +1 -1
- package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
- package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
- package/dist/domain/domain-runtime/domain-runtime.d.ts +8 -0
- package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
- package/dist/domain/domain-runtime/spec/index.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 +15 -1
- package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
- package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
- package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
- package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +2 -1
- package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
- package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
- package/dist/domain/domain-runtime/spec/selectors.js +1 -1
- package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
- package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
- package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
- package/dist/domain/extensions/export-images/client-side-image.js +1 -0
- package/dist/domain/extensions/export-images/index.d.ts +3 -0
- package/dist/domain/extensions/export-images/index.js +1 -0
- package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
- package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
- package/dist/domain/extensions/index.d.ts +1 -2
- package/dist/domain/extensions/index.js +1 -1
- package/dist/domain/mocks/create-mock-domain-runtime.d.ts +4 -0
- package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
- package/dist/editor/domain-editors/apply-spec-update.d.ts +8 -1
- package/dist/editor/domain-editors/apply-spec-update.js +1 -1
- package/dist/editor/domain-editors/use-implementation-files.js +1 -1
- package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
- 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 +16 -0
- package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
- 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 +11 -5
- package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +4 -0
- package/dist/react-sdk/application-runtime/hooks/index.d.ts +1 -0
- package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
- package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
- package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
- package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
- package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
- package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
- package/dist/react-sdk/application-runtime/index.d.ts +1 -0
- package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
- package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
- package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
- package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
- package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
- package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
- package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
- package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
- package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
- package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
- package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
- package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
- package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
- package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
- package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
- package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +95 -2
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
- package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
- package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
- package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
- package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
- package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
- package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
- package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
- package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
- package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
- package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
- package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
- package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
- package/dist/react-sdk/domain-context/index.d.ts +5 -0
- package/dist/react-sdk/domain-context/index.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
- package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
- package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
- package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
- package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
- package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
- package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
- package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
- package/dist/react-sdk/elements/index.d.ts +1 -0
- package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
- package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
- package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
- package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
- package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
- package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
- package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
- package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
- package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
- package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
- package/dist/react-sdk/handlers/index.d.ts +5 -0
- package/dist/react-sdk/handlers/index.js +1 -1
- package/dist/react-sdk/handlers/use-finalize-action.d.ts +3 -2
- package/dist/react-sdk/handlers/use-finalize-action.js +1 -1
- package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
- package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
- package/dist/react-sdk/index.d.ts +1 -0
- package/dist/react-sdk/index.js +1 -1
- package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
- package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
- package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
- package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
- package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
- package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
- package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
- package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
- package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
- package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
- package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
- package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
- package/dist/react-sdk/scene-control-elements/index.js +1 -0
- package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
- package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
- package/dist/react-sdk/web-component/create-web-component.js +1 -1
- package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
- package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
- package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
- package/dist/react-sdk/web-component/god-mode/index.js +1 -0
- package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
- package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
- package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
- package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
- package/dist/ui-sdk/icons/__generated/index.js +1 -1
- package/dist/ui-sdk/icons/icons-registry.js +1 -1
- package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
- package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
- package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
- package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
- package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
- package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
- package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
- package/dist/ui-sdk/theme/types.d.ts +5 -1
- package/package.json +13 -3
- package/schema/domain-spec.json +140 -0
- package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
- package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
- package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
- package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
- package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
- package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
- package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
- package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
- package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
- package/dist/domain/extensions/client-side-image.js +0 -1
- package/dist/domain/extensions/save-template-thumbnail.js +0 -1
- package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
- package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
- /package/dist/{configurator/ui/assistant/form/form-element-definition.js → react-sdk/application-runtime/responsive/types.js} +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { DomainApplicationType } from '#package/domain';
|
|
2
|
+
import type { CanvasPadding, ResponsiveBreakpoints, ResponsiveRuntimeState, ResponsiveViewport } from './types.js';
|
|
3
|
+
interface Context {
|
|
4
|
+
readonly setResponsive: (fn: (state: ResponsiveRuntimeState) => ResponsiveRuntimeState) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Every action returns the slice unchanged when the value is already set, so the runtime publishes
|
|
8
|
+
* nothing and no subscriber recomputes.
|
|
9
|
+
*/
|
|
10
|
+
declare const createApplicationActions: (context: Context, applicationType: DomainApplicationType) => {
|
|
11
|
+
setViewport: (viewport: ResponsiveViewport) => void;
|
|
12
|
+
setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
|
|
13
|
+
setCanvasPadding: (canvasPadding: CanvasPadding) => void;
|
|
14
|
+
expand: () => void;
|
|
15
|
+
collapse: () => void;
|
|
16
|
+
hide: () => void;
|
|
17
|
+
show: () => void;
|
|
18
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
};
|
|
21
|
+
/** One set of actions per application, as the domain context keys its own. */
|
|
22
|
+
export declare const createResponsiveActions: (context: Context) => {
|
|
23
|
+
configurator: {
|
|
24
|
+
setViewport: (viewport: ResponsiveViewport) => void;
|
|
25
|
+
setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
|
|
26
|
+
setCanvasPadding: (canvasPadding: CanvasPadding) => void;
|
|
27
|
+
expand: () => void;
|
|
28
|
+
collapse: () => void;
|
|
29
|
+
hide: () => void;
|
|
30
|
+
show: () => void;
|
|
31
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
32
|
+
reset: () => void;
|
|
33
|
+
};
|
|
34
|
+
admin: {
|
|
35
|
+
setViewport: (viewport: ResponsiveViewport) => void;
|
|
36
|
+
setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
|
|
37
|
+
setCanvasPadding: (canvasPadding: CanvasPadding) => void;
|
|
38
|
+
expand: () => void;
|
|
39
|
+
collapse: () => void;
|
|
40
|
+
hide: () => void;
|
|
41
|
+
show: () => void;
|
|
42
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
43
|
+
reset: () => void;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export type ResponsiveActions = ReturnType<typeof createApplicationActions>;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{initializeResponsiveApplication as t}from"./initialize.js";let e=(e,i)=>{let n=t=>{e.setResponsive(e=>{let n=e[i],s=t(n);return s===n?e:{...e,[i]:s}})},s=t=>{n(e=>e.isExpanded===t?e:{...e,isExpanded:t})},r=t=>{n(e=>e.isHidden===t?e:{...e,isHidden:t})};return{setViewport:t=>{n(e=>{let i;return(i=e.viewport,null!==i&&i.width===t.width&&i.height===t.height&&i.isLandscape===t.isLandscape&&i.isPortrait===t.isPortrait)?e:{...e,viewport:t}})},setBreakpoints:t=>{n(e=>{let i;return(i=e.breakpoints,i.sm===t.sm&&i.md===t.md&&i.lg===t.lg)?e:{...e,breakpoints:t}})},setCanvasPadding:t=>{n(e=>{let i;return(i=e.canvasPadding,i.top===t.top&&i.right===t.right&&i.bottom===t.bottom&&i.left===t.left)?e:{...e,canvasPadding:t}})},expand:()=>{s(!0)},collapse:()=>{s(!1)},hide:()=>{r(!0)},show:()=>{r(!1)},setAnimating:t=>{n(e=>e.isAnimating===t?e:{...e,isAnimating:t})},reset:()=>{n(()=>t())}}};export const createResponsiveActions=t=>({configurator:e(t,"configurator"),admin:e(t,"admin")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./actions.js";export*from"./initialize.js";export*from"./selectors.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const initializeResponsiveApplication=()=>({viewport:null,breakpoints:{sm:480,md:768,lg:1024},canvasPadding:{top:0,right:0,bottom:0,left:0},isExpanded:!1,isHidden:!1,isAnimating:!1});export const initializeResponsive=()=>({configurator:initializeResponsiveApplication(),admin:initializeResponsiveApplication()});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DomainApplicationType } from '#package/domain';
|
|
2
|
+
import type { ResponsiveRuntimeState, ResponsiveState, ResponsiveViewportSize } from './types.js';
|
|
3
|
+
export interface ResponsiveSelectorState {
|
|
4
|
+
readonly responsive: ResponsiveRuntimeState;
|
|
5
|
+
}
|
|
6
|
+
interface Context {
|
|
7
|
+
readonly getState: () => ResponsiveSelectorState;
|
|
8
|
+
readonly applicationType: DomainApplicationType;
|
|
9
|
+
}
|
|
10
|
+
/** The selectors of one application's responsive state; the runtime creates one set per application. */
|
|
11
|
+
export declare const createResponsiveSelectors: (context: Context) => {
|
|
12
|
+
selectResponsiveState: import("@salsita-ai/common/utils").Selector<ResponsiveSelectorState, ResponsiveState>;
|
|
13
|
+
selectViewportSize: import("@salsita-ai/common/utils").Selector<ResponsiveSelectorState, ResponsiveViewportSize>;
|
|
14
|
+
selectCanvasPadding: import("@salsita-ai/common/utils").Selector<ResponsiveSelectorState, import("./types.js").CanvasPadding>;
|
|
15
|
+
getResponsiveState: () => ResponsiveState;
|
|
16
|
+
getViewportSize: () => ResponsiveViewportSize;
|
|
17
|
+
getCanvasPadding: () => import("./types.js").CanvasPadding;
|
|
18
|
+
};
|
|
19
|
+
export type ResponsiveSelectors = ReturnType<typeof createResponsiveSelectors>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createSelector as e}from"@salsita-ai/common/utils";export const createResponsiveSelectors=i=>{let{getState:s,applicationType:t}=i,a=e.withTypes(),o=a.leaf(e=>null!==e.responsive[t].viewport),n=a.leaf(e=>e.responsive[t].viewport?.width??0),r=a.leaf(e=>e.responsive[t].viewport?.height??0),p=a.leaf(e=>e.responsive[t].viewport?.isLandscape??!1),l=a.leaf(e=>e.responsive[t].viewport?.isPortrait??!1),v=a.leaf(e=>e.responsive[t].breakpoints),d=a.leaf(e=>e.responsive[t].canvasPadding),f=a.leaf(e=>e.responsive[t].isExpanded),g=a.leaf(e=>e.responsive[t].isHidden),h=a.leaf(e=>e.responsive[t].isAnimating),m=a([o,n,v],(e,i,s)=>e&&i<s.sm),w=a([o,n,v],(e,i,s)=>e&&i<=s.md),c=a([o,n,v],(e,i,s)=>e&&i<s.lg&&i>s.sm),u=a([o,n,v],(e,i,s)=>e&&i>s.md),P=a([m,w,c,u,p,l,d,f,g,h],(e,i,s,t,a,o,n,r,p,l)=>({isPhone:e,isMobile:i,isTablet:s,isDesktop:t,isLandscape:a,isPortrait:o,canvasPadding:n,isExpanded:r,isHidden:p,isAnimating:l})),S=a([n,r],(e,i)=>({width:Math.ceil(e),height:Math.ceil(i)}));return{selectResponsiveState:P,selectViewportSize:S,selectCanvasPadding:d,getResponsiveState:()=>P(s()),getViewportSize:()=>S(s()),getCanvasPadding:()=>d(s())}};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The part of the canvas, in pixels from each edge, that overlay UI covers. The camera frames the
|
|
3
|
+
* scene inside what is left, so the scene stays visible beside a sidebar or under a preview body.
|
|
4
|
+
*
|
|
5
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
6
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
7
|
+
*/
|
|
8
|
+
export interface CanvasPadding {
|
|
9
|
+
readonly top: number;
|
|
10
|
+
readonly right: number;
|
|
11
|
+
readonly bottom: number;
|
|
12
|
+
readonly left: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The widths, in pixels, that split the application's root container into phone, tablet and
|
|
16
|
+
* desktop. The theme decides them; the UI library pushes its theme's values in with
|
|
17
|
+
* `setBreakpoints`.
|
|
18
|
+
*
|
|
19
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
20
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
21
|
+
*/
|
|
22
|
+
export interface ResponsiveBreakpoints {
|
|
23
|
+
readonly sm: number;
|
|
24
|
+
readonly md: number;
|
|
25
|
+
readonly lg: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* One measurement of the application's root container. The orientation comes from the window,
|
|
29
|
+
* not from the container's aspect ratio.
|
|
30
|
+
*
|
|
31
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
32
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
33
|
+
*/
|
|
34
|
+
export interface ResponsiveViewport {
|
|
35
|
+
readonly width: number;
|
|
36
|
+
readonly height: number;
|
|
37
|
+
readonly isLandscape: boolean;
|
|
38
|
+
readonly isPortrait: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The size of the application's root container, rounded up to whole pixels.
|
|
42
|
+
*
|
|
43
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
44
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
45
|
+
*/
|
|
46
|
+
export interface ResponsiveViewportSize {
|
|
47
|
+
readonly width: number;
|
|
48
|
+
readonly height: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The responsive state of one mounted application: what it measured of its root container, the
|
|
52
|
+
* breakpoints that classify it, the canvas padding the scene is framed with, and whether the
|
|
53
|
+
* container is expanded over the host page, hidden, or in a layout animation.
|
|
54
|
+
*
|
|
55
|
+
* The configurator's root container writes it while it is mounted and resets it when it unmounts.
|
|
56
|
+
*
|
|
57
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
58
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
59
|
+
*/
|
|
60
|
+
export interface ResponsiveApplicationState {
|
|
61
|
+
/** `null` until the root container is measured for the first time. */
|
|
62
|
+
readonly viewport: ResponsiveViewport | null;
|
|
63
|
+
readonly breakpoints: ResponsiveBreakpoints;
|
|
64
|
+
readonly canvasPadding: CanvasPadding;
|
|
65
|
+
readonly isExpanded: boolean;
|
|
66
|
+
readonly isHidden: boolean;
|
|
67
|
+
readonly isAnimating: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The `responsive` slice, one entry per application: an admin that embeds a configurator runs both
|
|
71
|
+
* in one runtime, and each has its own root container.
|
|
72
|
+
*
|
|
73
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
74
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
75
|
+
*/
|
|
76
|
+
export interface ResponsiveRuntimeState {
|
|
77
|
+
readonly configurator: ResponsiveApplicationState;
|
|
78
|
+
readonly admin: ResponsiveApplicationState;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The responsive state the UI and the lifecycle read: the size classes of the root container, the
|
|
82
|
+
* canvas padding, and whether the container is expanded, hidden or animating.
|
|
83
|
+
*
|
|
84
|
+
* Every size class is `false` until the container is measured for the first time.
|
|
85
|
+
*
|
|
86
|
+
* @internal Runtime plumbing for the SDK's own UI. A project layout uses `useActiveViewports()`
|
|
87
|
+
* from `@salsita-ai/sdk/react` and `useSceneSafeArea()` from `@salsita-ai/sdk/configurator`.
|
|
88
|
+
*/
|
|
89
|
+
export interface ResponsiveState {
|
|
90
|
+
/** `width < sm` */
|
|
91
|
+
readonly isPhone: boolean;
|
|
92
|
+
/** `width <= md` */
|
|
93
|
+
readonly isMobile: boolean;
|
|
94
|
+
/** `sm < width < lg` */
|
|
95
|
+
readonly isTablet: boolean;
|
|
96
|
+
/** `width > md` */
|
|
97
|
+
readonly isDesktop: boolean;
|
|
98
|
+
readonly isLandscape: boolean;
|
|
99
|
+
readonly isPortrait: boolean;
|
|
100
|
+
readonly canvasPadding: CanvasPadding;
|
|
101
|
+
readonly isExpanded: boolean;
|
|
102
|
+
readonly isHidden: boolean;
|
|
103
|
+
readonly isAnimating: boolean;
|
|
104
|
+
}
|
|
@@ -17,11 +17,43 @@ interface RoutingServiceContext {
|
|
|
17
17
|
}
|
|
18
18
|
export declare class RoutingService {
|
|
19
19
|
private readonly context;
|
|
20
|
-
private
|
|
21
|
-
private
|
|
20
|
+
private readonly onGoToIndexRegistrations;
|
|
21
|
+
private readonly onNavigatedRegistrations;
|
|
22
|
+
private unregisterSetOnGoToIndex;
|
|
23
|
+
private unregisterSetOnNavigated;
|
|
22
24
|
constructor(context: RoutingServiceContext);
|
|
25
|
+
/**
|
|
26
|
+
* Registers the handler `goToIndex` calls instead of navigating; the handler navigates by calling
|
|
27
|
+
* `next`. The most recent registration is the active one. The returned function removes only this
|
|
28
|
+
* registration, so the one registered before it becomes active again.
|
|
29
|
+
* @internal Plumbing for `ConfiguratorRoutingProvider`; projects intercept `goToIndex` with
|
|
30
|
+
* `createOnGoToIndexHandler`.
|
|
31
|
+
*/
|
|
32
|
+
registerOnGoToIndex: (handler: OnGoToIndexHandler) => (() => void);
|
|
33
|
+
/**
|
|
34
|
+
* Registers the callback told about each navigation `goToIndex` and `goToConfigurationDetail`
|
|
35
|
+
* make. The most recent registration is the active one, and it replaces the SDK's own reporting
|
|
36
|
+
* to the host (the `route` property, the configuration id in the URL and the `navigated` event)
|
|
37
|
+
* rather than listening beside it. The returned function removes only this registration, so the
|
|
38
|
+
* one registered before it becomes active again.
|
|
39
|
+
* @internal Plumbing for `ConfiguratorRoutingProvider`, which does that reporting.
|
|
40
|
+
*/
|
|
41
|
+
registerOnNavigated: (handler: OnNavigatedHandler) => (() => void);
|
|
42
|
+
/**
|
|
43
|
+
* Replaces the handler this method registered before, on top of the other registrations; `null`
|
|
44
|
+
* removes it. Registrations made with `registerOnGoToIndex` stay.
|
|
45
|
+
* @deprecated Intercept `goToIndex` with a handler made by `createOnGoToIndexHandler` instead. This
|
|
46
|
+
* API will be removed in a future version.
|
|
47
|
+
*/
|
|
23
48
|
setOnGoToIndex: (handler: OnGoToIndexHandler | null) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Replaces the callback this method registered before, on top of the other registrations; `null`
|
|
51
|
+
* removes it. Registrations made with `registerOnNavigated` stay.
|
|
52
|
+
* @deprecated Listen to the `navigated` event of the web component instead; a callback set here
|
|
53
|
+
* replaces the SDK's own reporting to the host. This API will be removed in a future version.
|
|
54
|
+
*/
|
|
24
55
|
setOnNavigated: (handler: OnNavigatedHandler | null) => void;
|
|
56
|
+
private notifyNavigated;
|
|
25
57
|
routeTo: (routingState: RoutingState) => void;
|
|
26
58
|
goToIndex: () => void;
|
|
27
59
|
goToConfigurationDetail: (configurationId: string, accessToken?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{InvalidAccessKeyError as t}from"#package/client";import{AnalyticsEventFactory as
|
|
1
|
+
import{InvalidAccessKeyError as t}from"#package/client";import{AnalyticsEventFactory as e,decodeAccessInfo as o}from"#package/domain";import{getAccessInfo as n,getAccessTokenFromLocalStorage as i,putAccessTokenToLocalStorage as s,removeAccessTokenFromLocalStorage as a}from"./access-service.js";import{ApplicationRoutes as r}from"./types.js";let c=(t,e)=>{let o={handler:e};return t.push(o),()=>{let e=t.indexOf(o);-1!==e&&t.splice(e,1)}},g=t=>t.at(-1)?.handler??null;export class RoutingService{context;onGoToIndexRegistrations=[];onNavigatedRegistrations=[];unregisterSetOnGoToIndex=null;unregisterSetOnNavigated=null;constructor(t){this.context=t}registerOnGoToIndex=t=>c(this.onGoToIndexRegistrations,t);registerOnNavigated=t=>c(this.onNavigatedRegistrations,t);setOnGoToIndex=t=>{this.unregisterSetOnGoToIndex?.(),this.unregisterSetOnGoToIndex=null===t?null:this.registerOnGoToIndex(t)};setOnNavigated=t=>{this.unregisterSetOnNavigated?.(),this.unregisterSetOnNavigated=null===t?null:this.registerOnNavigated(t)};notifyNavigated=t=>{g(this.onNavigatedRegistrations)?.(t)};routeTo=t=>{var e;if(e=this.context.getRoutingState(),e.route===r.Index||t.route===r.Index?e.route===t.route:e.configurationId===t.configurationId&&e.accessToken===t.accessToken)return;if(this.context.loadedDataActions.resetConfiguratorLoad(),t.route===r.Index){this.context.accessActions.setConfiguratorAccessInfo(null),this.context.actions.setRoutingState(t);return}let o=n(t.configurationId,t.accessToken);this.context.accessActions.setConfiguratorAccessInfo(o),this.context.actions.setRoutingState(t),t.accessToken&&s(t.configurationId,t.accessToken)};goToIndex=()=>{let t=()=>{this.context.getAnalytics().push(e.NavigationEvent({navigationState:"productPage"})),this.context.getLogger().appendToGlobalContext({navigationState:"productPage"});let t={route:r.Index};this.routeTo(t),this.notifyNavigated(t)},o=g(this.onGoToIndexRegistrations);null==o?t():o({next:t})};goToConfigurationDetail=(t,e)=>{let o={route:r.Configuration,configurationId:t,accessToken:e};this.routeTo(o),this.notifyNavigated(o)};rejectAccessToken=(t,e)=>{i(t)===e&&a(t)};requestAccessToken=(e,n)=>{if(null!==o(n,e))return n;let i=new t;throw this.rejectAccessToken(e,n),this.context.loadedDataActions.failConfiguratorLoad(i),i}}
|
|
@@ -2,11 +2,13 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
2
2
|
import { type AnyApplicationConfig, type DomainRuntimeState, type WebComponentOptions } from '#package/domain';
|
|
3
3
|
import { type AnyApplicationRuntimeExtension, type DomainApplicationContextSelectors } from '../domain-application-context/index.js';
|
|
4
4
|
import { type IntegrationState } from '../integration/index.js';
|
|
5
|
+
import { type ResponsiveRuntimeState } from '../responsive/index.js';
|
|
5
6
|
import { type RoutingRuntimeState } from '../routing/index.js';
|
|
6
7
|
import { type ApplicationSessionRuntime, SessionService } from '../session/index.js';
|
|
7
8
|
import type { WebComponentApi } from '../web-component/index.js';
|
|
8
9
|
export interface ApplicationRuntimeState extends DomainRuntimeState {
|
|
9
10
|
readonly integration: IntegrationState;
|
|
11
|
+
readonly responsive: ResponsiveRuntimeState;
|
|
10
12
|
readonly routing: RoutingRuntimeState;
|
|
11
13
|
readonly session: ApplicationSessionRuntime;
|
|
12
14
|
}
|
|
@@ -48,6 +50,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
48
50
|
webComponent: import("#package/domain").ApplicationWebComponentState;
|
|
49
51
|
domainContext: import("#package/domain").ApplicationDomainContextState;
|
|
50
52
|
integration: IntegrationState;
|
|
53
|
+
responsive: ResponsiveRuntimeState;
|
|
51
54
|
routing: RoutingRuntimeState;
|
|
52
55
|
session: ApplicationSessionRuntime;
|
|
53
56
|
};
|
|
@@ -93,6 +96,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
93
96
|
selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
|
|
94
97
|
entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
95
98
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
99
|
+
assistantFormElements: Record<string, import("react").ComponentType<never>>;
|
|
96
100
|
hashes: Record<string, string>;
|
|
97
101
|
}>;
|
|
98
102
|
selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
|
|
@@ -136,6 +140,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
136
140
|
getElementSlots: () => {
|
|
137
141
|
entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
138
142
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
143
|
+
assistantFormElements: Record<string, import("react").ComponentType<never>>;
|
|
139
144
|
hashes: Record<string, string>;
|
|
140
145
|
};
|
|
141
146
|
getDataConfig: () => import("#package/domain").DataSpec | null;
|
|
@@ -422,6 +427,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
422
427
|
getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
|
|
423
428
|
getActiveMode: () => import("#package/domain").DomainMode;
|
|
424
429
|
getIsInitialized: () => boolean;
|
|
430
|
+
getIsViewMode: () => boolean;
|
|
425
431
|
getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
|
|
426
432
|
getStoreRuntimeDependencies: () => {
|
|
427
433
|
componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
|
|
@@ -531,6 +537,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
531
537
|
getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
|
|
532
538
|
getActiveMode: () => import("#package/domain").DomainMode;
|
|
533
539
|
getIsInitialized: () => boolean;
|
|
540
|
+
getIsViewMode: () => boolean;
|
|
534
541
|
getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
|
|
535
542
|
getStoreRuntimeDependencies: () => {
|
|
536
543
|
componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
|
|
@@ -596,7 +603,6 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
596
603
|
getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
|
|
597
604
|
};
|
|
598
605
|
integration: {
|
|
599
|
-
selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
|
|
600
606
|
selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
|
|
601
607
|
selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
|
|
602
608
|
selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
|
|
@@ -607,6 +613,24 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
607
613
|
getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
|
|
608
614
|
getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
|
|
609
615
|
};
|
|
616
|
+
responsive: {
|
|
617
|
+
configurator: {
|
|
618
|
+
selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
|
|
619
|
+
selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
|
|
620
|
+
selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
|
|
621
|
+
getResponsiveState: () => import("../index.js").ResponsiveState;
|
|
622
|
+
getViewportSize: () => import("../index.js").ResponsiveViewportSize;
|
|
623
|
+
getCanvasPadding: () => import("../index.js").CanvasPadding;
|
|
624
|
+
};
|
|
625
|
+
admin: {
|
|
626
|
+
selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
|
|
627
|
+
selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
|
|
628
|
+
selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
|
|
629
|
+
getResponsiveState: () => import("../index.js").ResponsiveState;
|
|
630
|
+
getViewportSize: () => import("../index.js").ResponsiveViewportSize;
|
|
631
|
+
getCanvasPadding: () => import("../index.js").CanvasPadding;
|
|
632
|
+
};
|
|
633
|
+
};
|
|
610
634
|
routing: {
|
|
611
635
|
selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
|
|
612
636
|
selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
|
|
@@ -702,6 +726,30 @@ export declare function createApplicationRuntimeSlices<State extends Application
|
|
|
702
726
|
enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
|
|
703
727
|
exitEmbeddedView: () => void;
|
|
704
728
|
};
|
|
729
|
+
responsive: {
|
|
730
|
+
configurator: {
|
|
731
|
+
setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
|
|
732
|
+
setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
|
|
733
|
+
setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
|
|
734
|
+
expand: () => void;
|
|
735
|
+
collapse: () => void;
|
|
736
|
+
hide: () => void;
|
|
737
|
+
show: () => void;
|
|
738
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
739
|
+
reset: () => void;
|
|
740
|
+
};
|
|
741
|
+
admin: {
|
|
742
|
+
setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
|
|
743
|
+
setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
|
|
744
|
+
setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
|
|
745
|
+
expand: () => void;
|
|
746
|
+
collapse: () => void;
|
|
747
|
+
hide: () => void;
|
|
748
|
+
show: () => void;
|
|
749
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
750
|
+
reset: () => void;
|
|
751
|
+
};
|
|
752
|
+
};
|
|
705
753
|
routing: {
|
|
706
754
|
setRoutingState: (routingState: import("../index.js").RoutingState) => void;
|
|
707
755
|
};
|
|
@@ -761,6 +809,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
761
809
|
selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
|
|
762
810
|
entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
763
811
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
812
|
+
assistantFormElements: Record<string, import("react").ComponentType<never>>;
|
|
764
813
|
hashes: Record<string, string>;
|
|
765
814
|
}>;
|
|
766
815
|
selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
|
|
@@ -804,6 +853,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
804
853
|
getElementSlots: () => {
|
|
805
854
|
entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
|
|
806
855
|
layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
|
|
856
|
+
assistantFormElements: Record<string, import("react").ComponentType<never>>;
|
|
807
857
|
hashes: Record<string, string>;
|
|
808
858
|
};
|
|
809
859
|
getDataConfig: () => import("#package/domain").DataSpec | null;
|
|
@@ -1090,6 +1140,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
1090
1140
|
getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
|
|
1091
1141
|
getActiveMode: () => import("#package/domain").DomainMode;
|
|
1092
1142
|
getIsInitialized: () => boolean;
|
|
1143
|
+
getIsViewMode: () => boolean;
|
|
1093
1144
|
getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
|
|
1094
1145
|
getStoreRuntimeDependencies: () => {
|
|
1095
1146
|
componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
|
|
@@ -1199,6 +1250,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
1199
1250
|
getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
|
|
1200
1251
|
getActiveMode: () => import("#package/domain").DomainMode;
|
|
1201
1252
|
getIsInitialized: () => boolean;
|
|
1253
|
+
getIsViewMode: () => boolean;
|
|
1202
1254
|
getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
|
|
1203
1255
|
getStoreRuntimeDependencies: () => {
|
|
1204
1256
|
componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
|
|
@@ -1264,7 +1316,6 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
1264
1316
|
getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
|
|
1265
1317
|
};
|
|
1266
1318
|
integration: {
|
|
1267
|
-
selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
|
|
1268
1319
|
selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
|
|
1269
1320
|
selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
|
|
1270
1321
|
selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
|
|
@@ -1275,6 +1326,24 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
1275
1326
|
getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
|
|
1276
1327
|
getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
|
|
1277
1328
|
};
|
|
1329
|
+
responsive: {
|
|
1330
|
+
configurator: {
|
|
1331
|
+
selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
|
|
1332
|
+
selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
|
|
1333
|
+
selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
|
|
1334
|
+
getResponsiveState: () => import("../index.js").ResponsiveState;
|
|
1335
|
+
getViewportSize: () => import("../index.js").ResponsiveViewportSize;
|
|
1336
|
+
getCanvasPadding: () => import("../index.js").CanvasPadding;
|
|
1337
|
+
};
|
|
1338
|
+
admin: {
|
|
1339
|
+
selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
|
|
1340
|
+
selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
|
|
1341
|
+
selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
|
|
1342
|
+
getResponsiveState: () => import("../index.js").ResponsiveState;
|
|
1343
|
+
getViewportSize: () => import("../index.js").ResponsiveViewportSize;
|
|
1344
|
+
getCanvasPadding: () => import("../index.js").CanvasPadding;
|
|
1345
|
+
};
|
|
1346
|
+
};
|
|
1278
1347
|
routing: {
|
|
1279
1348
|
selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
|
|
1280
1349
|
selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
|
|
@@ -1370,6 +1439,30 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
|
|
|
1370
1439
|
enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
|
|
1371
1440
|
exitEmbeddedView: () => void;
|
|
1372
1441
|
};
|
|
1442
|
+
responsive: {
|
|
1443
|
+
configurator: {
|
|
1444
|
+
setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
|
|
1445
|
+
setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
|
|
1446
|
+
setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
|
|
1447
|
+
expand: () => void;
|
|
1448
|
+
collapse: () => void;
|
|
1449
|
+
hide: () => void;
|
|
1450
|
+
show: () => void;
|
|
1451
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
1452
|
+
reset: () => void;
|
|
1453
|
+
};
|
|
1454
|
+
admin: {
|
|
1455
|
+
setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
|
|
1456
|
+
setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
|
|
1457
|
+
setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
|
|
1458
|
+
expand: () => void;
|
|
1459
|
+
collapse: () => void;
|
|
1460
|
+
hide: () => void;
|
|
1461
|
+
show: () => void;
|
|
1462
|
+
setAnimating: (isAnimating: boolean) => void;
|
|
1463
|
+
reset: () => void;
|
|
1464
|
+
};
|
|
1465
|
+
};
|
|
1373
1466
|
routing: {
|
|
1374
1467
|
setRoutingState: (routingState: import("../index.js").RoutingState) => void;
|
|
1375
1468
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{
|
|
1
|
+
import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{ImplementationErrors as i,createDomainRuntimeSlices as n,findAssistantFormElementErrors as o,resolveIsDev as s}from"#package/domain";import{initializeAnalyticsService as r}from"../common-services/analytics/analytics-service.js";import{initializeI18n as a,initializeLogger as c}from"../common-services/initialize.js";import{createCommonServicesSelectors as l}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as m}from"../domain-application-context/index.js";import{createIntegrationActions as p,createIntegrationSelectors as u,initializeIntegration as g}from"../integration/index.js";import{createResponsiveActions as v,createResponsiveSelectors as d,initializeResponsive as S}from"../responsive/index.js";import{createRoutingActions as x,createRoutingSelectors as f,initializeRouting as C}from"../routing/index.js";import{SessionService as y,createSessionRuntimeActions as A,createSessionRuntimeSelectors as b,initializeSessionRuntime as j}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{config:w,bootConfig:R,getSubject:h,getConfiguratorExtensions:E}=e,I=s(w),T=c(w,I),z={analyticsService:r(w,T,I),i18n:a(w),logger:T},{initialize:D,selectors:L,actions:O}=n({config:w,services:z,getSubject:h,getExtensionSystems:e=>Z[e].getInitializableSystems()}),U=D(),{assistant:k,elements:G}=U.spec.configurator,$=o(k?.formElements??[],G);if($.length>0)throw new i($);let q=p({setIntegration:e=>{let t=h(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),B=u({getState:()=>h().value,actions:q}),F=g(),H=x({setRouting:e=>{let t=h(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),J=f({getState:()=>h().value,actions:H,accessActions:O.access,loadedDataActions:O.loadedData,domainServicesSelectors:L.domainServices,overridesSelectors:L.overrides}),K=C(),M=v({setResponsive:e=>{let t=h(),i=e(t.value.responsive);i!==t.value.responsive&&t.next({...t.value,responsive:i})}}),N={configurator:d({getState:()=>h().value,applicationType:"configurator"}),admin:d({getState:()=>h().value,applicationType:"admin"})},P=S(),Q=l({getState:()=>h().value,environmentSelectors:L.environment,specSelectors:L.spec,accessSelectors:L.access,domainServicesSelectors:L.domainServices,webComponentOptions:R.webComponentOptions,webComponentApi:R.webComponentApi,getSessionService:()=>Y(),routingSelectors:J}),V=A({setSessionRuntime:e=>{let t=h(),i=e(t.value.session);t.next({...t.value,session:i})}}),W=b({getState:()=>h().value,sessionContextSelectors:L.sessionContext}),X=j(),Y=t(()=>new y({getLogger:()=>L.domainServices.getLogger(),getAnalyticsService:()=>L.domainServices.getAnalyticsService(),getUnauthenticatedClient:Q.getUnauthenticatedClient,environmentSelectors:L.environment,sessionActions:V,setSessionContext:O.sessionContext.setSessionContext,sessionSelectors:W,specSelectors:L.spec})),Z={configurator:m({applicationType:"configurator",commonServicesSelectors:Q,domainServicesSelectors:L.domainServices,domainContextSelectors:L.domainContext.configurator,getApplicationRuntimeExtensions:E}),admin:m({applicationType:"admin",commonServicesSelectors:Q,domainServicesSelectors:L.domainServices,domainContextSelectors:L.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return T.info(`Configurator Application loaded with deployment ID: ${w.deploymentId}!`),T.appendToGlobalContext({deploymentId:w.deploymentId}),{getState:()=>h().value,initialize:()=>({...U,integration:F,responsive:P,routing:K,session:X}),selectors:{...L,commonServices:Q,integration:B,responsive:N,routing:J,session:W,domainApplicationContext:Z},actions:{...O,integration:q,responsive:M,routing:H,session:V}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,r=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:a,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:r,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(a()),{...c,getState:()=>r().value,subscribe:e=>{let t=r().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './use-configuration-save-state.js';
|
|
2
|
+
export * from './use-configurator-messages.js';
|
|
3
|
+
export * from './use-domain-context.js';
|
|
4
|
+
export * from './use-entity-selector.js';
|
|
5
|
+
export * from './use-observable-selector.js';
|
|
6
|
+
export * from './use-slices.js';
|
|
7
|
+
export * from './use-state-slice.js';
|
|
8
|
+
export * from './use-state-validity.js';
|
|
9
|
+
export * from './use-store-selector.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./use-configuration-save-state.js";export*from"./use-configurator-messages.js";export*from"./use-domain-context.js";export*from"./use-entity-selector.js";export*from"./use-observable-selector.js";export*from"./use-slices.js";export*from"./use-state-slice.js";export*from"./use-state-validity.js";export*from"./use-store-selector.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ConfigurationPersistSystemFailure } from '../../application-runtime/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The save status of the configuration, as `useConfigurationSaveState()` returns it.
|
|
4
|
+
*/
|
|
5
|
+
export interface ConfigurationSaveState {
|
|
6
|
+
/** The revision the configuration is at: the loaded one, then the one the latest save created. */
|
|
7
|
+
readonly revisionId: string;
|
|
8
|
+
/** Whether a save is running. */
|
|
9
|
+
readonly isSaving: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The latest failed save, `{ error, timestamp }` with `timestamp` in milliseconds since the epoch, or `null` once a
|
|
12
|
+
* later save succeeds or another configuration loads.
|
|
13
|
+
*/
|
|
14
|
+
readonly failure: ConfigurationPersistSystemFailure | null;
|
|
15
|
+
}
|
|
16
|
+
export type UseConfigurationSaveState = () => ConfigurationSaveState;
|
|
17
|
+
/**
|
|
18
|
+
* The save status of the configuration of the application this component is mounted in, read from its persist system:
|
|
19
|
+
* `revisionId`, `isSaving` and `failure`. An editable configuration saves committed changes on its own, three seconds
|
|
20
|
+
* after the last one; a read-only one never saves. Loading a configuration resets the status. Re-renders when any of
|
|
21
|
+
* the three changes; the returned object keeps its identity otherwise.
|
|
22
|
+
*/
|
|
23
|
+
export declare const useConfigurationSaveState: UseConfigurationSaveState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useMemo as e}from"react";import{useDomainApplication as r}from"../../application-runtime/index.js";import{useEagerObservableValue as o}from"./use-observable-selector.js";export const useConfigurationSaveState=()=>{let{configurationPersistSystem:t}=r(),i=o(t.revisionId$),a=o(t.saving$),n=o(t.failure$);return e(()=>({revisionId:i,isSaving:a,failure:n}),[i,a,n])};
|
|
@@ -69,6 +69,7 @@ export declare const useDomainContextSelectors: () => {
|
|
|
69
69
|
getMigrate: () => import("#package/domain").MigrateFunction<DomainEntity<string>>;
|
|
70
70
|
getActiveMode: () => import("#package/domain").DomainMode;
|
|
71
71
|
getIsInitialized: () => boolean;
|
|
72
|
+
getIsViewMode: () => boolean;
|
|
72
73
|
getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
|
|
73
74
|
getStoreRuntimeDependencies: () => {
|
|
74
75
|
componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-component.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./use-component.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n
|
|
1
|
+
import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n,useRenderedSelector as o,useStoreSelector as r}from"../common-hooks/index.js";let s=t=>[t.componentType,t.entityId,t.instanceName,t.componentTypes?.length,...t.componentTypes??[],t.entityIds?.length,...t.entityIds??[],t.instanceNames?.length,...t.instanceNames??[]],a=o=>{let r=n(),{componentReader:a}=r.getDomainSystems(),p=t(()=>a.isComponentTypeAttached(o),[a,e(r.getComponentReaderIndexes),...s(o)]);return{componentReader:a,isActive:p}};export const useComponent=t=>{let{entityId:e,componentType:n,instanceName:o}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:o}),m=r(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:o},t.state),[s,e,n,o],p);return null===m?null:m?.state};export const useRenderedComponent=t=>{let{entityId:e,componentType:n,instanceName:r}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:r}),m=o(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:r},t.state),[s,e,n,r],p);return null===m?null:m?.state};export const useComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useDynamicComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:s,isActive:p}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>s.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[s,n,e,o],p)};export const useRenderedComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useFirstComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useFirstRenderedComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useRootComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[o,...s({componentTypes:n})],p)};export const useRootRenderedComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[r,...s({componentTypes:n})],p)};export const useFirstRootComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readFirstRootComponent({componentTypes:n},t.state),[o,...s({componentTypes:n})],p)};export const useFirstRootRenderedComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readFirstRootComponent({componentTypes:n},t.state),[r,...s({componentTypes:n})],p)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useDomain as t
|
|
1
|
+
import{useDomain as t,useRenderedSelector as e,useStoreSelector as n}from"../common-hooks/index.js";export const useDomainEntityState=e=>{let{domain:o}=t();return n(t=>o.get$Entity(e,t.state),[o,e])};export const useDomainEntityRenderedState=n=>{let{domain:o}=t();return e(t=>o.get$Entity(n,t.state),[o,n])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as
|
|
1
|
+
import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as r}from"../component-hooks/index.js";import{useRootEntityId as o}from"./use-root-entity-id.js";export const useEntityPrice=o=>{let n=r({componentTypes:[e],entityIds:[o]}),{i18n:i}=t(),c=n?.state?.currency??"USD",s=n?.state.price;return void 0===s?null:i.number(s,{style:"currency",currency:c})};export const useRootEntityPrice=()=>{let t=o();return useEntityPrice(t)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/
|
|
1
|
+
import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityId=()=>o(t=>t.state.rootEntityId,[]);export const useRootEntityRenderedId=()=>t(t=>t.state.rootEntityId,[]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useDomain as t
|
|
1
|
+
import{useDomain as t,useRenderedSelector as e,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityState=()=>{let{domain:e}=t();return o(t=>e.getRoot$Entity(t.state),[e])};export const useRootEntityRenderedState=()=>{let{domain:o}=t();return e(t=>o.getRoot$Entity(t.state),[o])};
|