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

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 (617) hide show
  1. package/dist/application/index.d.ts +1 -0
  2. package/dist/application/index.js +1 -1
  3. package/dist/application/mount-application.d.ts +1 -1
  4. package/dist/application/mount-application.js +1 -1
  5. package/dist/application/mount-configurator.d.ts +19 -0
  6. package/dist/application/mount-configurator.js +1 -0
  7. package/dist/application/mounted-application-runtime.d.ts +4 -0
  8. package/dist/application/mounted-application-runtime.js +1 -0
  9. package/dist/application/register-web-component.d.ts +2 -0
  10. package/dist/application/register-web-component.js +1 -0
  11. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
  12. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  13. package/dist/application-spec/errors/diagnostic-messages.d.ts +10 -1
  14. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  15. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  16. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  17. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  18. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  19. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  20. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  21. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  22. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  23. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  24. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
  25. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  26. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +13 -6
  28. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  29. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  30. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  31. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  32. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  33. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  34. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  35. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  36. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  37. package/dist/application-spec/generate-application/index.d.ts +2 -0
  38. package/dist/application-spec/generate-application/index.js +1 -1
  39. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +3 -3
  40. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -4
  41. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  42. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  43. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  44. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +17 -4
  45. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  46. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  47. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  48. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +3 -3
  49. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -5
  50. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  51. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  52. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  53. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  54. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  55. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  56. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  57. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -3
  58. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  59. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  60. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  61. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  62. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +44 -9
  63. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  64. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  65. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  66. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  67. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  68. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  69. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  70. package/dist/configurator/ConfiguratorApp.js +1 -1
  71. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  72. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  73. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  74. package/dist/configurator/app-loader-content/index.js +1 -0
  75. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  76. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +4 -3
  77. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  78. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +33 -7
  79. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  80. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  81. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  82. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  83. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  84. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  85. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  86. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  87. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  88. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  89. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +45 -4
  90. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  91. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  92. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  93. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  94. package/dist/configurator/common/configurator-interface.d.ts +111 -5
  95. package/dist/configurator/common/configurator-interface.js +1 -1
  96. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  97. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  98. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  99. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  100. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -1
  101. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  102. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  103. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  104. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  105. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  106. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  107. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
  108. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  109. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  110. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  111. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  112. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  113. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  114. package/dist/configurator/configurator-error-page/index.js +1 -0
  115. package/dist/configurator/index.d.ts +10 -0
  116. package/dist/configurator/index.js +1 -1
  117. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  118. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  119. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  120. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  121. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  122. package/dist/configurator/pages/default-configurator-elements.d.ts +4 -2
  123. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  124. package/dist/configurator/pages/default-elements/index.d.ts +1 -0
  125. package/dist/configurator/pages/default-elements/index.js +1 -1
  126. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  127. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  128. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  129. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  130. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  131. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  132. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  133. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  134. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  135. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  136. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  137. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  138. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  139. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  140. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  141. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  142. package/dist/configurator/scene/index.d.ts +1 -0
  143. package/dist/configurator/scene/index.js +1 -1
  144. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  145. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  146. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  147. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  148. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  149. package/dist/configurator/toolbar-actions/index.js +1 -0
  150. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  151. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  152. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  153. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  154. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  155. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  156. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  157. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  158. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  159. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  160. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  161. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  162. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  163. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  164. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  165. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  166. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  167. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  168. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  169. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  170. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  171. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  172. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  173. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  174. package/dist/configurator/ui/assistant/form/index.js +1 -1
  175. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  176. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  177. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  178. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  179. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  180. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  181. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  182. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  183. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  184. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  185. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  186. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  187. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  188. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  189. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  190. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  191. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  192. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  193. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  194. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  195. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  196. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  197. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  198. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  199. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  200. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  201. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  202. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  203. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  204. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  205. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  206. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  207. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  208. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  209. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  210. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  211. package/dist/configurator/ui/assistant/index.js +1 -1
  212. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  213. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  214. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  215. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  216. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  217. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  218. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  219. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  220. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  221. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  222. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  223. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  224. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  225. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  226. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  227. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  228. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  229. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  230. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  231. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  232. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  233. package/dist/configurator/ui/index.d.ts +1 -0
  234. package/dist/configurator/ui/index.js +1 -1
  235. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  236. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  237. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  238. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  239. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  240. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  241. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  242. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  243. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  244. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  245. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  246. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  247. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  248. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  249. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  250. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  251. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  252. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  253. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  254. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  255. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  256. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  257. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  258. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  259. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  260. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  261. package/dist/configurator/ui/preset-layout/index.js +1 -1
  262. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  263. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  264. package/dist/docs/fabs/basic.mdx +4 -0
  265. package/dist/docs/index.json +95 -1
  266. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  267. package/dist/docs/layouts/custom-layout.mdx +321 -159
  268. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  269. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  270. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  271. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  272. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  273. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  274. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  275. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  276. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  277. package/dist/docs/other-features/error-5xx.mdx +1 -1
  278. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  279. package/dist/docs/other-features/not-found-404.mdx +1 -1
  280. package/dist/docs/phoenix/configurator-interface.mdx +202 -67
  281. package/dist/docs/phoenix/finalization.mdx +1 -1
  282. package/dist/docs/phoenix/layout-slots.mdx +5 -5
  283. package/dist/docs/phoenix/sdk-builder-workflow.mdx +1 -1
  284. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  285. package/dist/docs/phoenix/testing.mdx +2 -2
  286. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  287. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  288. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  289. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  290. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  291. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  292. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  293. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  294. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  295. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  296. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  297. package/dist/domain/application/assistant/form/index.js +1 -0
  298. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  299. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  300. package/dist/domain/application/assistant/index.d.ts +2 -3
  301. package/dist/domain/application/assistant/index.js +1 -1
  302. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  303. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  304. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  305. package/dist/domain/application/configurator-builder.d.ts +7 -1
  306. package/dist/domain/application/configurator-builder.js +1 -1
  307. package/dist/domain/application/index.d.ts +1 -1
  308. package/dist/domain/application/index.js +1 -1
  309. package/dist/domain/application/standard-properties.js +1 -1
  310. package/dist/domain/application/web-component-property.d.ts +3 -1
  311. package/dist/domain/application/web-component-property.js +1 -1
  312. package/dist/domain/available-system-components.d.ts +1 -1
  313. package/dist/domain/available-system-components.js +1 -1
  314. package/dist/domain/domain-builder.d.ts +9 -3
  315. package/dist/domain/domain-builder.js +1 -1
  316. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  317. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  318. package/dist/domain/domain-runtime/application.d.ts +39 -0
  319. package/dist/domain/domain-runtime/application.js +1 -0
  320. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  321. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  322. package/dist/domain/domain-runtime/domain-runtime.d.ts +44 -4
  323. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  324. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  325. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  326. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  327. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  328. package/dist/domain/domain-runtime/index.d.ts +2 -1
  329. package/dist/domain/domain-runtime/index.js +1 -1
  330. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  331. package/dist/domain/domain-runtime/spec/index.js +1 -1
  332. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  333. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +15 -1
  334. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  335. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  336. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  337. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  338. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  339. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  340. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  341. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  342. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  343. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  344. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  345. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  346. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  347. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  348. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  349. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  350. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  351. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  352. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  353. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  354. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  355. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  356. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  357. package/dist/domain/extensions/export-images/index.js +1 -0
  358. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  359. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  360. package/dist/domain/extensions/index.d.ts +1 -2
  361. package/dist/domain/extensions/index.js +1 -1
  362. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  363. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  364. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  365. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  366. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  367. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  368. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  369. package/dist/i18n/locales/cs/messages.js +1 -1
  370. package/dist/i18n/locales/da/messages.js +1 -1
  371. package/dist/i18n/locales/de/messages.js +1 -1
  372. package/dist/i18n/locales/de-AT/messages.js +1 -1
  373. package/dist/i18n/locales/en/messages.js +1 -1
  374. package/dist/i18n/locales/en-AU/messages.js +1 -1
  375. package/dist/i18n/locales/en-GB/messages.js +1 -1
  376. package/dist/i18n/locales/es/messages.js +1 -1
  377. package/dist/i18n/locales/fr/messages.js +1 -1
  378. package/dist/i18n/locales/hu/messages.js +1 -1
  379. package/dist/i18n/locales/it/messages.js +1 -1
  380. package/dist/i18n/locales/nl/messages.js +1 -1
  381. package/dist/i18n/locales/pl/messages.js +1 -1
  382. package/dist/i18n/locales/pt/messages.js +1 -1
  383. package/dist/i18n/locales/ro/messages.js +1 -1
  384. package/dist/i18n/locales/sk/messages.js +1 -1
  385. package/dist/i18n/locales/tr/messages.js +1 -1
  386. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  387. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  388. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  389. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  390. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  391. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  392. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  393. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  394. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  395. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +4 -0
  396. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  397. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  398. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  399. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  400. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  401. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  402. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  403. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  404. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  405. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  406. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  407. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  408. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  409. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  410. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  411. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  412. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  413. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  414. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  415. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  416. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  417. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  418. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  419. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  420. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  421. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  422. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  423. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  424. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  425. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  426. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  427. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  428. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  429. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  430. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  431. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  432. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  433. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  434. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  435. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  436. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  437. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  438. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  439. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  440. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  441. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  442. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  443. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  444. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  445. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  446. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  447. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  448. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  449. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  450. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  451. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  452. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  453. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  454. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  455. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  456. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  457. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  458. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  459. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  460. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  461. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  462. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  463. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  464. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  465. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  466. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  467. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  468. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  469. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  470. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  471. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  472. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  473. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  474. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  475. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  476. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  477. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  478. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  479. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  480. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  481. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  482. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  483. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  484. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  485. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  486. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  487. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  488. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  489. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  490. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  491. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  492. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  493. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  494. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  495. package/dist/react-sdk/domain-context/index.d.ts +5 -0
  496. package/dist/react-sdk/domain-context/index.js +1 -1
  497. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  498. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  499. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  500. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  501. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  502. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  503. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  504. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  505. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  506. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  507. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  508. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  509. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  510. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -1
  511. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  512. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  513. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  514. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  515. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  516. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  517. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  518. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  519. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  520. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  521. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  522. package/dist/react-sdk/handlers/index.d.ts +5 -0
  523. package/dist/react-sdk/handlers/index.js +1 -1
  524. package/dist/react-sdk/handlers/use-finalize-action.d.ts +3 -2
  525. package/dist/react-sdk/handlers/use-finalize-action.js +1 -1
  526. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  527. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  528. package/dist/react-sdk/index.d.ts +2 -0
  529. package/dist/react-sdk/index.js +1 -1
  530. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  531. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  532. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  533. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  534. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  535. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  536. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  537. package/dist/react-sdk/loading-state/index.js +1 -1
  538. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  539. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  540. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  541. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  542. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  543. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  544. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  545. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  546. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  547. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  548. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  549. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  550. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  551. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  552. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  553. package/dist/react-sdk/page-elements/index.js +1 -0
  554. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  555. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  556. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  557. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  558. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  559. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  560. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  561. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  562. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  563. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  564. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  565. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  566. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  567. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  568. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  569. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  570. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  571. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  572. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  573. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  574. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  575. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  576. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  577. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  578. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  579. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  580. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  581. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  582. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  583. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  584. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  585. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  586. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  587. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  588. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  589. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  590. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  591. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  592. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  593. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  594. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  595. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  596. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  597. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  598. package/dist/ui-sdk/theme/types.d.ts +5 -1
  599. package/package.json +13 -3
  600. package/schema/domain-spec.json +140 -0
  601. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  602. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  603. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  604. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  605. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  606. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  607. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  608. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  609. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  610. package/dist/domain/extensions/client-side-image.js +0 -1
  611. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  612. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  613. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  614. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  615. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  616. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  617. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → react-sdk/application-runtime/host-properties/types.js} +0 -0
@@ -0,0 +1,9 @@
1
+ /** The ids of the loading phases the SDK reports itself. A project reports its own under other ids. */
2
+ export declare enum BuiltInLoadingPhase {
3
+ SessionAuth = "session-auth",
4
+ PublishedData = "published-data",
5
+ FrontendData = "frontend-data",
6
+ BackendData = "backend-data",
7
+ DataFetch = "data-fetch",
8
+ SceneAssets = "scene-assets"
9
+ }
@@ -0,0 +1 @@
1
+ var a;export var BuiltInLoadingPhase=((a={}).SessionAuth="session-auth",a.PublishedData="published-data",a.FrontendData="frontend-data",a.BackendData="backend-data",a.DataFetch="data-fetch",a.SceneAssets="scene-assets",a);
@@ -0,0 +1,18 @@
1
+ import { type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ import type { LoadingPhase } from '../application-runtime/index.js';
3
+ /**
4
+ * The name a project registers a layout element under to replace what the app loader overlay shows.
5
+ * Its default, the built-in loader content, is registered in `defaultConfiguratorElements`.
6
+ */
7
+ export declare const AppLoaderContentName = "AppLoaderContent";
8
+ /** The props of the content a project registers with `createAppLoader`. */
9
+ export interface AppLoaderContentProps {
10
+ /** The loading phases running now; empty while the loader waits for the scene to start loading. */
11
+ readonly phases: readonly LoadingPhase[];
12
+ }
13
+ /**
14
+ * Registers a project's app loader content as the `AppLoaderContent` element. The SDK keeps the
15
+ * overlay, its place over the scene's safe area and its fade-in; the component is only what it shows.
16
+ */
17
+ export declare const createAppLoader: (Element: (props: AppLoaderContentProps) => JSX.Element) => readonly PhoenixLayoutElementRegistration[];
18
+ export type CreateAppLoader = (Element: (props: AppLoaderContentProps) => JSX.Element) => readonly PhoenixLayoutElementRegistration[];
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{useLoadingStateValue as e}from"./loading-state-hooks.js";export const AppLoaderContentName="AppLoaderContent";export const createAppLoader=r=>[t("AppLoaderContent",()=>{let{phases:t}=e();return o(r,{phases:t})})];
@@ -1,2 +1,4 @@
1
- export { BuiltInLoadingPhase, type LoadingPhase, type LoadingState, LoadingStateManager, } from './loading-state-manager.js';
2
- export { LoadingStateProvider, useLoadingState, type UseLoadingState, useLoadingStateManager, useLoadingStateValue, useLoadingPhase, useExpectPhase, useLoadingError, } from './LoadingStateProvider.js';
1
+ export { BuiltInLoadingPhase } from './built-in-loading-phase.js';
2
+ export { LoaderHost } from './LoaderHost.js';
3
+ export { useLoadingState, type UseLoadingState, useLoadingStateValue, useLoadingPhase, useExpectPhase, useLoadingError, } from './loading-state-hooks.js';
4
+ export { AppLoaderContentName, type AppLoaderContentProps, createAppLoader, type CreateAppLoader, } from './create-app-loader.js';
@@ -1 +1 @@
1
- export{BuiltInLoadingPhase,LoadingStateManager}from"./loading-state-manager.js";export{LoadingStateProvider,useLoadingState,useLoadingStateManager,useLoadingStateValue,useLoadingPhase,useExpectPhase,useLoadingError}from"./LoadingStateProvider.js";
1
+ export{BuiltInLoadingPhase}from"./built-in-loading-phase.js";export{LoaderHost}from"./LoaderHost.js";export{useLoadingState,useLoadingStateValue,useLoadingPhase,useExpectPhase,useLoadingError}from"./loading-state-hooks.js";export{AppLoaderContentName,createAppLoader}from"./create-app-loader.js";
@@ -1,22 +1,13 @@
1
- import type { ReactNode } from 'react';
2
- import { type LoadingPhase, type LoadingState, LoadingStateManager } from './loading-state-manager.js';
3
- export declare const LoadingStateProvider: ({ children }: {
4
- readonly children: ReactNode;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
- /**
7
- * Returns the loading state manager if available.
8
- * Returns `null` when used outside of `LoadingStateProvider` (e.g. in admin app).
9
- */
10
- export declare const useLoadingStateManager: () => LoadingStateManager | null;
1
+ import { type LoadingPhase, type LoadingState } from '../application-runtime/index.js';
11
2
  /**
12
3
  * Subscribe to the current aggregated loading state.
13
- * Returns the default (not loading) state when used outside of `LoadingStateProvider`.
4
+ * Returns the default (not loading) state outside the application's loader host.
14
5
  */
15
6
  export declare const useLoadingStateValue: () => LoadingState;
16
7
  export type UseLoadingState = typeof useLoadingState;
17
8
  /**
18
9
  * Returns loading phase control functions.
19
- * Returns `null` when used outside of `LoadingStateProvider`.
10
+ * Returns `null` outside the application's loader host.
20
11
  */
21
12
  export declare const useLoadingState: () => {
22
13
  startPhase: (phase: LoadingPhase) => void;
@@ -0,0 +1 @@
1
+ import{useEffect as e,useMemo as t,useRef as r,useSyncExternalStore as n}from"react";import{useIsLoaderHosted as s,useLoadingActions as a,useLoadingApplication as o,useOptionalApplicationRuntime as u}from"../application-runtime/index.js";let c={isLoading:!1,hasError:!1,phases:[],expectedPhaseIds:new Set},l=()=>c,i=()=>()=>{};export const useLoadingStateValue=()=>{let e=o(),t=s(),r=u(),a=n(r?.subscribe??i,e?.selectors.getLoadingState??l);return t?a:c};export const useLoadingState=()=>{let e=a();return t(()=>e?{startPhase:e.startPhase,endPhase:e.endPhase}:null,[e])};export const useLoadingPhase=(t,n)=>{let s=a(),o=r(t);o.current=t;let u=r(null);e(()=>{if(s)return n?(u.current=o.current.id,s.startPhase(o.current)):null!==u.current&&(s.endPhase(u.current),u.current=null),()=>{null!==u.current&&(s.endPhase(u.current),u.current=null)}},[s,n,t.id])};export const useExpectPhase=t=>{let r=a();e(()=>{if(r)return r.expectPhase(t),()=>{r.dropExpectation(t)}},[r,t])};export const useLoadingError=t=>{let r=a();e(()=>{r&&t&&r.reportError()},[r,t])};
@@ -0,0 +1,17 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ import type { ConfigurationNotFoundPageProps } from '../session/index.js';
3
+ interface ConfigurationNotFoundPagePropsProviderProps extends PropsWithChildren {
4
+ readonly value: ConfigurationNotFoundPageProps;
5
+ }
6
+ /**
7
+ * @internal Runtime plumbing behind `createConfigurationNotFoundPage`, for the SDK's own UI. The
8
+ * configurator's renderer of the `ConfigurationNotFoundPage` element provides the page's props through
9
+ * it, because an element slot is typed as taking only `children`.
10
+ */
11
+ export declare const ConfigurationNotFoundPagePropsProvider: (props: ConfigurationNotFoundPagePropsProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * @internal Exists for the SDK's own UI and for `createConfigurationNotFoundPage`, which read the
14
+ * props of the `ConfigurationNotFoundPage` element through it.
15
+ */
16
+ export declare const useConfigurationNotFoundPageProps: () => ConfigurationNotFoundPageProps;
17
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{createContext as r,useContext as t}from"react";let e=r({});export const ConfigurationNotFoundPagePropsProvider=r=>{let{value:t,children:n}=r;return o(e.Provider,{value:t,children:n})};export const useConfigurationNotFoundPageProps=()=>t(e);
@@ -0,0 +1,17 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ import type { ConfiguratorErrorPageProps } from './configurator-error-page-props.js';
3
+ interface ConfiguratorErrorPagePropsProviderProps extends PropsWithChildren {
4
+ readonly value: ConfiguratorErrorPageProps;
5
+ }
6
+ /**
7
+ * @internal Runtime plumbing behind `createConfiguratorErrorPage`, for the SDK's own UI. The
8
+ * configurator's renderer of the `ConfiguratorErrorPage` element provides the page's props through it,
9
+ * because an element slot is typed as taking only `children`.
10
+ */
11
+ export declare const ConfiguratorErrorPagePropsProvider: (props: ConfiguratorErrorPagePropsProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * @internal Exists for the SDK's own UI and for `createConfiguratorErrorPage`, which read the props
14
+ * of the `ConfiguratorErrorPage` element through it.
15
+ */
16
+ export declare const useConfiguratorErrorPageProps: () => ConfiguratorErrorPageProps;
17
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{createContext as e,useContext as o}from"react";let t=e(void 0);export const ConfiguratorErrorPagePropsProvider=e=>{let{value:o,children:i}=e;return r(t.Provider,{value:o,children:i})};export const useConfiguratorErrorPageProps=()=>{let r=o(t);if(void 0===r)throw Error("The ConfiguratorErrorPage element was rendered without its props. Only the configurator renders this element, inside ConfiguratorErrorPagePropsProvider; render the element through the configurator instead of mounting it directly.");return r};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Why the configurator shows its error page:
3
+ * - `uncaughtError`: rendering the configurator failed with an error nothing else handled;
4
+ * - `presetCreationFailed`: starting a configuration from a preset failed on a start screen that has
5
+ * no preset grid to return to (a single preset).
6
+ */
7
+ export type ConfiguratorErrorReason = 'uncaughtError' | 'presetCreationFailed';
8
+ /**
9
+ * The props of the `ConfiguratorErrorPage` element, the page the configurator shows in production
10
+ * when it cannot go on; a project registers its page with `createConfiguratorErrorPage`. In
11
+ * development the configurator shows its detailed error pages instead.
12
+ */
13
+ export interface ConfiguratorErrorPageProps {
14
+ readonly reason: ConfiguratorErrorReason;
15
+ /**
16
+ * Tries again: after an `uncaughtError` it renders the configurator again, after
17
+ * `presetCreationFailed` it reloads the page.
18
+ */
19
+ readonly onRetry: () => void;
20
+ }
@@ -0,0 +1,15 @@
1
+ import { type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ import type { ConfigurationNotFoundPageProps } from '../session/index.js';
3
+ /**
4
+ * The name a project registers a layout element under to replace the page shown when a configuration
5
+ * cannot be loaded or opened. Its default, the built-in `ConfigurationNotFoundPage`, is registered in
6
+ * `defaultConfiguratorElements`.
7
+ */
8
+ export declare const ConfigurationNotFoundPageName = "ConfigurationNotFoundPage";
9
+ /**
10
+ * Registers a project's "configuration not accessible" page as the `ConfigurationNotFoundPage`
11
+ * element, with its props typed. Registering a layout element under that name with
12
+ * `createCustomPhoenixLayoutElement` works too, but its component is typed as taking only `children`.
13
+ */
14
+ export declare const createConfigurationNotFoundPage: (Element: (props: ConfigurationNotFoundPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
15
+ export type CreateConfigurationNotFoundPage = (Element: (props: ConfigurationNotFoundPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{useConfigurationNotFoundPageProps as n}from"./ConfigurationNotFoundPagePropsProvider.js";export const ConfigurationNotFoundPageName="ConfigurationNotFoundPage";export const createConfigurationNotFoundPage=r=>t("ConfigurationNotFoundPage",()=>o(r,{...n()}));
@@ -0,0 +1,14 @@
1
+ import { type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ import type { ConfiguratorErrorPageProps } from './configurator-error-page-props.js';
3
+ /**
4
+ * The name a project registers a layout element under to replace the configurator's production error
5
+ * page. Its default, the built-in error page, is registered in `defaultConfiguratorElements`.
6
+ */
7
+ export declare const ConfiguratorErrorPageName = "ConfiguratorErrorPage";
8
+ /**
9
+ * Registers a project's production error page as the `ConfiguratorErrorPage` element, with its props
10
+ * typed. Registering a layout element under that name with `createCustomPhoenixLayoutElement` works
11
+ * too, but its component is typed as taking only `children`.
12
+ */
13
+ export declare const createConfiguratorErrorPage: (Element: (props: ConfiguratorErrorPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
14
+ export type CreateConfiguratorErrorPage = (Element: (props: ConfiguratorErrorPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{useConfiguratorErrorPageProps as a}from"./ConfiguratorErrorPagePropsProvider.js";export const ConfiguratorErrorPageName="ConfiguratorErrorPage";export const createConfiguratorErrorPage=t=>o("ConfiguratorErrorPage",()=>r(t,{...a()}));
@@ -0,0 +1,9 @@
1
+ import { type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ /**
3
+ * The name a project registers a layout element under to replace the whole preset screen. Its
4
+ * default, the built-in preset screen, is registered in `defaultConfiguratorElements`.
5
+ */
6
+ export declare const PresetUiName = "PresetUi";
7
+ /** Registers a project's preset screen as the `PresetUi` element. */
8
+ export declare const createPresetUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
9
+ export type CreatePresetUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixLayoutElement as e}from"#package/domain";export const PresetUiName="PresetUi";export const createPresetUi=t=>e("PresetUi",t);
@@ -0,0 +1,6 @@
1
+ export type { ConfiguratorErrorPageProps, ConfiguratorErrorReason } from './configurator-error-page-props.js';
2
+ export { ConfiguratorErrorPagePropsProvider, useConfiguratorErrorPageProps, } from './ConfiguratorErrorPagePropsProvider.js';
3
+ export { ConfiguratorErrorPageName, createConfiguratorErrorPage, type CreateConfiguratorErrorPage, } from './create-configurator-error-page.js';
4
+ export { ConfigurationNotFoundPagePropsProvider, useConfigurationNotFoundPageProps, } from './ConfigurationNotFoundPagePropsProvider.js';
5
+ export { ConfigurationNotFoundPageName, createConfigurationNotFoundPage, type CreateConfigurationNotFoundPage, } from './create-configuration-not-found-page.js';
6
+ export { PresetUiName, createPresetUi, type CreatePresetUi } from './create-preset-ui.js';
@@ -0,0 +1 @@
1
+ export{ConfiguratorErrorPagePropsProvider,useConfiguratorErrorPageProps}from"./ConfiguratorErrorPagePropsProvider.js";export{ConfiguratorErrorPageName,createConfiguratorErrorPage}from"./create-configurator-error-page.js";export{ConfigurationNotFoundPagePropsProvider,useConfigurationNotFoundPageProps}from"./ConfigurationNotFoundPagePropsProvider.js";export{ConfigurationNotFoundPageName,createConfigurationNotFoundPage}from"./create-configuration-not-found-page.js";export{PresetUiName,createPresetUi}from"./create-preset-ui.js";
@@ -0,0 +1,36 @@
1
+ import type { Localizable } from '@salsita-ai/common/utils';
2
+ import type { DomainEntityId } from '#package/domain';
3
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
4
+ /**
5
+ * The name of the entity element that renders a `sceneEntityAddFab`. Its default, the built-in
6
+ * add-entity FAB, is registered in `defaultConfiguratorElements`.
7
+ */
8
+ export declare const AddEntityFabName = "AddEntityFab";
9
+ /**
10
+ * Props of the `AddEntityFab` element, rendered for each `sceneEntityAddFab` of an entity, at the
11
+ * position the component sets. The recipes it can add are not computed up front: the built-in FAB
12
+ * reads them with `useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)` when it
13
+ * opens its menu, and a replacement does the same.
14
+ */
15
+ export interface AddEntityFabElementProps {
16
+ /** The entity the FAB adds children to. */
17
+ readonly entityId: DomainEntityId<string>;
18
+ /** The `childEntityRecipes` instances whose recipes the FAB offers; all of them when not set. */
19
+ readonly instanceNames?: readonly string[];
20
+ /** Violations a new entity may cause without disabling its recipe (the component's `hiddenViolations`). */
21
+ readonly fixableViolations?: readonly string[];
22
+ /** The name of a Phoenix icon. */
23
+ readonly icon?: string;
24
+ /** A visible text label. */
25
+ readonly label?: Localizable;
26
+ /** The tooltip text. */
27
+ readonly title?: Localizable;
28
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
29
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
30
+ /** Add the only recipe directly, without a menu. */
31
+ readonly skipMenuWhenOnlyOne?: boolean;
32
+ /** Render nothing when there is no recipe. */
33
+ readonly hideWhenNone?: boolean;
34
+ }
35
+ /** Renders the `AddEntityFab` element for an entity. */
36
+ export declare const AddEntityFabElement: import("react").MemoExoticComponent<(props: AddEntityFabElementProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useMemo as n}from"react";import{PhoenixEntityElementWithChildren as r}from"../elements/index.js";export const AddEntityFabName="AddEntityFab";export const AddEntityFabElement=e(e=>{let{entityId:d,instanceNames:i,fixableViolations:m,icon:o,label:a,title:s,tooltipVisibility:p,skipMenuWhenOnlyOne:x,hideWhenNone:y}=e,E=n(()=>({instanceNames:i,fixableViolations:m,icon:o,label:a,title:s,tooltipVisibility:p,skipMenuWhenOnlyOne:x,hideWhenNone:y}),[i,m,o,a,s,p,x,y]);return t(r,{kind:"AddEntityFab",entityId:d,elementProps:E})});
@@ -0,0 +1,44 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntityDeleteFab`. Its default, the built-in
7
+ * delete-entity FAB, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const DeleteEntityFabName = "DeleteEntityFab";
10
+ /**
11
+ * Props of the `DeleteEntityFab` element, rendered for each `sceneEntityDeleteFab` of an entity, at
12
+ * the position the component sets.
13
+ */
14
+ export interface DeleteEntityFabElementProps {
15
+ /** The entity the FAB deletes. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The name of a Phoenix icon. */
18
+ readonly icon?: string;
19
+ /** A visible text label. */
20
+ readonly label?: Localizable;
21
+ /** The tooltip text. */
22
+ readonly title?: Localizable;
23
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
24
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
25
+ /**
26
+ * Deletes the entity and pushes the delete analytics event. Pass it straight to `onClick`: given
27
+ * an event, it stops the event's propagation so the click does not reach the scene.
28
+ */
29
+ readonly onDelete: (event?: SyntheticEvent) => void;
30
+ /** True when deleting would cause a violation the component does not allow. */
31
+ readonly disabled: boolean;
32
+ /** Why deleting is disabled, when it is. */
33
+ readonly disabledHint: string | undefined;
34
+ /** Logs the dry run of the deletion to the console, for debugging. */
35
+ readonly trace: () => void;
36
+ }
37
+ type DeleteEntityFabElementConfig = Omit<DeleteEntityFabElementProps, 'onDelete' | 'disabled' | 'disabledHint' | 'trace'>;
38
+ interface Props extends DeleteEntityFabElementConfig {
39
+ /** Violations deleting may cause without disabling the FAB (the component's `hiddenViolations`). */
40
+ readonly fixableViolations?: readonly string[];
41
+ }
42
+ /** Renders the `DeleteEntityFab` element for an entity, with the deletion it performs. */
43
+ export declare const DeleteEntityFabElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
44
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useCallback as i,useMemo as o}from"react";import{FrontendAnalyticsFactory as n}from"../application-runtime/index.js";import{useDeletedEntity as r}from"../domain-controls/index.js";import{PhoenixEntityElementWithChildren as m}from"../elements/index.js";export const DeleteEntityFabName="DeleteEntityFab";export const DeleteEntityFabElement=e(e=>{let{entityId:a,fixableViolations:s,icon:l,label:p,title:d,tooltipVisibility:c}=e,x=i(()=>n.EntityDeleteHotspotClicked(a),[a]),{disabled:y,hints:E,remove:b,trace:f}=r(a,s,x),j=i(t=>{t?.stopPropagation(),b()},[b]),D=o(()=>({icon:l,label:p,title:d,tooltipVisibility:c,onDelete:j,disabled:y,disabledHint:E,trace:f}),[l,p,d,c,j,y,E,f]);return t(m,{kind:"DeleteEntityFab",entityId:a,elementProps:D})});
@@ -0,0 +1,38 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntityNavigationHotspot`. Its default, the
7
+ * built-in navigation hotspot, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const NavigationHotspotName = "NavigationHotspot";
10
+ /**
11
+ * Props of the `NavigationHotspot` element, rendered for each `sceneEntityNavigationHotspot` of an
12
+ * entity, at the position the component sets.
13
+ */
14
+ export interface NavigationHotspotElementProps {
15
+ /** The entity the hotspot is attached to. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The navigation state the hotspot goes to. */
18
+ readonly navigationState: string;
19
+ /** The tooltip text. */
20
+ readonly title?: Localizable;
21
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
22
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
23
+ /**
24
+ * Goes to `navigationState`, pushed onto the navigation stack or replacing the current state as
25
+ * the component sets. Pass it straight to `onClick`: given an event, it prevents the event's
26
+ * default and stops its propagation so the click does not reach the scene.
27
+ */
28
+ readonly onNavigate: (event?: SyntheticEvent) => void;
29
+ }
30
+ interface Props extends Omit<NavigationHotspotElementProps, 'onNavigate'> {
31
+ /** Push `navigationState` onto the navigation stack instead of replacing the current state. */
32
+ readonly pushToStack?: boolean;
33
+ /** The states `navigationState` can be stacked onto. */
34
+ readonly canStackOnto?: readonly string[];
35
+ }
36
+ /** Renders the `NavigationHotspot` element for an entity, with the navigation it performs. */
37
+ export declare const NavigationHotspotElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
38
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as e,useCallback as o,useMemo as a}from"react";import{useDomain as i}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as n}from"../elements/index.js";export const NavigationHotspotName="NavigationHotspot";export const NavigationHotspotElement=e(e=>{let{entityId:s,navigationState:m,pushToStack:r,canStackOnto:p,title:g,tooltipVisibility:d}=e,{navigationSystem:l,storeSystem:v}=i(),c=o(t=>{t?.preventDefault(),t?.stopPropagation();let e=r?l.getPushNavigationUpdate(m,v.stateSlices.committed.value.state,{canStackOnto:p}):l.getNavigationUpdate(m);v.stageAndCommit([e])},[l,m,r,v,p]);return t(n,{kind:"NavigationHotspot",entityId:s,elementProps:a(()=>({navigationState:m,title:g,tooltipVisibility:d,onNavigate:c}),[m,g,d,c])})});
@@ -0,0 +1,30 @@
1
+ import { type SyntheticEvent } from 'react';
2
+ import type { Localizable } from '@salsita-ai/common/utils';
3
+ import type { DomainEntityId } from '#package/domain';
4
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
5
+ /**
6
+ * The name of the entity element that renders a `sceneEntitySelectHotspot`. Its default, the
7
+ * built-in selection hotspot, is registered in `defaultConfiguratorElements`.
8
+ */
9
+ export declare const SelectionHotspotName = "SelectionHotspot";
10
+ /**
11
+ * Props of the `SelectionHotspot` element, rendered for each `sceneEntitySelectHotspot` of an
12
+ * entity, at the position the component sets.
13
+ */
14
+ export interface SelectionHotspotElementProps {
15
+ /** The entity the hotspot selects. */
16
+ readonly entityId: DomainEntityId<string>;
17
+ /** The tooltip text. */
18
+ readonly title?: Localizable;
19
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
20
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
21
+ /**
22
+ * Selects the entity and pushes the selection-hotspot analytics event. Pass it straight to
23
+ * `onClick`: given an event, it stops the event's propagation so the click does not reach the scene.
24
+ */
25
+ readonly onSelect: (event?: SyntheticEvent) => void;
26
+ }
27
+ type Props = Omit<SelectionHotspotElementProps, 'onSelect'>;
28
+ /** Renders the `SelectionHotspot` element for an entity, with the selection it performs. */
29
+ export declare const SelectionHotspotElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
30
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as o,useCallback as e,useMemo as i}from"react";import{FrontendAnalyticsFactory as n}from"../application-runtime/index.js";import{useSelectEntity as r}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as m}from"../elements/index.js";export const SelectionHotspotName="SelectionHotspot";export const SelectionHotspotElement=o(o=>{let{entityId:p,title:s,tooltipVisibility:c}=o,l=r(n.SelectionHotspotClicked),a=e(t=>{t?.stopPropagation(),l(p)},[p,l]);return t(m,{kind:"SelectionHotspot",entityId:p,elementProps:i(()=>({title:s,tooltipVisibility:c,onSelect:a}),[s,c,a])})});
@@ -0,0 +1,30 @@
1
+ import type { Localizable } from '@salsita-ai/common/utils';
2
+ import type { DomainEntityId, ToolMenuFabOption } from '#package/domain';
3
+ import type { SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
4
+ /**
5
+ * The name of the entity element that renders a `toolMenuFab`. Its default, the built-in tool-menu
6
+ * FAB, is registered in `defaultConfiguratorElements`.
7
+ */
8
+ export declare const ToolMenuFabName = "ToolMenuFab";
9
+ /**
10
+ * Props of the `ToolMenuFab` element, rendered for each `toolMenuFab` of an entity, at the position
11
+ * the component sets.
12
+ */
13
+ export interface ToolMenuFabElementProps {
14
+ /** The entity the FAB is attached to. */
15
+ readonly entityId: DomainEntityId<string>;
16
+ /** The tools the menu offers, each with its `label`, optional `icon` and `toolState`. */
17
+ readonly options: readonly ToolMenuFabOption[];
18
+ /** The name of a Phoenix icon; the built-in FAB shows `PencilSimpleBold` when it is not set. */
19
+ readonly icon?: string;
20
+ /** The tooltip text, which the built-in menu also shows as its heading. */
21
+ readonly title?: Localizable;
22
+ /** When the tooltip shows: `on-hover` unless the component sets it. */
23
+ readonly tooltipVisibility: SceneControlTooltipVisibility;
24
+ /** Switches to the given tool state, the `toolState` of one of the `options`. */
25
+ readonly onSelectTool: (toolState: string) => void;
26
+ }
27
+ type Props = Omit<ToolMenuFabElementProps, 'onSelectTool'>;
28
+ /** Renders the `ToolMenuFab` element for an entity, with the tool switch it performs. */
29
+ export declare const ToolMenuFabElement: import("react").MemoExoticComponent<(props: Props) => import("react/jsx-runtime").JSX.Element>;
30
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as o,useCallback as t,useMemo as n}from"react";import{useDomain as m}from"../domain-context/index.js";import{PhoenixEntityElementWithChildren as r}from"../elements/index.js";export const ToolMenuFabName="ToolMenuFab";export const ToolMenuFabElement=o(o=>{let{entityId:a,options:i,icon:s,title:l,tooltipVisibility:p}=o,{navigationSystem:d,storeSystem:x}=m(),u=t(e=>{x.stageAndCommit([d.getToolUpdate(e)])},[d,x]);return e(r,{kind:"ToolMenuFab",entityId:a,elementProps:n(()=>({options:i,icon:s,title:l,tooltipVisibility:p,onSelectTool:u}),[i,s,l,p,u])})});
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type AddEntityFabElementProps } from './AddEntityFabElement.js';
3
+ /**
4
+ * Registers a project's add-entity FAB as the `AddEntityFab` entity element, with its props typed.
5
+ * Registering an entity element under that name with `createCustomPhoenixEntityElement` works too,
6
+ * but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createAddEntityFab: (Element: (props: AddEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateAddEntityFab = (Element: (props: AddEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as t}from"#package/domain";import{AddEntityFabName as o}from"./AddEntityFabElement.js";export const createAddEntityFab=a=>t(o,a);
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type DeleteEntityFabElementProps } from './DeleteEntityFabElement.js';
3
+ /**
4
+ * Registers a project's delete-entity FAB as the `DeleteEntityFab` entity element, with its props
5
+ * typed. Registering an entity element under that name with `createCustomPhoenixEntityElement`
6
+ * works too, but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createDeleteEntityFab: (Element: (props: DeleteEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateDeleteEntityFab = (Element: (props: DeleteEntityFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as e}from"#package/domain";import{DeleteEntityFabName as t}from"./DeleteEntityFabElement.js";export const createDeleteEntityFab=o=>e(t,o);
@@ -0,0 +1,10 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type NavigationHotspotElementProps } from './NavigationHotspotElement.js';
3
+ /**
4
+ * Registers a project's navigation hotspot as the `NavigationHotspot` entity element, with its
5
+ * props typed. Registering an entity element under that name with
6
+ * `createCustomPhoenixEntityElement` works too, but its component is then typed as taking only
7
+ * `entityId` and `children`.
8
+ */
9
+ export declare const createNavigationHotspot: (Element: (props: NavigationHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
10
+ export type CreateNavigationHotspot = (Element: (props: NavigationHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as o}from"#package/domain";import{NavigationHotspotName as t}from"./NavigationHotspotElement.js";export const createNavigationHotspot=a=>o(t,a);
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type SelectionHotspotElementProps } from './SelectionHotspotElement.js';
3
+ /**
4
+ * Registers a project's selection hotspot as the `SelectionHotspot` entity element, with its props
5
+ * typed. Registering an entity element under that name with `createCustomPhoenixEntityElement`
6
+ * works too, but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createSelectionHotspot: (Element: (props: SelectionHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateSelectionHotspot = (Element: (props: SelectionHotspotElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as o}from"#package/domain";import{SelectionHotspotName as t}from"./SelectionHotspotElement.js";export const createSelectionHotspot=e=>o(t,e);
@@ -0,0 +1,9 @@
1
+ import { type PhoenixEntityElementRegistration } from '#package/domain';
2
+ import { type ToolMenuFabElementProps } from './ToolMenuFabElement.js';
3
+ /**
4
+ * Registers a project's tool-menu FAB as the `ToolMenuFab` entity element, with its props typed.
5
+ * Registering an entity element under that name with `createCustomPhoenixEntityElement` works too,
6
+ * but its component is then typed as taking only `entityId` and `children`.
7
+ */
8
+ export declare const createToolMenuFab: (Element: (props: ToolMenuFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
9
+ export type CreateToolMenuFab = (Element: (props: ToolMenuFabElementProps) => JSX.Element | null) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as o}from"#package/domain";import{ToolMenuFabName as e}from"./ToolMenuFabElement.js";export const createToolMenuFab=a=>o(e,a);
@@ -0,0 +1,11 @@
1
+ export { AddEntityFabElement, AddEntityFabName, type AddEntityFabElementProps } from './AddEntityFabElement.js';
2
+ export { DeleteEntityFabElement, DeleteEntityFabName, type DeleteEntityFabElementProps, } from './DeleteEntityFabElement.js';
3
+ export { NavigationHotspotElement, NavigationHotspotName, type NavigationHotspotElementProps, } from './NavigationHotspotElement.js';
4
+ export { SelectionHotspotElement, SelectionHotspotName, type SelectionHotspotElementProps, } from './SelectionHotspotElement.js';
5
+ export { ToolMenuFabElement, ToolMenuFabName, type ToolMenuFabElementProps } from './ToolMenuFabElement.js';
6
+ export { createAddEntityFab, type CreateAddEntityFab } from './create-add-entity-fab.js';
7
+ export { createDeleteEntityFab, type CreateDeleteEntityFab } from './create-delete-entity-fab.js';
8
+ export { createNavigationHotspot, type CreateNavigationHotspot } from './create-navigation-hotspot.js';
9
+ export { createSelectionHotspot, type CreateSelectionHotspot } from './create-selection-hotspot.js';
10
+ export { createToolMenuFab, type CreateToolMenuFab } from './create-tool-menu-fab.js';
11
+ export { type SceneControlTooltipVisibility } from './scene-control-tooltip-visibility.js';
@@ -0,0 +1 @@
1
+ export{AddEntityFabElement,AddEntityFabName}from"./AddEntityFabElement.js";export{DeleteEntityFabElement,DeleteEntityFabName}from"./DeleteEntityFabElement.js";export{NavigationHotspotElement,NavigationHotspotName}from"./NavigationHotspotElement.js";export{SelectionHotspotElement,SelectionHotspotName}from"./SelectionHotspotElement.js";export{ToolMenuFabElement,ToolMenuFabName}from"./ToolMenuFabElement.js";export{createAddEntityFab}from"./create-add-entity-fab.js";export{createDeleteEntityFab}from"./create-delete-entity-fab.js";export{createNavigationHotspot}from"./create-navigation-hotspot.js";export{createSelectionHotspot}from"./create-selection-hotspot.js";export{createToolMenuFab}from"./create-tool-menu-fab.js";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * When an in-scene control shows its tooltip: `on-hover` on hover, `forced` always once the camera
3
+ * has been still, `forced-when-still` while the camera is still, `hidden` never.
4
+ */
5
+ export type SceneControlTooltipVisibility = 'on-hover' | 'forced' | 'forced-when-still' | 'hidden';
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useCallback as t,useEffect as o,useMemo as i}from"react";import{distinctUntilChanged as n,filter as a,skip as r}from"rxjs";import{match as s}from"ts-pattern";import{standardWebComponentEvents as l,standardWebComponentProperties as d}from"#package/domain";import{Loader as c}from"#package/ui-sdk";import{DomainSessionProvider as u,INTEGRATION_MODE_SETTINGS as h,SessionProvider as m,useApplicationRuntime as g,useApplicationRuntimeSelector as p,useDispatchWebComponentEvent as f,useLogger as S,useRawSession as k,useSessionService as v,useWebComponentProperty$ as x,useWebComponentPropertyValue as w}from"../application-runtime/index.js";import{usePatientObservableValue as T}from"../domain-context/index.js";import{BuiltInLoadingPhase as j,useLoadingPhase as b,useLoadingStateManager as C}from"../loading-state/index.js";import{NotAuthenticatedPage as A}from"./NotAuthenticatedPage.js";let U="code";export const SessionServiceProvider=E=>{let{children:P,notAuthenticatedFallback:z=A}=E,F=g(),$=S(),q=v(),M=k(),N=p(F.selectors.session.getSession),R=p(F.selectors.sessionContext.getSessionContext),y=w(d.sessionToken),L=w(d.adminSessionToken),W=w(d.refreshToken),B=x(d.integrationMode),D=x(d.authorizationCode),G=t(()=>{if(D.value){let e=B.value;"local-storage"===h[e].authenticationStorage&&$.warn(`authorizationCode WC prop used in '${e}' mode. This is discouraged — tokens stored in localStorage leak across tabs. Use 'handoff' or 'headless' mode instead.`);let t=D.value;return D.next(void 0),t}if(h[B.value].consumeCodeFromUrl){let e=new URL(window.location.href),t=e.searchParams.get(U);return e.searchParams.delete(U),history.replaceState(null,"",e),t??void 0}},[D,B,$]),H=T(i(()=>D.pipe(r(1),a(e=>void 0!==e),n()),[D]),void 0),I=h[w(d.integrationMode)].authenticationStorage,J=f(l.authenticationFailed),K=i(()=>s(I).with("local-storage",()=>localStorage).with("session-storage",()=>sessionStorage).exhaustive(),[I]);o(()=>{q.configure({initialSessionToken:y,initialAdminSessionToken:L,initialRefreshToken:W,retrieveAuthorizationCode:G,dispatchAuthenticationFailed:J,storage:K})},[q,y,L,W,G,J,K]),o(()=>{"loading"===M.authenticated&&q.requestSessionToken().catch(e=>{let t=e instanceof Error?e:Error(`Unknown error ${e}`);$.warn("Session could not be authenticated",{},t)})},[q,M.authenticated,$]),o(()=>{H&&($.debug("New authorization code received, re-authenticating session"),q.requestSessionToken().catch(e=>{let t=e instanceof Error?e:Error(`Unknown error ${e}`);$.warn("Session could not be authenticated",{},t)}))},[H,q,$]);let O=null!==C();return(b({id:j.SessionAuth,label:"Authenticating session…"},"loading"===M.authenticated),"loading"===M.authenticated)?O?null:e(c,{}):"error"===M.authenticated?e(m,{value:M,children:e(z,{})}):null===R?null:e(m,{value:N,children:e(u,{value:R,children:P})})};
1
+ import{jsx as e}from"react/jsx-runtime";import{useCallback as t,useEffect as o,useMemo as i}from"react";import{distinctUntilChanged as n,filter as a,skip as r}from"rxjs";import{match as s}from"ts-pattern";import{standardWebComponentEvents as l,standardWebComponentProperties as d}from"#package/domain";import{Loader as c}from"#package/ui-sdk";import{DomainSessionProvider as u,INTEGRATION_MODE_SETTINGS as h,SessionProvider as m,useApplicationRuntime as g,useApplicationRuntimeSelector as p,useDispatchWebComponentEvent as f,useIsLoaderHosted as S,useLogger as k,useRawSession as v,useSessionService as x,useWebComponentProperty$ as w,useWebComponentPropertyValue as T}from"../application-runtime/index.js";import{usePatientObservableValue as j}from"../domain-context/index.js";import{BuiltInLoadingPhase as b,useLoadingPhase as C}from"../loading-state/index.js";import{NotAuthenticatedPage as A}from"./NotAuthenticatedPage.js";let U="code";export const SessionServiceProvider=E=>{let{children:P,notAuthenticatedFallback:z=A}=E,F=g(),$=k(),q=x(),M=v(),N=p(F.selectors.session.getSession),R=p(F.selectors.sessionContext.getSessionContext),y=T(d.sessionToken),L=T(d.adminSessionToken),W=T(d.refreshToken),B=w(d.integrationMode),D=w(d.authorizationCode),G=t(()=>{if(D.value){let e=B.value;"local-storage"===h[e].authenticationStorage&&$.warn(`authorizationCode WC prop used in '${e}' mode. This is discouraged — tokens stored in localStorage leak across tabs. Use 'handoff' or 'headless' mode instead.`);let t=D.value;return D.next(void 0),t}if(h[B.value].consumeCodeFromUrl){let e=new URL(window.location.href),t=e.searchParams.get(U);return e.searchParams.delete(U),history.replaceState(null,"",e),t??void 0}},[D,B,$]),H=j(i(()=>D.pipe(r(1),a(e=>void 0!==e),n()),[D]),void 0),I=h[T(d.integrationMode)].authenticationStorage,J=f(l.authenticationFailed),K=i(()=>s(I).with("local-storage",()=>localStorage).with("session-storage",()=>sessionStorage).exhaustive(),[I]);o(()=>{q.configure({initialSessionToken:y,initialAdminSessionToken:L,initialRefreshToken:W,retrieveAuthorizationCode:G,dispatchAuthenticationFailed:J,storage:K})},[q,y,L,W,G,J,K]),o(()=>{"loading"===M.authenticated&&q.requestSessionToken().catch(e=>{let t=e instanceof Error?e:Error(`Unknown error ${e}`);$.warn("Session could not be authenticated",{},t)})},[q,M.authenticated,$]),o(()=>{H&&($.debug("New authorization code received, re-authenticating session"),q.requestSessionToken().catch(e=>{let t=e instanceof Error?e:Error(`Unknown error ${e}`);$.warn("Session could not be authenticated",{},t)}))},[H,q,$]);let O=S();return(C({id:b.SessionAuth,label:"Authenticating session…"},"loading"===M.authenticated),"loading"===M.authenticated)?O?null:e(c,{}):"error"===M.authenticated?e(m,{value:M,children:e(z,{})}):null===R?null:e(m,{value:N,children:e(u,{value:R,children:P})})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createRoot as t}from"react-dom/client";import{Subject as r,Subscription as o,filter as s,scan as i}from"rxjs";import{v4 as n}from"uuid";import{standardWebComponentEvents as a,standardWebComponentProperties as l}from"#package/domain";import{WebComponentApp as c}from"./WebComponentApp.js";import{createEventDispatcher as u,createStorage as p,createWebComponentApi as h}from"./create-web-component-api.js";import{createAttributeNameToPropertyMap as b,createEventTypeByDescriptorMap as d,deriveWebComponentContract as m}from"./web-component-contract.js";let f=Symbol("storagesByPropertyDescriptor"),y=Symbol("reactRoot"),g=Symbol("pendingDisconnection"),v=Symbol("setProperty"),j=Symbol("activeSubscriptions"),S=Symbol("propertiesWithStorages"),P=Symbol("container"),w=Symbol("applicationRuntime"),C=Symbol("webComponentApi"),A=Symbol("PreviousPropertyValues"),E=Symbol("Events"),O=Symbol("Uuid"),$=(e,t,r)=>{let o=t?.attributeParser;if(!o)throw Error("Attribute parser is not defined");try{let e=o(r);return{success:!0,data:e}}catch(t){return console.error(`Failed to parse attribute ${e}, ignoring`,t),{success:!1}}};export const createWebComponent=x=>{let{RootComponent:k,webComponentOptions:D,embeddedIntegration:B,applicationRuntimeFactory:W}=x,F=m(D),{properties:M,events:V}=F,q=b(M),N=d(V),R=class Salsita3dConfigurator extends HTMLElement{[f];[y];[g]=null;[j]=[];[S];[P];[w];[C];[A]=new Map;[E]=new r;[O]=n();get applicationRuntime(){return this[w]}static observedAttributes=Array.from(q.keys());[v](e,t,r){let o=t.schema.safeParse(r);if(!o.success)return void console.error(`Invalid value provided for property ${e}, ignoring`,o.error);let s=this[f].get(t);if(!s)return void console.error(`Subject not found for property descriptor of ${e}`);let i=s.isSet;s.isSet=!0,i&&s.subject.value===o.data||s.subject.next(o.data)}constructor(){super(),this[P]=this.attachShadow({mode:"closed"}),this[S]=Object.entries(M).map(([e,t])=>{if(Object.prototype.hasOwnProperty.call(this,e)){let r=t.schema.safeParse(this[e]);if(delete this[e],r.success)return{name:e,propertyDescriptor:t,storage:p(t,r.data)};console.error(`Failed to validate property ${e}, ignoring`,r.error)}if(t.attributeParser&&t.attributeNames){let r=t.attributeNames.map(e=>this.getAttribute(e)).find(e=>null!==e)??null;if(null!==r){let o=$(e,t,r);if(o.success){let r=t.schema.safeParse(o.data);if(r.success)return{name:e,propertyDescriptor:t,storage:p(t,r.data)};console.error(`Failed to validate attribute ${e}, ignoring`,r.error)}}}return{name:e,propertyDescriptor:t,storage:p(t,t.defaultValue)}}),this[f]=new Map(this[S].map(({propertyDescriptor:e,storage:t})=>[e,t])),this[C]=h({element:this,eventTypeByDescriptor:N,events:this[E],propertiesWithStorages:this[S],storagesByPropertyDescriptor:this[f]}),this[w]=W({webComponentOptions:F,webComponentApi:this[C]})}connectedCallback(){let r;if(null!==this[g]){this[g]=null,this[w].actions.webComponent.startNewGeneration();return}let n=this[w],p=this[C],h=u({element:this,eventTypeByDescriptor:N,storagesByPropertyDescriptor:this[f]},!0),b=this[S].map(({name:e,storage:t})=>t.subject.pipe(i((e,t)=>[e[1],t],[t.subject.value,t.subject.value]),s(([e,t])=>e!==t)).subscribe(([t,r])=>{h(a.propertyChanged,{name:e,oldValue:t,newValue:r})})),d=e=>{if(e)for(let[t,r]of Object.entries(e)){let e=this[S].find(({name:e})=>e===t);if(e){let{storage:o,propertyDescriptor:s}=e;this[A].has(t)||this[A].set(t,o.subject.value);let i=s.schema.safeParse(r);i.success?(o.subject.next(i.data),o.isSet=!0):console.error(`Failed to apply web component property override for "${t}":`,i.error)}}else{for(let[e,t]of this[A]){let r=this[S].find(({name:t})=>t===e);if(r){let{storage:e}=r;e.subject.next(t)}}this[A].clear()}},m=new o(n.subscribe(()=>{let e=n.selectors.overrides.getWebComponentProperties();e!==r&&(r=e,d(e))}));this[j]=[...b,m],this[y]=t(this[P]),this[y].render(e(c,{runtime:n,container:this[P],children:e(k,{})}));let v=p.getPropertyValue(l.onAttached);if(v)try{v(this)}catch(e){console.error("Error in onAttached handler",e)}this.dispatchEvent(new CustomEvent("attached",{bubbles:!0}))}disconnectedCallback(){let e={};this[g]=e,queueMicrotask(()=>{this[g]===e&&(this[g]=null,this[j].forEach(e=>{e.unsubscribe()}),this[y]?.unmount(),this[y]=void 0)})}attributeChangedCallback(e,t,r){let o=q.get(e);if(!o)throw Error(`Property descriptor not found for attribute: ${e}, despite the attribute being observed`);if(null===r)return o.required?void console.error(`Cannot unset a required attribute ${e}, ignoring`):void this[v](e,o,o.defaultValue);let s=$(e,o,r);s.success&&this[v](e,o,s.data)}};return Object.entries(M).forEach(([e,t])=>{Object.defineProperty(R.prototype,e,{enumerable:!0,configurable:!1,get(){return this[f].get(t).subject.value},set(r){this[v](e,t,r)}})}),B&&(Object.defineProperty(R.prototype,"$events",{enumerable:!1,configurable:!1,get(){return this[E]}}),Object.defineProperty(R.prototype,"uuid",{enumerable:!1,configurable:!1,get(){return this[O]}})),R};
1
+ import{jsx as e}from"react/jsx-runtime";import{createRoot as t}from"react-dom/client";import{Subject as r,Subscription as o,filter as s,scan as i}from"rxjs";import{v4 as n}from"uuid";import{standardWebComponentEvents as a,standardWebComponentProperties as l,webComponentAttributeParsers as c}from"#package/domain";import{WebComponentApp as u}from"./WebComponentApp.js";import{createEventDispatcher as p,createStorage as h,createWebComponentApi as b}from"./create-web-component-api.js";import{registerGodModeTarget as d}from"./god-mode/index.js";import{createAttributeNameToPropertyMap as m,createEventTypeByDescriptorMap as f,deriveWebComponentContract as y}from"./web-component-contract.js";let g=Symbol("storagesByPropertyDescriptor"),v=Symbol("reactRoot"),j=Symbol("pendingDisconnection"),S=Symbol("setProperty"),P=Symbol("activeSubscriptions"),w=Symbol("propertiesWithStorages"),C=Symbol("container"),A=Symbol("applicationRuntime"),x=Symbol("webComponentApi"),E=Symbol("PreviousPropertyValues"),O=Symbol("Events"),$=Symbol("Uuid"),k=(e,t,r)=>{let o=t?.attributeParser;if(!o)throw Error("Attribute parser is not defined");let s=o===c.boolean&&r===e?"":r;try{let e=o(s);return{success:!0,data:e}}catch(t){return console.error(`Failed to parse attribute ${e}, ignoring`,t),{success:!1}}};export const createWebComponent=c=>{let{RootComponent:D,webComponentOptions:B,embeddedIntegration:M,applicationRuntimeFactory:W}=c,F=y(B),{properties:V,events:q}=F,N=m(V),R=f(q),T=class Salsita3dConfigurator extends HTMLElement{[g];[v];[j]=null;[P]=[];[w];[C];[A];[x];[E]=new Map;[O]=new r;[$]=n();get applicationRuntime(){return this[A]}static observedAttributes=Array.from(N.keys());[S](e,t,r){let o=t.schema.safeParse(r);if(!o.success)return void console.error(`Invalid value provided for property ${e}, ignoring`,o.error);let s=this[g].get(t);if(!s)return void console.error(`Subject not found for property descriptor of ${e}`);let i=s.isSet;s.isSet=!0,i&&s.subject.value===o.data||s.subject.next(o.data)}constructor(){super(),this[C]=this.attachShadow({mode:"closed"}),this[w]=Object.entries(V).map(([e,t])=>{if(Object.prototype.hasOwnProperty.call(this,e)){let r=t.schema.safeParse(this[e]);if(delete this[e],r.success)return{name:e,propertyDescriptor:t,storage:h(t,r.data)};console.error(`Failed to validate property ${e}, ignoring`,r.error)}if(t.attributeParser&&t.attributeNames){let r=t.attributeNames.find(e=>this.hasAttribute(e)),o=void 0===r?null:this.getAttribute(r);if(void 0!==r&&null!==o){let s=k(r,t,o);if(s.success){let o=t.schema.safeParse(s.data);if(o.success)return{name:e,propertyDescriptor:t,storage:h(t,o.data)};console.error(`Failed to validate attribute ${r}, ignoring`,o.error)}}}return{name:e,propertyDescriptor:t,storage:h(t,t.defaultValue)}}),this[g]=new Map(this[w].map(({propertyDescriptor:e,storage:t})=>[e,t])),this[x]=b({element:this,eventTypeByDescriptor:R,events:this[O],propertiesWithStorages:this[w],storagesByPropertyDescriptor:this[g]}),this[A]=W({webComponentOptions:F,webComponentApi:this[x]})}connectedCallback(){let r;if(null!==this[j]){this[j]=null,this[A].actions.webComponent.startNewGeneration();return}let n=this[A],c=this[x],h=p({element:this,eventTypeByDescriptor:R,storagesByPropertyDescriptor:this[g]},!0),b=this[w].map(({name:e,storage:t})=>t.subject.pipe(i((e,t)=>[e[1],t],[t.subject.value,t.subject.value]),s(([e,t])=>e!==t)).subscribe(([t,r])=>{h(a.propertyChanged,{name:e,oldValue:t,newValue:r})})),m=e=>{if(e)for(let[t,r]of Object.entries(e)){let e=this[w].find(({name:e})=>e===t);if(e){let{storage:o,propertyDescriptor:s}=e;this[E].has(t)||this[E].set(t,o.subject.value);let i=s.schema.safeParse(r);i.success?(o.subject.next(i.data),o.isSet=!0):console.error(`Failed to apply web component property override for "${t}":`,i.error)}}else{for(let[e,t]of this[E]){let r=this[w].find(({name:t})=>t===e);if(r){let{storage:e}=r;e.subject.next(t)}}this[E].clear()}},f=new o(n.subscribe(()=>{let e=n.selectors.overrides.getWebComponentProperties();e!==r&&(r=e,m(e))})),y=new o(d(this,n.actions.environment.setGodMode));this[P]=[...b,f,y],this[v]=t(this[C]),this[v].render(e(u,{runtime:n,container:this[C],children:e(D,{})}));let S=c.getPropertyValue(l.onAttached);if(S)try{S(this)}catch(e){console.error("Error in onAttached handler",e)}this.dispatchEvent(new CustomEvent("attached",{bubbles:!0}))}disconnectedCallback(){let e={};this[j]=e,queueMicrotask(()=>{this[j]===e&&(this[j]=null,this[P].forEach(e=>{e.unsubscribe()}),this[v]?.unmount(),this[v]=void 0)})}attributeChangedCallback(e,t,r){let o=N.get(e);if(!o)throw Error(`Property descriptor not found for attribute: ${e}, despite the attribute being observed`);if(null===r)return o.required?void console.error(`Cannot unset a required attribute ${e}, ignoring`):void this[S](e,o,o.defaultValue);let s=k(e,o,r);s.success&&this[S](e,o,s.data)}};return Object.entries(V).forEach(([e,t])=>{Object.defineProperty(T.prototype,e,{enumerable:!0,configurable:!1,get(){return this[g].get(t).subject.value},set(r){this[S](e,t,r)}})}),M&&(Object.defineProperty(T.prototype,"$events",{enumerable:!1,configurable:!1,get(){return this[O]}}),Object.defineProperty(T.prototype,"uuid",{enumerable:!1,configurable:!1,get(){return this[$]}})),T};