@salsita-ai/sdk 0.50.0-develop.bd84173265 → 0.50.0-develop.bded01bb03
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- 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/errors/diagnostic-codes.d.ts +1 -0
- package/dist/application-spec/errors/diagnostic-codes.js +1 -1
- package/dist/application-spec/errors/diagnostic-messages.d.ts +1 -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/project-scaffolding.d.ts +5 -7
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- 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/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/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 -43
- package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -2
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- 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 +2 -2
- 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 +13 -2
- 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/runtime/admin-runtime/admin-model-runtime.d.ts +2 -1
- 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 +2 -1
- package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
- package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -2
- 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 +2 -1
- 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 +2 -1
- package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
- 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/expression-runtime.d.ts +5 -3
- 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/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/index.d.ts +1 -0
- package/dist/application-spec/generate-application/runtime-spec/index.js +1 -1
- 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.js +1 -1
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +9 -4
- package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -1
- 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.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/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 +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/common/configurator-interface.d.ts +11 -2
- package/dist/configurator/common/configurator-interface.js +1 -1
- package/dist/configurator/common/index.d.ts +2 -2
- package/dist/configurator/common/index.js +1 -1
- 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/DefaultNotAuthenticatedPage.d.ts +8 -0
- package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
- package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
- package/dist/configurator/pages/DefaultPresetUi.js +1 -0
- package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
- package/dist/configurator/pages/RootPage.js +1 -1
- package/dist/configurator/pages/default-configurator-elements.d.ts +4 -1
- package/dist/configurator/pages/default-configurator-elements.js +1 -1
- package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +1 -1
- package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +1 -1
- package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
- package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
- package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
- package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
- package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
- package/dist/configurator/preset-screen-elements/index.js +1 -0
- 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/AssistantMarkdown.d.ts +1 -1
- package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
- package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
- 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.js +1 -1
- package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
- package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
- package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.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/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
- package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.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/preset-layout/PresetUi.d.ts +4 -0
- package/dist/configurator/ui/preset-layout/PresetUi.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/index.json +1 -1
- package/dist/docs/layouts/custom-layout.mdx +8 -7
- 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/configurator-interface.mdx +51 -22
- package/dist/docs/phoenix/getting-started.mdx +5 -3
- package/dist/docs/phoenix/layout-slots.mdx +19 -19
- package/dist/docs/phoenix/localization.mdx +2 -0
- package/dist/docs/phoenix/migration-guide.mdx +3 -3
- package/dist/docs/phoenix/phoenix-cli.mdx +22 -11
- package/dist/docs/phoenix/project-structure.mdx +45 -27
- package/dist/docs/phoenix/quickstart.mdx +7 -7
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +6 -6
- package/dist/docs/phoenix/testing.mdx +8 -0
- package/dist/domain/application/assistant/generate-assistant-prompt.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/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/legacy/domain-cli/utils/cache.d.ts +1 -1
- package/dist/legacy/domain-cli/utils/cache.js +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +10 -11
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +9 -10
- 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-project-files.d.ts +0 -2
- package/dist/phoenix/cli.js +1 -1
- package/dist/phoenix/commands/build.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 +22 -1
- package/dist/phoenix/commands/deps/deps.js +2 -2
- package/dist/phoenix/commands/deps/index.d.ts +1 -1
- package/dist/phoenix/commands/deps/index.js +1 -1
- package/dist/phoenix/commands/deps/sdk-manifest.js +1 -1
- package/dist/phoenix/commands/dev.js +4 -4
- 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/sync.js +1 -1
- package/dist/phoenix/commands/unlink.js +1 -1
- package/dist/phoenix/services/application-spec-project-watcher.d.ts +0 -2
- package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
- package/dist/phoenix/utils/index.d.ts +2 -1
- package/dist/phoenix/utils/index.js +1 -1
- 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/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 -0
- package/dist/react-sdk/domain-context/index.js +1 -1
- package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
- package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
- 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/react-sdk/handlers/index.d.ts +1 -0
- package/dist/react-sdk/handlers/index.js +1 -1
- package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
- package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
- package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
- package/dist/ui-sdk/theme/types.d.ts +1 -1
- package/package.json +3 -3
- 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/configurator/common/use-finalize-action.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
- /package/dist/{configurator/common → react-sdk/handlers}/use-finalize-action.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as r}from"react/jsx-runtime";import{styled as n}from"@mui/material";import{createContext as i,memo as o,useContext as t,useMemo as l}from"react";import a,{defaultUrlTransform as d}from"react-markdown";import m from"remark-gfm";import{AssistantEntityLink as s}from"./entity-link/index.js";import{AssistantForm as c}from"./form/index.js";import{AssistantReferenceLink as u,isAssistantLinkHref as p,parseAssistantLinkTarget as g}from"./reference-link/index.js";import{completeStreamedMarkdown as h,hasOpenFence as
|
|
1
|
+
import{jsx as e,Fragment as r}from"react/jsx-runtime";import{styled as n}from"@mui/material";import{createContext as i,memo as o,useContext as t,useMemo as l}from"react";import a,{defaultUrlTransform as d}from"react-markdown";import m from"remark-gfm";import{AssistantEntityLink as s}from"./entity-link/index.js";import{AssistantForm as c}from"./form/index.js";import{AssistantReferenceLink as u,isAssistantLinkHref as p,parseAssistantLinkTarget as g}from"./reference-link/index.js";import{AssistantImage as f}from"./resource-image/index.js";import{completeStreamedMarkdown as h,hasOpenFence as k}from"./streamed-markdown.js";import{AssistantPanelName as b}from"./theme.js";let v=n("div",{name:b,slot:"assistantMessage"})(({theme:{palette:e,shape:r,spacing:n,typography:i}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:n(1)},"h1, h2, h3, h4, h5, h6":{...i.subtitle2,marginBlock:n(1.5,.5)},"ul, ol":{paddingInlineStart:n(2.5)},a:{color:e.primary.main},code:{background:e.action.hover,borderRadius:r.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:n(.5)},pre:{background:e.action.hover,borderRadius:r.borderRadius,overflowX:"auto",padding:n(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${e.divider}`,color:e.text.secondary,marginInline:0,paddingInlineStart:n(1.5)},"th, td":{borderBlockEnd:`1px solid ${e.divider}`,padding:n(.5,1),textAlign:"start",verticalAlign:"top"}})),x=n("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),y=i({forms:"hidden",openFenceEnd:void 0,isStreaming:!1}),j=({source:r,end:n})=>{let{forms:i,openFenceEnd:o,isStreaming:l}=t(y);return"hidden"===i?null:null!=n&&n===o?l?e(c,{source:r,status:"writing"}):null:e(c,{source:r,status:"disabled"===i?"waiting":"ready"})},w={a:({node:n,children:i,href:o,...t})=>{if(null==o||!p(o))return e("a",{...t,href:o,target:"_blank",rel:"noopener noreferrer",children:i});let l=g(o);return null==l?e(r,{children:i}):"entity"===l.kind?e(s,{id:l.id,children:i}):e(u,{target:l,children:i})},img:({src:r,alt:n})=>e(f,{src:r,alt:n}),pre:({node:r,children:n,...i})=>{let o=(e=>{let[r]=e?.children??[];if(r?.type!=="element"||"code"!==r.tagName)return;let{className:n}=r.properties;if(Array.isArray(n)&&n.includes("language-form"))return r.children.map(e=>"text"===e.type?e.value:"").join("")})(r);return null==o?e("pre",{...i,children:n}):e(j,{source:o,end:r?.position?.end.offset})},table:({node:r,children:n,...i})=>e(x,{children:e("table",{...i,children:n})})},S=[m],A=e=>p(e)?e:d(e);export const AssistantMarkdown=o(({markdown:r,isStreaming:n,forms:i})=>{let o=n?h(r):r,t=k(r)?o.length:void 0,d=l(()=>({forms:i,openFenceEnd:t,isStreaming:n}),[i,t,n]);return e(v,{children:e(y.Provider,{value:d,children:e(a,{components:w,remarkPlugins:S,urlTransform:A,children:o})})})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{styled as t}from"@mui/material";import{memo as n,useCallback as i,useEffect as r,useRef as o}from"react";import{sceneEntitySelectHotspotComponent as a,selectableComponent as l}from"#package/domain";import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{styled as t}from"@mui/material";import{memo as n,useCallback as i,useEffect as r,useRef as o}from"react";import{sceneEntitySelectHotspotComponent as a,selectableComponent as l}from"#package/domain";import{FrontendAnalyticsFactory as s,useDomain as c,useFirstRenderedComponent as d,useHoveredDomainEntityId as m,useRenderedSelector as u,useSelectEntity as p,useSelectedDomainEntityId as k,useStoreSelector as y}from"#package/react-sdk";import{assistantReferenceStyles as f}from"../reference-link/index.js";import{AssistantPanelName as g}from"../theme.js";import{useEntityLinkSelection as h}from"./entity-link-selection.js";import{resolveEntityLinkState as v}from"./entity-link-state.js";let b=t("span",{name:g,slot:"entityLink"})(e=>({...f(e),'&[data-entity-link="plain"], &[data-entity-link="missing"]':{cursor:"auto","&:hover":{background:"none"}},'&[data-selected="true"]':{textDecorationStyle:"solid"}})),S={interactive:void 0,plain:"plain",missing:"muted"},j=({kind:t,isSelected:n,children:i})=>e(b,{"data-entity-link":t,"data-reference":S[t],"data-selected":n,children:i}),x=({id:t,isSelected:n,children:u})=>{let{navigationSystem:k}=c(),y=d({entityIds:[t],componentTypes:[l]}),f=d({entityIds:[t],componentTypes:[a]}),{kind:g,canHover:S}=v({isSelectable:null!=y,isHoverDisabled:y?.state.hoverable===!1,hasSelectHotspot:null!=f}),x=m()===t,E=p(s.AssistantEntityLinkClicked),T=h(),D=i(()=>{T?.remember(t),E(t)},[t,T,E]),H=o(!1),L=i(()=>{S&&(H.current=!0,k.debouncedToggleHover(t))},[S,t,k]),I=i(()=>{H.current&&(H.current=!1,k.debouncedToggleHover(null))},[k]),A=i(e=>{"touch"!==e.pointerType&&L()},[L]),C=i(e=>{e.currentTarget.matches(":focus-visible")&&L()},[L]),P=i(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),D())},[D]);return(r(()=>I,[S,I,t]),"interactive"!==g)?e(j,{kind:g,isSelected:n,children:u}):e(b,{role:"button",tabIndex:0,"data-entity-link":g,"data-selected":n,"data-hovered":S&&x,"aria-current":n?"true":void 0,onClick:D,onKeyDown:P,onPointerEnter:A,onPointerLeave:I,onFocus:C,onBlur:I,children:u})};export const AssistantEntityLink=n(({id:t,children:n})=>{let{domain:i}=c(),r=y(e=>null!=i.getEntity(t,e.state),[i,t]),o=u(e=>null!=i.getEntity(t,e.state),[i,t]),a=k()===t;return r?o?e(x,{id:t,isSelected:a,children:n}):e(j,{kind:"plain",isSelected:a,children:n}):e(j,{kind:"missing",isSelected:!1,children:n})});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface AssistantImageProps {
|
|
2
|
+
readonly src: string | undefined;
|
|
3
|
+
readonly alt: string | undefined;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* An image in a reply, loaded from the project's resources. One the panel refuses to request or
|
|
7
|
+
* that fails to load shows its alt text instead, so the sentence around it still reads.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AssistantImage: import("react").MemoExoticComponent<({ src, alt }: AssistantImageProps) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r,Fragment as e}from"react/jsx-runtime";import{styled as t}from"@mui/material";import{memo as m,useCallback as o,useState as a}from"react";import{AssistantPanelName as i}from"../theme.js";import{useResourceImageUrl as s}from"./use-resource-image-url.js";let l=t("img",{name:i,slot:"image"})(({theme:{shape:r,spacing:e}})=>({blockSize:"auto",borderRadius:r.borderRadius,display:"block",maxInlineSize:"100%","& + &":{marginBlockStart:e(1)}}));export const AssistantImage=m(({src:t,alt:m})=>{let i=s()(t),[n,u]=a(),c=o(()=>{u(i)},[i]);return null==i||i===n?r(e,{children:m}):r(l,{src:i,alt:m??"",loading:"lazy",onError:c})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{AssistantImage}from"./AssistantImage.js";export{RESOURCE_PATH_PATTERN,isResourcePath}from"./resource-path.js";export{useResourceImageUrl}from"./use-resource-image-url.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A path into the project's resources, the kind stored on `imageUrl` fields: no scheme and no host,
|
|
3
|
+
* so resolving it never leaves the resources origin. A backslash, a control character or leading
|
|
4
|
+
* whitespace is refused too, because the URL parser reads a backslash as a slash and strips the
|
|
5
|
+
* others, which would turn `\\host` or ` //host` into an address on another host.
|
|
6
|
+
*
|
|
7
|
+
* Written as a JSON Schema `pattern`, so attribute schemas can apply the same rule.
|
|
8
|
+
*/
|
|
9
|
+
export declare const RESOURCE_PATH_PATTERN: string;
|
|
10
|
+
/** True when the image source the model wrote may be requested: a path into the project's resources. */
|
|
11
|
+
export declare const isResourcePath: (src: string | undefined) => src is string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const RESOURCE_PATH_PATTERN=String.raw`^(?![a-zA-Z][a-zA-Z0-9+.-]*:)(?!//)[^\s\\\x00-\x1f][^\\\x00-\x1f]*$`;let t=RegExp(RESOURCE_PATH_PATTERN,"u");export const isResourcePath=R=>null!=R&&t.test(R);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves an image source the model wrote the way the configurator resolves thumbnails, or returns
|
|
3
|
+
* `undefined` when it is not a path into the project's resources and must not be requested.
|
|
4
|
+
*/
|
|
5
|
+
export declare const useResourceImageUrl: () => (src: string | undefined) => string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as r}from"react";import{useResourceUrl as e}from"#package/react-sdk";import{isResourcePath as o}from"./resource-path.js";export const useResourceImageUrl=()=>{let{getResourceUrl:t}=e();return r(r=>o(r)?t(r):void 0,[t])};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
let e=(e,t)=>e.split(t).length-1,t=/^\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;export const hasOpenFence=t=>e(t,"```")%2==1;export const completeStreamedMarkdown=n=>{if(hasOpenFence(n))return`${n}
|
|
2
|
-
\`\`\``;let l=n.lastIndexOf("```"),s=-1===l?"":n.slice(0,l+3),r=n.slice(s.length),c=(e=>{let n=e.split("\n"),l=n.length;for(;l>0&&n[l-1]?.trimStart().startsWith("|");)l-=1;let s=n.slice(l),r=s[1],c=null!=r&&s.length>2&&t.test(r);return 0===s.length||c?e:n.slice(0,l).join("\n")})((e(r,"`")%2==1?r.slice(0,r.lastIndexOf("`")):r).replace(/!?\[([^\]\n]*)\]
|
|
2
|
+
\`\`\``;let l=n.lastIndexOf("```"),s=-1===l?"":n.slice(0,l+3),r=n.slice(s.length),c=(e=>{let n=e.split("\n"),l=n.length;for(;l>0&&n[l-1]?.trimStart().startsWith("|");)l-=1;let s=n.slice(l),r=s[1],c=null!=r&&s.length>2&&t.test(r);return 0===s.length||c?e:n.slice(0,l).join("\n")})((e(r,"`")%2==1?r.slice(0,r.lastIndexOf("`")):r).replace(/!?\[([^\]\n]*)\](?:\([^)\n]*)?$/,"$1").replace(/!?\[[^\]\n]*$/,"")),i=e(c,"**")%2==1?`${c}**`:c;return`${s}${i}`};
|
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
export declare const useMobileTabs: () => {
|
|
2
2
|
tabs: {
|
|
3
3
|
label: string;
|
|
4
|
-
icon: import("react").ReactNode;
|
|
4
|
+
icon: string | number | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
5
5
|
value: string;
|
|
6
6
|
isActive: boolean;
|
|
7
7
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as
|
|
1
|
+
import{useCallback as t,useMemo as e}from"react";import{horizontalTabsComponent as o,sidebarTabsComponent as a}from"#package/domain";import{useComponents as n,useDomain as i,useResolveLocalizable as r,useSelectedDomainEntityId as s,useTabNavigation as c}from"#package/react-sdk";import{useIsSidebarSummaryActive as b}from"../../../../configurator-context/index.js";export const useMobileTabs=()=>{let{tabs:l,activeTab:m}=c(),{navigationSystem:p,storeSystem:d}=i(),h=n({componentTypes:[a],entityIds:[s()]}),f=n({componentTypes:[o]}),g=r(),u=b(),v=e(()=>l.map(t=>({label:t.label,icon:t.iconNode??t.icon,value:t.state,isActive:t.isActive})),[l]),y=t(t=>{d.stageAndCommit([p.getNavigationUpdate(t)])},[p,d]),T=m?.state??"none";if(h.length>0&&f.length>0)throw Error("Both sidebar tabs and horizontal tabs are configured, only one tabs component type can be used at a time, remove either sidebarTabs or horizontalTabs from your domain configuration");if(h.length>1)throw Error("Multiple sidebar tab components are active, only one sidebar tabs component can be active at a time, check your domain configuration to ensure only one sidebarTabs component is defined");if(f.length>1)throw Error("Multiple horizontal tab 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");let k=[...h.flatMap(t=>t.state.tabs),...f.flatMap(t=>t.state.tabs)].find(t=>0===t.navigationStates.length);if(k)throw Error(`Tab ${g(k.label)} has no navigation states!`);return u?{tabs:[],activeTab:"none",onChange:()=>{}}:{tabs:v,activeTab:T,onChange:y}};
|
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
export declare const useSidebarTabs: () => {
|
|
2
2
|
tabs: {
|
|
3
3
|
label: string;
|
|
4
|
-
icon: import("react").ReactNode;
|
|
4
|
+
icon: string | number | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
5
5
|
value: string;
|
|
6
6
|
isActive: boolean;
|
|
7
7
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as t,useMemo as a}from"react";import{sidebarTabsComponent as e}from"#package/domain";import{
|
|
1
|
+
import{useCallback as t,useMemo as a}from"react";import{sidebarTabsComponent as e}from"#package/domain";import{useComponents as o,useResolveLocalizable as n,useSelectedDomainEntityId as i,useTabNavigation as s}from"#package/react-sdk";import{useIsSidebarSummaryActive as r}from"../../../../configurator-context/index.js";export const useSidebarTabs=()=>{let{tabs:c,activeTab:b,select:m}=s({source:"sidebarTabs"}),p=o({componentTypes:[e],entityIds:[i()]}),d=n(),l=r(),f=a(()=>c.map(t=>({label:t.label,icon:t.iconNode??t.icon,value:t.state,isActive:t.isActive})),[c]),g=t(t=>{m(c.findIndex(a=>a.state===t))},[m,c]),v=b?.state??"none",T=p.flatMap(t=>t.state.tabs).find(t=>0===t.navigationStates.length);if(T)throw Error(`Tab ${d(T.label)} has no navigation states!`);return l?{tabs:[],activeTab:"none",onChange:()=>{}}:{tabs:f,activeTab:v,onChange:g}};
|
|
@@ -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
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{Tab as a,Tabs as n}from"@mui/material";import{memo as e,useCallback as t}from"react";import{horizontalTabsComponent as r}from"#package/domain";import{useComponents as i,useTabNavigation as l}from"#package/react-sdk";import{PhxIcon as c}from"#package/ui-sdk";export const DesktopHorizontalTabs=e(()=>{let e=i({componentTypes:[r]}),{source:m,tabs:s,activeTab:p,select:u}=l({source:"horizontalTabs"}),b=t((o,a)=>{u(a)},[u]);if(null===m)return null;if(e.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 o(n,{variant:"scrollable",value:!!p&&p.index,onChange:b,children:s.map(n=>o(a,{label:n.label,icon:n.icon?o(c,{name:n.icon}):void 0,iconPosition:"start"},n.index))})});
|
|
@@ -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,{})};
|