@salsita-ai/sdk 0.50.0-develop.1492d82756 → 0.50.0-develop.1cc8da993f

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 (313) hide show
  1. package/dist/application/index.d.ts +1 -0
  2. package/dist/application/index.js +1 -1
  3. package/dist/application/mount-application.d.ts +1 -1
  4. package/dist/application/mount-application.js +1 -1
  5. package/dist/application/mount-configurator.d.ts +19 -0
  6. package/dist/application/mount-configurator.js +1 -0
  7. package/dist/application/mounted-application-runtime.d.ts +4 -0
  8. package/dist/application/mounted-application-runtime.js +1 -0
  9. package/dist/application/register-web-component.d.ts +2 -0
  10. package/dist/application/register-web-component.js +1 -0
  11. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +11 -5
  12. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +1 -1
  13. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  14. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  15. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  16. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  17. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  18. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  19. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  20. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  21. package/dist/application-spec/generate-application/index.d.ts +2 -0
  22. package/dist/application-spec/generate-application/index.js +1 -1
  23. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +3 -3
  24. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -4
  25. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  26. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  27. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  28. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +17 -4
  29. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  30. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  31. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  32. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +3 -3
  33. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -5
  34. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  35. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  36. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  37. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  38. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  39. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  40. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  41. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -3
  42. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  43. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  44. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  45. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  46. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +44 -9
  47. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  48. package/dist/client/authorized-client.d.ts +3 -1
  49. package/dist/client/authorized-client.js +1 -1
  50. package/dist/client/contract.d.ts +17 -0
  51. package/dist/client/index.d.ts +1 -1
  52. package/dist/client/local-authorized-client.d.ts +3 -1
  53. package/dist/client/local-authorized-client.js +1 -1
  54. package/dist/client/memory-authorized-client.d.ts +4 -1
  55. package/dist/client/memory-authorized-client.js +1 -1
  56. package/dist/client/phoenix-api.d.ts +228 -0
  57. package/dist/configurator/ConfiguratorApp.js +1 -1
  58. package/dist/configurator/app-loader-content/index.d.ts +0 -1
  59. package/dist/configurator/app-loader-content/index.js +1 -1
  60. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  61. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +17 -3
  62. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  63. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +23 -6
  64. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  65. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +15 -9
  66. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  67. package/dist/configurator/common/configurator-interface.d.ts +8 -5
  68. package/dist/configurator/common/configurator-interface.js +1 -1
  69. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  70. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  71. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  72. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  73. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -2
  74. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  75. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +3 -3
  76. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -1
  77. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  78. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +3 -3
  79. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -1
  80. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +0 -5
  81. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -1
  82. package/dist/configurator/configurator-error-page/index.d.ts +1 -2
  83. package/dist/configurator/configurator-error-page/index.js +1 -1
  84. package/dist/configurator/index.d.ts +9 -2
  85. package/dist/configurator/index.js +1 -1
  86. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  87. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  88. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +1 -1
  89. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
  90. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +12 -4
  91. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  92. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  93. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  94. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  95. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  96. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  97. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  98. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  99. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -2
  100. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  101. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  102. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  103. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  104. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  105. package/dist/configurator/ui/preset-layout/index.js +1 -1
  106. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  107. package/dist/docs/index.json +78 -1
  108. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  109. package/dist/docs/layouts/custom-layout.mdx +318 -158
  110. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  111. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  112. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  113. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  114. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  115. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  116. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  117. package/dist/docs/phoenix/configurator-interface.mdx +8 -6
  118. package/dist/docs/phoenix/sdk-builder-workflow.mdx +4 -2
  119. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  120. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  121. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  122. package/dist/domain/application/configurator-builder.d.ts +7 -1
  123. package/dist/domain/application/configurator-builder.js +1 -1
  124. package/dist/domain/application/index.d.ts +1 -1
  125. package/dist/domain/application/index.js +1 -1
  126. package/dist/domain/application/standard-properties.js +1 -1
  127. package/dist/domain/application/web-component-property.d.ts +3 -1
  128. package/dist/domain/application/web-component-property.js +1 -1
  129. package/dist/domain/domain-builder.d.ts +9 -3
  130. package/dist/domain/domain-builder.js +1 -1
  131. package/dist/domain/domain-runtime/application.d.ts +39 -0
  132. package/dist/domain/domain-runtime/application.js +1 -0
  133. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  134. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  135. package/dist/domain/domain-runtime/domain-runtime.d.ts +40 -4
  136. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  137. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  138. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  139. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  140. package/dist/domain/domain-runtime/index.d.ts +2 -1
  141. package/dist/domain/domain-runtime/index.js +1 -1
  142. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  143. package/dist/domain/domain-runtime/spec/index.js +1 -1
  144. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -0
  145. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  146. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  147. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  148. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  149. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  150. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  151. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  152. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  153. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  154. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  155. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  156. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  157. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +7 -0
  158. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  159. package/dist/editor/domain-editors/apply-spec-update.d.ts +2 -1
  160. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  161. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  162. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  163. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  164. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  165. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  166. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  167. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  168. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  169. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  170. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  171. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  172. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  173. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  174. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  175. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  176. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  177. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  178. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  179. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  180. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  181. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  182. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  183. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  184. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  185. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  186. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  187. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  188. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  189. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  190. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  191. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  192. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  193. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  194. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  195. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  196. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  197. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  198. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  199. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  200. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  201. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  202. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  203. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  204. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  205. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  206. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  207. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  208. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  209. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  210. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  211. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  212. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  213. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  214. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  215. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  216. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  217. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  218. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  219. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  220. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  221. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  222. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  223. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  224. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  225. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  226. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  227. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  228. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  229. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  230. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  231. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  232. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  233. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  234. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  235. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  236. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  237. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  238. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  239. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  240. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  241. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  242. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  243. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  244. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  245. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  246. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  247. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  248. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  249. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +309 -10
  250. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  251. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  252. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  253. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  254. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +1 -0
  255. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -1
  256. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  257. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  258. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  259. package/dist/react-sdk/domain-context/index.d.ts +1 -0
  260. package/dist/react-sdk/domain-context/index.js +1 -1
  261. package/dist/react-sdk/elements/index.d.ts +0 -1
  262. package/dist/react-sdk/index.d.ts +1 -1
  263. package/dist/react-sdk/index.js +1 -1
  264. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  265. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  266. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  267. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  268. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  269. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  270. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  271. package/dist/react-sdk/loading-state/index.js +1 -1
  272. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  273. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  274. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  275. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  276. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  277. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  278. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  279. package/dist/{configurator/configuration-not-found-page → react-sdk/page-elements}/create-configuration-not-found-page.d.ts +7 -1
  280. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  281. package/dist/{configurator/configurator-error-page → react-sdk/page-elements}/create-configurator-error-page.d.ts +6 -1
  282. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  283. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  284. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  285. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  286. package/dist/react-sdk/page-elements/index.js +1 -0
  287. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  288. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  289. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  290. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  291. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  292. package/package.json +3 -3
  293. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +0 -5
  294. package/dist/configurator/app-loader-content/app-loader-content-name.js +0 -1
  295. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +0 -1
  296. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +0 -1
  297. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  298. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -37
  299. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  300. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  301. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  302. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  303. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  304. package/dist/react-sdk/responsive-state/index.js +0 -1
  305. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  306. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  307. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  308. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  309. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  310. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  311. /package/dist/react-sdk/{elements/configurator-error-page-props.js → application-runtime/host-properties/types.js} +0 -0
  312. /package/dist/react-sdk/{responsive-state/canvas-padding.js → application-runtime/loading/types.js} +0 -0
  313. /package/dist/react-sdk/{elements → page-elements}/configurator-error-page-props.d.ts +0 -0
@@ -1,12 +1,18 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
- import { type AnyApplicationConfig, type DomainRuntimeState, type WebComponentOptions } from '#package/domain';
2
+ import { type AnyApplicationConfig, type Application, type DomainRuntimeState, type WebComponentOptions } from '#package/domain';
3
3
  import { type AnyApplicationRuntimeExtension, type DomainApplicationContextSelectors } from '../domain-application-context/index.js';
4
+ import { type HostPropertiesState } from '../host-properties/index.js';
4
5
  import { type IntegrationState } from '../integration/index.js';
6
+ import { type LoadingRuntimeState } from '../loading/index.js';
7
+ import { type ResponsiveRuntimeState } from '../responsive/index.js';
5
8
  import { type RoutingRuntimeState } from '../routing/index.js';
6
9
  import { type ApplicationSessionRuntime, SessionService } from '../session/index.js';
7
10
  import type { WebComponentApi } from '../web-component/index.js';
8
11
  export interface ApplicationRuntimeState extends DomainRuntimeState {
12
+ readonly hostProperties: HostPropertiesState;
9
13
  readonly integration: IntegrationState;
14
+ readonly loading: LoadingRuntimeState;
15
+ readonly responsive: ResponsiveRuntimeState;
10
16
  readonly routing: RoutingRuntimeState;
11
17
  readonly session: ApplicationSessionRuntime;
12
18
  }
@@ -17,8 +23,19 @@ export interface ApplicationRuntimeBootConfig {
17
23
  readonly webComponentOptions: WebComponentOptions;
18
24
  readonly webComponentApi: WebComponentApi;
19
25
  }
20
- interface Props<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]> {
26
+ /**
27
+ * What an application runtime starts from: an application, or the config of a project built with
28
+ * `ConfiguratorBuilder`, which the runtime converts with `applicationFromConfig` when it creates its
29
+ * slices.
30
+ */
31
+ type ApplicationRuntimeSource = {
32
+ readonly application: Application;
33
+ readonly config?: undefined;
34
+ } | {
21
35
  readonly config: AnyApplicationConfig;
36
+ readonly application?: undefined;
37
+ };
38
+ type Props<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]> = ApplicationRuntimeSource & {
22
39
  readonly bootConfig: ApplicationRuntimeBootConfig;
23
40
  readonly getSubject: () => BehaviorSubject<State>;
24
41
  /**
@@ -26,10 +43,11 @@ interface Props<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS e
26
43
  * breaks the construction cycle while the extension factory receives the base runtime slices.
27
44
  */
28
45
  readonly getConfiguratorExtensions: () => CONFIGURATOR_EXTENSIONS | null;
29
- }
46
+ };
30
47
  /**
31
48
  * 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.
49
+ * needs — common services, host properties, integration, routing, session, loading — and the
50
+ * domain-application system pair.
33
51
  *
34
52
  * Slices rather than a runtime: the caller owns the `BehaviorSubject`, so a layer above can widen
35
53
  * the state type and still have every slice here write into the same subject. Mirrors
@@ -47,10 +65,19 @@ export declare function createApplicationRuntimeSlices<State extends Application
47
65
  access: import("#package/domain").ApplicationAccessInfo;
48
66
  webComponent: import("#package/domain").ApplicationWebComponentState;
49
67
  domainContext: import("#package/domain").ApplicationDomainContextState;
68
+ hostProperties: HostPropertiesState;
50
69
  integration: IntegrationState;
70
+ loading: LoadingRuntimeState;
71
+ responsive: ResponsiveRuntimeState;
51
72
  routing: RoutingRuntimeState;
52
73
  session: ApplicationSessionRuntime;
53
74
  };
75
+ /**
76
+ * Starts the runtime-owned subscription that mirrors the element's properties into
77
+ * `hostProperties` and the domain's `webComponent`, each property by its scope. The subject
78
+ * owner calls it once, right after creating the subject from `initialize()`.
79
+ */
80
+ connectHost: () => () => void;
54
81
  selectors: {
55
82
  domainServices: {
56
83
  getAnalyticsService: () => import("#package/domain").AnalyticsSystem;
@@ -351,6 +378,8 @@ export declare function createApplicationRuntimeSlices<State extends Application
351
378
  webComponent: {
352
379
  selectReadonly: import("@salsita-ai/common/utils").Selector<import("#package/domain").WebComponentSelectorState, boolean>;
353
380
  getReadonly: () => boolean;
381
+ selectLocale: import("@salsita-ai/common/utils").Selector<import("#package/domain").WebComponentSelectorState, string>;
382
+ getLocale: () => string;
354
383
  getWebcomponentGeneration: () => number;
355
384
  };
356
385
  domainContext: {
@@ -424,6 +453,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
424
453
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
425
454
  getActiveMode: () => import("#package/domain").DomainMode;
426
455
  getIsInitialized: () => boolean;
456
+ getIsViewMode: () => boolean;
427
457
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
428
458
  getStoreRuntimeDependencies: () => {
429
459
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -533,6 +563,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
533
563
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
534
564
  getActiveMode: () => import("#package/domain").DomainMode;
535
565
  getIsInitialized: () => boolean;
566
+ getIsViewMode: () => boolean;
536
567
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
537
568
  getStoreRuntimeDependencies: () => {
538
569
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -597,8 +628,66 @@ export declare function createApplicationRuntimeSlices<State extends Application
597
628
  getCreateAdminAuthorizedClient: () => (accessToken: string) => import("../index.js").RuntimeAuthorizedClient;
598
629
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
599
630
  };
631
+ hostProperties: {
632
+ getHostPropertySelector: <NAME extends import("../index.js").HostPropertyName>(name: NAME) => {
633
+ readonly adminSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
634
+ readonly authorizationCode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
635
+ readonly expanded: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, boolean>;
636
+ readonly integrationMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "handoff" | "headless" | "page" | "widget">;
637
+ readonly mode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "admin" | "configurator" | "standalone-admin">;
638
+ readonly power: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "off" | "on" | "standby">;
639
+ readonly presetTags: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string[] | null>;
640
+ readonly refreshToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
641
+ readonly route: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, {
642
+ route: "Index";
643
+ } | {
644
+ route: "Configuration";
645
+ configurationId: string;
646
+ accessToken?: string | undefined;
647
+ } | {
648
+ readonly route: "Index";
649
+ }>;
650
+ readonly sessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
651
+ }[NAME];
652
+ selectRoute: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, {
653
+ route: "Index";
654
+ } | {
655
+ route: "Configuration";
656
+ configurationId: string;
657
+ accessToken?: string | undefined;
658
+ } | {
659
+ readonly route: "Index";
660
+ }>;
661
+ selectExpanded: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, boolean>;
662
+ selectMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "admin" | "configurator" | "standalone-admin">;
663
+ selectPower: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "off" | "on" | "standby">;
664
+ selectPresetTags: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string[] | null>;
665
+ selectIntegrationMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "handoff" | "headless" | "page" | "widget">;
666
+ selectSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
667
+ selectAdminSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
668
+ selectRefreshToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
669
+ selectAuthorizationCode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
670
+ getHostProperty: <NAME extends import("../index.js").HostPropertyName>(name: NAME) => HostPropertiesState[NAME];
671
+ getRoute: () => {
672
+ route: "Index";
673
+ } | {
674
+ route: "Configuration";
675
+ configurationId: string;
676
+ accessToken?: string | undefined;
677
+ } | {
678
+ readonly route: "Index";
679
+ };
680
+ getExpanded: () => boolean;
681
+ getMode: () => "admin" | "configurator" | "standalone-admin";
682
+ getPower: () => "off" | "on" | "standby";
683
+ getPresetTags: () => string[] | null;
684
+ getIntegrationMode: () => "handoff" | "headless" | "page" | "widget";
685
+ getSessionToken: () => string | undefined;
686
+ getAdminSessionToken: () => string | undefined;
687
+ getRefreshToken: () => string | undefined;
688
+ getAuthorizationCode: () => string | undefined;
689
+ };
600
690
  integration: {
601
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
602
691
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
603
692
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
604
693
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -609,6 +698,36 @@ export declare function createApplicationRuntimeSlices<State extends Application
609
698
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
610
699
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
611
700
  };
701
+ loading: {
702
+ configurator: {
703
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
704
+ getLoadingState: () => import("../index.js").LoadingState;
705
+ getIsAwaitingPhase: (id: string) => boolean;
706
+ };
707
+ admin: {
708
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
709
+ getLoadingState: () => import("../index.js").LoadingState;
710
+ getIsAwaitingPhase: (id: string) => boolean;
711
+ };
712
+ };
713
+ responsive: {
714
+ configurator: {
715
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
716
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
717
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
718
+ getResponsiveState: () => import("../index.js").ResponsiveState;
719
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
720
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
721
+ };
722
+ admin: {
723
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
724
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
725
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
726
+ getResponsiveState: () => import("../index.js").ResponsiveState;
727
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
728
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
729
+ };
730
+ };
612
731
  routing: {
613
732
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
614
733
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -704,6 +823,50 @@ export declare function createApplicationRuntimeSlices<State extends Application
704
823
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
705
824
  exitEmbeddedView: () => void;
706
825
  };
826
+ loading: {
827
+ configurator: {
828
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
829
+ endPhase: (id: string) => void;
830
+ reportError: () => void;
831
+ clearError: () => void;
832
+ expectPhase: (id: string) => void;
833
+ dropExpectation: (id: string) => void;
834
+ resetSlot: () => void;
835
+ };
836
+ admin: {
837
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
838
+ endPhase: (id: string) => void;
839
+ reportError: () => void;
840
+ clearError: () => void;
841
+ expectPhase: (id: string) => void;
842
+ dropExpectation: (id: string) => void;
843
+ resetSlot: () => void;
844
+ };
845
+ };
846
+ responsive: {
847
+ configurator: {
848
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
849
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
850
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
851
+ expand: () => void;
852
+ collapse: () => void;
853
+ hide: () => void;
854
+ show: () => void;
855
+ setAnimating: (isAnimating: boolean) => void;
856
+ reset: () => void;
857
+ };
858
+ admin: {
859
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
860
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
861
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
862
+ expand: () => void;
863
+ collapse: () => void;
864
+ hide: () => void;
865
+ show: () => void;
866
+ setAnimating: (isAnimating: boolean) => void;
867
+ reset: () => void;
868
+ };
869
+ };
707
870
  routing: {
708
871
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
709
872
  };
@@ -714,13 +877,13 @@ export declare function createApplicationRuntimeSlices<State extends Application
714
877
  };
715
878
  };
716
879
  export type ApplicationRuntimeSlices = ReturnType<typeof createApplicationRuntimeSlices>;
717
- export type ApplicationRuntimeExtensionContext = Omit<ApplicationRuntimeSlices, 'initialize'>;
880
+ export type ApplicationRuntimeExtensionContext = Omit<ApplicationRuntimeSlices, 'initialize' | 'connectHost'>;
718
881
  export type CreateApplicationRuntimeExtensions<EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]> = (runtime: ApplicationRuntimeExtensionContext) => EXTENSIONS;
719
882
  /**
720
883
  * The application runtime owns the subject and merges a caller-defined system extension into the
721
884
  * built-in domain-application systems. Every extension system participates in initialization.
722
885
  */
723
- declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]>(config: AnyApplicationConfig, bootConfig: ApplicationRuntimeBootConfig, createExtensions?: CreateApplicationRuntimeExtensions<EXTENSIONS>) => {
886
+ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]>(source: AnyApplicationConfig | Application, bootConfig: ApplicationRuntimeBootConfig, createExtensions?: CreateApplicationRuntimeExtensions<EXTENSIONS>) => {
724
887
  selectors: {
725
888
  domainServices: {
726
889
  getAnalyticsService: () => import("#package/domain").AnalyticsSystem;
@@ -1021,6 +1184,8 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1021
1184
  webComponent: {
1022
1185
  selectReadonly: import("@salsita-ai/common/utils").Selector<import("#package/domain").WebComponentSelectorState, boolean>;
1023
1186
  getReadonly: () => boolean;
1187
+ selectLocale: import("@salsita-ai/common/utils").Selector<import("#package/domain").WebComponentSelectorState, string>;
1188
+ getLocale: () => string;
1024
1189
  getWebcomponentGeneration: () => number;
1025
1190
  };
1026
1191
  domainContext: {
@@ -1094,6 +1259,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1094
1259
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1095
1260
  getActiveMode: () => import("#package/domain").DomainMode;
1096
1261
  getIsInitialized: () => boolean;
1262
+ getIsViewMode: () => boolean;
1097
1263
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1098
1264
  getStoreRuntimeDependencies: () => {
1099
1265
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1203,6 +1369,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1203
1369
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1204
1370
  getActiveMode: () => import("#package/domain").DomainMode;
1205
1371
  getIsInitialized: () => boolean;
1372
+ getIsViewMode: () => boolean;
1206
1373
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1207
1374
  getStoreRuntimeDependencies: () => {
1208
1375
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1267,8 +1434,66 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1267
1434
  getCreateAdminAuthorizedClient: () => (accessToken: string) => import("../index.js").RuntimeAuthorizedClient;
1268
1435
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
1269
1436
  };
1437
+ hostProperties: {
1438
+ getHostPropertySelector: <NAME extends import("../index.js").HostPropertyName>(name: NAME) => {
1439
+ readonly adminSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1440
+ readonly authorizationCode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1441
+ readonly expanded: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, boolean>;
1442
+ readonly integrationMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "handoff" | "headless" | "page" | "widget">;
1443
+ readonly mode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "admin" | "configurator" | "standalone-admin">;
1444
+ readonly power: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "off" | "on" | "standby">;
1445
+ readonly presetTags: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string[] | null>;
1446
+ readonly refreshToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1447
+ readonly route: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, {
1448
+ route: "Index";
1449
+ } | {
1450
+ route: "Configuration";
1451
+ configurationId: string;
1452
+ accessToken?: string | undefined;
1453
+ } | {
1454
+ readonly route: "Index";
1455
+ }>;
1456
+ readonly sessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1457
+ }[NAME];
1458
+ selectRoute: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, {
1459
+ route: "Index";
1460
+ } | {
1461
+ route: "Configuration";
1462
+ configurationId: string;
1463
+ accessToken?: string | undefined;
1464
+ } | {
1465
+ readonly route: "Index";
1466
+ }>;
1467
+ selectExpanded: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, boolean>;
1468
+ selectMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "admin" | "configurator" | "standalone-admin">;
1469
+ selectPower: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "off" | "on" | "standby">;
1470
+ selectPresetTags: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string[] | null>;
1471
+ selectIntegrationMode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, "handoff" | "headless" | "page" | "widget">;
1472
+ selectSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1473
+ selectAdminSessionToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1474
+ selectRefreshToken: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1475
+ selectAuthorizationCode: import("@salsita-ai/common/utils").Selector<import("../host-properties/selectors.js").HostPropertiesSelectorState, string | undefined>;
1476
+ getHostProperty: <NAME extends import("../index.js").HostPropertyName>(name: NAME) => HostPropertiesState[NAME];
1477
+ getRoute: () => {
1478
+ route: "Index";
1479
+ } | {
1480
+ route: "Configuration";
1481
+ configurationId: string;
1482
+ accessToken?: string | undefined;
1483
+ } | {
1484
+ readonly route: "Index";
1485
+ };
1486
+ getExpanded: () => boolean;
1487
+ getMode: () => "admin" | "configurator" | "standalone-admin";
1488
+ getPower: () => "off" | "on" | "standby";
1489
+ getPresetTags: () => string[] | null;
1490
+ getIntegrationMode: () => "handoff" | "headless" | "page" | "widget";
1491
+ getSessionToken: () => string | undefined;
1492
+ getAdminSessionToken: () => string | undefined;
1493
+ getRefreshToken: () => string | undefined;
1494
+ getAuthorizationCode: () => string | undefined;
1495
+ };
1270
1496
  integration: {
1271
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
1272
1497
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
1273
1498
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
1274
1499
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -1279,6 +1504,36 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1279
1504
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
1280
1505
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
1281
1506
  };
1507
+ loading: {
1508
+ configurator: {
1509
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
1510
+ getLoadingState: () => import("../index.js").LoadingState;
1511
+ getIsAwaitingPhase: (id: string) => boolean;
1512
+ };
1513
+ admin: {
1514
+ selectLoadingState: import("@salsita-ai/common/utils").Selector<import("../loading/selectors.js").LoadingSelectorState, import("../index.js").LoadingState>;
1515
+ getLoadingState: () => import("../index.js").LoadingState;
1516
+ getIsAwaitingPhase: (id: string) => boolean;
1517
+ };
1518
+ };
1519
+ responsive: {
1520
+ configurator: {
1521
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1522
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1523
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1524
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1525
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1526
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1527
+ };
1528
+ admin: {
1529
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1530
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1531
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1532
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1533
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1534
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1535
+ };
1536
+ };
1282
1537
  routing: {
1283
1538
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
1284
1539
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -1374,6 +1629,50 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1374
1629
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
1375
1630
  exitEmbeddedView: () => void;
1376
1631
  };
1632
+ loading: {
1633
+ configurator: {
1634
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
1635
+ endPhase: (id: string) => void;
1636
+ reportError: () => void;
1637
+ clearError: () => void;
1638
+ expectPhase: (id: string) => void;
1639
+ dropExpectation: (id: string) => void;
1640
+ resetSlot: () => void;
1641
+ };
1642
+ admin: {
1643
+ startPhase: (phase: import("../index.js").LoadingPhase) => void;
1644
+ endPhase: (id: string) => void;
1645
+ reportError: () => void;
1646
+ clearError: () => void;
1647
+ expectPhase: (id: string) => void;
1648
+ dropExpectation: (id: string) => void;
1649
+ resetSlot: () => void;
1650
+ };
1651
+ };
1652
+ responsive: {
1653
+ configurator: {
1654
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1655
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1656
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1657
+ expand: () => void;
1658
+ collapse: () => void;
1659
+ hide: () => void;
1660
+ show: () => void;
1661
+ setAnimating: (isAnimating: boolean) => void;
1662
+ reset: () => void;
1663
+ };
1664
+ admin: {
1665
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1666
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1667
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1668
+ expand: () => void;
1669
+ collapse: () => void;
1670
+ hide: () => void;
1671
+ show: () => void;
1672
+ setAnimating: (isAnimating: boolean) => void;
1673
+ reset: () => void;
1674
+ };
1675
+ };
1377
1676
  routing: {
1378
1677
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
1379
1678
  };
@@ -1386,6 +1685,6 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1386
1685
  subscribe: (callback: () => void) => () => void;
1387
1686
  };
1388
1687
  export type CreatedApplicationRuntime<EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]> = ReturnType<typeof createApplicationRuntimeImpl<EXTENSIONS>>;
1389
- export declare function createApplicationRuntime(config: AnyApplicationConfig, bootConfig: ApplicationRuntimeBootConfig): CreatedApplicationRuntime<readonly []>;
1390
- export declare function createApplicationRuntime<EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]>(config: AnyApplicationConfig, bootConfig: ApplicationRuntimeBootConfig, createExtensions: CreateApplicationRuntimeExtensions<EXTENSIONS>): CreatedApplicationRuntime<EXTENSIONS>;
1688
+ export declare function createApplicationRuntime(source: AnyApplicationConfig | Application, bootConfig: ApplicationRuntimeBootConfig): CreatedApplicationRuntime<readonly []>;
1689
+ export declare function createApplicationRuntime<EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]>(source: AnyApplicationConfig | Application, bootConfig: ApplicationRuntimeBootConfig, createExtensions: CreateApplicationRuntimeExtensions<EXTENSIONS>): CreatedApplicationRuntime<EXTENSIONS>;
1391
1690
  export {};
@@ -1 +1 @@
1
- import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{ImplementationErrors as i,createDomainRuntimeSlices as n,findAssistantFormElementErrors as o,resolveIsDev as s}from"#package/domain";import{initializeAnalyticsService as r}from"../common-services/analytics/analytics-service.js";import{initializeI18n as a,initializeLogger as c}from"../common-services/initialize.js";import{createCommonServicesSelectors as l}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as m}from"../domain-application-context/index.js";import{createIntegrationActions as p,createIntegrationSelectors as u,initializeIntegration as g}from"../integration/index.js";import{createRoutingActions as d,createRoutingSelectors as S,initializeRouting as v}from"../routing/index.js";import{SessionService as x,createSessionRuntimeActions as f,createSessionRuntimeSelectors as C,initializeSessionRuntime as y}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{config:A,bootConfig:b,getSubject:w,getConfiguratorExtensions:j}=e,R=s(A),h=c(A,R),E={analyticsService:r(A,h,R),i18n:a(A),logger:h},{initialize:I,selectors:z,actions:D}=n({config:A,services:E,getSubject:w,getExtensionSystems:e=>P[e].getInitializableSystems()}),T=I(),{assistant:L,elements:O}=T.spec.configurator,U=o(L?.formElements??[],O);if(U.length>0)throw new i(U);let k=p({setIntegration:e=>{let t=w(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),G=u({getState:()=>w().value}),$=g({actions:k}),q=d({setRouting:e=>{let t=w(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),B=S({getState:()=>w().value,actions:q,accessActions:D.access,loadedDataActions:D.loadedData,domainServicesSelectors:z.domainServices,overridesSelectors:z.overrides}),F=v(),H=l({getState:()=>w().value,environmentSelectors:z.environment,specSelectors:z.spec,accessSelectors:z.access,domainServicesSelectors:z.domainServices,webComponentOptions:b.webComponentOptions,webComponentApi:b.webComponentApi,getSessionService:()=>N(),routingSelectors:B}),J=f({setSessionRuntime:e=>{let t=w(),i=e(t.value.session);t.next({...t.value,session:i})}}),K=C({getState:()=>w().value,sessionContextSelectors:z.sessionContext}),M=y(),N=t(()=>new x({getLogger:()=>z.domainServices.getLogger(),getAnalyticsService:()=>z.domainServices.getAnalyticsService(),getUnauthenticatedClient:H.getUnauthenticatedClient,environmentSelectors:z.environment,sessionActions:J,setSessionContext:D.sessionContext.setSessionContext,sessionSelectors:K,specSelectors:z.spec})),P={configurator:m({applicationType:"configurator",commonServicesSelectors:H,domainServicesSelectors:z.domainServices,domainContextSelectors:z.domainContext.configurator,getApplicationRuntimeExtensions:j}),admin:m({applicationType:"admin",commonServicesSelectors:H,domainServicesSelectors:z.domainServices,domainContextSelectors:z.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return h.info(`Configurator Application loaded with deployment ID: ${A.deploymentId}!`),h.appendToGlobalContext({deploymentId:A.deploymentId}),{getState:()=>w().value,initialize:()=>({...T,integration:$,routing:F,session:M}),selectors:{...z,commonServices:H,integration:G,routing:B,session:K,domainApplicationContext:P},actions:{...D,integration:k,routing:q,session:J}}}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 o,applicationFromConfig as i,createDomainRuntimeSlices as n,findAssistantFormElementErrors as s,resolveIsDev as a}from"#package/domain";import{initializeAnalyticsService as r}from"../common-services/analytics/analytics-service.js";import{initializeI18n as c,initializeLogger as l}from"../common-services/initialize.js";import{createCommonServicesSelectors as p}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as m}from"../domain-application-context/index.js";import{connectHostProperties as u,createHostPropertiesActions as g,createHostPropertiesSelectors as v,initializeHostProperties as d}from"../host-properties/index.js";import{createIntegrationActions as S,createIntegrationSelectors as x,initializeIntegration as f}from"../integration/index.js";import{createLoadingActions as C,createLoadingSelectors as y,initializeLoading as b}from"../loading/index.js";import{createResponsiveActions as A,createResponsiveSelectors as w,initializeResponsive as h}from"../responsive/index.js";import{createRoutingActions as j,createRoutingSelectors as R,initializeRouting as T}from"../routing/index.js";import{SessionService as E,createSessionRuntimeActions as I,createSessionRuntimeSelectors as P,initializeSessionRuntime as L}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{bootConfig:z,getSubject:D,getConfiguratorExtensions:H}=e,O=e.application??i(e.config),U={...O.environment,services:O.services,version:O.spec.version},k=a(U),G=l(U,k),{initialize:$,selectors:q,actions:B,hostMirrorActions:F}=n({application:O,services:{analyticsService:r(U,G,k),i18n:c(U),logger:G},getSubject:D,getExtensionSystems:e=>eu[e].getInitializableSystems()}),J=$(),{assistant:K,elements:M}=J.spec.configurator,N=s(K?.formElements??[],M);if(N.length>0)throw new o(N);let Q=g({setHostProperties:e=>{let t=D(),o=e(t.value.hostProperties);o!==t.value.hostProperties&&t.next({...t.value,hostProperties:o})}}),V=v({getState:()=>D().value}),W=S({setIntegration:e=>{let t=D(),o=e(t.value.integration);t.next({...t.value,integration:o})}}),X=x({getState:()=>D().value,actions:W}),Y=f(),Z=j({setRouting:e=>{let t=D(),o=e(t.value.routing);t.next({...t.value,routing:o})}}),_=R({getState:()=>D().value,actions:Z,accessActions:B.access,loadedDataActions:B.loadedData,domainServicesSelectors:q.domainServices,overridesSelectors:q.overrides}),ee=T(),et=A({setResponsive:e=>{let t=D(),o=e(t.value.responsive);o!==t.value.responsive&&t.next({...t.value,responsive:o})}}),eo={configurator:w({getState:()=>D().value,applicationType:"configurator"}),admin:w({getState:()=>D().value,applicationType:"admin"})},ei=h(),en=C({setLoading:e=>{let t=D(),o=e(t.value.loading);o!==t.value.loading&&t.next({...t.value,loading:o})}}),es={configurator:y({getState:()=>D().value,applicationType:"configurator"}),admin:y({getState:()=>D().value,applicationType:"admin"})},ea=b(),er=p({getState:()=>D().value,environmentSelectors:q.environment,specSelectors:q.spec,accessSelectors:q.access,domainServicesSelectors:q.domainServices,webComponentOptions:z.webComponentOptions,webComponentApi:z.webComponentApi,getSessionService:()=>em(),routingSelectors:_}),ec=I({setSessionRuntime:e=>{let t=D(),o=e(t.value.session);t.next({...t.value,session:o})}}),el=P({getState:()=>D().value,sessionContextSelectors:q.sessionContext}),ep=L(),em=t(()=>new E({getLogger:()=>q.domainServices.getLogger(),getAnalyticsService:()=>q.domainServices.getAnalyticsService(),getUnauthenticatedClient:er.getUnauthenticatedClient,environmentSelectors:q.environment,sessionActions:ec,setSessionContext:B.sessionContext.setSessionContext,sessionSelectors:el,specSelectors:q.spec})),eu={configurator:m({applicationType:"configurator",commonServicesSelectors:er,domainServicesSelectors:q.domainServices,domainContextSelectors:q.domainContext.configurator,getApplicationRuntimeExtensions:H}),admin:m({applicationType:"admin",commonServicesSelectors:er,domainServicesSelectors:q.domainServices,domainContextSelectors:q.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return G.info(`Configurator Application loaded with deployment ID: ${U.deploymentId}!`),G.appendToGlobalContext({deploymentId:U.deploymentId}),{getState:()=>D().value,initialize:()=>({...J,hostProperties:d(z.webComponentApi),integration:Y,loading:ea,responsive:ei,routing:ee,session:ep}),connectHost:()=>u({webComponentApi:z.webComponentApi,actions:Q,domainSelectors:q.webComponent,domainActions:{setReadonly:B.webComponent.setReadonly,setLocale:F.setLocale}}),selectors:{...q,commonServices:er,hostProperties:V,integration:X,loading:es,responsive:eo,routing:_,session:el,domainApplicationContext:eu},actions:{...B,integration:W,loading:en,responsive:et,routing:Z,session:ec}}}export function createApplicationRuntime(t,o,i){return((t,o,i)=>{let n=null,s=null,a=()=>{if(!n)throw Error("Subject not yet initialized!");return n},{initialize:r,connectHost:c,...l}=createApplicationRuntimeSlices({..."spec"in t?{application:t}:{config:t},bootConfig:o,getSubject:a,getConfiguratorExtensions:()=>s});return s=i?i(l):[],l.selectors.domainApplicationContext.configurator.getSystems(),n=new e(r()),c(),{...l,getState:()=>a().value,subscribe:e=>{let t=a().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,o,i)}
@@ -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})});
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useQuery as t}from"@tanstack/react-query";import r from"lodash-es/uniq.js";import{useCallback as a,useMemo as i}from"react";import{SYSTEM_CHUNK_KEY as n}from"#package/domain";import{Loader as s}from"#package/ui-sdk";import{PublishedDataValueProvider as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as l,useApplicationRuntimeSelector as d,useAuthenticatedClient as u,useConfiguratorDomainFactory as h,useDomainDataActions as c,useLogger as p,usePersistenceConfig as m,useSession as f,useSpecChunks as b,useSpecInitialPublishedData as y,useSpecPublishedDataHash as k}from"../application-runtime/index.js";import{BuiltInLoadingPhase as g,useLoadingPhase as P,useLoadingStateManager as w}from"../loading-state/index.js";import{FilterPublishedChunksHandlerBoundary as D,useFilterPublishedChunksHandler as v}from"./FilterPublishedChunksHandler.js";export const getAccessibleChunkKeys=(e,t)=>{let r=new Set((t??[]).map(String));return Object.keys(e).filter(t=>{if(t===n)return!0;let a=e[t];return null!=a&&r.has(a.scope)})};export const resolveChunkKeysToFetch=e=>{let{chunksSpec:t,chunkScopes:a,filteredChunkKeys:i}=e,s=i??getAccessibleChunkKeys(t,a);if(null!=i){let e=i.filter(e=>e!==n&&null==t[e]);if(e.length>0)throw Error(`createFilterPublishedChunksHandler returned unknown chunk keys: ${e.join(", ")}.`)}return r([...s,n].map(String))};let j=t=>e(o,{publishedData:d(l().selectors.domainData.getConfiguratorPublishedData),publishedDataLoadKey:t.publishedDataLoadKey,children:t.children}),F=r=>{let n=f(),o=p(),l=m(),d=b(),D=k(),F=y(),C=u(),E=h(),x=c();if(!E)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering PublishedDataProvider.");let S=v(),K=n.sessionPayload?.chunkScopes,O=i(()=>{if(null==d||0===Object.keys(d).length)return;if(null==D)throw Error("publishedDataHash is required when chunks are defined. Use withPublishedDataHash() in ConfiguratorBuilder.");let e=S?.();return resolveChunkKeysToFetch({chunksSpec:d,chunkScopes:K,filteredChunkKeys:e})},[d,K,S,D]),A=i(()=>JSON.stringify(O??null),[O]),R=i(()=>JSON.stringify(F),[F]),q=a(async e=>{let t=await Promise.all(e.map(async e=>{try{let t=await C.getPublishedChunk(e,D);if(null==t){let t=F[e];if(t&&"object"==typeof t)return{key:e,data:t};return{key:e,data:{}}}return{key:e,data:t}}catch(t){return o.error("Failed to fetch published chunk",{key:e},t instanceof Error?t:Error(String(t))),{key:e,data:{}}}})),r={};for(let e of t)r[e.key]=e.data;return{success:!0,data:r}},[C,o,F,D]),H=a(async()=>{if("memory"===l.type||"local-storage"===l.type)return{success:!0,data:F};if(null!=O)return 0===O.length?{success:!0,data:{}}:q(O);let e=n.sessionPayload?.publishedAdminRevisionPath;if(null==e)return{success:!1};try{let t=await fetch(e);return{success:!0,data:await t.json()}}catch(r){let t=r instanceof Error?r:Error(`Unknown error ${r}`);return o.warn("Failed to fetch published data, the published data endpoint returned an error, have you published data from the admin? Check if the published data is accessible.",{path:e},t),{success:!1}}},[o,l,F,n.sessionPayload?.publishedAdminRevisionPath,O,q]),L=a(async e=>{let t=await H();if(e.throwIfAborted(),!t.success)return x.setPublishedData(F),F;try{let e=E.parsePublishedData(t.data);return o.debug("Fetched published admin revision data:",e),x.setPublishedData(e),e}catch(r){let e=r instanceof Error?r:Error(`Unknown error ${r}`);return o.error("Failed to parse published data, the data structure does not match the expected schema, does the published data match the publishedData schema defined in your domain?",{json:t},e),x.setPublishedData(F),F}},[o,E,H,F,x]),J=i(()=>["get-published-admin-data",n.sessionPayload?.publishedAdminRevisionPath,A,D,R],[A,R,D,n.sessionPayload?.publishedAdminRevisionPath]),N=i(()=>JSON.stringify(J),[J]),{data:U,error:$,isFetching:T}=t({queryKey:J,queryFn:({signal:e})=>L(e),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),B=null!==w();if(P({id:g.PublishedData,label:"Loading published data…"},(void 0===U||T)&&!$),$)throw $;return void 0===U||T?B?null:e(s,{}):e(j,{publishedDataLoadKey:N,children:r.children},N)};export const PublishedDataProvider=t=>e(D,{children:e(F,{...t})});
1
+ import{jsx as e}from"react/jsx-runtime";import{useQuery as t}from"@tanstack/react-query";import r from"lodash-es/uniq.js";import{useCallback as a,useMemo as i}from"react";import{SYSTEM_CHUNK_KEY as s}from"#package/domain";import{Loader as n}from"#package/ui-sdk";import{PublishedDataValueProvider as o}from"../application-runtime/hooks/data/index.js";import{useApplicationRuntime as l,useApplicationRuntimeSelector as d,useAuthenticatedClient as u,useConfiguratorDomainFactory as h,useDomainDataActions as c,useIsLoaderHosted as p,useLogger as m,usePersistenceConfig as f,useSession as b,useSpecChunks as y,useSpecInitialPublishedData as k,useSpecPublishedDataHash as g}from"../application-runtime/index.js";import{BuiltInLoadingPhase as P,useLoadingPhase as w}from"../loading-state/index.js";import{FilterPublishedChunksHandlerBoundary as D,useFilterPublishedChunksHandler as v}from"./FilterPublishedChunksHandler.js";export const getAccessibleChunkKeys=(e,t)=>{let r=new Set((t??[]).map(String));return Object.keys(e).filter(t=>{if(t===s)return!0;let a=e[t];return null!=a&&r.has(a.scope)})};export const resolveChunkKeysToFetch=e=>{let{chunksSpec:t,chunkScopes:a,filteredChunkKeys:i}=e,n=i??getAccessibleChunkKeys(t,a);if(null!=i){let e=i.filter(e=>e!==s&&null==t[e]);if(e.length>0)throw Error(`createFilterPublishedChunksHandler returned unknown chunk keys: ${e.join(", ")}.`)}return r([...n,s].map(String))};let j=t=>e(o,{publishedData:d(l().selectors.domainData.getConfiguratorPublishedData),publishedDataLoadKey:t.publishedDataLoadKey,children:t.children}),F=r=>{let s=b(),o=m(),l=f(),d=y(),D=g(),F=k(),C=u(),E=h(),x=c();if(!E)throw Error("DomainFactory is not available in the runtime registry. Ensure replaceDomainRuntime() is called with domainFactory before rendering PublishedDataProvider.");let S=v(),K=s.sessionPayload?.chunkScopes,O=i(()=>{if(null==d||0===Object.keys(d).length)return;if(null==D)throw Error("publishedDataHash is required when chunks are defined. Use withPublishedDataHash() in ConfiguratorBuilder.");let e=S?.();return resolveChunkKeysToFetch({chunksSpec:d,chunkScopes:K,filteredChunkKeys:e})},[d,K,S,D]),A=i(()=>JSON.stringify(O??null),[O]),R=i(()=>JSON.stringify(F),[F]),q=a(async e=>{let t=await Promise.all(e.map(async e=>{try{let t=await C.getPublishedChunk(e,D);if(null==t){let t=F[e];if(t&&"object"==typeof t)return{key:e,data:t};return{key:e,data:{}}}return{key:e,data:t}}catch(t){return o.error("Failed to fetch published chunk",{key:e},t instanceof Error?t:Error(String(t))),{key:e,data:{}}}})),r={};for(let e of t)r[e.key]=e.data;return{success:!0,data:r}},[C,o,F,D]),H=a(async()=>{if("memory"===l.type||"local-storage"===l.type)return{success:!0,data:F};if(null!=O)return 0===O.length?{success:!0,data:{}}:q(O);let e=s.sessionPayload?.publishedAdminRevisionPath;if(null==e)return{success:!1};try{let t=await fetch(e);return{success:!0,data:await t.json()}}catch(r){let t=r instanceof Error?r:Error(`Unknown error ${r}`);return o.warn("Failed to fetch published data, the published data endpoint returned an error, have you published data from the admin? Check if the published data is accessible.",{path:e},t),{success:!1}}},[o,l,F,s.sessionPayload?.publishedAdminRevisionPath,O,q]),L=a(async e=>{let t=await H();if(e.throwIfAborted(),!t.success)return x.setPublishedData(F),F;try{let e=E.parsePublishedData(t.data);return o.debug("Fetched published admin revision data:",e),x.setPublishedData(e),e}catch(r){let e=r instanceof Error?r:Error(`Unknown error ${r}`);return o.error("Failed to parse published data, the data structure does not match the expected schema, does the published data match the publishedData schema defined in your domain?",{json:t},e),x.setPublishedData(F),F}},[o,E,H,F,x]),J=i(()=>["get-published-admin-data",s.sessionPayload?.publishedAdminRevisionPath,A,D,R],[A,R,D,s.sessionPayload?.publishedAdminRevisionPath]),N=i(()=>JSON.stringify(J),[J]),{data:U,error:$,isFetching:T}=t({queryKey:J,queryFn:({signal:e})=>L(e),refetchOnMount:"always",refetchOnWindowFocus:!1,refetchOnReconnect:!1}),B=p();if(w({id:P.PublishedData,label:"Loading published data…"},(void 0===U||T)&&!$),$)throw $;return void 0===U||T?B?null:e(n,{}):e(j,{publishedDataLoadKey:N,children:r.children},N)};export const PublishedDataProvider=t=>e(D,{children:e(F,{...t})});
@@ -1,3 +1,4 @@
1
+ export * from './use-configuration-save-state.js';
1
2
  export * from './use-configurator-messages.js';
2
3
  export * from './use-domain-context.js';
3
4
  export * from './use-entity-selector.js';
@@ -1 +1 @@
1
- export*from"./use-configurator-messages.js";export*from"./use-domain-context.js";export*from"./use-entity-selector.js";export*from"./use-observable-selector.js";export*from"./use-slices.js";export*from"./use-state-slice.js";export*from"./use-state-validity.js";export*from"./use-store-selector.js";
1
+ export*from"./use-configuration-save-state.js";export*from"./use-configurator-messages.js";export*from"./use-domain-context.js";export*from"./use-entity-selector.js";export*from"./use-observable-selector.js";export*from"./use-slices.js";export*from"./use-state-slice.js";export*from"./use-state-validity.js";export*from"./use-store-selector.js";
@@ -0,0 +1,23 @@
1
+ import { type ConfigurationPersistSystemFailure } from '../../application-runtime/index.js';
2
+ /**
3
+ * The save status of the configuration, as `useConfigurationSaveState()` returns it.
4
+ */
5
+ export interface ConfigurationSaveState {
6
+ /** The revision the configuration is at: the loaded one, then the one the latest save created. */
7
+ readonly revisionId: string;
8
+ /** Whether a save is running. */
9
+ readonly isSaving: boolean;
10
+ /**
11
+ * The latest failed save, `{ error, timestamp }` with `timestamp` in milliseconds since the epoch, or `null` once a
12
+ * later save succeeds or another configuration loads.
13
+ */
14
+ readonly failure: ConfigurationPersistSystemFailure | null;
15
+ }
16
+ export type UseConfigurationSaveState = () => ConfigurationSaveState;
17
+ /**
18
+ * The save status of the configuration of the application this component is mounted in, read from its persist system:
19
+ * `revisionId`, `isSaving` and `failure`. An editable configuration saves committed changes on its own, three seconds
20
+ * after the last one; a read-only one never saves. Loading a configuration resets the status. Re-renders when any of
21
+ * the three changes; the returned object keeps its identity otherwise.
22
+ */
23
+ export declare const useConfigurationSaveState: UseConfigurationSaveState;
@@ -0,0 +1 @@
1
+ import{useMemo as e}from"react";import{useDomainApplication as r}from"../../application-runtime/index.js";import{useEagerObservableValue as o}from"./use-observable-selector.js";export const useConfigurationSaveState=()=>{let{configurationPersistSystem:t}=r(),i=o(t.revisionId$),a=o(t.saving$),n=o(t.failure$);return e(()=>({revisionId:i,isSaving:a,failure:n}),[i,a,n])};
@@ -69,6 +69,7 @@ export declare const useDomainContextSelectors: () => {
69
69
  getMigrate: () => import("#package/domain").MigrateFunction<DomainEntity<string>>;
70
70
  getActiveMode: () => import("#package/domain").DomainMode;
71
71
  getIsInitialized: () => boolean;
72
+ getIsViewMode: () => boolean;
72
73
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
73
74
  getStoreRuntimeDependencies: () => {
74
75
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -2,6 +2,7 @@ export { useDomain, type UseDomainContext } from './common-hooks/use-domain-cont
2
2
  export { useStoreSelector, useRenderedSelector, useRenderedSelector$, useStoreSelector$, type UseSynchronizedSelector, type UseSynchronizedSelector$, } from './common-hooks/use-store-selector.js';
3
3
  export { useEagerObservableSelector, usePatientObservableSelector, usePatientObservableValue, useEagerObservableValue, } from './common-hooks/use-observable-selector.js';
4
4
  export { useStateValidity, type UseStateValidity, useMapViolationHints, type UseMapViolationHints, useControlViolations, type UseControlViolations, useFinalizeViolations, type UseFinalizeViolations, } from './common-hooks/use-state-validity.js';
5
+ export { useConfigurationSaveState, type UseConfigurationSaveState, type ConfigurationSaveState, } from './common-hooks/use-configuration-save-state.js';
5
6
  export { useConfiguratorMessages, type UseConfiguratorMessages, type ConfiguratorMessage, } from './common-hooks/use-configurator-messages.js';
6
7
  export { useComponent, useRenderedComponent, type UseComponent, useComponents, useDynamicComponents, useRenderedComponents, type UseComponents, useRootComponents, useRootRenderedComponents, type UseRootComponents, useFirstComponent, useFirstRenderedComponent, type UseFirstComponent, useFirstRootComponent, useFirstRootRenderedComponent, type UseFirstRootComponent, } from './component-hooks/use-component.js';
7
8
  export { useCommittedState, useCommittedSlice, useRenderedSlice, useRenderedState, type UseSlice, type UseState, } from './common-hooks/use-slices.js';