@salsita-ai/sdk 0.50.0-develop.78a839cc7b → 0.50.0-develop.7c472a27fe

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.
Files changed (371) hide show
  1. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
  2. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  3. package/dist/application-spec/errors/diagnostic-messages.d.ts +10 -1
  4. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  5. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  6. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  7. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  8. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  9. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  10. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  11. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  12. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  13. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  14. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
  15. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  16. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  17. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +13 -6
  18. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  19. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +3 -2
  20. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  21. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +12 -4
  22. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  23. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +3 -3
  24. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  25. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -3
  26. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  27. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  28. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  29. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  30. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  31. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  32. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  33. package/dist/configurator/ConfiguratorApp.js +1 -1
  34. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  35. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +4 -3
  36. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  37. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +33 -7
  38. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  39. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  40. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  41. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  42. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  43. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  44. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  45. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  46. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  47. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +45 -4
  48. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  49. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  50. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  51. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  52. package/dist/configurator/common/configurator-interface.d.ts +12 -2
  53. package/dist/configurator/common/configurator-interface.js +1 -1
  54. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +3 -3
  55. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -1
  56. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  57. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +4 -0
  58. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  59. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  60. package/dist/configurator/toolbar-actions/index.d.ts +1 -0
  61. package/dist/configurator/toolbar-actions/index.js +1 -1
  62. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  63. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  64. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  65. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  66. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  67. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  68. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  69. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  70. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  71. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  72. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  73. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  74. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  75. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  76. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  77. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  78. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  79. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  80. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  81. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  82. package/dist/configurator/ui/assistant/form/index.js +1 -1
  83. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  84. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  85. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  86. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  87. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  88. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  89. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  90. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  91. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  92. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  93. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  94. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  95. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  96. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  97. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  98. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  99. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  100. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  101. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  102. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  103. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  104. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  105. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  106. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  107. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  108. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  109. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  110. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  111. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  112. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  113. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  114. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  115. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  116. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  117. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  118. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  119. package/dist/configurator/ui/assistant/index.js +1 -1
  120. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  121. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  122. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  123. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  124. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  125. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  126. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  127. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  128. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  129. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  130. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  131. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  132. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  133. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  134. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  135. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  136. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  137. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  138. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  139. package/dist/configurator/ui/index.d.ts +1 -0
  140. package/dist/configurator/ui/index.js +1 -1
  141. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  142. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -2
  143. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  144. package/dist/docs/index.json +62 -1
  145. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  146. package/dist/docs/layouts/custom-layout.mdx +318 -158
  147. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  148. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  149. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  150. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  151. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  152. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  153. package/dist/docs/phoenix/configurator-interface.mdx +12 -10
  154. package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
  155. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  156. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  157. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  158. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  159. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  160. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  161. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  162. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  163. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  164. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  165. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  166. package/dist/domain/application/assistant/form/index.js +1 -0
  167. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  168. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  169. package/dist/domain/application/assistant/index.d.ts +2 -3
  170. package/dist/domain/application/assistant/index.js +1 -1
  171. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  172. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  173. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  174. package/dist/domain/application/web-component-property.d.ts +3 -1
  175. package/dist/domain/application/web-component-property.js +1 -1
  176. package/dist/domain/available-system-components.d.ts +1 -1
  177. package/dist/domain/available-system-components.js +1 -1
  178. package/dist/domain/domain-builder.d.ts +9 -3
  179. package/dist/domain/domain-builder.js +1 -1
  180. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  181. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  182. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  183. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  184. package/dist/domain/domain-runtime/domain-runtime.d.ts +8 -0
  185. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  186. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  187. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  188. package/dist/domain/domain-runtime/index.d.ts +1 -1
  189. package/dist/domain/domain-runtime/index.js +1 -1
  190. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  191. package/dist/domain/domain-runtime/spec/index.js +1 -1
  192. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  193. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +15 -1
  194. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  195. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  196. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  197. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  198. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  199. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  200. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  201. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  202. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  203. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  204. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  205. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  206. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  207. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  208. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  209. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  210. package/dist/domain/extensions/export-images/index.js +1 -0
  211. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  212. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  213. package/dist/domain/extensions/index.d.ts +1 -2
  214. package/dist/domain/extensions/index.js +1 -1
  215. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +4 -0
  216. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  217. package/dist/editor/domain-editors/apply-spec-update.d.ts +8 -1
  218. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  219. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -11
  220. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  221. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  222. package/dist/i18n/locales/cs/messages.js +1 -1
  223. package/dist/i18n/locales/da/messages.js +1 -1
  224. package/dist/i18n/locales/de/messages.js +1 -1
  225. package/dist/i18n/locales/de-AT/messages.js +1 -1
  226. package/dist/i18n/locales/en/messages.js +1 -1
  227. package/dist/i18n/locales/en-AU/messages.js +1 -1
  228. package/dist/i18n/locales/en-GB/messages.js +1 -1
  229. package/dist/i18n/locales/es/messages.js +1 -1
  230. package/dist/i18n/locales/fr/messages.js +1 -1
  231. package/dist/i18n/locales/hu/messages.js +1 -1
  232. package/dist/i18n/locales/it/messages.js +1 -1
  233. package/dist/i18n/locales/nl/messages.js +1 -1
  234. package/dist/i18n/locales/pl/messages.js +1 -1
  235. package/dist/i18n/locales/pt/messages.js +1 -1
  236. package/dist/i18n/locales/ro/messages.js +1 -1
  237. package/dist/i18n/locales/sk/messages.js +1 -1
  238. package/dist/i18n/locales/tr/messages.js +1 -1
  239. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  240. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  241. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  242. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  243. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  244. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  245. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  246. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  247. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  248. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  249. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  250. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  251. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  252. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  253. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  254. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  255. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  256. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  257. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  258. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  259. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  260. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  261. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  262. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  263. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  264. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  265. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  266. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  267. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  268. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  269. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  270. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  271. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  272. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  273. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  274. package/dist/react-sdk/application-runtime/index.d.ts +2 -0
  275. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  276. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  277. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  278. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  279. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  280. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  281. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  282. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  283. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  284. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  285. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  286. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  287. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  288. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  289. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  290. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  291. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  292. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  293. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  294. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  295. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  296. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  297. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  298. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  299. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  300. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  301. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  302. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  303. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  304. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  305. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +164 -3
  306. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  307. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  308. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  309. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  310. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +1 -0
  311. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -1
  312. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  313. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  314. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  315. package/dist/react-sdk/domain-context/index.d.ts +1 -0
  316. package/dist/react-sdk/domain-context/index.js +1 -1
  317. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  318. package/dist/react-sdk/index.d.ts +0 -1
  319. package/dist/react-sdk/index.js +1 -1
  320. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  321. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  322. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  323. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  324. package/dist/react-sdk/loading-state/index.d.ts +3 -2
  325. package/dist/react-sdk/loading-state/index.js +1 -1
  326. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  327. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  328. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  329. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  330. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  331. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  332. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  333. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  334. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  335. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  336. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  337. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  338. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  339. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  340. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  341. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  342. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  343. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  344. package/dist/ui-sdk/theme/types.d.ts +5 -1
  345. package/package.json +13 -3
  346. package/schema/domain-spec.json +140 -0
  347. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  348. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  349. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  350. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  351. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  352. package/dist/domain/extensions/client-side-image.js +0 -1
  353. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  354. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  355. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  356. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  357. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -37
  358. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  359. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  360. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  361. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  362. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  363. package/dist/react-sdk/responsive-state/index.js +0 -1
  364. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  365. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  366. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  367. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  368. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  369. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  370. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → react-sdk/application-runtime/loading/types.js} +0 -0
  371. /package/dist/react-sdk/{responsive-state/canvas-padding.js → application-runtime/responsive/types.js} +0 -0
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as t,useContext as r}from"react";let o=t(null);export const ApplicationTypeProvider=t=>{let{children:r,type:p}=t;return e(o.Provider,{value:p,children:r})};export const useApplicationType=()=>{let e=r(o);if(!e)throw Error("ApplicationType context not found! useApplicationType() must be used within an ApplicationTypeProvider. Use the hook appropriately.");return e};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as t,useContext as o}from"react";let p=t(null);export const ApplicationTypeProvider=t=>{let{children:o,type:r}=t;return e(p.Provider,{value:r,children:o})};export const useApplicationType=()=>{let e=o(p);if(!e)throw Error("ApplicationType context not found! useApplicationType() must be used within an ApplicationTypeProvider. Use the hook appropriately.");return e};export const useOptionalApplicationType=()=>o(p);
@@ -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,4 @@
1
+ export * from './actions.js';
2
+ export * from './initialize.js';
3
+ export * from './selectors.js';
4
+ export type * from './types.js';
@@ -0,0 +1 @@
1
+ export*from"./actions.js";export*from"./initialize.js";export*from"./selectors.js";
@@ -0,0 +1,3 @@
1
+ import type { ResponsiveApplicationState, ResponsiveRuntimeState } from './types.js';
2
+ export declare const initializeResponsiveApplication: () => ResponsiveApplicationState;
3
+ export declare const initializeResponsive: () => ResponsiveRuntimeState;
@@ -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 onGoToIndex;
21
- private onNavigated;
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 o,decodeAccessInfo as e}from"#package/domain";import{getAccessInfo as n,getAccessTokenFromLocalStorage as i,putAccessTokenToLocalStorage as s,removeAccessTokenFromLocalStorage as a}from"./access-service.js";import{ApplicationRoutes as c}from"./types.js";export class RoutingService{context;onGoToIndex=null;onNavigated=null;constructor(t){this.context=t}setOnGoToIndex=t=>{this.onGoToIndex=t};setOnNavigated=t=>{this.onNavigated=t};routeTo=t=>{var o;if(o=this.context.getRoutingState(),o.route===c.Index||t.route===c.Index?o.route===t.route:o.configurationId===t.configurationId&&o.accessToken===t.accessToken)return;if(this.context.loadedDataActions.resetConfiguratorLoad(),t.route===c.Index){this.context.accessActions.setConfiguratorAccessInfo(null),this.context.actions.setRoutingState(t);return}let e=n(t.configurationId,t.accessToken);this.context.accessActions.setConfiguratorAccessInfo(e),this.context.actions.setRoutingState(t),t.accessToken&&s(t.configurationId,t.accessToken)};goToIndex=()=>{let t=()=>{this.context.getAnalytics().push(o.NavigationEvent({navigationState:"productPage"})),this.context.getLogger().appendToGlobalContext({navigationState:"productPage"});let t={route:c.Index};this.routeTo(t),this.onNavigated?.(t)};null==this.onGoToIndex?t():this.onGoToIndex({next:t})};goToConfigurationDetail=(t,o)=>{let e={route:c.Configuration,configurationId:t,accessToken:o};this.routeTo(e),this.onNavigated?.(e)};rejectAccessToken=(t,o)=>{i(t)===o&&a(t)};requestAccessToken=(o,n)=>{if(null!==e(n,o))return n;let i=new t;throw this.rejectAccessToken(o,n),this.context.loadedDataActions.failConfiguratorLoad(i),i}}
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,15 @@ 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 LoadingRuntimeState } from '../loading/index.js';
6
+ import { type ResponsiveRuntimeState } from '../responsive/index.js';
5
7
  import { type RoutingRuntimeState } from '../routing/index.js';
6
8
  import { type ApplicationSessionRuntime, SessionService } from '../session/index.js';
7
9
  import type { WebComponentApi } from '../web-component/index.js';
8
10
  export interface ApplicationRuntimeState extends DomainRuntimeState {
9
11
  readonly integration: IntegrationState;
12
+ readonly loading: LoadingRuntimeState;
13
+ readonly responsive: ResponsiveRuntimeState;
10
14
  readonly routing: RoutingRuntimeState;
11
15
  readonly session: ApplicationSessionRuntime;
12
16
  }
@@ -29,7 +33,8 @@ interface Props<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS e
29
33
  }
30
34
  /**
31
35
  * The domain-application layer: the domain runtime plus the browser-application concerns React
32
- * needs — common services, integration, routing, session — and the domain-application system pair.
36
+ * needs — common services, integration, routing, session, loading — and the domain-application
37
+ * system pair.
33
38
  *
34
39
  * Slices rather than a runtime: the caller owns the `BehaviorSubject`, so a layer above can widen
35
40
  * the state type and still have every slice here write into the same subject. Mirrors
@@ -48,6 +53,8 @@ export declare function createApplicationRuntimeSlices<State extends Application
48
53
  webComponent: import("#package/domain").ApplicationWebComponentState;
49
54
  domainContext: import("#package/domain").ApplicationDomainContextState;
50
55
  integration: IntegrationState;
56
+ loading: LoadingRuntimeState;
57
+ responsive: ResponsiveRuntimeState;
51
58
  routing: RoutingRuntimeState;
52
59
  session: ApplicationSessionRuntime;
53
60
  };
@@ -93,6 +100,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
93
100
  selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
94
101
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
95
102
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
103
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
96
104
  hashes: Record<string, string>;
97
105
  }>;
98
106
  selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
@@ -136,6 +144,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
136
144
  getElementSlots: () => {
137
145
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
138
146
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
147
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
139
148
  hashes: Record<string, string>;
140
149
  };
141
150
  getDataConfig: () => import("#package/domain").DataSpec | null;
@@ -422,6 +431,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
422
431
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
423
432
  getActiveMode: () => import("#package/domain").DomainMode;
424
433
  getIsInitialized: () => boolean;
434
+ getIsViewMode: () => boolean;
425
435
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
426
436
  getStoreRuntimeDependencies: () => {
427
437
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -531,6 +541,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
531
541
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
532
542
  getActiveMode: () => import("#package/domain").DomainMode;
533
543
  getIsInitialized: () => boolean;
544
+ getIsViewMode: () => boolean;
534
545
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
535
546
  getStoreRuntimeDependencies: () => {
536
547
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -596,7 +607,6 @@ export declare function createApplicationRuntimeSlices<State extends Application
596
607
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
597
608
  };
598
609
  integration: {
599
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
600
610
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
601
611
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
602
612
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -607,6 +617,36 @@ export declare function createApplicationRuntimeSlices<State extends Application
607
617
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
608
618
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
609
619
  };
620
+ loading: {
621
+ configurator: {
622
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
623
+ getLoadingState: () => import("../index.js").LoadingState;
624
+ getIsAwaitingPhase: (id: string) => boolean;
625
+ };
626
+ admin: {
627
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
628
+ getLoadingState: () => import("../index.js").LoadingState;
629
+ getIsAwaitingPhase: (id: string) => boolean;
630
+ };
631
+ };
632
+ responsive: {
633
+ configurator: {
634
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
635
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
636
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
637
+ getResponsiveState: () => import("../index.js").ResponsiveState;
638
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
639
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
640
+ };
641
+ admin: {
642
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
643
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
644
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
645
+ getResponsiveState: () => import("../index.js").ResponsiveState;
646
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
647
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
648
+ };
649
+ };
610
650
  routing: {
611
651
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
612
652
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -702,6 +742,50 @@ export declare function createApplicationRuntimeSlices<State extends Application
702
742
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
703
743
  exitEmbeddedView: () => void;
704
744
  };
745
+ loading: {
746
+ configurator: {
747
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
748
+ endPhase: (id: string) => void;
749
+ reportError: () => void;
750
+ clearError: () => void;
751
+ expectPhase: (id: string) => void;
752
+ dropExpectation: (id: string) => void;
753
+ resetSlot: () => void;
754
+ };
755
+ admin: {
756
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
757
+ endPhase: (id: string) => void;
758
+ reportError: () => void;
759
+ clearError: () => void;
760
+ expectPhase: (id: string) => void;
761
+ dropExpectation: (id: string) => void;
762
+ resetSlot: () => void;
763
+ };
764
+ };
765
+ responsive: {
766
+ configurator: {
767
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
768
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
769
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
770
+ expand: () => void;
771
+ collapse: () => void;
772
+ hide: () => void;
773
+ show: () => void;
774
+ setAnimating: (isAnimating: boolean) => void;
775
+ reset: () => void;
776
+ };
777
+ admin: {
778
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
779
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
780
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
781
+ expand: () => void;
782
+ collapse: () => void;
783
+ hide: () => void;
784
+ show: () => void;
785
+ setAnimating: (isAnimating: boolean) => void;
786
+ reset: () => void;
787
+ };
788
+ };
705
789
  routing: {
706
790
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
707
791
  };
@@ -761,6 +845,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
761
845
  selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
762
846
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
763
847
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
848
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
764
849
  hashes: Record<string, string>;
765
850
  }>;
766
851
  selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
@@ -804,6 +889,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
804
889
  getElementSlots: () => {
805
890
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
806
891
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
892
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
807
893
  hashes: Record<string, string>;
808
894
  };
809
895
  getDataConfig: () => import("#package/domain").DataSpec | null;
@@ -1090,6 +1176,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1090
1176
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1091
1177
  getActiveMode: () => import("#package/domain").DomainMode;
1092
1178
  getIsInitialized: () => boolean;
1179
+ getIsViewMode: () => boolean;
1093
1180
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1094
1181
  getStoreRuntimeDependencies: () => {
1095
1182
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1199,6 +1286,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1199
1286
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1200
1287
  getActiveMode: () => import("#package/domain").DomainMode;
1201
1288
  getIsInitialized: () => boolean;
1289
+ getIsViewMode: () => boolean;
1202
1290
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1203
1291
  getStoreRuntimeDependencies: () => {
1204
1292
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1264,7 +1352,6 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1264
1352
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
1265
1353
  };
1266
1354
  integration: {
1267
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
1268
1355
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
1269
1356
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
1270
1357
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -1275,6 +1362,36 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1275
1362
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
1276
1363
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
1277
1364
  };
1365
+ loading: {
1366
+ configurator: {
1367
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
1368
+ getLoadingState: () => import("../index.js").LoadingState;
1369
+ getIsAwaitingPhase: (id: string) => boolean;
1370
+ };
1371
+ admin: {
1372
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
1373
+ getLoadingState: () => import("../index.js").LoadingState;
1374
+ getIsAwaitingPhase: (id: string) => boolean;
1375
+ };
1376
+ };
1377
+ responsive: {
1378
+ configurator: {
1379
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1380
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1381
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1382
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1383
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1384
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1385
+ };
1386
+ admin: {
1387
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1388
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1389
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1390
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1391
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1392
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1393
+ };
1394
+ };
1278
1395
  routing: {
1279
1396
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
1280
1397
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -1370,6 +1487,50 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1370
1487
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
1371
1488
  exitEmbeddedView: () => void;
1372
1489
  };
1490
+ loading: {
1491
+ configurator: {
1492
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
1493
+ endPhase: (id: string) => void;
1494
+ reportError: () => void;
1495
+ clearError: () => void;
1496
+ expectPhase: (id: string) => void;
1497
+ dropExpectation: (id: string) => void;
1498
+ resetSlot: () => void;
1499
+ };
1500
+ admin: {
1501
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
1502
+ endPhase: (id: string) => void;
1503
+ reportError: () => void;
1504
+ clearError: () => void;
1505
+ expectPhase: (id: string) => void;
1506
+ dropExpectation: (id: string) => void;
1507
+ resetSlot: () => void;
1508
+ };
1509
+ };
1510
+ responsive: {
1511
+ configurator: {
1512
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1513
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1514
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1515
+ expand: () => void;
1516
+ collapse: () => void;
1517
+ hide: () => void;
1518
+ show: () => void;
1519
+ setAnimating: (isAnimating: boolean) => void;
1520
+ reset: () => void;
1521
+ };
1522
+ admin: {
1523
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1524
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1525
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1526
+ expand: () => void;
1527
+ collapse: () => void;
1528
+ hide: () => void;
1529
+ show: () => void;
1530
+ setAnimating: (isAnimating: boolean) => void;
1531
+ reset: () => void;
1532
+ };
1533
+ };
1373
1534
  routing: {
1374
1535
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
1375
1536
  };
@@ -1 +1 @@
1
- import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{createDomainRuntimeSlices as i,resolveIsDev as n}from"#package/domain";import{initializeAnalyticsService as o}from"../common-services/analytics/analytics-service.js";import{initializeI18n as s,initializeLogger as r}from"../common-services/initialize.js";import{createCommonServicesSelectors as a}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as c}from"../domain-application-context/index.js";import{createIntegrationActions as m,createIntegrationSelectors as l,initializeIntegration as p}from"../integration/index.js";import{createRoutingActions as u,createRoutingSelectors as d,initializeRouting as g}from"../routing/index.js";import{SessionService as S,createSessionRuntimeActions as v,createSessionRuntimeSelectors as x,initializeSessionRuntime as f}from"../session/index.js";import{registerGodModeGlobal as C}from"./god-mode.js";export function createApplicationRuntimeSlices(e){let{config:y,bootConfig:A,getSubject:b,getConfiguratorExtensions:j}=e,w=n(y),R=r(y,w),I={analyticsService:o(y,R,w),i18n:s(y),logger:R},{initialize:E,selectors:h,actions:z}=i({config:y,services:I,getSubject:b,getExtensionSystems:e=>J[e].getInitializableSystems()}),D=E(),T=m({setIntegration:e=>{let t=b(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),L=l({getState:()=>b().value}),O=p({actions:T}),U=u({setRouting:e=>{let t=b(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),k=d({getState:()=>b().value,actions:U,accessActions:z.access,loadedDataActions:z.loadedData,domainServicesSelectors:h.domainServices,overridesSelectors:h.overrides}),G=g(),$=a({getState:()=>b().value,environmentSelectors:h.environment,specSelectors:h.spec,accessSelectors:h.access,domainServicesSelectors:h.domainServices,webComponentOptions:A.webComponentOptions,webComponentApi:A.webComponentApi,getSessionService:()=>H(),routingSelectors:k}),q=v({setSessionRuntime:e=>{let t=b(),i=e(t.value.session);t.next({...t.value,session:i})}}),B=x({getState:()=>b().value,sessionContextSelectors:h.sessionContext}),F=f(),H=t(()=>new S({getLogger:()=>h.domainServices.getLogger(),getAnalyticsService:()=>h.domainServices.getAnalyticsService(),getUnauthenticatedClient:$.getUnauthenticatedClient,environmentSelectors:h.environment,sessionActions:q,setSessionContext:z.sessionContext.setSessionContext,sessionSelectors:B,specSelectors:h.spec})),J={configurator:c({applicationType:"configurator",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.configurator,getApplicationRuntimeExtensions:j}),admin:c({applicationType:"admin",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return C({environmentActions:z.environment}),R.info(`Configurator Application loaded with deployment ID: ${y.deploymentId}!`),R.appendToGlobalContext({deploymentId:y.deploymentId}),{getState:()=>b().value,initialize:()=>({...D,integration:O,routing:G,session:F}),selectors:{...h,commonServices:$,integration:L,routing:k,session:B,domainApplicationContext:J},actions:{...z,integration:T,routing:U,session:q}}}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)}
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 a}from"../common-services/analytics/analytics-service.js";import{initializeI18n as r,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{createLoadingActions as d,createLoadingSelectors as v,initializeLoading as S}from"../loading/index.js";import{createResponsiveActions as x,createResponsiveSelectors as f,initializeResponsive as C}from"../responsive/index.js";import{createRoutingActions as y,createRoutingSelectors as A,initializeRouting as b}from"../routing/index.js";import{SessionService as j,createSessionRuntimeActions as w,createSessionRuntimeSelectors as R,initializeSessionRuntime as T}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{config:h,bootConfig:E,getSubject:I,getConfiguratorExtensions:z}=e,D=s(h),L=c(h,D),O={analyticsService:a(h,L,D),i18n:r(h),logger:L},{initialize:U,selectors:k,actions:G}=n({config:h,services:O,getSubject:I,getExtensionSystems:e=>eo[e].getInitializableSystems()}),$=U(),{assistant:q,elements:B}=$.spec.configurator,F=o(q?.formElements??[],B);if(F.length>0)throw new i(F);let H=p({setIntegration:e=>{let t=I(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),J=u({getState:()=>I().value,actions:H}),K=g(),M=y({setRouting:e=>{let t=I(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),N=A({getState:()=>I().value,actions:M,accessActions:G.access,loadedDataActions:G.loadedData,domainServicesSelectors:k.domainServices,overridesSelectors:k.overrides}),P=b(),Q=x({setResponsive:e=>{let t=I(),i=e(t.value.responsive);i!==t.value.responsive&&t.next({...t.value,responsive:i})}}),V={configurator:f({getState:()=>I().value,applicationType:"configurator"}),admin:f({getState:()=>I().value,applicationType:"admin"})},W=C(),X=d({setLoading:e=>{let t=I(),i=e(t.value.loading);i!==t.value.loading&&t.next({...t.value,loading:i})}}),Y={configurator:v({getState:()=>I().value,applicationType:"configurator"}),admin:v({getState:()=>I().value,applicationType:"admin"})},Z=S(),_=l({getState:()=>I().value,environmentSelectors:k.environment,specSelectors:k.spec,accessSelectors:k.access,domainServicesSelectors:k.domainServices,webComponentOptions:E.webComponentOptions,webComponentApi:E.webComponentApi,getSessionService:()=>en(),routingSelectors:N}),ee=w({setSessionRuntime:e=>{let t=I(),i=e(t.value.session);t.next({...t.value,session:i})}}),et=R({getState:()=>I().value,sessionContextSelectors:k.sessionContext}),ei=T(),en=t(()=>new j({getLogger:()=>k.domainServices.getLogger(),getAnalyticsService:()=>k.domainServices.getAnalyticsService(),getUnauthenticatedClient:_.getUnauthenticatedClient,environmentSelectors:k.environment,sessionActions:ee,setSessionContext:G.sessionContext.setSessionContext,sessionSelectors:et,specSelectors:k.spec})),eo={configurator:m({applicationType:"configurator",commonServicesSelectors:_,domainServicesSelectors:k.domainServices,domainContextSelectors:k.domainContext.configurator,getApplicationRuntimeExtensions:z}),admin:m({applicationType:"admin",commonServicesSelectors:_,domainServicesSelectors:k.domainServices,domainContextSelectors:k.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return L.info(`Configurator Application loaded with deployment ID: ${h.deploymentId}!`),L.appendToGlobalContext({deploymentId:h.deploymentId}),{getState:()=>I().value,initialize:()=>({...$,integration:K,loading:Z,responsive:W,routing:P,session:ei}),selectors:{...k,commonServices:_,integration:J,loading:Y,responsive:V,routing:N,session:et,domainApplicationContext:eo},actions:{...G,integration:H,loading:X,responsive:Q,routing:M,session:ee}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,a=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:r,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:a,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(r()),{...c,getState:()=>a().value,subscribe:e=>{let t=a().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
@@ -1 +1 @@
1
- import{jsx as a}from"react/jsx-runtime";import{useQuery as e}from"@tanstack/react-query";import{useCallback as r}from"react";import{Loader as t}from"#package/ui-sdk";import{BackendDataValueProvider as n,useProvidedFrontendData as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as i,useApplicationRuntimeSelector as d,useAuthenticatedClient as c,useConfiguratorDomainFactory as s,useDomainDataActions as l,useFrontendData as u,useLogger as k}from"../application-runtime/index.js";import{BuiltInLoadingPhase as m,useLoadingPhase as f,useLoadingStateManager as h}from"../loading-state/index.js";let D=e=>a(n,{backendData:d(i().selectors.domainData.getConfiguratorBackendData),children:e.children}),p=n=>{let i=k(),d=s(),p=l(),y=c(),v=u(),{frontendDataLoadKey:w}=o();if(!d)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering BackendDataProvider.");if(void 0===w)throw Error("Frontend data load key not found! Render BackendDataProvider inside FrontendDataProvider so data reloads together.");let B=r(async a=>{try{return{success:!0,data:await y.getBackendData(a)}}catch(e){let a=e instanceof Error?e:Error(`Unknown error ${e}`);return i.warn("Failed to fetch backend data:",{},a),{success:!1}}},[y,i]),b=r(async(a,e)=>{if(!d.hasBackendData)return void p.setBackendData(void 0);let r=await B(a);if(e.throwIfAborted(),!r.success)return void p.setBackendData(void 0);try{let a=d.parseBackendData(r.data);return p.setBackendData(a),a}catch(e){let a=e instanceof Error?e:Error(`Unknown error ${e}`);i.error("Failed to parse backend data:",{backendData:r},a),p.setBackendData(void 0);return}},[d,B,i,p]),{data:g,error:F,isFetching:E}=e({queryKey:["get-backend-data",w],queryFn:async({signal:a})=>({backendData:await b(v,a)}),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),x=null!==h();if(f({id:m.BackendData,label:"Loading backend data…"},(void 0===g||E)&&!F),F)throw F;return void 0===g||E?x?null:a(t,{}):a(D,{children:n.children},w)};export const BackendDataProvider=e=>a(p,{...e});
1
+ import{jsx as a}from"react/jsx-runtime";import{useQuery as e}from"@tanstack/react-query";import{useCallback as r}from"react";import{Loader as t}from"#package/ui-sdk";import{BackendDataValueProvider as n,useProvidedFrontendData as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as i,useApplicationRuntimeSelector as d,useAuthenticatedClient as c,useConfiguratorDomainFactory as s,useDomainDataActions as l,useFrontendData as k,useIsLoaderHosted as u,useLogger as m}from"../application-runtime/index.js";import{BuiltInLoadingPhase as f,useLoadingPhase as h}from"../loading-state/index.js";let D=e=>a(n,{backendData:d(i().selectors.domainData.getConfiguratorBackendData),children:e.children}),p=n=>{let i=m(),d=s(),p=l(),y=c(),v=k(),{frontendDataLoadKey:w}=o();if(!d)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering BackendDataProvider.");if(void 0===w)throw Error("Frontend data load key not found! Render BackendDataProvider inside FrontendDataProvider so data reloads together.");let B=r(async a=>{try{return{success:!0,data:await y.getBackendData(a)}}catch(e){let a=e instanceof Error?e:Error(`Unknown error ${e}`);return i.warn("Failed to fetch backend data:",{},a),{success:!1}}},[y,i]),b=r(async(a,e)=>{if(!d.hasBackendData)return void p.setBackendData(void 0);let r=await B(a);if(e.throwIfAborted(),!r.success)return void p.setBackendData(void 0);try{let a=d.parseBackendData(r.data);return p.setBackendData(a),a}catch(e){let a=e instanceof Error?e:Error(`Unknown error ${e}`);i.error("Failed to parse backend data:",{backendData:r},a),p.setBackendData(void 0);return}},[d,B,i,p]),{data:g,error:F,isFetching:E}=e({queryKey:["get-backend-data",w],queryFn:async({signal:a})=>({backendData:await b(v,a)}),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),x=u();if(h({id:f.BackendData,label:"Loading backend data…"},(void 0===g||E)&&!F),F)throw F;return void 0===g||E?x?null:a(t,{}):a(D,{children:n.children},w)};export const BackendDataProvider=e=>a(p,{...e});
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useQuery as e}from"@tanstack/react-query";import{useCallback as r}from"react";import{Loader as a}from"#package/ui-sdk";import{FrontendDataValueProvider as n,useProvidedPublishedData as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as d,useApplicationRuntimeSelector as i,useConfiguratorDomainFactory as s,useDomainDataActions as c,useLogger as l,usePublishedData as u,useSession as f,useWebComponentApi as m}from"../application-runtime/index.js";import{BuiltInLoadingPhase as h,useLoadingPhase as D,useLoadingStateManager as y}from"../loading-state/index.js";import{CollectFrontendDataHandlerBoundary as p,useCollectFrontendDataHandler as F}from"./CollectFrontendDataHandler.js";let w=e=>t(n,{frontendData:i(d().selectors.domainData.getConfiguratorFrontendData),frontendDataLoadKey:e.frontendDataLoadKey,children:e.children}),g=n=>{let d=l(),i=s(),p=c(),g=f(),v=u(),{publishedDataLoadKey:P}=o(),{getPropertyValue:b}=m(),k=F();if(!i)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering FrontendDataProvider.");if(void 0===P)throw Error("Published data load key not found! Render FrontendDataProvider inside PublishedDataProvider so data reloads together.");let E=r(async t=>{if(null==k)return{success:!1};try{return{success:!0,data:await k({sessionData:g.sessionPayload?.data??{},publishedData:t,getWebComponentPropertyValue:b})}}catch(e){let t=e instanceof Error?e:Error(`Unknown error ${e}`);return d.warn("Failed to collect frontend data, the collectFrontendData function threw an error, have you provided collectFrontendData function? Does it return data matching the frontendData spec defined in your domain?",{},t),{success:!1}}},[k,b,d,g.sessionPayload?.data]),j=r(async(t,e)=>{let r=await E(t);if(e.throwIfAborted(),!r.success)return p.setFrontendData({}),{};try{let t=i.parseFrontendData(r.data);return d.debug("Collected frontend data:",t),p.setFrontendData(t),t}catch(e){let t=e instanceof Error?e:Error(`Unknown error ${e}`);return d.error("Failed to parse frontend data:",{frontendData:r},t),p.setFrontendData({}),{}}},[i,E,d,p]),{data:x,error:K,isFetching:L}=e({queryKey:["get-frontend-data",P],queryFn:async({signal:t})=>j(v,t),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),q=null!==y();if(D({id:h.FrontendData,label:"Loading frontend data…"},(void 0===x||L)&&!K),K)throw K;return void 0===x||L?q?null:t(a,{}):t(w,{frontendDataLoadKey:P,children:n.children},P)};export const FrontendDataProvider=e=>t(p,{children:t(g,{...e})});
1
+ import{jsx as t}from"react/jsx-runtime";import{useQuery as e}from"@tanstack/react-query";import{useCallback as r}from"react";import{Loader as a}from"#package/ui-sdk";import{FrontendDataValueProvider as n,useProvidedPublishedData as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as d,useApplicationRuntimeSelector as i,useConfiguratorDomainFactory as s,useDomainDataActions as c,useIsLoaderHosted as l,useLogger as u,usePublishedData as f,useSession as m,useWebComponentApi as h}from"../application-runtime/index.js";import{BuiltInLoadingPhase as D,useLoadingPhase as y}from"../loading-state/index.js";import{CollectFrontendDataHandlerBoundary as p,useCollectFrontendDataHandler as F}from"./CollectFrontendDataHandler.js";let w=e=>t(n,{frontendData:i(d().selectors.domainData.getConfiguratorFrontendData),frontendDataLoadKey:e.frontendDataLoadKey,children:e.children}),g=n=>{let d=u(),i=s(),p=c(),g=m(),v=f(),{publishedDataLoadKey:P}=o(),{getPropertyValue:b}=h(),k=F();if(!i)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering FrontendDataProvider.");if(void 0===P)throw Error("Published data load key not found! Render FrontendDataProvider inside PublishedDataProvider so data reloads together.");let E=r(async t=>{if(null==k)return{success:!1};try{return{success:!0,data:await k({sessionData:g.sessionPayload?.data??{},publishedData:t,getWebComponentPropertyValue:b})}}catch(e){let t=e instanceof Error?e:Error(`Unknown error ${e}`);return d.warn("Failed to collect frontend data, the collectFrontendData function threw an error, have you provided collectFrontendData function? Does it return data matching the frontendData spec defined in your domain?",{},t),{success:!1}}},[k,b,d,g.sessionPayload?.data]),j=r(async(t,e)=>{let r=await E(t);if(e.throwIfAborted(),!r.success)return p.setFrontendData({}),{};try{let t=i.parseFrontendData(r.data);return d.debug("Collected frontend data:",t),p.setFrontendData(t),t}catch(e){let t=e instanceof Error?e:Error(`Unknown error ${e}`);return d.error("Failed to parse frontend data:",{frontendData:r},t),p.setFrontendData({}),{}}},[i,E,d,p]),{data:x,error:K,isFetching:L}=e({queryKey:["get-frontend-data",P],queryFn:async({signal:t})=>j(v,t),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),q=l();if(y({id:D.FrontendData,label:"Loading frontend data…"},(void 0===x||L)&&!K),K)throw K;return void 0===x||L?q?null:t(a,{}):t(w,{frontendDataLoadKey:P,children:n.children},P)};export const FrontendDataProvider=e=>t(p,{children:t(g,{...e})});