@salsita-ai/sdk 0.50.0-develop.85e8f9df39 → 0.50.0-develop.8876e19a19

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 (962) hide show
  1. package/README.md +1 -1
  2. package/dist/application/index.d.ts +1 -0
  3. package/dist/application/index.js +1 -1
  4. package/dist/application/mount-application.d.ts +1 -1
  5. package/dist/application/mount-application.js +1 -1
  6. package/dist/application/mount-configurator.d.ts +19 -0
  7. package/dist/application/mount-configurator.js +1 -0
  8. package/dist/application/mounted-application-runtime.d.ts +4 -0
  9. package/dist/application/mounted-application-runtime.js +1 -0
  10. package/dist/application/register-web-component.d.ts +2 -0
  11. package/dist/application/register-web-component.js +1 -0
  12. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  13. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  14. package/dist/application-spec/core/index.d.ts +1 -3
  15. package/dist/application-spec/core/index.js +1 -1
  16. package/dist/application-spec/core/json-schema.d.ts +2 -52
  17. package/dist/application-spec/core/markers/index.d.ts +1 -1
  18. package/dist/application-spec/core/markers/index.js +1 -1
  19. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  20. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  21. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  22. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  23. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  24. package/dist/application-spec/errors/diagnostic-codes.d.ts +17 -1
  25. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  26. package/dist/application-spec/errors/diagnostic-messages.d.ts +25 -2
  27. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  28. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  29. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  30. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  31. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  32. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  33. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  34. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  35. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  36. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  37. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  38. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
  39. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  40. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  41. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  42. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  43. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  44. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  46. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +14 -7
  47. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  48. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  49. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  50. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  51. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  52. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  53. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  54. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  55. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  56. package/dist/application-spec/generate-application/index.d.ts +2 -0
  57. package/dist/application-spec/generate-application/index.js +1 -1
  58. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +3 -4
  59. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +7 -4
  60. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  61. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  62. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  63. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +17 -4
  64. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  65. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  66. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  67. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +3 -4
  68. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -5
  69. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  70. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  71. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  72. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  73. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  74. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +1 -2
  75. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +1 -1
  76. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +1 -2
  78. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -1
  79. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  80. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  81. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  82. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  83. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +1 -2
  84. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  85. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  86. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +1 -1
  87. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +1 -2
  88. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +9 -4
  89. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  90. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +1 -2
  91. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  92. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  93. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +1 -1
  94. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  95. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  96. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  97. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  98. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +124 -24
  99. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -1
  100. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +1 -1
  101. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  102. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  103. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  104. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  105. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  106. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  107. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  108. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  109. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +58 -23
  110. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  111. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  112. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  113. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  114. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  115. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  116. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  117. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  118. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  119. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  120. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  121. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  122. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  123. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  124. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  125. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  126. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  127. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  128. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  129. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  130. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  131. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  132. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  133. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  134. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  135. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  136. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  137. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  138. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  139. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  140. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  141. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  142. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  143. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  144. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  145. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  146. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  147. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  148. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  149. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  150. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  151. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  152. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  153. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  154. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  155. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  156. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  157. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  158. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  159. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  160. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  161. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  162. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  163. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  164. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  165. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  166. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  167. package/dist/client/authorized-client.d.ts +3 -1
  168. package/dist/client/authorized-client.js +1 -1
  169. package/dist/client/contract.d.ts +17 -0
  170. package/dist/client/index.d.ts +1 -1
  171. package/dist/client/local-authorized-client.d.ts +3 -1
  172. package/dist/client/local-authorized-client.js +1 -1
  173. package/dist/client/memory-authorized-client.d.ts +4 -1
  174. package/dist/client/memory-authorized-client.js +1 -1
  175. package/dist/client/phoenix-api.d.ts +228 -0
  176. package/dist/configurator/ConfiguratorApp.js +1 -1
  177. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  178. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  179. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  180. package/dist/configurator/app-loader-content/index.js +1 -0
  181. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  182. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +17 -3
  183. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  184. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +52 -9
  185. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  186. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  187. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  189. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  190. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  191. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  193. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +66 -4
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  198. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  199. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  201. package/dist/configurator/common/configurator-interface.d.ts +101 -5
  202. package/dist/configurator/common/configurator-interface.js +1 -1
  203. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  204. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  205. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  206. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  207. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -1
  208. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  209. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +3 -3
  210. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -1
  211. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  212. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  213. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  214. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  215. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +4 -0
  216. package/dist/configurator/configurator-context/index.d.ts +0 -4
  217. package/dist/configurator/configurator-context/index.js +1 -1
  218. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  219. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  220. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  221. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  222. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  223. package/dist/configurator/configurator-error-page/index.js +1 -0
  224. package/dist/configurator/index.d.ts +10 -0
  225. package/dist/configurator/index.js +1 -1
  226. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  227. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  228. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  229. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  230. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  231. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  232. package/dist/configurator/pages/default-configurator-elements.d.ts +4 -2
  233. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  234. package/dist/configurator/pages/default-elements/index.d.ts +1 -0
  235. package/dist/configurator/pages/default-elements/index.js +1 -1
  236. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  237. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  238. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  239. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  240. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  241. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  242. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  243. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  244. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  245. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  246. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  247. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  248. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  249. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  250. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  251. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  252. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  253. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  254. package/dist/configurator/scene/index.d.ts +1 -0
  255. package/dist/configurator/scene/index.js +1 -1
  256. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  257. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  258. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  259. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  260. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  261. package/dist/configurator/toolbar-actions/index.js +1 -0
  262. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  263. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  264. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  265. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  266. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  267. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  268. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  269. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  270. package/dist/configurator/ui/assistant/AssistantChips.d.ts +3 -2
  271. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  272. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  273. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  274. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  275. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  276. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  277. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  278. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  279. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  280. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  281. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -1
  282. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  283. package/dist/configurator/ui/assistant/form/form-model.d.ts +3 -4
  284. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  285. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  286. package/dist/configurator/ui/assistant/form/index.js +1 -1
  287. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +3 -2
  288. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  289. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  290. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  291. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  292. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  293. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  294. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  295. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  296. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  297. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +2 -2
  298. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  299. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  300. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  301. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  302. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  303. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  304. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  305. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  306. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  307. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +4 -1
  308. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  309. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  310. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +4 -1
  311. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +4 -1
  312. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  313. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  314. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  315. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +4 -1
  316. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -1
  317. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  318. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  319. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +20 -16
  320. package/dist/configurator/ui/assistant/form-elements/index.d.ts +4 -0
  321. package/dist/configurator/ui/assistant/form-elements/index.js +1 -1
  322. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  323. package/dist/configurator/ui/assistant/index.js +1 -1
  324. package/dist/configurator/ui/assistant/resource-image/index.d.ts +1 -1
  325. package/dist/configurator/ui/assistant/resource-image/index.js +1 -1
  326. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +0 -9
  327. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -1
  328. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  329. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  330. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  331. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  332. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  333. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  334. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  335. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  336. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -2
  337. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  338. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  339. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  340. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  341. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  342. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  343. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  344. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  345. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  346. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  347. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  348. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  349. package/dist/configurator/ui/index.d.ts +1 -0
  350. package/dist/configurator/ui/index.js +1 -1
  351. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  352. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  353. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  354. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  355. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  356. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  357. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  358. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  359. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  360. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  361. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  362. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  363. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  364. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  365. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  366. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  367. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  368. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  369. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  370. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  371. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  372. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  373. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  374. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  375. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  376. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  377. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  378. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  379. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  380. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  381. package/dist/configurator/ui/preset-layout/index.js +1 -1
  382. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  383. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  384. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  385. package/dist/docs/drag-and-drop/room-planner.mdx +1 -1
  386. package/dist/docs/fabs/basic.mdx +4 -0
  387. package/dist/docs/index.json +95 -1
  388. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  389. package/dist/docs/layouts/custom-layout.mdx +321 -159
  390. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  391. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  392. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  393. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  394. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  395. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  396. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  397. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  398. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  399. package/dist/docs/other-features/error-5xx.mdx +1 -1
  400. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  401. package/dist/docs/other-features/not-found-404.mdx +1 -1
  402. package/dist/docs/phoenix/configurator-interface.mdx +129 -28
  403. package/dist/docs/phoenix/domain-model.mdx +4 -1
  404. package/dist/docs/phoenix/layout-slots.mdx +25 -4
  405. package/dist/docs/phoenix/phoenix-cli.mdx +15 -6
  406. package/dist/docs/phoenix/project-structure.mdx +21 -17
  407. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -5
  408. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  409. package/dist/docs/phoenix/testing.mdx +2 -2
  410. package/dist/docs/phoenix/webhooks.mdx +5 -1
  411. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  412. package/dist/domain/application/application-config.d.ts +6 -24
  413. package/dist/domain/application/assistant/assistant-manifest.d.ts +29 -4
  414. package/dist/domain/application/assistant/assistant-manifest.js +1 -1
  415. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +12 -9
  416. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  417. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  418. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  419. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  420. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  421. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  422. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  423. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  424. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  425. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  426. package/dist/domain/application/assistant/form/index.js +1 -0
  427. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  428. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  429. package/dist/domain/application/assistant/index.d.ts +4 -5
  430. package/dist/domain/application/assistant/index.js +1 -1
  431. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  432. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +4 -4
  433. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  434. package/dist/domain/application/assistant-mutations.js +1 -1
  435. package/dist/domain/application/configurator-builder.d.ts +7 -1
  436. package/dist/domain/application/configurator-builder.js +1 -1
  437. package/dist/domain/application/index.d.ts +1 -1
  438. package/dist/domain/application/index.js +1 -1
  439. package/dist/domain/application/standard-properties.js +1 -1
  440. package/dist/domain/application/web-component-property.d.ts +3 -1
  441. package/dist/domain/application/web-component-property.js +1 -1
  442. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  443. package/dist/domain/available-system-components/available-system-components.js +1 -0
  444. package/dist/domain/available-system-components/index.d.ts +1 -0
  445. package/dist/domain/available-system-components/index.js +1 -0
  446. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +11 -5
  447. package/dist/domain/domain-builder/domain-builder.js +1 -0
  448. package/dist/domain/domain-builder/index.d.ts +1 -0
  449. package/dist/domain/domain-builder/index.js +1 -0
  450. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  451. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  452. package/dist/domain/domain-runtime/application.d.ts +39 -0
  453. package/dist/domain/domain-runtime/application.js +1 -0
  454. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  455. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  456. package/dist/domain/domain-runtime/domain-runtime.d.ts +44 -4
  457. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  458. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  459. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  460. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +2 -0
  461. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -1
  462. package/dist/domain/domain-runtime/index.d.ts +2 -1
  463. package/dist/domain/domain-runtime/index.js +1 -1
  464. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  465. package/dist/domain/domain-runtime/spec/index.js +1 -1
  466. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  467. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +15 -1
  468. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  469. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  470. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  471. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +3 -1
  472. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  473. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  474. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  475. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  476. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  477. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  478. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  479. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  480. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  481. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  482. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  483. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  484. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  485. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  486. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  487. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  488. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  489. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  490. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  491. package/dist/domain/extensions/export-images/index.js +1 -0
  492. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  493. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  494. package/dist/domain/extensions/index.d.ts +1 -2
  495. package/dist/domain/extensions/index.js +1 -1
  496. package/dist/domain/index.d.ts +3 -2
  497. package/dist/domain/index.js +1 -1
  498. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  499. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  500. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  501. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  502. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  503. package/dist/domain/spec/application/index.d.ts +5 -0
  504. package/dist/domain/spec/application/index.js +1 -0
  505. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  506. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  507. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  508. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  509. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  510. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  511. package/dist/domain/spec/components/component-entry.js +1 -0
  512. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  513. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  514. package/dist/domain/spec/components/component-filters.js +1 -0
  515. package/dist/domain/spec/components/components.d.ts +4 -0
  516. package/dist/domain/spec/components/components.js +1 -0
  517. package/dist/domain/spec/components/index.d.ts +6 -0
  518. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  519. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  520. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  521. package/dist/domain/spec/enhanced-json/index.js +1 -0
  522. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  523. package/dist/domain/spec/expressions/expression.js +1 -0
  524. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  525. package/dist/domain/spec/expressions/expressions.js +1 -0
  526. package/dist/domain/spec/expressions/index.d.ts +5 -0
  527. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  528. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  529. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  530. package/dist/domain/spec/index.d.ts +9 -0
  531. package/dist/domain/spec/index.js +1 -0
  532. package/dist/domain/spec/invariants/index.d.ts +2 -0
  533. package/dist/domain/spec/invariants/index.js +1 -0
  534. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  535. package/dist/domain/spec/invariants/invariant.js +1 -0
  536. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  537. package/dist/domain/spec/invariants/invariants.js +1 -0
  538. package/dist/domain/spec/json-schema.d.ts +52 -0
  539. package/dist/domain/spec/json-schema.js +1 -0
  540. package/dist/domain/spec/markers/index.d.ts +3 -0
  541. package/dist/domain/spec/markers/index.js +1 -0
  542. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  543. package/dist/domain/spec/markers/msg-marker.js +1 -0
  544. package/dist/domain/spec/model/aliases.d.ts +9 -0
  545. package/dist/domain/spec/model/aliases.js +1 -0
  546. package/dist/domain/spec/model/common-types.d.ts +15 -0
  547. package/dist/domain/spec/model/common-types.js +1 -0
  548. package/dist/domain/spec/model/defaults.d.ts +33 -0
  549. package/dist/domain/spec/model/defaults.js +1 -0
  550. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  551. package/dist/domain/spec/model/entity-types.js +1 -0
  552. package/dist/domain/spec/model/index.d.ts +7 -0
  553. package/dist/domain/spec/model/index.js +1 -0
  554. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  555. package/dist/domain/spec/model/model-version-key.js +1 -0
  556. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  557. package/dist/domain/spec/model/names/action-name.js +1 -0
  558. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  559. package/dist/domain/spec/model/names/alias-name.js +1 -0
  560. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  561. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  562. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  563. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  564. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  565. package/dist/domain/spec/model/names/expression-name.js +1 -0
  566. package/dist/domain/spec/model/names/index.d.ts +9 -0
  567. package/dist/domain/spec/model/names/index.js +1 -0
  568. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  569. package/dist/domain/spec/model/names/instance-name.js +1 -0
  570. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  571. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  572. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  573. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  574. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  575. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  576. package/dist/domain/spec/model/presets.d.ts +30 -0
  577. package/dist/domain/spec/model/presets.js +1 -0
  578. package/dist/domain/spec/sections/actions.d.ts +23 -0
  579. package/dist/domain/spec/sections/actions.js +1 -0
  580. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  581. package/dist/domain/spec/sections/app-metadata.js +1 -0
  582. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  583. package/dist/domain/spec/sections/application-version.js +1 -0
  584. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  585. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  586. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  587. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  588. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  589. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  590. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  591. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  592. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  593. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  594. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  595. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  596. package/dist/domain/spec/sections/index.d.ts +9 -0
  597. package/dist/domain/spec/sections/index.js +1 -0
  598. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  599. package/dist/domain/spec/sections/infra/acl.js +1 -0
  600. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  601. package/dist/domain/spec/sections/infra/index.js +1 -0
  602. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  603. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  604. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  605. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  606. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  607. package/dist/domain/spec/sections/state-value.js +1 -0
  608. package/dist/domain/spec/sections/theme.d.ts +10 -0
  609. package/dist/domain/spec/sections/theme.js +1 -0
  610. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  611. package/dist/domain/spec/sections/transformers.js +1 -0
  612. package/dist/domain/spec/sections/ui.d.ts +12 -0
  613. package/dist/domain/spec/sections/ui.js +1 -0
  614. package/dist/domain/system-definitions.js +1 -1
  615. package/dist/domain/utils/index.d.ts +2 -0
  616. package/dist/domain/utils/index.js +1 -0
  617. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  618. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  619. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  620. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  621. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  622. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  623. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  624. package/dist/i18n/locales/cs/messages.js +1 -1
  625. package/dist/i18n/locales/da/messages.js +1 -1
  626. package/dist/i18n/locales/de/messages.js +1 -1
  627. package/dist/i18n/locales/de-AT/messages.js +1 -1
  628. package/dist/i18n/locales/en/messages.js +1 -1
  629. package/dist/i18n/locales/en-AU/messages.js +1 -1
  630. package/dist/i18n/locales/en-GB/messages.js +1 -1
  631. package/dist/i18n/locales/es/messages.js +1 -1
  632. package/dist/i18n/locales/fr/messages.js +1 -1
  633. package/dist/i18n/locales/hu/messages.js +1 -1
  634. package/dist/i18n/locales/it/messages.js +1 -1
  635. package/dist/i18n/locales/nl/messages.js +1 -1
  636. package/dist/i18n/locales/pl/messages.js +1 -1
  637. package/dist/i18n/locales/pt/messages.js +1 -1
  638. package/dist/i18n/locales/ro/messages.js +1 -1
  639. package/dist/i18n/locales/sk/messages.js +1 -1
  640. package/dist/i18n/locales/tr/messages.js +1 -1
  641. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  642. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  643. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  644. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  645. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  646. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  647. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  648. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  649. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  650. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  651. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  652. package/dist/phoenix/application-spec/index.d.ts +1 -0
  653. package/dist/phoenix/application-spec/index.js +1 -1
  654. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  655. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  656. package/dist/phoenix/bin.js +1 -1
  657. package/dist/phoenix/cli.js +1 -1
  658. package/dist/phoenix/commands/build.js +1 -1
  659. package/dist/phoenix/commands/clean.js +1 -1
  660. package/dist/phoenix/commands/deploy.js +1 -1
  661. package/dist/phoenix/commands/dev.js +5 -5
  662. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  663. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  664. package/dist/phoenix/commands/index.d.ts +1 -1
  665. package/dist/phoenix/commands/index.js +1 -1
  666. package/dist/phoenix/commands/sync.js +1 -1
  667. package/dist/phoenix/lingui/index.d.ts +1 -0
  668. package/dist/phoenix/lingui/index.js +1 -0
  669. package/dist/phoenix/{services → lingui}/lingui.d.ts +5 -2
  670. package/dist/phoenix/lingui/lingui.js +1 -0
  671. package/dist/phoenix/services/application-spec-project-watcher.d.ts +3 -1
  672. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  673. package/dist/phoenix/services/index.d.ts +1 -0
  674. package/dist/phoenix/services/index.js +1 -1
  675. package/dist/phoenix/services/lingui-watcher.js +1 -1
  676. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  677. package/dist/phoenix/services/vite-config.js +1 -1
  678. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  679. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +4 -0
  680. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  681. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  682. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  683. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  684. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  685. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  686. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  687. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  688. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  689. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  690. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  691. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  692. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  693. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  694. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  695. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  696. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  697. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  698. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  699. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  700. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  701. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  702. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  703. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  704. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  705. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  706. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  707. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  708. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  709. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  710. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  711. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  712. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  713. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  714. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  715. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  716. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  717. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  718. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  719. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  720. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  721. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  722. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  723. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  724. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  725. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  726. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  727. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  728. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  729. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  730. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  731. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  732. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  733. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  734. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  735. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  736. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  737. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  738. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  739. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  740. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  741. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  742. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  743. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  744. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  745. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  746. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  747. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  748. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  749. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  750. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  751. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  752. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  753. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  754. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  755. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  756. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  757. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  758. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  759. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  760. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  761. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  762. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  763. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  764. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  765. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  766. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  767. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  768. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  769. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  770. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  771. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  772. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  773. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  774. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  775. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  776. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  777. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  778. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  779. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  780. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  781. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  782. package/dist/react-sdk/domain-application-context/index.js +1 -1
  783. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  784. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  785. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  786. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  787. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  788. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  789. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  790. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  791. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  792. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  793. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  794. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  795. package/dist/react-sdk/domain-context/index.d.ts +4 -0
  796. package/dist/react-sdk/domain-context/index.js +1 -1
  797. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  798. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  799. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  800. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  801. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  802. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  803. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  804. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  805. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  806. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  807. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  808. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -1
  809. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -1
  810. package/dist/react-sdk/index.d.ts +6 -1
  811. package/dist/react-sdk/index.js +1 -1
  812. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  813. package/dist/react-sdk/integration/index.d.ts +1 -0
  814. package/dist/react-sdk/integration/index.js +1 -0
  815. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  816. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  817. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  818. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  819. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  820. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  821. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  822. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  823. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  824. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  825. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  826. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  827. package/dist/react-sdk/loading-state/index.js +1 -1
  828. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  829. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  830. package/dist/react-sdk/notifications/index.d.ts +1 -0
  831. package/dist/react-sdk/notifications/index.js +1 -0
  832. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  833. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  834. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  835. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  836. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  837. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  838. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  839. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  840. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  841. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  842. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  843. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  844. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  845. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  846. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  847. package/dist/react-sdk/page-elements/index.js +1 -0
  848. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  849. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  850. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  851. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  852. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  853. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  854. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  855. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  856. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  857. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  858. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  859. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  860. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  861. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  862. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  863. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  864. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  865. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  866. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  867. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  868. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  869. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  870. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  871. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  872. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  873. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  874. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  875. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  876. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  877. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  878. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  879. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  880. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  881. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  882. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  883. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  884. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  885. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  886. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  887. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  888. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  889. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  890. package/dist/ui-sdk/theme/types.d.ts +5 -1
  891. package/dist/watch/glob-matcher.d.ts +4 -4
  892. package/dist/watch/glob-matcher.js +1 -1
  893. package/dist/watch/watch.d.ts +4 -4
  894. package/dist/watch/watch.js +1 -1
  895. package/package.json +13 -3
  896. package/schema/domain-spec.json +140 -0
  897. package/dist/application-spec/core/components/index.d.ts +0 -2
  898. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  899. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  900. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  901. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  902. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  903. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  904. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  905. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  906. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  907. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  908. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  909. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  910. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  911. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  912. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  913. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  914. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  915. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  916. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  917. package/dist/domain/application/assistant/assistant-form-elements.d.ts +0 -28
  918. package/dist/domain/application/assistant/assistant-form-elements.js +0 -1
  919. package/dist/domain/available-system-components.d.ts +0 -11
  920. package/dist/domain/available-system-components.js +0 -1
  921. package/dist/domain/domain-builder.js +0 -1
  922. package/dist/domain/extensions/client-side-image.js +0 -1
  923. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  924. package/dist/phoenix/services/lingui.js +0 -1
  925. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  926. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  927. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  928. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  929. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  930. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  931. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  932. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  933. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  934. package/dist/react-sdk/responsive-state/index.js +0 -1
  935. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  936. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  937. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  938. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  939. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  940. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  941. /package/dist/{application-spec/core/expressions/relation-expression-params.js → domain/spec/application/admin-pages-section.js} +0 -0
  942. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
  943. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
  944. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  945. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  946. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → domain/spec/application/configurator-states.js} +0 -0
  947. /package/dist/{react-sdk/responsive-state/canvas-padding.js → domain/spec/components/bindings/index.js} +0 -0
  948. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  949. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  950. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  951. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  952. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  953. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  954. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  955. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  956. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  957. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  958. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  959. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  960. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  961. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  962. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as m,usePresetEmbeddedState as s}from"#package/react-sdk";import{PhxIcon as n}from"#package/ui-sdk";import{useConfiguratorRouting as l,usePresetSelection as p,usePreview as c}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as f}from"../common/CloseConfiguratorButton.js";export const SimpleMobileTopNavigation=e(()=>{let e=m(),u=l(),{presetCategories:d}=p(),{isPreview:g,isPreviewEnabled:k}=c(),x=d.flatMap(o=>o.presets).length>1,b=i(()=>{e.push(a.GoToProductsClicked()),u.goToIndex()},[e,u]);if(!s())return x||g||!k?x?o(t,{size:"small",startIcon:o(n,{name:"ArrowLeft"}),onClick:b,children:o(r,{id:"sdk.layout.navigation.mobile.product.label",message:"Website"})}):null:o(f,{})});
1
+ import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as m,useConfiguratorRouting as s,usePresetEmbeddedState as n}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{usePresetSelection as p,usePreview as c}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as f}from"../common/CloseConfiguratorButton.js";export const SimpleMobileTopNavigation=e(()=>{let e=m(),u=s(),{presetCategories:d}=p(),{isPreview:g,isPreviewEnabled:k}=c(),x=d.flatMap(o=>o.presets).length>1,b=i(()=>{e.push(a.GoToProductsClicked()),u.goToIndex()},[e,u]);if(!n())return x||g||!k?x?o(t,{size:"small",startIcon:o(l,{name:"ArrowLeft"}),onClick:b,children:o(r,{id:"sdk.layout.navigation.mobile.product.label",message:"Website"})}):null:o(f,{})});
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{memo as i,useCallback as o}from"react";import{FrontendAnalyticsFactory as s,useActiveNavigationState as n,useAnalyticsService as r,useDomain as p,usePresetEmbeddedState as c,useResolveLocalizable as l}from"#package/react-sdk";import{TopNavigation as d,useResponsive as m}from"#package/ui-sdk";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:v,storeSystem:x}=p(),h=n(),C=g(),S=l(),{presetCategories:T}=u(),j=c(),N=T.flatMap(t=>t.presets).length>1,b=!j&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=m(),y=o(()=>{k.push(s.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(d.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(d.Step,{isCompleted:!0,onClick:y,compact:P,children:t(a,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,a)=>{let i=b?a<I-1:a<I,o=S(e.label);return t(d.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(s.TopNavigationStepClicked(t)),x.stageAndCommit([v.getNavigationUpdate(t)]))},children:o},o)})]})});
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{memo as i,useCallback as o}from"react";import{FrontendAnalyticsFactory as s,useActiveNavigationState as n,useAnalyticsService as r,useConfiguratorRouting as p,useDomain as c,usePresetEmbeddedState as l,useResolveLocalizable as d}from"#package/react-sdk";import{TopNavigation as m,useResponsive as g}from"#package/ui-sdk";import{usePresetSelection as u}from"../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:v,storeSystem:x}=c(),h=n(),C=p(),S=d(),{presetCategories:T}=u(),j=l(),N=T.flatMap(t=>t.presets).length>1,b=!j&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=g(),y=o(()=>{k.push(s.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(m.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(m.Step,{isCompleted:!0,onClick:y,compact:P,children:t(a,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,a)=>{let i=b?a<I-1:a<I,o=S(e.label);return t(m.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(s.TopNavigationStepClicked(t)),x.stageAndCommit([v.getNavigationUpdate(t)]))},children:o},o)})]})});
@@ -1 +1 @@
1
- import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useDomain as p,useFirstRootComponent as c,usePresetEmbeddedState as f,useResolveLocalizable as d,useRootEntityPrice as g,useSelectedDomainEntityId as u,useStoreSelector as v}from"#package/react-sdk";import{MobileControls as b}from"#package/ui-sdk";import{useConfiguratorRouting as j,usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as I}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as h}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as N}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{DefaultViewOnlyMessage as A}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as D}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as E}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as L}from"../common/SideEffects.js";import{ToolControls as M}from"../common/ToolControls.js";import{ViewControls as P}from"../common/ViewControls.js";import{StepsNavigation as V}from"./StepsNavigation.js";import{StepsSideBar as F}from"./StepsSideBar.js";export const StepsOwnerLayout=()=>{let{storeSystem:O,navigationSystem:B}=p(),H=d(),R=m(),U=u(),z=c(r),$=c(n),q=l({componentTypes:[s],entityIds:[U]}),G=i(()=>z?.state.steps??[],[z]),J=i(()=>(q??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:H(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(R)}}),[q,R,H]),K=i(()=>{let o=J.find(o=>o.isActive);return o?.value??"none"},[J]),Q=v(o=>U===o.state.rootEntityId,[U]),W=g(),X=j(),{presetCategories:Y}=S(),Z=f(),_=Y.flatMap(o=>o.presets).length>1,oo=!Z&&_,ot=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o-1];if(!t){oo&&X.goToIndex();return}let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,oo,X,O]),oe=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o+1];if(!t)return;let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,O]),oa=i(()=>G.findIndex(o=>o.navigationStates.includes(R))===G.length-1,[G,R]);return o(E,{canvas:o(x.Canvas,{}),sidebar:o(F,{price:W,tabs:J,activeTab:K,isRootPage:Q,customPriceNode:$?.state.node,isLastStep:oa,onNextStepClick:oe,onPreviousStepClick:ot}),viewControls:o(P,{}),toolControls:o(M,{}),topNavigation:o(V,{steps:G}),branding:null,toolbar:o(k,{defaultSlot:()=>o(N,{})}),fullScreenToolbar:o(T,{defaultSlot:()=>o(h,{})}),overlay:t(e,{children:[o(D,{}),o(I,{}),o(w,{}),o(C,{})]}),mobileControls:o(b.ViewOnlyMode,{message:o(A,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(L,{}),footer:o(y,{})})};
1
+ import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useConfiguratorRouting as p,useDomain as c,useFirstRootComponent as f,usePresetEmbeddedState as d,useResolveLocalizable as g,useRootEntityPrice as u,useSelectedDomainEntityId as v,useStoreSelector as b}from"#package/react-sdk";import{MobileControls as j}from"#package/ui-sdk";import{usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as I}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as h}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as N}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{DefaultViewOnlyMessage as A}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as D}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as E}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as L}from"../common/SideEffects.js";import{ToolControls as M}from"../common/ToolControls.js";import{ViewControls as P}from"../common/ViewControls.js";import{StepsNavigation as V}from"./StepsNavigation.js";import{StepsSideBar as F}from"./StepsSideBar.js";export const StepsOwnerLayout=()=>{let{storeSystem:O,navigationSystem:B}=c(),H=g(),R=m(),U=v(),z=f(r),$=f(n),q=l({componentTypes:[s],entityIds:[U]}),G=i(()=>z?.state.steps??[],[z]),J=i(()=>(q??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:H(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(R)}}),[q,R,H]),K=i(()=>{let o=J.find(o=>o.isActive);return o?.value??"none"},[J]),Q=b(o=>U===o.state.rootEntityId,[U]),W=u(),X=p(),{presetCategories:Y}=S(),Z=d(),_=Y.flatMap(o=>o.presets).length>1,oo=!Z&&_,ot=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o-1];if(!t){oo&&X.goToIndex();return}let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,oo,X,O]),oe=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o+1];if(!t)return;let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,O]),oa=i(()=>G.findIndex(o=>o.navigationStates.includes(R))===G.length-1,[G,R]);return o(E,{canvas:o(x.Canvas,{}),sidebar:o(F,{price:W,tabs:J,activeTab:K,isRootPage:Q,customPriceNode:$?.state.node,isLastStep:oa,onNextStepClick:oe,onPreviousStepClick:ot}),viewControls:o(P,{}),toolControls:o(M,{}),topNavigation:o(V,{steps:G}),branding:null,toolbar:o(k,{defaultSlot:()=>o(N,{})}),fullScreenToolbar:o(T,{defaultSlot:()=>o(h,{})}),overlay:t(e,{children:[o(D,{}),o(I,{}),o(w,{}),o(C,{})]}),mobileControls:o(j.ViewOnlyMode,{message:o(A,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(L,{}),footer:o(y,{})})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{AnimatePresence as e}from"motion/react";import{memo as o,useCallback as r}from"react";import{useDomain as a}from"#package/react-sdk";import{Sidebar as i,TabNavigation as m}from"#package/ui-sdk";import{useChatEnabled as n}from"../../../../configurator-context/index.js";import{ChatInteractionContainer as p}from"../../chat/ChatInteractionContainer.js";import{PropertyPagePanel as s}from"../../property-page/PropertyPagePanel.js";import{StepsSidebarFooter as c}from"./StepsSidebarFooter.js";export const StepsSideBar=o(o=>{let{price:d,activeTab:f,tabs:g,isRootPage:l,customPriceNode:u,isLastStep:h,onNextStepClick:P,onPreviousStepClick:S}=o,j=n(),{navigationSystem:k,storeSystem:x}=a(),C=r(t=>{x.stageAndCommit([k.getNavigationUpdate(t)])},[k,x]);return t(i.Layout,{header:null,content:t(s,{isRootPage:l}),footer:t(e,{initial:!1,mode:"wait",children:t(c,{customPriceNode:u,formattedPrice:d,isLastStep:h,onNextStepClick:P,onPreviousStepClick:S})}),chat:j&&t(p,{}),aside:g.length>1&&t(m,{onChange:C,value:f,tabs:g})})});
1
+ import{jsx as t}from"react/jsx-runtime";import{AnimatePresence as e}from"motion/react";import{memo as o,useCallback as r}from"react";import{useChatEnabled as a,useDomain as i}from"#package/react-sdk";import{Sidebar as m,TabNavigation as n}from"#package/ui-sdk";import{ChatInteractionContainer as p}from"../../chat/ChatInteractionContainer.js";import{PropertyPagePanel as s}from"../../property-page/PropertyPagePanel.js";import{StepsSidebarFooter as c}from"./StepsSidebarFooter.js";export const StepsSideBar=o(o=>{let{price:d,activeTab:f,tabs:g,isRootPage:l,customPriceNode:u,isLastStep:h,onNextStepClick:P,onPreviousStepClick:S}=o,k=a(),{navigationSystem:C,storeSystem:j}=i(),x=r(t=>{j.stageAndCommit([C.getNavigationUpdate(t)])},[C,j]);return t(m.Layout,{header:null,content:t(s,{isRootPage:l}),footer:t(e,{initial:!1,mode:"wait",children:t(c,{customPriceNode:u,formattedPrice:d,isLastStep:h,onNextStepClick:P,onPreviousStepClick:S})}),chat:k&&t(p,{}),aside:g.length>1&&t(n,{onChange:x,value:f,tabs:g})})});
@@ -1 +1 @@
1
- import{jsx as t,jsxs as o}from"react/jsx-runtime";import{AnimatePresence as e,motion as a}from"motion/react";import{memo as r,useCallback as i}from"react";import{useDomain as m}from"#package/react-sdk";import{AnimationTarget as n,Sidebar as s,TabNavigation as c}from"#package/ui-sdk";import{useChatEnabled as u}from"../../../../configurator-context/index.js";import{ChatInteractionContainer as p}from"../../chat/ChatInteractionContainer.js";import{CommonFinalizeButton as d}from"../common/CommonFinalizeButton.js";import{CommonSidebarFooter as l}from"../common/CommonSidebarFooter.js";import{DesktopSummaryButton as f}from"../common/DesktopSummaryButton.js";import{TabsSidebarContent as y}from"./TabsSidebarContent.js";let h={transition:{type:"spring",duration:.3},variants:{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:16}}};export const TabsSidebar=r(r=>{let{price:S,isSummaryActive:g,onEnterSummary:v,activeTab:B,tabs:j,summaryPage:b,onLeaveSummary:P,isRootPage:x,customPriceNode:C,hasSummary:T}=r,w=u(),{navigationSystem:k,storeSystem:F}=m(),N=i(t=>{F.stageAndCommit([k.getNavigationUpdate(t)])},[k,F]);return t(s.Layout,{header:null,content:t(y,{summaryPage:b,isSummaryActive:g,onLeaveSummary:P,isRootPage:x}),footer:o(e,{initial:!1,mode:"wait",children:[!T&&t(l,{customPriceNode:C,formattedPrice:S,actionButton:t(d,{}),showTemplateButton:!0,showSaveTemplateButton:!0}),T&&!g&&t(a.div,{...h,...n,children:t(l,{customPriceNode:C,actionButton:t(f,{onEnterSummary:v}),formattedPrice:S,showSaveTemplateButton:!1})},"sidebarFooterSummary"),T&&g&&t(a.div,{...h,...n,children:t(l,{customPriceNode:C,actionButton:t(d,{}),formattedPrice:S,showTemplateButton:!0,showSaveTemplateButton:!0})},"sidebarFooterSummary")]}),chat:w&&t(p,{}),aside:j.length>1&&t(c,{onChange:N,value:B,tabs:j})})});
1
+ import{jsx as t,jsxs as o}from"react/jsx-runtime";import{AnimatePresence as e,motion as a}from"motion/react";import{memo as r,useCallback as m}from"react";import{useChatEnabled as i,useDomain as n}from"#package/react-sdk";import{AnimationTarget as s,Sidebar as c,TabNavigation as u}from"#package/ui-sdk";import{ChatInteractionContainer as p}from"../../chat/ChatInteractionContainer.js";import{CommonFinalizeButton as d}from"../common/CommonFinalizeButton.js";import{CommonSidebarFooter as l}from"../common/CommonSidebarFooter.js";import{DesktopSummaryButton as y}from"../common/DesktopSummaryButton.js";import{TabsSidebarContent as f}from"./TabsSidebarContent.js";let h={transition:{type:"spring",duration:.3},variants:{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:16}}};export const TabsSidebar=r(r=>{let{price:S,isSummaryActive:g,onEnterSummary:v,activeTab:B,tabs:b,summaryPage:j,onLeaveSummary:P,isRootPage:C,customPriceNode:T,hasSummary:w}=r,k=i(),{navigationSystem:x,storeSystem:F}=n(),N=m(t=>{F.stageAndCommit([x.getNavigationUpdate(t)])},[x,F]);return t(c.Layout,{header:null,content:t(f,{summaryPage:j,isSummaryActive:g,onLeaveSummary:P,isRootPage:C}),footer:o(e,{initial:!1,mode:"wait",children:[!w&&t(l,{customPriceNode:T,formattedPrice:S,actionButton:t(d,{}),showTemplateButton:!0,showSaveTemplateButton:!0}),w&&!g&&t(a.div,{...h,...s,children:t(l,{customPriceNode:T,actionButton:t(y,{onEnterSummary:v}),formattedPrice:S,showSaveTemplateButton:!1})},"sidebarFooterSummary"),w&&g&&t(a.div,{...h,...s,children:t(l,{customPriceNode:T,actionButton:t(d,{}),formattedPrice:S,showTemplateButton:!0,showSaveTemplateButton:!0})},"sidebarFooterSummary")]}),chat:k&&t(p,{}),aside:b.length>1&&t(u,{onChange:N,value:B,tabs:b})})});
@@ -1,11 +1,4 @@
1
1
  import type { PropsWithChildren } from 'react';
2
- import type { PhoenixLayoutElementRegistration } from '#package/domain';
3
- import type { LoadingPhase } from '#package/react-sdk';
4
- export interface AppLoaderContentProps {
5
- readonly phases: readonly LoadingPhase[];
6
- }
7
- export declare const createAppLoader: (Element: (props: AppLoaderContentProps) => JSX.Element) => readonly PhoenixLayoutElementRegistration[];
8
- export type CreateAppLoader = (Element: (props: AppLoaderContentProps) => JSX.Element) => readonly PhoenixLayoutElementRegistration[];
9
2
  interface AppLoaderProps extends PropsWithChildren {
10
3
  readonly mode?: 'legacy' | 'universal';
11
4
  }
@@ -1,8 +1,4 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{keyframes as a,styled as o}from"@mui/material";import{useRef as i}from"react";import{createCustomPhoenixLayoutElement as n}from"#package/domain";import{BuiltInLoadingPhase as s,PhoenixLayoutElement as p,useLoadingStateValue as m,useResponsiveState as c}from"#package/react-sdk";let l="AppLoaderContent";export const createAppLoader=t=>[n(l,()=>{let{phases:r}=m();return e(t,{phases:r})})];let d=a`
2
- 0% { transform: perspective(200px) rotateX(0deg) rotateY(0deg) }
3
- 50% { transform: perspective(200px) rotateX(-180deg) rotateY(0deg) }
4
- 100% { transform: perspective(200px) rotateX(-180deg) rotateY(-180deg) }
5
- `,g=o("span")(({theme:e})=>({animation:`${d} 1s linear infinite`,aspectRatio:1,background:e.palette.primary.main,height:36})),x=a`
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{keyframes as a,styled as r}from"@mui/material";import{AppLoaderContentName as s,BuiltInLoadingPhase as o,PhoenixLayoutElement as n,useIsAwaitingLoadingPhase as p,useLoadingStateValue as m,useResponsiveState as l}from"#package/react-sdk";let c=a`
6
2
  from { opacity: 0 }
7
3
  to { opacity: 1 }
8
- `,f=o("div")({animation:`${x} 1000ms linear 300ms forwards`,opacity:0,display:"grid",inset:0,maxBlockSize:"var(--phx-app-height)",placeItems:"center",pointerEvents:"none",position:"absolute",transition:"inset 100ms ease-in-out",zIndex:9999}),u=()=>e(g,{});export const AppLoader=({mode:a="universal",children:o})=>{let{isLoading:n,hasError:d,phases:g,expectedPhaseIds:x}=m(),{canvasPadding:h}=c(),v=i(!1);if(g.some(e=>e.id===s.SceneAssets)&&(v.current=!0),"legacy"===a)return o;let y=x.has(s.SceneAssets)&&!v.current;return t(r,{children:[o,!d&&(n||y)&&e(f,{style:{inset:`${h.top}px ${h.right}px ${h.bottom}px ${h.left}px`},children:e(p,{name:l,elementProps:{},defaultSlot:u})})]})};
4
+ `,x=r("div")({animation:`${c} 1000ms linear 300ms forwards`,opacity:0,display:"grid",inset:0,maxBlockSize:"var(--phx-app-height)",placeItems:"center",pointerEvents:"none",position:"absolute",transition:"inset 100ms ease-in-out",zIndex:9999});export const AppLoader=({mode:a="universal",children:r})=>{let{isLoading:c,hasError:d,phases:f}=m(),g=p(o.SceneAssets),{canvasPadding:h}=l();return"legacy"===a?r:t(i,{children:[r,!d&&(c||g)&&e(x,{style:{inset:`${h.top}px ${h.right}px ${h.bottom}px ${h.left}px`},children:e(n,{name:s,elementProps:{phases:f}})})]})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Badge as r}from"@mui/material";import{memo as o,useCallback as a}from"react";import{assistantToolbarButtonSchema as i,createPhoenixLayoutElement as e}from"#package/domain";import{useEagerObservableValue as s,useLocalizable as n,useSpecAssistant as m}from"#package/react-sdk";import{DesktopToolbar as l,PhxIcon as p,useResponsive as c}from"#package/ui-sdk";import{useConfigurator as d}from"../../application-runtime/index.js";let u={id:"sdk.assistant.toolbarButton.label",message:"Assistant"};export const AssistantToolbarButton=e({schema:i,component:o(o=>{let{icon:i,showTitle:e=!0}=o,{assistantSystem:k}=d(),f=m(),{open:A,hasUnreadReply:b}=s(k.panel$),g=n(u),{isPhone:x,isTablet:h}=c(),B=a(()=>{k.setOpen(!A)},[k,A]);return f?t(l.Button,{title:g,onClick:B,showTitle:e&&!x&&!h,"aria-pressed":A,sx:{'&[aria-pressed="true"]':{backgroundColor:"action.selected"}},children:t(r,{color:"primary",variant:"dot",overlap:"circular",invisible:!b,children:t(p,{name:i??(A?"CustomAiAssistantBold":"CustomAiAssistant")})})}):null})});
1
+ import{jsx as t}from"react/jsx-runtime";import{Badge as o}from"@mui/material";import{memo as r,useCallback as a}from"react";import{assistantToolbarButtonSchema as s,createPhoenixLayoutElement as i}from"#package/domain";import{useLocalizable as e}from"#package/react-sdk";import{DesktopToolbar as m,PhxIcon as n,useResponsive as l}from"#package/ui-sdk";import{useAssistantPanel as c}from"../../toolbar-actions/index.js";let p={id:"sdk.assistant.toolbarButton.label",message:"Assistant"};export const AssistantToolbarButton=i({schema:s,component:r(r=>{let{icon:s,showTitle:i=!0}=r,{available:d,open:u,hasUnreadReply:k,setOpen:f}=c(),b=e(p),{isPhone:A,isTablet:g}=l(),x=a(()=>{f(!u)},[f,u]);return d?t(m.Button,{title:b,onClick:x,showTitle:i&&!A&&!g,"aria-pressed":u,sx:{'&[aria-pressed="true"]':{backgroundColor:"action.selected"}},children:t(o,{color:"primary",variant:"dot",overlap:"circular",invisible:!k,children:t(n,{name:s??(u?"CustomAiAssistantBold":"CustomAiAssistant")})})}):null})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useLingui as o,Trans as n}from"@lingui/react";import{Button as l,DialogActions as r,DialogContent as i,DialogTitle as t,ListItemText as m,MenuItem as s,MenuList as c,menuItemClasses as g,styled as u}from"@mui/material";import{memo as d,useCallback as p}from"react";import{createPhoenixLayoutElement as h,languageMenuActionSchema as f}from"#package/domain";import{useLinguiActivate as x}from"#package/react-sdk";import{LocaleIcon as C}from"./language/LocaleIcon.js";import{useLocaleOptions as k}from"./language/use-locale-options.js";import{useMenuRouting as j}from"./menu-actions/MenuRoutingContext.js";import{RoutingMenuAction as y}from"./menu-actions/RoutingMenuAction.js";let b=u(c)(({theme:{spacing:e}})=>({columnGap:e(2),display:"grid",gridTemplateColumns:"min-content auto",[`.${g.root}`]:{display:"grid",gridColumn:"1 / -1",gridTemplateColumns:"subgrid"}}));export const LanguageMenuAction=h({schema:f,component:d(()=>{let{i18n:c}=o(),g=k(),{close:u}=j(),d=x(),h=p(e=>{d(e),u()},[d,u]);return a(y,{label:e(n,{id:"sdk.layout.hamburgerMenu.language.label",message:"Change Language"}),icon:e(C,{children:c.locale}),children:[e(t,{children:e(n,{id:"sdk.layout.hamburgerMenu.language.dialogTitle",message:"Change Language"})}),e(i,{sx:{px:0},children:e(b,{children:g.map(o=>a(s,{onClick:()=>{h(o.locale)},children:[e(C,{sx:{color:"text.secondary"},children:o.locale}),e(m,{children:o.displayName})]},o.locale))})}),e(r,{children:e(l,{variant:"text",color:"inherit",onClick:u,children:e(n,{id:"sdk.layout.menu.language.close.label",message:"Close"})})})]})})});
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as n}from"@lingui/react";import{Button as o,DialogActions as r,DialogContent as i,DialogTitle as l,ListItemText as t,MenuItem as m,MenuList as s,menuItemClasses as c,styled as g}from"@mui/material";import{memo as u,useCallback as d}from"react";import{createPhoenixLayoutElement as p,languageMenuActionSchema as h}from"#package/domain";import{useLocaleSwitch as x}from"#package/react-sdk";import{LocaleIcon as f}from"./language/LocaleIcon.js";import{useMenuRouting as C}from"./menu-actions/MenuRoutingContext.js";import{RoutingMenuAction as k}from"./menu-actions/RoutingMenuAction.js";let y=g(s)(({theme:{spacing:e}})=>({columnGap:e(2),display:"grid",gridTemplateColumns:"min-content auto",[`.${c.root}`]:{display:"grid",gridColumn:"1 / -1",gridTemplateColumns:"subgrid"}}));export const LanguageMenuAction=p({schema:h,component:u(()=>{let{locales:s,locale:c,setLocale:g}=x(),{close:u}=C(),p=d(e=>{g(e),u()},[g,u]);return a(k,{label:e(n,{id:"sdk.layout.hamburgerMenu.language.label",message:"Change Language"}),icon:e(f,{children:c}),children:[e(l,{children:e(n,{id:"sdk.layout.hamburgerMenu.language.dialogTitle",message:"Change Language"})}),e(i,{sx:{px:0},children:e(y,{children:s.map(n=>a(m,{onClick:()=>{p(n.locale)},children:[e(f,{sx:{color:"text.secondary"},children:n.locale}),e(t,{children:n.displayName})]},n.locale))})}),e(r,{children:e(o,{variant:"text",color:"inherit",onClick:u,children:e(n,{id:"sdk.layout.menu.language.close.label",message:"Close"})})})]})})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a,Fragment as o}from"react/jsx-runtime";import{useLingui as r}from"@lingui/react";import{ListItemButton as l,ListItemText as t,List as i,listItemButtonClasses as n,styled as m}from"@mui/material";import{memo as c,useCallback as s}from"react";import{createPhoenixLayoutElement as p,languageToolbarButtonSchema as g}from"#package/domain";import{useLinguiActivate as u,useResolveLocalizable as d}from"#package/react-sdk";import{DesktopToolbar as h}from"#package/ui-sdk";import{LocaleIcon as f}from"./language/LocaleIcon.js";import{useLocaleOptions as x}from"./language/use-locale-options.js";let k=m(i)(({theme:{spacing:e}})=>({columnGap:e(2),display:"grid",gridTemplateColumns:"min-content auto",maxBlockSize:"calc(100cqb - 50px)",overflowY:"auto",[`.${n.root}`]:{display:"grid",gridColumn:"1 / -1",gridTemplateColumns:"subgrid"}})),b={id:"sdk.toolbar.language.title",message:"Switch language"},C="language-toolbar";export const LanguageToolbarButton=p({schema:g,component:c(()=>{let{i18n:i}=r(),{ref:n,handleClose:m,handleToggle:c,openedKey:p}=h.useToolbarPopper(),g=d(),j=u(),y=s(()=>{c("language-toolbar")},[c]),T=s(e=>{j(e),y()},[j,y]),z=x();return a(o,{children:[e(h.Button,{ref:n,title:g(b),size:"small","aria-expanded":p===C?"true":void 0,"aria-haspopup":"menu",onClick:y,children:e(f,{sx:{minInlineSize:24},children:i.locale})}),e(h.Popper,{placement:"top-start",anchorEl:n.current,isOpen:p===C,onClose:m,children:e(k,{children:z.map(o=>a(l,{onClick:()=>{T(o.locale)},children:[e(f,{sx:{color:"text.secondary"},children:o.locale}),e(t,{primary:o.displayName})]},o.locale))})})]})})});
1
+ import{jsx as e,jsxs as a,Fragment as o}from"react/jsx-runtime";import{ListItemButton as r,ListItemText as l,List as t,listItemButtonClasses as i,styled as n}from"@mui/material";import{memo as m,useCallback as c}from"react";import{createPhoenixLayoutElement as s,languageToolbarButtonSchema as p}from"#package/domain";import{useLocaleSwitch as d,useResolveLocalizable as g}from"#package/react-sdk";import{DesktopToolbar as u}from"#package/ui-sdk";import{LocaleIcon as h}from"./language/LocaleIcon.js";let x=n(t)(({theme:{spacing:e}})=>({columnGap:e(2),display:"grid",gridTemplateColumns:"min-content auto",maxBlockSize:"calc(100cqb - 50px)",overflowY:"auto",[`.${i.root}`]:{display:"grid",gridColumn:"1 / -1",gridTemplateColumns:"subgrid"}})),f={id:"sdk.toolbar.language.title",message:"Switch language"},k="language-toolbar";export const LanguageToolbarButton=s({schema:p,component:m(()=>{let{locales:t,locale:i,setLocale:n}=d(),{ref:m,handleClose:s,handleToggle:p,openedKey:b}=u.useToolbarPopper(),C=g(),y=c(()=>{p("language-toolbar")},[p]),T=c(e=>{n(e),y()},[n,y]);return a(o,{children:[e(u.Button,{ref:m,title:C(f),size:"small","aria-expanded":b===k?"true":void 0,"aria-haspopup":"menu",onClick:y,children:e(h,{sx:{minInlineSize:24},children:i})}),e(u.Popper,{placement:"top-start",anchorEl:m.current,isOpen:b===k,onClose:s,children:e(x,{children:t.map(o=>a(r,{onClick:()=>{T(o.locale)},children:[e(h,{sx:{color:"text.secondary"},children:o.locale}),e(l,{primary:o.displayName})]},o.locale))})})]})})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as m}from"react/jsx-runtime";import{Trans as s}from"@lingui/react";import{Button as r,DialogActions as n,DialogContent as t,DialogTitle as i,Stack as o}from"@mui/material";import{memo as a}from"react";import{createPhoenixLayoutElement as u,measurementsMenuActionSchema as c}from"#package/domain";import{useDimensionState as l}from"#package/react-sdk";import{DimensionUnitSelector as p}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as d}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMeasurementsVisibility as g}from"./measurements/use-measurements-visibility.js";import{useMenuRouting as h}from"./menu-actions/MenuRoutingContext.js";import{RoutingMenuAction as j}from"./menu-actions/RoutingMenuAction.js";export const MeasurementsMenuAction=u({schema:c,component:a(a=>{let{showIndicatorSwitch:u,icons:c}=a,{unit:k}=l(),{indicatorSwitchShown:x,measurementsShown:M}=g(u),{close:b}=h();return M?m(j,{label:e(s,{id:"sdk.layout.menu.measurements.label",message:"Change measure"}),icon:e(d,{unit:k,icons:c}),children:[e(i,{children:e(s,{id:"sdk.layout.menu.measurements.label",message:"Change measure"})}),e(t,{children:m(o,{spacing:2,direction:"column",children:[x&&e(f,{}),e(p,{})]})}),e(n,{children:e(r,{variant:"text",color:"inherit",onClick:b,children:e(s,{id:"sdk.layout.menu.measurements.close.label",message:"Close"})})})]}):null})});
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import{Trans as m}from"@lingui/react";import{Button as r,DialogActions as s,DialogContent as t,DialogTitle as o,Stack as i}from"@mui/material";import{memo as a}from"react";import{createPhoenixLayoutElement as u,measurementsMenuActionSchema as c}from"#package/domain";import{useMeasurements as l}from"../../toolbar-actions/index.js";import{DimensionUnitSelector as d}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as p}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMenuRouting as h}from"./menu-actions/MenuRoutingContext.js";import{RoutingMenuAction as g}from"./menu-actions/RoutingMenuAction.js";export const MeasurementsMenuAction=u({schema:c,component:a(a=>{let{showIndicatorSwitch:u,icons:c}=a,{unit:j,hasIndicatorSwitch:x,available:M}=l({showIndicatorSwitch:u}),{close:b}=h();return M?n(g,{label:e(m,{id:"sdk.layout.menu.measurements.label",message:"Change measure"}),icon:e(p,{unit:j,icons:c}),children:[e(o,{children:e(m,{id:"sdk.layout.menu.measurements.label",message:"Change measure"})}),e(t,{children:n(i,{spacing:2,direction:"column",children:[x&&e(f,{}),e(d,{})]})}),e(s,{children:e(r,{variant:"text",color:"inherit",onClick:b,children:e(m,{id:"sdk.layout.menu.measurements.close.label",message:"Close"})})})]}):null})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as m,Stack as a}from"@mui/material";import{memo as n,useCallback as t}from"react";import{createPhoenixLayoutElement as o,measurementsToolbarButtonSchema as i}from"#package/domain";import{FrontendAnalyticsFactory as u,useAnalyticsService as p,useDimensionState as l,useLocalizable as c}from"#package/react-sdk";import{DesktopToolbar as d}from"#package/ui-sdk";import{DimensionUnitSelector as h}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as g}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMeasurementsVisibility as k}from"./measurements/use-measurements-visibility.js";let j="measurements",M={id:"sdk.measurements",message:"Change measure"},x={id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"};export const MeasurementsToolbarButton=o({schema:i,component:n(n=>{let{showIndicatorSwitch:o,icons:i}=n,{ref:b,handleClose:C,handleToggle:T,openedKey:v}=d.useToolbarPopper(),B=p(),{unit:I}=l(),{indicatorSwitchShown:P,measurementsShown:S}=k(o),w=t(()=>{B.push(u.MeasurementsMenuToggled()),T(j)},[B,T]),y=t(e=>{B.push(u.MeasurementsMenuClosed()),C(e)},[B,C]),z=c(M),D=c(x);return S?r(s,{children:[e(d.Button,{ref:b,title:z,size:"small","aria-expanded":v===j?"true":void 0,"aria-label":D,"aria-haspopup":"menu",onClick:w,children:e(g,{unit:I,icons:i})}),e(d.Popper,{placement:"top-start",anchorEl:b.current,isOpen:v===j,onClose:y,children:e(m,{component:"div",sx:{p:2},children:r(a,{spacing:2,direction:"column",children:[P&&e(f,{}),e(h,{})]})})})]}):null})});
1
+ import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as o,Stack as a}from"@mui/material";import{memo as n,useCallback as t}from"react";import{createPhoenixLayoutElement as m,measurementsToolbarButtonSchema as i}from"#package/domain";import{FrontendAnalyticsFactory as u,useAnalyticsService as p,useLocalizable as l}from"#package/react-sdk";import{DesktopToolbar as c}from"#package/ui-sdk";import{useMeasurements as d}from"../../toolbar-actions/index.js";import{DimensionUnitSelector as h}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as g}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";let k="measurements",j={id:"sdk.measurements",message:"Change measure"},x={id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"};export const MeasurementsToolbarButton=m({schema:i,component:n(n=>{let{showIndicatorSwitch:m,icons:i}=n,{ref:M,handleClose:b,handleToggle:C,openedKey:T}=c.useToolbarPopper(),v=p(),{unit:B,hasIndicatorSwitch:I,available:P}=d({showIndicatorSwitch:m}),S=t(()=>{v.push(u.MeasurementsMenuToggled()),C(k)},[v,C]),w=t(e=>{v.push(u.MeasurementsMenuClosed()),b(e)},[v,b]),z=l(j),D=l(x);return P?r(s,{children:[e(c.Button,{ref:M,title:z,size:"small","aria-expanded":T===k?"true":void 0,"aria-label":D,"aria-haspopup":"menu",onClick:S,children:e(g,{unit:B,icons:i})}),e(c.Popper,{placement:"top-start",anchorEl:M.current,isOpen:T===k,onClose:w,children:e(o,{component:"div",sx:{p:2},children:r(a,{spacing:2,direction:"column",children:[I&&e(f,{}),e(h,{})]})})})]}):null})});
@@ -1 +1 @@
1
- import{jsx as r,jsxs as e,Fragment as o}from"react/jsx-runtime";import{memo as a,useCallback as t,useState as s}from"react";import{createPhoenixLayoutElement as m,shareToolbarButtonSchema as i}from"#package/domain";import{useResolveLocalizable as l}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as p}from"#package/ui-sdk";import{ShareModal as c}from"./share/ShareModal.js";import{useShareSettings as h}from"./share/use-share.js";let d={id:"sdk.toolbar.share.open.label",message:"Share"};export const ShareToolbarButton=m({schema:i,component:a(a=>{let{icon:m}=a,[i,f]=s(!1),{disabled:k}=h(),u=t(()=>{f(!0)},[]),g=t(()=>{f(!1)},[]),j=l();return k?null:e(o,{children:[r(n.Button,{title:j(d),size:"small",onClick:u,children:r(p,{name:m??"Export"})}),i&&r(c,{onClose:g})]})})});
1
+ import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{memo as a,useCallback as t,useState as m}from"react";import{createPhoenixLayoutElement as s,shareToolbarButtonSchema as l}from"#package/domain";import{useResolveLocalizable as n,useShareLinks as i}from"#package/react-sdk";import{DesktopToolbar as p,PhxIcon as c}from"#package/ui-sdk";import{ShareModal as d}from"./share/ShareModal.js";let h={id:"sdk.toolbar.share.open.label",message:"Share"};export const ShareToolbarButton=s({schema:l,component:a(a=>{let{icon:s}=a,[l,k]=m(!1),{available:f}=i({enabled:!1}),u=t(()=>{k(!0)},[]),g=t(()=>{k(!1)},[]),x=n();return f?r(o,{children:[e(p.Button,{title:x(h),size:"small",onClick:u,children:e(c,{name:s??"Export"})}),l&&e(d,{onClose:g})]}):null})});
@@ -1 +1 @@
1
- import{useMemo as e}from"react";import{FrontendAnalyticsFactory as o,useAccessService as t,useAnalyticsService as i,useDomainApplication as a,useIntegrationState as r}from"#package/react-sdk";import{useConfiguratorRouting as d,usePresetSelection as n,usePreview as s}from"../../../../../configurator-context/index.js";import{useCloseAction as c}from"../../../../../integration/index.js";export const useGoBackAction=()=>{let l=i(),{configurationPersistSystem:p}=a(),u=d(),{presetCategories:m}=n(),{isPreview:w,isPreviewEnabled:f,leave:g}=s(),{accessInfo:x}=t(),k=m.flatMap(e=>e.presets).length>1,v=r(),C=c();return e(()=>v.embeddedView?null:k?async()=>{l.push(o.GoToProductsClicked()),x.viewMode||await p.save(),u.goToIndex()}:null!==C?async()=>{l.push(o.CloseConfiguratorClicked()),x.viewMode||await p.save(),await C()}:f&&!w?()=>{l.push(o.ExpandedViewClosed()),g()}:null,[l,p,k,v.embeddedView,w,f,g,u,C,x.viewMode])};
1
+ import{useMemo as e}from"react";import{FrontendAnalyticsFactory as o,useAccessService as t,useAnalyticsService as i,useConfiguratorRouting as a,useDomainApplication as r,useIntegrationState as d}from"#package/react-sdk";import{usePresetSelection as n,usePreview as s}from"../../../../../configurator-context/index.js";import{useCloseAction as c}from"../../../../../integration/index.js";export const useGoBackAction=()=>{let l=i(),{configurationPersistSystem:p}=r(),u=a(),{presetCategories:m}=n(),{isPreview:w,isPreviewEnabled:f,leave:g}=s(),{accessInfo:x}=t(),k=m.flatMap(e=>e.presets).length>1,v=d(),C=c();return e(()=>v.embeddedView?null:k?async()=>{l.push(o.GoToProductsClicked()),x.viewMode||await p.save(),u.goToIndex()}:null!==C?async()=>{l.push(o.CloseConfiguratorClicked()),x.viewMode||await p.save(),await C()}:f&&!w?()=>{l.push(o.ExpandedViewClosed()),g()}:null,[l,p,k,v.embeddedView,w,f,g,u,C,x.viewMode])};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{memo as a,useCallback as i}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as s,usePresetEmbeddedState as c}from"#package/react-sdk";import{TopNavigation as p,useResponsive as l}from"#package/ui-sdk";import{useConfiguratorRouting as n,usePresetSelection as m}from"../../../../../configurator-context/index.js";export const StepsNavigation=a(a=>{let{steps:d,activeIndex:u,goTo:f}=a,g=s(),k=n(),{presetCategories:x}=m(),h=c(),C=x.flatMap(t=>t.presets).length>1,b=!h&&C,{isTablet:j}=l(),v=i(()=>{g.push(r.GoToProductsClicked()),k.goToIndex()},[g,k]);return e(p.Root,{activeStep:u+ +!!b,nonLinear:!0,compact:j,fullWidth:!0,children:[b&&t(p.Step,{isCompleted:!0,onClick:v,compact:j,children:t(o,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),d.map(e=>{let o="complete"===e.status;return t(p.Step,{isCompleted:o,isDisabled:!o,compact:j,onClick:()=>f(e.index),children:e.label},e.label)})]})});
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{memo as a,useCallback as i}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as s,useConfiguratorRouting as c,usePresetEmbeddedState as p}from"#package/react-sdk";import{TopNavigation as l,useResponsive as n}from"#package/ui-sdk";import{usePresetSelection as m}from"../../../../../configurator-context/index.js";export const StepsNavigation=a(a=>{let{steps:d,activeIndex:u,goTo:f}=a,g=s(),k=c(),{presetCategories:x}=m(),h=p(),C=x.flatMap(t=>t.presets).length>1,b=!h&&C,{isTablet:j}=n(),v=i(()=>{g.push(r.GoToProductsClicked()),k.goToIndex()},[g,k]);return e(l.Root,{activeStep:u+ +!!b,nonLinear:!0,compact:j,fullWidth:!0,children:[b&&t(l.Step,{isCompleted:!0,onClick:v,compact:j,children:t(o,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),d.map(e=>{let o="complete"===e.status;return t(l.Step,{isCompleted:o,isDisabled:!o,compact:j,onClick:()=>f(e.index),children:e.label},e.label)})]})});
@@ -25,7 +25,14 @@ export { SetAsRecipeButton } from './SetAsRecipeButton.js';
25
25
  export { LayoutDialog, createLayoutDialog, type CreateLayoutDialog } from './LayoutDialog.js';
26
26
  export { LayoutFooter, createLayoutFooter, type CreateLayoutFooter } from './LayoutFooter.js';
27
27
  export { CanvasLoader, createCanvasLoader, type CreateCanvasLoader } from './CanvasLoader.js';
28
- export { AppLoader, createAppLoader, type CreateAppLoader, type AppLoaderContentProps } from './AppLoader.js';
28
+ export { AppLoader } from './AppLoader.js';
29
+ export {
30
+ /** @deprecated Use `createAppLoader` from `@salsita-ai/sdk/react`. */
31
+ createAppLoader,
32
+ /** @deprecated Use `CreateAppLoader` from `@salsita-ai/sdk/react`. */
33
+ type CreateAppLoader,
34
+ /** @deprecated Use `AppLoaderContentProps` from `@salsita-ai/sdk/react`. */
35
+ type AppLoaderContentProps, } from '#package/react-sdk';
29
36
  export { ToolbarHelp, createToolbarHelp, type CreateToolbarHelp, useToolbarHelpExists } from './ToolbarHelp.js';
30
37
  export { LayoutToolbarDesktop, createLayoutToolbarDesktop, type LayoutToolbarDesktopProps, type CreateLayoutToolbarDesktop, } from './LayoutToolbarDesktop.js';
31
38
  export { LayoutToolbarDesktopFullScreen, createLayoutToolbarDesktopFullScreen, type LayoutToolbarDesktopFullScreenProps, type CreateLayoutToolbarDesktopFullScreen, } from './LayoutToolbarDesktopFullScreen.js';
@@ -1 +1 @@
1
- export*from"./sidebar-footer/index.js";export*from"./header/index.js";export{useShareData,useShareSettings}from"./share/use-share.js";export{MenuRoutingProvider,useMenuRouting}from"./menu-actions/MenuRoutingContext.js";export{MenuAction}from"./menu-actions/MenuAction.js";export{RoutingMenuAction}from"./menu-actions/RoutingMenuAction.js";export{EnterFullscreenToolbarButton}from"./EnterFullscreenToolbarButton.js";export{ExitFullscreenToolbarButton}from"./ExitFullscreenToolbarButton.js";export{LanguageToolbarButton}from"./LanguageToolbarButton.js";export{ToolbarButtonGroup}from"./ToolbarButtonGroup.js";export{ShareMenuAction}from"./ShareMenuAction.js";export{ShareToolbarButton}from"./ShareToolbarButton.js";export{UndoToolbarButton}from"./UndoToolbarButton.js";export{RedoToolbarButton}from"./RedoToolbarButton.js";export{MeasurementsToolbarButton}from"./MeasurementsToolbarButton.js";export{HelpToolbarButton}from"./HelpToolbarButton.js";export{AssistantToolbarButton}from"./AssistantToolbarButton.js";export{HelpMenuAction}from"./HelpMenuAction.js";export{LanguageMenuAction}from"./LanguageMenuAction.js";export{MeasurementsMenuAction}from"./MeasurementsMenuAction.js";export{ResetCameraToolbarButton}from"./ResetCameraToolbarButton.js";export{SimpleSummary}from"./SimpleSummary.js";export{ResetUndoListener}from"./ResetUndoListener.js";export{SetAsRecipeButton}from"./SetAsRecipeButton.js";export{LayoutDialog,createLayoutDialog}from"./LayoutDialog.js";export{LayoutFooter,createLayoutFooter}from"./LayoutFooter.js";export{CanvasLoader,createCanvasLoader}from"./CanvasLoader.js";export{AppLoader,createAppLoader}from"./AppLoader.js";export{ToolbarHelp,createToolbarHelp,useToolbarHelpExists}from"./ToolbarHelp.js";export{LayoutToolbarDesktop,createLayoutToolbarDesktop}from"./LayoutToolbarDesktop.js";export{LayoutToolbarDesktopFullScreen,createLayoutToolbarDesktopFullScreen}from"./LayoutToolbarDesktopFullScreen.js";export{LayoutToolbarReadDesktop,createLayoutToolbarReadDesktop}from"./LayoutToolbarReadDesktop.js";export{LayoutToolbarReadDesktopFullScreen,createLayoutToolbarReadDesktopFullScreen}from"./LayoutToolbarReadDesktopFullScreen.js";export{LayoutCustomOwnerUi,createLayoutCustomOwnerUi}from"./LayoutCustomOwnerUi.js";export{LayoutCustomReadUi,createLayoutCustomReadUi}from"./LayoutCustomReadUi.js";export{LayoutAdminUi,createLayoutAdminUi}from"./LayoutAdminUi.js";export{LayoutUserUi,createLayoutUserUi}from"./LayoutUserUi.js";export{ExitToolModeFab}from"./call-to-action/ExitToolModeFab.js";export*from"./svg-throbber-3d/index.js";
1
+ export*from"./sidebar-footer/index.js";export*from"./header/index.js";export{useShareData,useShareSettings}from"./share/use-share.js";export{MenuRoutingProvider,useMenuRouting}from"./menu-actions/MenuRoutingContext.js";export{MenuAction}from"./menu-actions/MenuAction.js";export{RoutingMenuAction}from"./menu-actions/RoutingMenuAction.js";export{EnterFullscreenToolbarButton}from"./EnterFullscreenToolbarButton.js";export{ExitFullscreenToolbarButton}from"./ExitFullscreenToolbarButton.js";export{LanguageToolbarButton}from"./LanguageToolbarButton.js";export{ToolbarButtonGroup}from"./ToolbarButtonGroup.js";export{ShareMenuAction}from"./ShareMenuAction.js";export{ShareToolbarButton}from"./ShareToolbarButton.js";export{UndoToolbarButton}from"./UndoToolbarButton.js";export{RedoToolbarButton}from"./RedoToolbarButton.js";export{MeasurementsToolbarButton}from"./MeasurementsToolbarButton.js";export{HelpToolbarButton}from"./HelpToolbarButton.js";export{AssistantToolbarButton}from"./AssistantToolbarButton.js";export{HelpMenuAction}from"./HelpMenuAction.js";export{LanguageMenuAction}from"./LanguageMenuAction.js";export{MeasurementsMenuAction}from"./MeasurementsMenuAction.js";export{ResetCameraToolbarButton}from"./ResetCameraToolbarButton.js";export{SimpleSummary}from"./SimpleSummary.js";export{ResetUndoListener}from"./ResetUndoListener.js";export{SetAsRecipeButton}from"./SetAsRecipeButton.js";export{LayoutDialog,createLayoutDialog}from"./LayoutDialog.js";export{LayoutFooter,createLayoutFooter}from"./LayoutFooter.js";export{CanvasLoader,createCanvasLoader}from"./CanvasLoader.js";export{AppLoader}from"./AppLoader.js";export{createAppLoader}from"#package/react-sdk";export{ToolbarHelp,createToolbarHelp,useToolbarHelpExists}from"./ToolbarHelp.js";export{LayoutToolbarDesktop,createLayoutToolbarDesktop}from"./LayoutToolbarDesktop.js";export{LayoutToolbarDesktopFullScreen,createLayoutToolbarDesktopFullScreen}from"./LayoutToolbarDesktopFullScreen.js";export{LayoutToolbarReadDesktop,createLayoutToolbarReadDesktop}from"./LayoutToolbarReadDesktop.js";export{LayoutToolbarReadDesktopFullScreen,createLayoutToolbarReadDesktopFullScreen}from"./LayoutToolbarReadDesktopFullScreen.js";export{LayoutCustomOwnerUi,createLayoutCustomOwnerUi}from"./LayoutCustomOwnerUi.js";export{LayoutCustomReadUi,createLayoutCustomReadUi}from"./LayoutCustomReadUi.js";export{LayoutAdminUi,createLayoutAdminUi}from"./LayoutAdminUi.js";export{LayoutUserUi,createLayoutUserUi}from"./LayoutUserUi.js";export{ExitToolModeFab}from"./call-to-action/ExitToolModeFab.js";export*from"./svg-throbber-3d/index.js";
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDimensionConfig as o,useDimensionState as l,useDimensions as s,useLocalizable as u}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";let h=o=>{let{value:l}=o,u=n(),{setGlobalUnit:h}=s(),p=e(()=>{u.push(a.GlobalDimensionsButtonClicked(l)),h(l)},[u,l,h]),f=i(()=>m(l).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[l]),w=i(()=>m(l).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[l]);return t(c.Item,{value:l,"aria-label":w,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=l(),m=u(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useMemo as e}from"react";import{match as i}from"ts-pattern";import{DimensionUnit as m}from"#package/domain";import{useLocalizable as r}from"#package/react-sdk";import{ToggleSelector as a}from"#package/ui-sdk";import{useMeasurements as o}from"../../../toolbar-actions/index.js";let n=r=>{let{value:o,onSelect:n}=r,l=e(()=>i(o).with(m.mm,()=>"mm").with(m.cm,()=>"cm").with(m.m,()=>"m").with(m.inch,()=>"in").with(m.feet,()=>"ft").exhaustive(),[o]),s=e(()=>i(o).with(m.mm,()=>"millimeter").with(m.cm,()=>"centimeter").with(m.m,()=>"meter").with(m.inch,()=>"inches").with(m.feet,()=>"feet").exhaustive(),[o]);return t(a.Item,{value:o,"aria-label":s,onClick:()=>n(o),children:l})},l={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{units:e,unit:i,setUnit:m}=o(),s=r(l);return e.length<=1?null:t(a.Root,{"aria-label":s,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(n,{value:e,onSelect:m},e))})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Switch as t}from"@mui/material";import{useObservableEagerState as o}from"observable-hooks";import{useCallback as r}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as s,useLocalizable as m}from"#package/react-sdk";import{MobileToolbar as n}from"#package/ui-sdk";import{useConfigurator as c}from"../../../application-runtime/index.js";let p={id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"};export const MeasurementsIndicatorsSwitch=()=>{let d=s(),{canvasSystem:l}=c(),u=o(l.dimensionIndicatorShown$),g=r(()=>{d.push(a.DimensionIndicatorsToggled()),l.toggleDimensionIndicator()},[d,l]),f=m(p);return e(n.SectionItem,{title:e(i,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(t,{inputProps:{"aria-label":f},checked:u,onChange:g})})};
1
+ import{jsx as e}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Switch as r}from"@mui/material";import{useLocalizable as a}from"#package/react-sdk";import{MobileToolbar as i}from"#package/ui-sdk";import{useMeasurements as o}from"../../../toolbar-actions/index.js";let s={id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"};export const MeasurementsIndicatorsSwitch=()=>{let{indicatorsShown:m,toggleIndicators:n}=o(),c=a(s);return e(i.SectionItem,{title:e(t,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(r,{inputProps:{"aria-label":c},checked:m,onChange:n})})};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{Button as r,DialogActions as l,DialogContent as o,DialogTitle as s,FormControlLabel as n,LinearProgress as t,Stack as d,Switch as c,TextField as m}from"@mui/material";import{memo as h,useCallback as p,useState as k}from"react";import{applicationConfigComponent as g}from"#package/domain";import{useFirstRootComponent as b,useResolveLocalizable as u}from"#package/react-sdk";import{Dialog as x,PhxIcon as C}from"#package/ui-sdk";import{useShareData as f,useShareSettings as v}from"./use-share.js";let y=i=>{let{isLinkCopied:l,onCopy:o,disabled:s}=i;return l?e(r,{variant:"muted",color:"success",startIcon:e(C,{name:"Check"}),disabled:s,onClick:o,children:e(a,{id:"sdk.toolbar.share.linkCopied.label",message:"Copied"})}):e(r,{variant:"contained",disabled:s,onClick:o,children:e(a,{id:"sdk.toolbar.share.copyLink.label",message:"Copy link"})})},w={id:"sdk.toolbar.share.loading.label",message:"loading link..."},j=({link:a,onFocus:r})=>i(d,{sx:{display:"grid","& > *":{gridArea:"1 / 1"}},children:[e(m,{value:a??"",placeholder:u()(w),hiddenLabel:!0,InputProps:{readOnly:!0},onFocus:r}),e(t,{sx:{alignSelf:"end",visibility:null==a?"visible":"hidden"}})]});export const ShareModal=h(t=>{let{onClose:m}=t,h=b(g),u=h?.state.shareExpiration,{ownerLinkDisabled:C,readRevisionLinkDisabled:w}=v(),[T,L]=k(w),[S,A]=k(!1),{revisionData:E,ownerData:F}=f({expiration:u,ownerLinkDisabled:C,readRevisionLinkDisabled:w}),I=T?F?.link:E?.link,O=!C&&!w,M=p(async()=>{I&&(await navigator.clipboard.writeText(I),A(!0))},[I]),P=p(e=>{e.currentTarget.select()},[]),R=p(e=>{L(e.currentTarget.checked),A(!1)},[]);return i(x.Root,{sx:{maxWidth:"unset",width:"min(100%, 520px)"},isOpen:!0,onClose:m,children:[e(s,{children:e(a,{id:"sdk.toolbar.share.label",message:"Share configuration"})}),e(o,{children:i(d,{sx:{gap:2},children:[e(j,{link:I,onFocus:P}),O&&e(n,{control:e(c,{value:T,disabled:!I,onChange:R}),label:e(a,{id:"sdk.toolbar.share.allowEdit.label",message:"Allow the recipient to edit configuration"})})]})}),i(l,{children:[e(r,{variant:"text",color:"inherit",onClick:m,children:e(a,{id:"sdk.toolbar.share.close.label",message:"Close"})}),e(y,{isLinkCopied:S,disabled:!I,onCopy:M})]})]})});
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{Button as l,DialogActions as r,DialogContent as o,DialogTitle as n,FormControlLabel as s,LinearProgress as t,Stack as d,Switch as c,TextField as h}from"@mui/material";import{memo as m,useCallback as p,useState as b}from"react";import{useResolveLocalizable as g,useShareLinks as k}from"#package/react-sdk";import{Dialog as u,PhxIcon as x}from"#package/ui-sdk";let C=i=>{let{isLinkCopied:r,onCopy:o,disabled:n}=i;return r?e(l,{variant:"muted",color:"success",startIcon:e(x,{name:"Check"}),disabled:n,onClick:o,children:e(a,{id:"sdk.toolbar.share.linkCopied.label",message:"Copied"})}):e(l,{variant:"contained",disabled:n,onClick:o,children:e(a,{id:"sdk.toolbar.share.copyLink.label",message:"Copy link"})})},v={id:"sdk.toolbar.share.loading.label",message:"loading link..."},f=({link:a,onFocus:l})=>i(d,{sx:{display:"grid","& > *":{gridArea:"1 / 1"}},children:[e(h,{value:a??"",placeholder:g()(v),hiddenLabel:!0,InputProps:{readOnly:!0},onFocus:l}),e(t,{sx:{alignSelf:"end",visibility:null==a?"visible":"hidden"}})]});export const ShareModal=m(t=>{let{onClose:h}=t,{ownerLinkAvailable:m,readLinkAvailable:g,ownerLink:x,readLink:v}=k(),[y,w]=b(!g),[T,j]=b(null),L=(y?x:v)??void 0,S=void 0!==L&&L===T,A=p(async()=>{L&&(await navigator.clipboard.writeText(L),j(L))},[L]),F=p(e=>{e.currentTarget.select()},[]),I=p(e=>{w(e.currentTarget.checked)},[]);return i(u.Root,{sx:{maxWidth:"unset",width:"min(100%, 520px)"},isOpen:!0,onClose:h,children:[e(n,{children:e(a,{id:"sdk.toolbar.share.label",message:"Share configuration"})}),e(o,{children:i(d,{sx:{gap:2},children:[e(f,{link:L,onFocus:F}),m&&g&&e(s,{control:e(c,{value:y,disabled:!L,onChange:I}),label:e(a,{id:"sdk.toolbar.share.allowEdit.label",message:"Allow the recipient to edit configuration"})})]})}),i(r,{children:[e(l,{variant:"text",color:"inherit",onClick:h,children:e(a,{id:"sdk.toolbar.share.close.label",message:"Close"})}),e(C,{isLinkCopied:S,disabled:!L,onCopy:A})]})]})});
@@ -1,11 +1,3 @@
1
- import type { AccessLevel } from '@salsita-ai/contracts/api';
2
- export interface GenerateShareLinkOptions {
3
- access: AccessLevel;
4
- expiration?: number;
5
- }
6
- export declare const useGenerateShareLink: () => (options: GenerateShareLinkOptions) => Promise<{
7
- readonly link: string;
8
- }>;
9
1
  interface UseShareDataParams {
10
2
  /**
11
3
  * Expiration time in hours. When undefined, links do not expire.
@@ -14,6 +6,9 @@ interface UseShareDataParams {
14
6
  ownerLinkDisabled: boolean;
15
7
  readRevisionLinkDisabled: boolean;
16
8
  }
9
+ /**
10
+ * @deprecated Use useShareLinks() instead. This API will be removed in a future version.
11
+ */
17
12
  export declare const useShareData: (params: UseShareDataParams) => {
18
13
  isLoadingOwnerData: boolean;
19
14
  isLoadingRevisionData: boolean;
@@ -24,6 +19,10 @@ export declare const useShareData: (params: UseShareDataParams) => {
24
19
  readonly link: string;
25
20
  }> | undefined;
26
21
  };
22
+ /**
23
+ * @deprecated Use useShareLinks() instead, whose `available`, `ownerLinkAvailable` and `readLinkAvailable` say which
24
+ * links can be shared. This API will be removed in a future version.
25
+ */
27
26
  export declare const useShareSettings: () => {
28
27
  disabled: boolean;
29
28
  ownerLinkDisabled: boolean;
@@ -1 +1 @@
1
- import{useQuery as e}from"@tanstack/react-query";import{useCallback as t}from"react";import{match as r}from"ts-pattern";import{applicationConfigComponent as a}from"#package/domain";import{useAuthorizedClient as s,useConfigurationId as i,useDomain as n,useDomainApplication as o,useFirstRootComponent as d}from"#package/react-sdk";export const useGenerateShareLink=()=>{let e=d(a),n=e?.state.shareStrategy??"deployment-registered",{configurationPersistSystem:c}=o(),l=i(),h=s();return t(async e=>{let t=r(n).with("deployment-registered",()=>void 0).with("current-frontend",()=>{let e=new URL(window.location.href);return e.searchParams.delete("cid"),e.searchParams.delete("ca"),e.toString()}).exhaustive(),a=await c.save();return h.generateShareLink(l,"rr"===e.access?a:void 0,e.expiration,e.access,t)},[n,c,h,l])};export const useShareData=t=>{let{expiration:r,ownerLinkDisabled:a,readRevisionLinkDisabled:s}=t,o=useGenerateShareLink(),{storeSystem:d}=n(),c=i(),l=d.stateSlices.committed.value.state,{data:h,isLoading:m}=e({queryKey:["share-owner-link",c],staleTime:1/0,queryFn:()=>o({access:"o",expiration:r}),enabled:!a}),{data:u,isLoading:p,isFetchedAfterMount:y}=e({queryKey:["share-revision-link",c,l.entities,l.rootEntityId],queryFn:()=>o({access:"rr",expiration:r}),enabled:!s});return{isLoadingOwnerData:m,isLoadingRevisionData:p,ownerData:h,revisionData:y?u:void 0}};export const useShareSettings=()=>{let e=d(a),t=e?.state.shareDisabled??!1,r=t||(e?.state.shareOwnerLinkDisabled??!1),s=t||(e?.state.shareReadRevisionLinkDisabled??!1);return{disabled:r&&s,ownerLinkDisabled:r,readRevisionLinkDisabled:s}};
1
+ import{useQuery as e}from"@tanstack/react-query";import{applicationConfigComponent as a}from"#package/domain";import{useConfigurationId as t,useDomain as r,useFirstRootComponent as s,useGenerateShareLink as i}from"#package/react-sdk";export const useShareData=a=>{let{expiration:s,ownerLinkDisabled:n,readRevisionLinkDisabled:o}=a,d=i(),{storeSystem:c}=r(),l=t(),u=c.stateSlices.committed.value.state,{data:m,isLoading:h}=e({queryKey:["share-owner-link",l],staleTime:1/0,queryFn:()=>d({access:"o",expiration:s}),enabled:!n}),{data:k,isLoading:y,isFetchedAfterMount:p}=e({queryKey:["share-revision-link",l,u.entities,u.rootEntityId],queryFn:()=>d({access:"rr",expiration:s}),enabled:!o});return{isLoadingOwnerData:h,isLoadingRevisionData:y,ownerData:m,revisionData:p?k:void 0}};export const useShareSettings=()=>{let e=s(a),t=e?.state.shareDisabled??!1,r=t||(e?.state.shareOwnerLinkDisabled??!1),i=t||(e?.state.shareReadRevisionLinkDisabled??!1);return{disabled:r&&i,ownerLinkDisabled:r,readRevisionLinkDisabled:i}};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{IconButton as t,Tooltip as r}from"@mui/material";import{memo as o,useCallback as i}from"react";import{createPhoenixLayoutElement as a,previousStepButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as s,useAnalyticsService as n,useLocalizable as l,useStepNavigation as p}from"#package/react-sdk";import{PhxIcon as c,useResponsive as d}from"#package/ui-sdk";import{useBackToPresetEnabled as u,useConfiguratorRouting as f,useSteps as k}from"../../../../configurator-context/index.js";let g={id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"};export const PreviousStepButton=a({schema:m,component:o(o=>{let{icon:a}=o,m=l(g),x=n(),h=u(),v=f(),{canGoPrevious:S,previous:b}=p(),{isDesktop:j}=d(),{previousStepDisabled:C}=k();return e(r,{title:m,placement:"top",children:e("span",{style:{alignSelf:"center"},children:e(t,{variant:"muted",color:"default",size:j?"medium":"small",disabled:C,onClick:i(()=>{S?b():(x.push(s.PreviousStepButtonClicked()),h&&v.goToIndex())},[x,h,S,b,v]),children:e(c,{name:a??"CaretLeft"})})})})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{IconButton as t,Tooltip as r}from"@mui/material";import{memo as o,useCallback as i}from"react";import{createPhoenixLayoutElement as a,previousStepButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as s,useAnalyticsService as n,useConfiguratorRouting as l,useLocalizable as p,useStepNavigation as c}from"#package/react-sdk";import{PhxIcon as d,useResponsive as u}from"#package/ui-sdk";import{useBackToPresetEnabled as f,useSteps as k}from"../../../../configurator-context/index.js";let g={id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"};export const PreviousStepButton=a({schema:m,component:o(o=>{let{icon:a}=o,m=p(g),x=n(),h=f(),v=l(),{canGoPrevious:S,previous:b}=c(),{isDesktop:j}=u(),{previousStepDisabled:C}=k();return e(r,{title:m,placement:"top",children:e("span",{style:{alignSelf:"center"},children:e(t,{variant:"muted",color:"default",size:j?"medium":"small",disabled:C,onClick:i(()=>{S?b():(x.push(s.PreviousStepButtonClicked()),h&&v.goToIndex())},[x,h,S,b,v]),children:e(d,{name:a??"CaretLeft"})})})})})});
@@ -1,6 +1,4 @@
1
1
  import type { PhoenixLayoutElementRegistration } from '#package/domain';
2
- export declare const createPresetUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
3
- export type CreatePresetUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
4
2
  export type CreatePresetPageAction = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
5
3
  export declare const createPresetPageAction: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
6
4
  export declare const createPresetDeviceNotSupported: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{PhoenixLayoutElement as r}from"#package/react-sdk";import{PresetDeviceNotSupportedName as o,PresetPageActionName as s}from"../../preset-screen-elements/index.js";let c="PresetUi";export const createPresetUi=e=>t(c,e);export const createPresetPageAction=e=>t(s,e);export const createPresetDeviceNotSupported=e=>t(o,e);export const PresetUi=()=>e(r,{name:c,elementProps:{}});
1
+ import{jsx as e}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{PhoenixLayoutElement as r,PresetUiName as o}from"#package/react-sdk";import{PresetDeviceNotSupportedName as s,PresetPageActionName as m}from"../../preset-screen-elements/index.js";export const createPresetPageAction=e=>t(m,e);export const createPresetDeviceNotSupported=e=>t(s,e);export const PresetUi=()=>e(r,{name:o,elementProps:{}});
@@ -3,4 +3,9 @@ export { PresetBackButton } from './PresetBackButton.js';
3
3
  export { PresetPreviewLayout, type PresetPreviewLayoutProps } from './PresetPreviewLayout.js';
4
4
  export { PresetSnackbarsRoot } from './PresetSnackbarsRoot.js';
5
5
  export { ClosePresetScreenButton as ClosePresetPreviewButton } from './ClosePresetScreenButton.js';
6
- export { PresetUi, createPresetUi, type CreatePresetUi, createPresetPageAction, type CreatePresetPageAction, createPresetDeviceNotSupported, type CreatePresetDeviceNotSupported, } from './PresetUi.js';
6
+ export { PresetUi, createPresetPageAction, type CreatePresetPageAction, createPresetDeviceNotSupported, type CreatePresetDeviceNotSupported, } from './PresetUi.js';
7
+ export {
8
+ /** @deprecated Use `createPresetUi` from `@salsita-ai/sdk/react`. */
9
+ createPresetUi,
10
+ /** @deprecated Use `CreatePresetUi` from `@salsita-ai/sdk/react`. */
11
+ type CreatePresetUi, } from '#package/react-sdk';
@@ -1 +1 @@
1
- export{CategoryPresetUi}from"./CategoryPresetUi.js";export{PresetBackButton}from"./PresetBackButton.js";export{PresetPreviewLayout}from"./PresetPreviewLayout.js";export{PresetSnackbarsRoot}from"./PresetSnackbarsRoot.js";export{ClosePresetScreenButton as ClosePresetPreviewButton}from"./ClosePresetScreenButton.js";export{PresetUi,createPresetUi,createPresetPageAction,createPresetDeviceNotSupported}from"./PresetUi.js";
1
+ export{CategoryPresetUi}from"./CategoryPresetUi.js";export{PresetBackButton}from"./PresetBackButton.js";export{PresetPreviewLayout}from"./PresetPreviewLayout.js";export{PresetSnackbarsRoot}from"./PresetSnackbarsRoot.js";export{ClosePresetScreenButton as ClosePresetPreviewButton}from"./ClosePresetScreenButton.js";export{PresetUi,createPresetPageAction,createPresetDeviceNotSupported}from"./PresetUi.js";export{createPresetUi}from"#package/react-sdk";
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as s}from"@mui/material";import{useSnackbar as i}from"notistack";import{useEffect as t}from"react";import{useApplicationRuntime as o,useApplicationRuntimeSelector as a,useConfiguratorMessages as n}from"#package/react-sdk";let m="phx-configuration-persist-system-failure";export const SaveMessageSnackbars=()=>{let c=a(o().selectors.domainContext.configurator.getInitializationState).isViewMode,{enqueueSnackbar:d,closeSnackbar:p}=i();return t(()=>{c&&p(m)},[c,p]),n(i=>{c||("saveError"===i.kind&&d(r(e,{id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"}),{variant:"error",key:m,persist:!0,preventDuplicate:!0,action:i=>r(s,{color:"inherit",size:"small",onClick:()=>{p(i)},children:r(e,{id:"sdk.persist.system.error.dismiss",message:"Dismiss"})})}),"saveRecovery"===i.kind&&(p(m),d(r(e,{id:"sdk.persist.system.error.recovered",message:"Configuration updated"}),{variant:"info"})))}),null};
1
+ import{jsx as e}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{useSnackbar as s}from"notistack";import{useEffect as t}from"react";import{useApplicationRuntime as i,useApplicationRuntimeSelector as o,useConfiguratorMessages as a}from"#package/react-sdk";let n="phx-configuration-persist-system-failure";export const SaveMessageSnackbars=()=>{let m=o(i().selectors.domainContext.configurator.getIsViewMode),{enqueueSnackbar:c,closeSnackbar:d}=s();return t(()=>{m&&d(n)},[m,d]),a(s=>{m||("saveError"===s.kind&&c(e(r,{id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"}),{variant:"error",key:n,persist:!0,preventDuplicate:!0,actionButton:{label:e(r,{id:"sdk.persist.system.error.dismiss",message:"Dismiss"}),onClick:e=>{d(e)}}}),"saveRecovery"===s.kind&&(d(n),c(e(r,{id:"sdk.persist.system.error.recovered",message:"Configuration updated"}),{variant:"info"})))}),null};
@@ -49,7 +49,8 @@ Custom camera behavior is implemented via `scheduleCameraTransition` inside an `
49
49
  ```tsx
50
50
  import { useEffect } from 'react'
51
51
 
52
- import { CameraControlType, createOnConfiguratorReadyProvider, useConfigurator } from '@salsita-ai/sdk/configurator'
52
+ import { CameraControlType, useConfigurator } from '@salsita-ai/sdk/configurator'
53
+ import { createOnConfiguratorReadyProvider } from '@salsita-ai/sdk/react'
53
54
 
54
55
  export default createOnConfiguratorReadyProvider(({ children }) => {
55
56
  const { cameraControlSystem } = useConfigurator()
@@ -238,7 +239,8 @@ components:
238
239
  ```tsx
239
240
  import { useEffect } from 'react'
240
241
 
241
- import { CameraControlType, createOnConfiguratorReadyProvider, useConfigurator } from '@salsita-ai/sdk/configurator'
242
+ import { CameraControlType, useConfigurator } from '@salsita-ai/sdk/configurator'
243
+ import { createOnConfiguratorReadyProvider } from '@salsita-ai/sdk/react'
242
244
 
243
245
  export default createOnConfiguratorReadyProvider(({ children }) => {
244
246
  const { cameraControlSystem } = useConfigurator()
@@ -69,6 +69,8 @@ components:
69
69
 
70
70
  The toolMenuFab is scene HTML rendered at the entity's position in the 3D scene. It supports positioning properties (`offsetX`, `offsetY`, `offsetZ`) and appearance properties like opacity and visibility.
71
71
 
72
+ The FAB and its menu are the entity element `ToolMenuFab`. A project replaces them by registering its own with `phx.frontend.createToolMenuFab`, which receives the `options` and `onSelectTool(toolState)`. See [Configurator Interface → In-Scene Controls](?path=/docs/phoenix-configurator-interface--docs#in-scene-controls).
73
+
72
74
  ### Step 3: Add exitToolModeFab component
73
75
 
74
76
  The `exitToolModeFab` component renders a button in the call to action layout slot, providing a clear way to exit the current tool mode. This appears in the UI chrome, not in the scene:
@@ -777,7 +777,7 @@ components:
777
777
  autoRotate: true
778
778
  # Back-to-back snap: the dragged cabinet's back snaps onto another
779
779
  # cabinet's back face (the snapPlane below). autoRotate orients it
780
- # 180° so the two cabinets face away from each other. Same Moduline
780
+ # 180° so the two cabinets face away from each other. This is the
781
781
  # shape that drives the within-MTV bug when the target is flush
782
782
  # against a wall — AutoSnap puts the dragged cabinet behind the
783
783
  # wall, Pass 1 within clamps it back into the room, and Pass 2
@@ -131,6 +131,10 @@ components:
131
131
  - non-existent
132
132
  ```
133
133
 
134
+ ### Your own FABs
135
+
136
+ The FABs are the entity elements `DeleteEntityFab` and `AddEntityFab`. A project replaces their look by registering its own with `phx.frontend.createDeleteEntityFab` or `phx.frontend.createAddEntityFab`; the spec's settings and positions above still apply. The delete FAB's replacement gets `onDelete`, `disabled` and `disabledHint`; the add FAB's reads its recipes with `phx.frontend.useGroupedRecipeOptions`. See [Configurator Interface → In-Scene Controls](?path=/docs/phoenix-configurator-interface--docs#in-scene-controls).
137
+
134
138
  ## Example
135
139
 
136
140
  Here you can see the live example!
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-10-15T21:40:02.294Z",
2
+ "generatedAt": "2026-10-19T12:08:48.215Z",
3
3
  "categories": [
4
4
  {
5
5
  "name": "Phoenix",
@@ -881,6 +881,100 @@
881
881
  ],
882
882
  "subcategories": []
883
883
  },
884
+ {
885
+ "name": "Gallery",
886
+ "docs": [
887
+ {
888
+ "title": "Ardent Compressor",
889
+ "description": "Quote an engineered product from a form, with no 3D model at all. An industrial compressor maker, Ardent Air, lets plant engineers size a rotary screw compressor and ask for a firm quote. The...",
890
+ "path": "docs/layouts/gallery/ardent-compressor.mdx",
891
+ "category": [
892
+ "Layouts",
893
+ "Gallery",
894
+ "Ardent Compressor"
895
+ ],
896
+ "source": "storybook-example"
897
+ },
898
+ {
899
+ "title": "Corvid Drone",
900
+ "description": "Build a pro tool in which an engineer configures a product and a client reads the result. A drone maker, Corvid Aero, has its engineers configure the K6 survey drone for each customer: the frame, the...",
901
+ "path": "docs/layouts/gallery/corvid-drone.mdx",
902
+ "category": [
903
+ "Layouts",
904
+ "Gallery",
905
+ "Corvid Drone"
906
+ ],
907
+ "source": "storybook-example"
908
+ },
909
+ {
910
+ "title": "Fenwick Window",
911
+ "description": "Show a made-to-measure product as the drawing a workshop would build it from. A joinery, Fenwick & Lowe, sells timber casement windows to order: the customer sets the overall size, the panes across,...",
912
+ "path": "docs/layouts/gallery/fenwick-window.mdx",
913
+ "category": [
914
+ "Layouts",
915
+ "Gallery",
916
+ "Fenwick Window"
917
+ ],
918
+ "source": "storybook-example"
919
+ },
920
+ {
921
+ "title": "Ferrule Bar Station",
922
+ "description": "Let a bar designer lay out a commercial bartender station and hand the result straight to the workshop. A fictional maker, Ferrule Barworks, sells stainless underbar stations built from modules: ice...",
923
+ "path": "docs/layouts/gallery/ferrule-bar-station.mdx",
924
+ "category": [
925
+ "Layouts",
926
+ "Gallery",
927
+ "Ferrule Bar Station"
928
+ ],
929
+ "source": "storybook-example"
930
+ },
931
+ {
932
+ "title": "Kestrel Kettle",
933
+ "description": "Sell a small product from one calm page that looks like the shop's own. A specialty-coffee shop, Aldermoor Coffee, sells its Kestrel pour-over kettle in three finishes, two handle woods and with or...",
934
+ "path": "docs/layouts/gallery/kestrel-kettle.mdx",
935
+ "category": [
936
+ "Layouts",
937
+ "Gallery",
938
+ "Kestrel Kettle"
939
+ ],
940
+ "source": "storybook-example"
941
+ },
942
+ {
943
+ "title": "Nightjar Guitar",
944
+ "description": "Walk a customer through a product one step at a time and end in an order. A custom guitar shop, Northfret, sells its Nightjar electric guitar through a five-step wizard: the body, the neck, the...",
945
+ "path": "docs/layouts/gallery/nightjar-guitar.mdx",
946
+ "category": [
947
+ "Layouts",
948
+ "Gallery",
949
+ "Nightjar Guitar"
950
+ ],
951
+ "source": "storybook-example"
952
+ },
953
+ {
954
+ "title": "Sunfold Solar",
955
+ "description": "Help a household decide on a system by showing what it would do for them. A solar installer, Sunfold, lets a homeowner plan panels and a battery for their roof: the roof's area and direction, the...",
956
+ "path": "docs/layouts/gallery/sunfold-solar.mdx",
957
+ "category": [
958
+ "Layouts",
959
+ "Gallery",
960
+ "Sunfold Solar"
961
+ ],
962
+ "source": "storybook-example"
963
+ },
964
+ {
965
+ "title": "Tidepool Aquascape",
966
+ "description": "Let a customer compose a product from pieces they add, change and take away, in a workspace that shows the result as they go. An aquascaping studio, Tidepool Studio, sells planted aquariums: the...",
967
+ "path": "docs/layouts/gallery/tidepool-aquascape.mdx",
968
+ "category": [
969
+ "Layouts",
970
+ "Gallery",
971
+ "Tidepool Aquascape"
972
+ ],
973
+ "source": "storybook-example"
974
+ }
975
+ ],
976
+ "subcategories": []
977
+ },
884
978
  {
885
979
  "name": "Header",
886
980
  "docs": [
@@ -214,6 +214,8 @@ Properties use camelCase (`integrationMode`), while attributes use kebab-case (`
214
214
 
215
215
  Attributes are **write-only from the host's perspective**: setting an attribute (in HTML or via `setAttribute`) flows the value into the property, but the WC **never reflects property changes back to attributes**. To read the current value, always use the JavaScript property, not `getAttribute`.
216
216
 
217
+ Boolean attributes (`readonly`, `expanded`, and a custom property whose `attributeParser` is `webComponentAttributeParsers.boolean`) follow the HTML convention: present without a value (`<salsita-configurator readonly>`, `setAttribute('readonly', '')`) or with their own name as the value (`readonly="readonly"`), they switch the property on. `"true"` and `"false"` work too; any other value is ignored with an error in the console. Removing the attribute resets the property to its default.
218
+
217
219
  Standard property to attribute mapping:
218
220
 
219
221
  | Property | Attribute(s) |