@salsita-ai/sdk 0.50.0-develop.f81ab6ac76 → 0.50.0-develop.f9cd9b3a12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) 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/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  20. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  21. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  22. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  23. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  24. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  25. package/dist/configurator/ConfiguratorApp.js +1 -1
  26. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  27. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  28. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  29. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  30. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  31. package/dist/configurator/app-loader-content/index.js +1 -0
  32. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  33. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +4 -3
  34. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  35. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +33 -7
  36. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  37. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  38. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  39. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  40. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  41. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  42. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  43. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  44. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  45. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  46. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +45 -4
  47. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  48. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  49. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  50. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  51. package/dist/configurator/common/configurator-interface.d.ts +112 -4
  52. package/dist/configurator/common/configurator-interface.js +1 -1
  53. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  54. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  55. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  56. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  57. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  58. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  59. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  60. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  61. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  62. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
  63. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  64. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  65. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  66. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  67. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  68. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  69. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  70. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  71. package/dist/configurator/configurator-error-page/index.js +1 -0
  72. package/dist/configurator/index.d.ts +3 -0
  73. package/dist/configurator/index.js +1 -1
  74. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  75. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  76. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  77. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  78. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  79. package/dist/configurator/pages/default-configurator-elements.d.ts +4 -2
  80. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  81. package/dist/configurator/pages/default-elements/index.d.ts +1 -0
  82. package/dist/configurator/pages/default-elements/index.js +1 -1
  83. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  84. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  85. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  86. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  87. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  88. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  89. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  90. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  91. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  92. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  93. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  94. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  95. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  96. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  97. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  98. package/dist/configurator/scene/index.d.ts +1 -0
  99. package/dist/configurator/scene/index.js +1 -1
  100. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  101. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  102. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  103. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  104. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  105. package/dist/configurator/toolbar-actions/index.js +1 -0
  106. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  107. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  108. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  109. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  110. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  111. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  112. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  113. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  114. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  115. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  116. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  117. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  118. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  119. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  120. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  121. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  122. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  123. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  124. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  125. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  126. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  127. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  128. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  129. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  130. package/dist/configurator/ui/assistant/form/index.js +1 -1
  131. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  132. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  133. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  134. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  135. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  136. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  137. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  138. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  139. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  140. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  141. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  142. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  143. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  144. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  145. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  146. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  147. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  148. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  149. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  150. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  151. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  152. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  153. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  154. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  155. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  156. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  157. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  158. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  159. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  160. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  161. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  162. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  163. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  164. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  165. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  166. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  167. package/dist/configurator/ui/assistant/index.js +1 -1
  168. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  169. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  170. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  171. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  172. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  173. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  174. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  175. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  176. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  177. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  178. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  179. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  180. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  181. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  182. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  183. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  184. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  185. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  186. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  187. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  188. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  189. package/dist/configurator/ui/index.d.ts +1 -0
  190. package/dist/configurator/ui/index.js +1 -1
  191. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  192. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  193. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  194. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  195. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  196. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  197. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  198. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  199. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  200. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  201. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  202. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  203. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  204. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  205. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  206. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  207. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  208. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  209. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  210. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  211. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  212. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  213. package/dist/docs/fabs/basic.mdx +4 -0
  214. package/dist/docs/index.json +62 -1
  215. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  216. package/dist/docs/layouts/custom-layout.mdx +321 -159
  217. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  218. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  219. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  220. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  221. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  222. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  223. package/dist/docs/other-features/error-5xx.mdx +1 -1
  224. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  225. package/dist/docs/other-features/not-found-404.mdx +1 -1
  226. package/dist/docs/phoenix/configurator-interface.mdx +200 -66
  227. package/dist/docs/phoenix/finalization.mdx +1 -1
  228. package/dist/docs/phoenix/layout-slots.mdx +5 -5
  229. package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
  230. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  231. package/dist/docs/phoenix/testing.mdx +2 -2
  232. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  233. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  234. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  235. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  236. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  237. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  238. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  239. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  240. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  241. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  242. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  243. package/dist/domain/application/assistant/form/index.js +1 -0
  244. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  245. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  246. package/dist/domain/application/assistant/index.d.ts +2 -3
  247. package/dist/domain/application/assistant/index.js +1 -1
  248. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  249. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  250. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  251. package/dist/domain/application/web-component-property.d.ts +3 -1
  252. package/dist/domain/application/web-component-property.js +1 -1
  253. package/dist/domain/available-system-components.d.ts +1 -1
  254. package/dist/domain/available-system-components.js +1 -1
  255. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  256. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  257. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  258. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  259. package/dist/domain/domain-runtime/domain-runtime.d.ts +8 -0
  260. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  261. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  262. package/dist/domain/domain-runtime/spec/index.js +1 -1
  263. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  264. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +15 -1
  265. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  266. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  267. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  268. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +2 -1
  269. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  270. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  271. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  272. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  273. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  274. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  275. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  276. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  277. package/dist/domain/extensions/export-images/index.js +1 -0
  278. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  279. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  280. package/dist/domain/extensions/index.d.ts +1 -2
  281. package/dist/domain/extensions/index.js +1 -1
  282. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +4 -0
  283. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  284. package/dist/editor/domain-editors/apply-spec-update.d.ts +8 -1
  285. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  286. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  287. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  288. package/dist/i18n/locales/cs/messages.js +1 -1
  289. package/dist/i18n/locales/da/messages.js +1 -1
  290. package/dist/i18n/locales/de/messages.js +1 -1
  291. package/dist/i18n/locales/de-AT/messages.js +1 -1
  292. package/dist/i18n/locales/en/messages.js +1 -1
  293. package/dist/i18n/locales/en-AU/messages.js +1 -1
  294. package/dist/i18n/locales/en-GB/messages.js +1 -1
  295. package/dist/i18n/locales/es/messages.js +1 -1
  296. package/dist/i18n/locales/fr/messages.js +1 -1
  297. package/dist/i18n/locales/hu/messages.js +1 -1
  298. package/dist/i18n/locales/it/messages.js +1 -1
  299. package/dist/i18n/locales/nl/messages.js +1 -1
  300. package/dist/i18n/locales/pl/messages.js +1 -1
  301. package/dist/i18n/locales/pt/messages.js +1 -1
  302. package/dist/i18n/locales/ro/messages.js +1 -1
  303. package/dist/i18n/locales/sk/messages.js +1 -1
  304. package/dist/i18n/locales/tr/messages.js +1 -1
  305. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  306. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  307. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  308. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  309. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  310. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  311. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  312. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  313. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +4 -0
  314. package/dist/react-sdk/application-runtime/hooks/index.d.ts +1 -0
  315. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  316. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  317. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  318. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  319. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  320. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  321. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  322. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  323. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  324. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  325. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  326. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  327. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  328. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  329. package/dist/react-sdk/application-runtime/index.d.ts +1 -0
  330. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  331. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  332. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  333. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  334. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  335. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  336. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  337. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  338. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  339. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  340. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  341. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  342. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  343. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  344. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  345. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  346. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  347. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +95 -2
  348. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  349. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  350. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  351. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  352. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  353. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  354. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  355. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  356. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  357. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  358. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  359. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  360. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  361. package/dist/react-sdk/domain-context/index.d.ts +5 -0
  362. package/dist/react-sdk/domain-context/index.js +1 -1
  363. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  364. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  365. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  366. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  367. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  368. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  369. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  370. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  371. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  372. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  373. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  374. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  375. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  376. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -1
  377. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  378. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  379. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  380. package/dist/react-sdk/elements/index.d.ts +1 -0
  381. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  382. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  383. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  384. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  385. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  386. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  387. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  388. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  389. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  390. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  391. package/dist/react-sdk/handlers/index.d.ts +5 -0
  392. package/dist/react-sdk/handlers/index.js +1 -1
  393. package/dist/react-sdk/handlers/use-finalize-action.d.ts +3 -2
  394. package/dist/react-sdk/handlers/use-finalize-action.js +1 -1
  395. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  396. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  397. package/dist/react-sdk/index.d.ts +1 -0
  398. package/dist/react-sdk/index.js +1 -1
  399. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  400. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  401. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  402. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  403. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  404. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  405. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  406. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  407. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  408. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  409. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  410. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  411. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  412. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  413. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  414. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  415. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  416. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  417. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  418. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  419. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  420. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  421. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  422. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  423. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  424. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  425. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  426. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  427. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  428. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  429. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  430. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  431. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  432. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  433. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  434. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  435. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  436. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  437. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  438. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  439. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  440. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  441. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  442. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  443. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  444. package/dist/ui-sdk/theme/types.d.ts +5 -1
  445. package/package.json +13 -3
  446. package/schema/domain-spec.json +140 -0
  447. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  448. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  449. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  450. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  451. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  452. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  453. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  454. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  455. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  456. package/dist/domain/extensions/client-side-image.js +0 -1
  457. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  458. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  459. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  460. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → react-sdk/application-runtime/responsive/types.js} +0 -0
@@ -0,0 +1,47 @@
1
+ import type { DomainApplicationType } from '#package/domain';
2
+ import type { CanvasPadding, ResponsiveBreakpoints, ResponsiveRuntimeState, ResponsiveViewport } from './types.js';
3
+ interface Context {
4
+ readonly setResponsive: (fn: (state: ResponsiveRuntimeState) => ResponsiveRuntimeState) => void;
5
+ }
6
+ /**
7
+ * Every action returns the slice unchanged when the value is already set, so the runtime publishes
8
+ * nothing and no subscriber recomputes.
9
+ */
10
+ declare const createApplicationActions: (context: Context, applicationType: DomainApplicationType) => {
11
+ setViewport: (viewport: ResponsiveViewport) => void;
12
+ setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
13
+ setCanvasPadding: (canvasPadding: CanvasPadding) => void;
14
+ expand: () => void;
15
+ collapse: () => void;
16
+ hide: () => void;
17
+ show: () => void;
18
+ setAnimating: (isAnimating: boolean) => void;
19
+ reset: () => void;
20
+ };
21
+ /** One set of actions per application, as the domain context keys its own. */
22
+ export declare const createResponsiveActions: (context: Context) => {
23
+ configurator: {
24
+ setViewport: (viewport: ResponsiveViewport) => void;
25
+ setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
26
+ setCanvasPadding: (canvasPadding: CanvasPadding) => void;
27
+ expand: () => void;
28
+ collapse: () => void;
29
+ hide: () => void;
30
+ show: () => void;
31
+ setAnimating: (isAnimating: boolean) => void;
32
+ reset: () => void;
33
+ };
34
+ admin: {
35
+ setViewport: (viewport: ResponsiveViewport) => void;
36
+ setBreakpoints: (breakpoints: ResponsiveBreakpoints) => void;
37
+ setCanvasPadding: (canvasPadding: CanvasPadding) => void;
38
+ expand: () => void;
39
+ collapse: () => void;
40
+ hide: () => void;
41
+ show: () => void;
42
+ setAnimating: (isAnimating: boolean) => void;
43
+ reset: () => void;
44
+ };
45
+ };
46
+ export type ResponsiveActions = ReturnType<typeof createApplicationActions>;
47
+ export {};
@@ -0,0 +1 @@
1
+ import{initializeResponsiveApplication as t}from"./initialize.js";let e=(e,i)=>{let n=t=>{e.setResponsive(e=>{let n=e[i],s=t(n);return s===n?e:{...e,[i]:s}})},s=t=>{n(e=>e.isExpanded===t?e:{...e,isExpanded:t})},r=t=>{n(e=>e.isHidden===t?e:{...e,isHidden:t})};return{setViewport:t=>{n(e=>{let i;return(i=e.viewport,null!==i&&i.width===t.width&&i.height===t.height&&i.isLandscape===t.isLandscape&&i.isPortrait===t.isPortrait)?e:{...e,viewport:t}})},setBreakpoints:t=>{n(e=>{let i;return(i=e.breakpoints,i.sm===t.sm&&i.md===t.md&&i.lg===t.lg)?e:{...e,breakpoints:t}})},setCanvasPadding:t=>{n(e=>{let i;return(i=e.canvasPadding,i.top===t.top&&i.right===t.right&&i.bottom===t.bottom&&i.left===t.left)?e:{...e,canvasPadding:t}})},expand:()=>{s(!0)},collapse:()=>{s(!1)},hide:()=>{r(!0)},show:()=>{r(!1)},setAnimating:t=>{n(e=>e.isAnimating===t?e:{...e,isAnimating:t})},reset:()=>{n(()=>t())}}};export const createResponsiveActions=t=>({configurator:e(t,"configurator"),admin:e(t,"admin")});
@@ -0,0 +1,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,13 @@ import { BehaviorSubject } from 'rxjs';
2
2
  import { type AnyApplicationConfig, type DomainRuntimeState, type WebComponentOptions } from '#package/domain';
3
3
  import { type AnyApplicationRuntimeExtension, type DomainApplicationContextSelectors } from '../domain-application-context/index.js';
4
4
  import { type IntegrationState } from '../integration/index.js';
5
+ import { type ResponsiveRuntimeState } from '../responsive/index.js';
5
6
  import { type RoutingRuntimeState } from '../routing/index.js';
6
7
  import { type ApplicationSessionRuntime, SessionService } from '../session/index.js';
7
8
  import type { WebComponentApi } from '../web-component/index.js';
8
9
  export interface ApplicationRuntimeState extends DomainRuntimeState {
9
10
  readonly integration: IntegrationState;
11
+ readonly responsive: ResponsiveRuntimeState;
10
12
  readonly routing: RoutingRuntimeState;
11
13
  readonly session: ApplicationSessionRuntime;
12
14
  }
@@ -48,6 +50,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
48
50
  webComponent: import("#package/domain").ApplicationWebComponentState;
49
51
  domainContext: import("#package/domain").ApplicationDomainContextState;
50
52
  integration: IntegrationState;
53
+ responsive: ResponsiveRuntimeState;
51
54
  routing: RoutingRuntimeState;
52
55
  session: ApplicationSessionRuntime;
53
56
  };
@@ -93,6 +96,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
93
96
  selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
94
97
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
95
98
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
99
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
96
100
  hashes: Record<string, string>;
97
101
  }>;
98
102
  selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
@@ -136,6 +140,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
136
140
  getElementSlots: () => {
137
141
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
138
142
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
143
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
139
144
  hashes: Record<string, string>;
140
145
  };
141
146
  getDataConfig: () => import("#package/domain").DataSpec | null;
@@ -422,6 +427,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
422
427
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
423
428
  getActiveMode: () => import("#package/domain").DomainMode;
424
429
  getIsInitialized: () => boolean;
430
+ getIsViewMode: () => boolean;
425
431
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
426
432
  getStoreRuntimeDependencies: () => {
427
433
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -531,6 +537,7 @@ export declare function createApplicationRuntimeSlices<State extends Application
531
537
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
532
538
  getActiveMode: () => import("#package/domain").DomainMode;
533
539
  getIsInitialized: () => boolean;
540
+ getIsViewMode: () => boolean;
534
541
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
535
542
  getStoreRuntimeDependencies: () => {
536
543
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -596,7 +603,6 @@ export declare function createApplicationRuntimeSlices<State extends Application
596
603
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
597
604
  };
598
605
  integration: {
599
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
600
606
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
601
607
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
602
608
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -607,6 +613,24 @@ export declare function createApplicationRuntimeSlices<State extends Application
607
613
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
608
614
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
609
615
  };
616
+ responsive: {
617
+ configurator: {
618
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
619
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
620
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
621
+ getResponsiveState: () => import("../index.js").ResponsiveState;
622
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
623
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
624
+ };
625
+ admin: {
626
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
627
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
628
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
629
+ getResponsiveState: () => import("../index.js").ResponsiveState;
630
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
631
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
632
+ };
633
+ };
610
634
  routing: {
611
635
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
612
636
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -702,6 +726,30 @@ export declare function createApplicationRuntimeSlices<State extends Application
702
726
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
703
727
  exitEmbeddedView: () => void;
704
728
  };
729
+ responsive: {
730
+ configurator: {
731
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
732
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
733
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
734
+ expand: () => void;
735
+ collapse: () => void;
736
+ hide: () => void;
737
+ show: () => void;
738
+ setAnimating: (isAnimating: boolean) => void;
739
+ reset: () => void;
740
+ };
741
+ admin: {
742
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
743
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
744
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
745
+ expand: () => void;
746
+ collapse: () => void;
747
+ hide: () => void;
748
+ show: () => void;
749
+ setAnimating: (isAnimating: boolean) => void;
750
+ reset: () => void;
751
+ };
752
+ };
705
753
  routing: {
706
754
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
707
755
  };
@@ -761,6 +809,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
761
809
  selectElementSlots: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, {
762
810
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
763
811
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
812
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
764
813
  hashes: Record<string, string>;
765
814
  }>;
766
815
  selectDataConfig: import("@salsita-ai/common/utils").Selector<import("#package/domain").SpecSelectorState, import("#package/domain").DataSpec | null>;
@@ -804,6 +853,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
804
853
  getElementSlots: () => {
805
854
  entityElements: Record<string, (props: import("#package/domain").CustomPhoenixEntityElementProps) => JSX.Element>;
806
855
  layoutElements: Record<string, (props: import("react").PropsWithChildren) => JSX.Element>;
856
+ assistantFormElements: Record<string, import("react").ComponentType<never>>;
807
857
  hashes: Record<string, string>;
808
858
  };
809
859
  getDataConfig: () => import("#package/domain").DataSpec | null;
@@ -1090,6 +1140,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1090
1140
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1091
1141
  getActiveMode: () => import("#package/domain").DomainMode;
1092
1142
  getIsInitialized: () => boolean;
1143
+ getIsViewMode: () => boolean;
1093
1144
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1094
1145
  getStoreRuntimeDependencies: () => {
1095
1146
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1199,6 +1250,7 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1199
1250
  getMigrate: () => import("#package/domain").MigrateFunction<import("#package/domain").DomainEntity<string>>;
1200
1251
  getActiveMode: () => import("#package/domain").DomainMode;
1201
1252
  getIsInitialized: () => boolean;
1253
+ getIsViewMode: () => boolean;
1202
1254
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
1203
1255
  getStoreRuntimeDependencies: () => {
1204
1256
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -1264,7 +1316,6 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1264
1316
  getUnauthenticatedClient: () => import("../../../client/contract.js").UnauthenticatedPhoenixApiClient;
1265
1317
  };
1266
1318
  integration: {
1267
- selectAdminIntegrationService: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").AdminIntegrationService>;
1268
1319
  selectIntegrationState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, IntegrationState>;
1269
1320
  selectEmbeddedView: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").EmbeddedView>;
1270
1321
  selectPresetEmbeddedState: import("@salsita-ai/common/utils").Selector<import("../index.js").IntegrationSelectorState, import("../index.js").PresetEmbeddedView | null>;
@@ -1275,6 +1326,24 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1275
1326
  getPresetEmbeddedState: () => import("../index.js").PresetEmbeddedView | null;
1276
1327
  getRecipeEmbeddedState: () => import("../index.js").RecipeEmbeddedView | null;
1277
1328
  };
1329
+ responsive: {
1330
+ configurator: {
1331
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1332
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1333
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1334
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1335
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1336
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1337
+ };
1338
+ admin: {
1339
+ selectResponsiveState: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveState>;
1340
+ selectViewportSize: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").ResponsiveViewportSize>;
1341
+ selectCanvasPadding: import("@salsita-ai/common/utils").Selector<import("../responsive/selectors.js").ResponsiveSelectorState, import("../index.js").CanvasPadding>;
1342
+ getResponsiveState: () => import("../index.js").ResponsiveState;
1343
+ getViewportSize: () => import("../index.js").ResponsiveViewportSize;
1344
+ getCanvasPadding: () => import("../index.js").CanvasPadding;
1345
+ };
1346
+ };
1278
1347
  routing: {
1279
1348
  selectRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
1280
1349
  selectEffectiveRoutingState: import("@salsita-ai/common/utils").Selector<import("../index.js").RoutingSelectorState, import("../index.js").RoutingState>;
@@ -1370,6 +1439,30 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
1370
1439
  enterEmbeddedView: (view: import("../index.js").EmbeddedView) => void;
1371
1440
  exitEmbeddedView: () => void;
1372
1441
  };
1442
+ responsive: {
1443
+ configurator: {
1444
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1445
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1446
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1447
+ expand: () => void;
1448
+ collapse: () => void;
1449
+ hide: () => void;
1450
+ show: () => void;
1451
+ setAnimating: (isAnimating: boolean) => void;
1452
+ reset: () => void;
1453
+ };
1454
+ admin: {
1455
+ setViewport: (viewport: import("../index.js").ResponsiveViewport) => void;
1456
+ setBreakpoints: (breakpoints: import("../index.js").ResponsiveBreakpoints) => void;
1457
+ setCanvasPadding: (canvasPadding: import("../index.js").CanvasPadding) => void;
1458
+ expand: () => void;
1459
+ collapse: () => void;
1460
+ hide: () => void;
1461
+ show: () => void;
1462
+ setAnimating: (isAnimating: boolean) => void;
1463
+ reset: () => void;
1464
+ };
1465
+ };
1373
1466
  routing: {
1374
1467
  setRoutingState: (routingState: import("../index.js").RoutingState) => void;
1375
1468
  };
@@ -1 +1 @@
1
- import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{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 r}from"../common-services/analytics/analytics-service.js";import{initializeI18n as a,initializeLogger as c}from"../common-services/initialize.js";import{createCommonServicesSelectors as l}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as m}from"../domain-application-context/index.js";import{createIntegrationActions as p,createIntegrationSelectors as u,initializeIntegration as g}from"../integration/index.js";import{createResponsiveActions as v,createResponsiveSelectors as d,initializeResponsive as S}from"../responsive/index.js";import{createRoutingActions as x,createRoutingSelectors as f,initializeRouting as C}from"../routing/index.js";import{SessionService as y,createSessionRuntimeActions as A,createSessionRuntimeSelectors as b,initializeSessionRuntime as j}from"../session/index.js";export function createApplicationRuntimeSlices(e){let{config:w,bootConfig:R,getSubject:h,getConfiguratorExtensions:E}=e,I=s(w),T=c(w,I),z={analyticsService:r(w,T,I),i18n:a(w),logger:T},{initialize:D,selectors:L,actions:O}=n({config:w,services:z,getSubject:h,getExtensionSystems:e=>Z[e].getInitializableSystems()}),U=D(),{assistant:k,elements:G}=U.spec.configurator,$=o(k?.formElements??[],G);if($.length>0)throw new i($);let q=p({setIntegration:e=>{let t=h(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),B=u({getState:()=>h().value,actions:q}),F=g(),H=x({setRouting:e=>{let t=h(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),J=f({getState:()=>h().value,actions:H,accessActions:O.access,loadedDataActions:O.loadedData,domainServicesSelectors:L.domainServices,overridesSelectors:L.overrides}),K=C(),M=v({setResponsive:e=>{let t=h(),i=e(t.value.responsive);i!==t.value.responsive&&t.next({...t.value,responsive:i})}}),N={configurator:d({getState:()=>h().value,applicationType:"configurator"}),admin:d({getState:()=>h().value,applicationType:"admin"})},P=S(),Q=l({getState:()=>h().value,environmentSelectors:L.environment,specSelectors:L.spec,accessSelectors:L.access,domainServicesSelectors:L.domainServices,webComponentOptions:R.webComponentOptions,webComponentApi:R.webComponentApi,getSessionService:()=>Y(),routingSelectors:J}),V=A({setSessionRuntime:e=>{let t=h(),i=e(t.value.session);t.next({...t.value,session:i})}}),W=b({getState:()=>h().value,sessionContextSelectors:L.sessionContext}),X=j(),Y=t(()=>new y({getLogger:()=>L.domainServices.getLogger(),getAnalyticsService:()=>L.domainServices.getAnalyticsService(),getUnauthenticatedClient:Q.getUnauthenticatedClient,environmentSelectors:L.environment,sessionActions:V,setSessionContext:O.sessionContext.setSessionContext,sessionSelectors:W,specSelectors:L.spec})),Z={configurator:m({applicationType:"configurator",commonServicesSelectors:Q,domainServicesSelectors:L.domainServices,domainContextSelectors:L.domainContext.configurator,getApplicationRuntimeExtensions:E}),admin:m({applicationType:"admin",commonServicesSelectors:Q,domainServicesSelectors:L.domainServices,domainContextSelectors:L.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return T.info(`Configurator Application loaded with deployment ID: ${w.deploymentId}!`),T.appendToGlobalContext({deploymentId:w.deploymentId}),{getState:()=>h().value,initialize:()=>({...U,integration:F,responsive:P,routing:K,session:X}),selectors:{...L,commonServices:Q,integration:B,responsive:N,routing:J,session:W,domainApplicationContext:Z},actions:{...O,integration:q,responsive:M,routing:H,session:V}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,r=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:a,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:r,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(a()),{...c,getState:()=>r().value,subscribe:e=>{let t=r().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
@@ -0,0 +1,9 @@
1
+ export * from './use-configuration-save-state.js';
2
+ export * from './use-configurator-messages.js';
3
+ export * from './use-domain-context.js';
4
+ export * from './use-entity-selector.js';
5
+ export * from './use-observable-selector.js';
6
+ export * from './use-slices.js';
7
+ export * from './use-state-slice.js';
8
+ export * from './use-state-validity.js';
9
+ export * from './use-store-selector.js';
@@ -0,0 +1 @@
1
+ export*from"./use-configuration-save-state.js";export*from"./use-configurator-messages.js";export*from"./use-domain-context.js";export*from"./use-entity-selector.js";export*from"./use-observable-selector.js";export*from"./use-slices.js";export*from"./use-state-slice.js";export*from"./use-state-validity.js";export*from"./use-store-selector.js";
@@ -0,0 +1,23 @@
1
+ import { type ConfigurationPersistSystemFailure } from '../../application-runtime/index.js';
2
+ /**
3
+ * The save status of the configuration, as `useConfigurationSaveState()` returns it.
4
+ */
5
+ export interface ConfigurationSaveState {
6
+ /** The revision the configuration is at: the loaded one, then the one the latest save created. */
7
+ readonly revisionId: string;
8
+ /** Whether a save is running. */
9
+ readonly isSaving: boolean;
10
+ /**
11
+ * The latest failed save, `{ error, timestamp }` with `timestamp` in milliseconds since the epoch, or `null` once a
12
+ * later save succeeds or another configuration loads.
13
+ */
14
+ readonly failure: ConfigurationPersistSystemFailure | null;
15
+ }
16
+ export type UseConfigurationSaveState = () => ConfigurationSaveState;
17
+ /**
18
+ * The save status of the configuration of the application this component is mounted in, read from its persist system:
19
+ * `revisionId`, `isSaving` and `failure`. An editable configuration saves committed changes on its own, three seconds
20
+ * after the last one; a read-only one never saves. Loading a configuration resets the status. Re-renders when any of
21
+ * the three changes; the returned object keeps its identity otherwise.
22
+ */
23
+ export declare const useConfigurationSaveState: UseConfigurationSaveState;
@@ -0,0 +1 @@
1
+ import{useMemo as e}from"react";import{useDomainApplication as r}from"../../application-runtime/index.js";import{useEagerObservableValue as o}from"./use-observable-selector.js";export const useConfigurationSaveState=()=>{let{configurationPersistSystem:t}=r(),i=o(t.revisionId$),a=o(t.saving$),n=o(t.failure$);return e(()=>({revisionId:i,isSaving:a,failure:n}),[i,a,n])};
@@ -69,6 +69,7 @@ export declare const useDomainContextSelectors: () => {
69
69
  getMigrate: () => import("#package/domain").MigrateFunction<DomainEntity<string>>;
70
70
  getActiveMode: () => import("#package/domain").DomainMode;
71
71
  getIsInitialized: () => boolean;
72
+ getIsViewMode: () => boolean;
72
73
  getComponentReaderIndexes: () => import("#package/domain").ComponentReaderIndexes;
73
74
  getStoreRuntimeDependencies: () => {
74
75
  componentReaderIndexes: import("#package/domain").ComponentReaderIndexes;
@@ -0,0 +1 @@
1
+ export * from './use-component.js';
@@ -0,0 +1 @@
1
+ export*from"./use-component.js";
@@ -1 +1 @@
1
- import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as o,useStoreSelector as r}from"../common-hooks/use-store-selector.js";let s=t=>[t.componentType,t.entityId,t.instanceName,t.componentTypes?.length,...t.componentTypes??[],t.entityIds?.length,...t.entityIds??[],t.instanceNames?.length,...t.instanceNames??[]],a=o=>{let r=n(),{componentReader:a}=r.getDomainSystems(),p=t(()=>a.isComponentTypeAttached(o),[a,e(r.getComponentReaderIndexes),...s(o)]);return{componentReader:a,isActive:p}};export const useComponent=t=>{let{entityId:e,componentType:n,instanceName:o}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:o}),m=r(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:o},t.state),[s,e,n,o],p);return null===m?null:m?.state};export const useRenderedComponent=t=>{let{entityId:e,componentType:n,instanceName:r}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:r}),m=o(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:r},t.state),[s,e,n,r],p);return null===m?null:m?.state};export const useComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useDynamicComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:s,isActive:p}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>s.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[s,n,e,o],p)};export const useRenderedComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useFirstComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useFirstRenderedComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useRootComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[o,...s({componentTypes:n})],p)};export const useRootRenderedComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[r,...s({componentTypes:n})],p)};export const useFirstRootComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readFirstRootComponent({componentTypes:n},t.state),[o,...s({componentTypes:n})],p)};export const useFirstRootRenderedComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readFirstRootComponent({componentTypes:n},t.state),[r,...s({componentTypes:n})],p)};
1
+ import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n,useRenderedSelector as o,useStoreSelector as r}from"../common-hooks/index.js";let s=t=>[t.componentType,t.entityId,t.instanceName,t.componentTypes?.length,...t.componentTypes??[],t.entityIds?.length,...t.entityIds??[],t.instanceNames?.length,...t.instanceNames??[]],a=o=>{let r=n(),{componentReader:a}=r.getDomainSystems(),p=t(()=>a.isComponentTypeAttached(o),[a,e(r.getComponentReaderIndexes),...s(o)]);return{componentReader:a,isActive:p}};export const useComponent=t=>{let{entityId:e,componentType:n,instanceName:o}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:o}),m=r(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:o},t.state),[s,e,n,o],p);return null===m?null:m?.state};export const useRenderedComponent=t=>{let{entityId:e,componentType:n,instanceName:r}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:r}),m=o(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:r},t.state),[s,e,n,r],p);return null===m?null:m?.state};export const useComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useDynamicComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:s,isActive:p}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>s.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[s,n,e,o],p)};export const useRenderedComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useFirstComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useFirstRenderedComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useRootComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[o,...s({componentTypes:n})],p)};export const useRootRenderedComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[r,...s({componentTypes:n})],p)};export const useFirstRootComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readFirstRootComponent({componentTypes:n},t.state),[o,...s({componentTypes:n})],p)};export const useFirstRootRenderedComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readFirstRootComponent({componentTypes:n},t.state),[r,...s({componentTypes:n})],p)};
@@ -1 +1 @@
1
- import{useDomain as t}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as e,useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useDomainEntityState=e=>{let{domain:n}=t();return o(t=>n.get$Entity(e,t.state),[n,e])};export const useDomainEntityRenderedState=o=>{let{domain:n}=t();return e(t=>n.get$Entity(o,t.state),[n,o])};
1
+ import{useDomain as t,useRenderedSelector as e,useStoreSelector as n}from"../common-hooks/index.js";export const useDomainEntityState=e=>{let{domain:o}=t();return n(t=>o.get$Entity(e,t.state),[o,e])};export const useDomainEntityRenderedState=n=>{let{domain:o}=t();return e(t=>o.get$Entity(n,t.state),[o,n])};
@@ -1 +1 @@
1
- import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as o}from"../component-hooks/use-component.js";import{useRootEntityId as r}from"./use-root-entity-id.js";export const useEntityPrice=r=>{let n=o({componentTypes:[e],entityIds:[r]}),{i18n:i}=t(),c=n?.state?.currency??"USD",s=n?.state.price;return void 0===s?null:i.number(s,{style:"currency",currency:c})};export const useRootEntityPrice=()=>{let t=r();return useEntityPrice(t)};
1
+ import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as r}from"../component-hooks/index.js";import{useRootEntityId as o}from"./use-root-entity-id.js";export const useEntityPrice=o=>{let n=r({componentTypes:[e],entityIds:[o]}),{i18n:i}=t(),c=n?.state?.currency??"USD",s=n?.state.price;return void 0===s?null:i.number(s,{style:"currency",currency:c})};export const useRootEntityPrice=()=>{let t=o();return useEntityPrice(t)};
@@ -1 +1 @@
1
- import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useRootEntityId=()=>o(t=>t.state.rootEntityId,[]);export const useRootEntityRenderedId=()=>t(t=>t.state.rootEntityId,[]);
1
+ import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityId=()=>o(t=>t.state.rootEntityId,[]);export const useRootEntityRenderedId=()=>t(t=>t.state.rootEntityId,[]);
@@ -1 +1 @@
1
- import{useDomain as t}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as o,useStoreSelector as e}from"../common-hooks/use-store-selector.js";export const useRootEntityState=()=>{let{domain:o}=t();return e(t=>o.getRoot$Entity(t.state),[o])};export const useRootEntityRenderedState=()=>{let{domain:e}=t();return o(t=>e.getRoot$Entity(t.state),[e])};
1
+ import{useDomain as t,useRenderedSelector as e,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityState=()=>{let{domain:e}=t();return o(t=>e.getRoot$Entity(t.state),[e])};export const useRootEntityRenderedState=()=>{let{domain:o}=t();return e(t=>o.getRoot$Entity(t.state),[o])};