@salsita-ai/sdk 0.50.0-develop.9cf426b400 → 0.50.0-develop.9feae4851f

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 (849) hide show
  1. package/README.md +1 -1
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  4. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  5. package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
  6. package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
  7. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  8. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  9. package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
  10. package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
  11. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
  12. package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
  13. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
  14. package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
  15. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
  16. package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
  17. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
  18. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
  19. package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
  20. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  21. package/dist/application-spec/generate-application/code/templates/env-example.js +4 -0
  22. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -0
  23. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  24. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +1 -1
  25. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  26. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +41 -13
  27. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +1 -1
  28. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
  29. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  30. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
  31. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +30 -3
  33. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -5
  34. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +9 -4
  35. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -2
  36. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
  37. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
  38. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
  39. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
  40. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
  41. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  42. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
  43. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
  44. package/dist/client/authorized-client.d.ts +3 -1
  45. package/dist/client/authorized-client.js +1 -1
  46. package/dist/client/contract.d.ts +34 -0
  47. package/dist/client/contract.js +1 -1
  48. package/dist/client/index.d.ts +2 -2
  49. package/dist/client/index.js +1 -1
  50. package/dist/client/local-authorized-client.d.ts +3 -1
  51. package/dist/client/local-authorized-client.js +1 -1
  52. package/dist/client/memory-authorized-client.d.ts +3 -1
  53. package/dist/client/memory-authorized-client.js +1 -1
  54. package/dist/client/phoenix-api.d.ts +269 -30
  55. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  56. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +212 -13
  57. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  58. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
  59. package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
  60. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
  61. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  62. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
  63. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  64. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
  65. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  66. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
  67. package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
  68. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  69. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -0
  70. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  71. package/dist/configurator/common/frontend-analytics.d.ts +21 -21
  72. package/dist/configurator/index.d.ts +0 -1
  73. package/dist/configurator/index.js +1 -1
  74. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  75. package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
  76. package/dist/configurator/ui/assistant/AssistantChips.d.ts +11 -0
  77. package/dist/configurator/ui/assistant/AssistantChips.js +1 -0
  78. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +7 -0
  79. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -0
  80. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -0
  81. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -0
  82. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +11 -0
  83. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -0
  84. package/dist/configurator/ui/assistant/AssistantThread.d.ts +10 -0
  85. package/dist/configurator/ui/assistant/AssistantThread.js +1 -0
  86. package/dist/configurator/ui/assistant/assistant-failure.d.ts +18 -0
  87. package/dist/configurator/ui/assistant/assistant-failure.js +1 -0
  88. package/dist/configurator/ui/assistant/index.d.ts +2 -0
  89. package/dist/configurator/ui/assistant/index.js +1 -0
  90. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +6 -0
  91. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -0
  92. package/dist/configurator/ui/assistant/theme.d.ts +2 -0
  93. package/dist/configurator/ui/assistant/theme.js +1 -0
  94. package/dist/configurator/ui/assistant/thread-items.d.ts +48 -0
  95. package/dist/configurator/ui/assistant/thread-items.js +1 -0
  96. package/dist/configurator/ui/assistant/tool-chip.d.ts +44 -0
  97. package/dist/configurator/ui/assistant/tool-chip.js +1 -0
  98. package/dist/configurator/ui/assistant/use-follow-stream.d.ts +17 -0
  99. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -0
  100. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
  101. package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
  102. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -5
  103. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.d.ts +2 -0
  104. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  105. package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
  106. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +10 -0
  107. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -0
  108. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +1 -0
  109. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  110. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
  111. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
  112. package/dist/docs/index.json +1 -1
  113. package/dist/docs/layouts/custom-price.mdx +14 -16
  114. package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
  115. package/dist/docs/layouts/toolbar.mdx +6 -0
  116. package/dist/docs/other-features/domain-actions.mdx +1 -1
  117. package/dist/docs/other-features/side-effects.mdx +68 -34
  118. package/dist/docs/other-features/transformers.mdx +1 -1
  119. package/dist/docs/phoenix/admin.mdx +9 -24
  120. package/dist/docs/phoenix/deployments.mdx +1 -1
  121. package/dist/docs/phoenix/localization.mdx +3 -22
  122. package/dist/docs/phoenix/phoenix-cli.mdx +105 -23
  123. package/dist/docs/phoenix/project-structure.mdx +9 -2
  124. package/dist/docs/phoenix/sdk-builder-workflow.mdx +10 -9
  125. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
  126. package/dist/docs/relations/hierarchy.mdx +13 -2
  127. package/dist/domain/admin-domain/__generated/enhanced-model.d.ts +1 -2
  128. package/dist/domain/admin-domain/__generated/model/versions/v1.d.ts +1 -1
  129. package/dist/domain/admin-domain/__generated/model/versions/v2.d.ts +1 -1
  130. package/dist/domain/admin-domain/__generated/model/versions/v3.d.ts +1 -1
  131. package/dist/domain/admin-domain/__generated/model/versions/v4.d.ts +1 -1
  132. package/dist/domain/admin-domain/__generated/model/versions/v5.d.ts +1 -1
  133. package/dist/domain/admin-domain/__generated/model/versions/v6.d.ts +2 -2
  134. package/dist/domain/admin-domain/__generated/model/versions/v6.js +1 -1
  135. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +1 -4
  136. package/dist/domain/admin-domain/implementation/common-admin-migrations.d.ts +1 -1
  137. package/dist/domain/admin-domain/index.d.ts +3 -4
  138. package/dist/domain/admin-domain/index.js +1 -1
  139. package/dist/domain/application/admin-page-factories.d.ts +1 -1
  140. package/dist/domain/application/application-config.d.ts +25 -75
  141. package/dist/domain/application/assistant/assistant-manifest.d.ts +63 -0
  142. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
  143. package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
  144. package/dist/domain/application/assistant/assistant-value-type.js +1 -0
  145. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
  146. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
  147. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  148. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
  149. package/dist/domain/application/assistant/index.d.ts +4 -0
  150. package/dist/domain/application/assistant/index.js +1 -0
  151. package/dist/domain/application/assistant-field-options.d.ts +2 -3
  152. package/dist/domain/application/assistant-mutations.d.ts +2 -5
  153. package/dist/domain/application/assistant-mutations.js +1 -1
  154. package/dist/domain/application/assistant-recipe-groups.d.ts +2 -6
  155. package/dist/domain/application/configurator-builder.d.ts +33 -18
  156. package/dist/domain/application/configurator-builder.js +1 -1
  157. package/dist/domain/application/element-registration.d.ts +5 -0
  158. package/dist/domain/application/element-registration.js +1 -1
  159. package/dist/domain/application/handler-registration.d.ts +5 -0
  160. package/dist/domain/application/handler-registration.js +1 -1
  161. package/dist/domain/application/index.d.ts +6 -5
  162. package/dist/domain/application/index.js +1 -1
  163. package/dist/domain/application/published-data/create-finalize-admin-domain.d.ts +1 -2
  164. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  165. package/dist/domain/application/published-data/map-published-data.d.ts +1 -2
  166. package/dist/domain/application/resolve-imported-transformers.d.ts +12 -2
  167. package/dist/domain/application/resolve-imported-transformers.js +1 -1
  168. package/dist/domain/available-system-components.js +1 -1
  169. package/dist/domain/{actions → core/action}/action-factory.d.ts +5 -4
  170. package/dist/domain/core/{action.d.ts → action/action.d.ts} +6 -7
  171. package/dist/domain/core/action/index.d.ts +2 -0
  172. package/dist/domain/core/action/index.js +1 -0
  173. package/dist/domain/{components → core/component}/component-reader-types.d.ts +1 -2
  174. package/dist/domain/{components → core/component}/debug-state-component.d.ts +1 -1
  175. package/dist/domain/core/component/debug-state-component.js +1 -0
  176. package/dist/domain/{components → core/component}/domain-component-optic.d.ts +6 -6
  177. package/dist/domain/core/component/domain-component-optic.js +16 -0
  178. package/dist/domain/{components → core/component}/drag-state-component.d.ts +1 -1
  179. package/dist/domain/core/component/drag-state-component.js +1 -0
  180. package/dist/domain/{components → core/component}/export-state-component.d.ts +1 -1
  181. package/dist/domain/core/component/export-state-component.js +1 -0
  182. package/dist/domain/{components → core/component}/fullscreen-state-component.d.ts +1 -1
  183. package/dist/domain/core/component/fullscreen-state-component.js +1 -0
  184. package/dist/domain/{components → core/component}/group-components-by-entity-id-and-name.d.ts +1 -2
  185. package/dist/domain/core/component/group-components-by-entity-id-and-name.js +1 -0
  186. package/dist/domain/{components → core/component}/hover-state-component.d.ts +1 -1
  187. package/dist/domain/core/component/hover-state-component.js +1 -0
  188. package/dist/domain/core/component/index.d.ts +18 -0
  189. package/dist/domain/core/component/index.js +1 -0
  190. package/dist/domain/{components → core/component}/legacy-filter.d.ts +2 -2
  191. package/dist/domain/{components → core/component}/navigation-state-component.d.ts +1 -1
  192. package/dist/domain/core/component/navigation-state-component.js +1 -0
  193. package/dist/domain/{components → core/component}/selection-state-component.d.ts +1 -1
  194. package/dist/domain/core/component/selection-state-component.js +1 -0
  195. package/dist/domain/{components → core/component}/system-component-builder.d.ts +1 -2
  196. package/dist/domain/core/component/system-component-builder.js +1 -0
  197. package/dist/domain/{components → core/component}/system-component-filter.d.ts +3 -3
  198. package/dist/domain/core/component/system-virtual-entity.js +1 -0
  199. package/dist/domain/{components → core/component}/tool-state-component.d.ts +1 -1
  200. package/dist/domain/core/component/tool-state-component.js +1 -0
  201. package/dist/domain/{components → core/component}/updates.d.ts +17 -2
  202. package/dist/domain/{components → core/component}/view-state-component.d.ts +1 -1
  203. package/dist/domain/core/component/view-state-component.js +1 -0
  204. package/dist/domain/{components → core/component}/viewport-state-component.d.ts +1 -1
  205. package/dist/domain/core/component/viewport-state-component.js +1 -0
  206. package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
  207. package/dist/domain/core/decoder/create-decoder.js +1 -0
  208. package/dist/domain/core/decoder/decoder.d.ts +6 -0
  209. package/dist/domain/core/decoder/index.d.ts +2 -0
  210. package/dist/domain/core/decoder/index.js +1 -0
  211. package/dist/domain/core/domain-factory.d.ts +4 -5
  212. package/dist/domain/core/domain-factory.js +1 -1
  213. package/dist/domain/core/domain.d.ts +3 -4
  214. package/dist/domain/core/domain.js +1 -1
  215. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  216. package/dist/domain/{expressions → core/expression}/constant-expressions.d.ts +2 -3
  217. package/dist/domain/core/expression/constant-expressions.js +1 -0
  218. package/dist/domain/{expressions → core/expression}/custom-expression.d.ts +4 -5
  219. package/dist/domain/core/expression/custom-expression.js +1 -0
  220. package/dist/domain/core/{expression.d.ts → expression/expression.d.ts} +6 -8
  221. package/dist/domain/core/expression/index.d.ts +4 -0
  222. package/dist/domain/core/expression/index.js +1 -0
  223. package/dist/domain/core/index.d.ts +11 -17
  224. package/dist/domain/core/index.js +1 -1
  225. package/dist/domain/{invariants → core/invariant}/builtin-invariant.d.ts +2 -2
  226. package/dist/domain/{invariants → core/invariant}/custom-invariants.d.ts +2 -3
  227. package/dist/domain/core/invariant/custom-invariants.js +1 -0
  228. package/dist/domain/core/invariant/index.d.ts +5 -0
  229. package/dist/domain/core/invariant/index.js +1 -0
  230. package/dist/domain/{invariants → core/invariant}/invariants.d.ts +12 -4
  231. package/dist/domain/core/invariant/invariants.js +1 -0
  232. package/dist/domain/core/invariant/violation-component.js +1 -0
  233. package/dist/domain/{invariants → core/invariant}/violation.d.ts +2 -2
  234. package/dist/domain/core/{component.d.ts → model/component.d.ts} +1 -1
  235. package/dist/domain/core/model/index.d.ts +6 -0
  236. package/dist/domain/core/model/index.js +1 -0
  237. package/dist/domain/core/{reflection.d.ts → model/reflection.d.ts} +1 -1
  238. package/dist/domain/core/model/reflection.js +1 -0
  239. package/dist/domain/core/recipe/index.d.ts +1 -0
  240. package/dist/domain/core/recipe/index.js +1 -0
  241. package/dist/domain/{domain-context/recipe-system → core/recipe}/recipes.d.ts +1 -3
  242. package/dist/domain/core/recipe/recipes.js +1 -0
  243. package/dist/domain/{relations → core/relation}/all-of-type-relation.d.ts +3 -4
  244. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  245. package/dist/domain/{relations → core/relation}/component-factories.d.ts +1 -2
  246. package/dist/domain/core/relation/component-factories.js +1 -0
  247. package/dist/domain/{relations → core/relation}/composed-of.d.ts +1 -1
  248. package/dist/domain/core/relation/composed-of.js +1 -0
  249. package/dist/domain/{relations → core/relation}/direct-relation.d.ts +2 -3
  250. package/dist/domain/core/relation/index.d.ts +9 -0
  251. package/dist/domain/core/relation/index.js +1 -0
  252. package/dist/domain/{relations → core/relation}/indirect-relation.d.ts +3 -4
  253. package/dist/domain/core/relation/indirect-relation.js +1 -0
  254. package/dist/domain/{relations → core/relation}/reference-component.d.ts +4 -5
  255. package/dist/domain/core/relation/reference-component.js +1 -0
  256. package/dist/domain/{relations → core/relation}/reference-field.d.ts +1 -1
  257. package/dist/domain/core/relation/reference-field.js +1 -0
  258. package/dist/domain/{relations → core/relation}/relation-factory.d.ts +2 -3
  259. package/dist/domain/{relations → core/relation}/relation-implementation.d.ts +3 -4
  260. package/dist/domain/core/relation/relation-implementation.js +1 -0
  261. package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
  262. package/dist/domain/core/schema/extended-schema-validator.js +1 -0
  263. package/dist/domain/core/schema/index.d.ts +3 -0
  264. package/dist/domain/core/schema/index.js +1 -0
  265. package/dist/domain/core/schema/schema-validator.js +1 -0
  266. package/dist/domain/core/state/id-sequence.d.ts +15 -0
  267. package/dist/domain/core/state/id-sequence.js +1 -0
  268. package/dist/domain/core/state/index.d.ts +3 -0
  269. package/dist/domain/core/state/index.js +1 -0
  270. package/dist/domain/core/{migrations.d.ts → state/migrations.d.ts} +1 -2
  271. package/dist/domain/core/{state.d.ts → state/state.d.ts} +1 -2
  272. package/dist/domain/domain-builder.d.ts +11 -11
  273. package/dist/domain/domain-builder.js +1 -1
  274. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -3
  275. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  276. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  277. package/dist/domain/domain-context/dimension-system/dimension-state.js +1 -1
  278. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +1 -2
  279. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -3
  280. package/dist/domain/domain-context/index.d.ts +2 -3
  281. package/dist/domain/domain-context/index.js +1 -1
  282. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +3 -5
  283. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  284. package/dist/domain/domain-context/navigation-system/navigation-updates.d.ts +1 -12
  285. package/dist/domain/domain-context/navigation-system/navigation-updates.js +1 -1
  286. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  287. package/dist/domain/domain-context/navigation-system/selection-transformers.js +1 -1
  288. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -3
  289. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  290. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +1 -1
  291. package/dist/domain/domain-context/relation-transformers/cascade-deletes.js +1 -1
  292. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +1 -1
  293. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  294. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +1 -1
  295. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  296. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +1 -1
  297. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  298. package/dist/domain/domain-context/store-system/apply-updates.d.ts +1 -3
  299. package/dist/domain/domain-context/store-system/apply-updates.js +1 -1
  300. package/dist/domain/domain-context/store-system/next-domain-entity-id.d.ts +1 -13
  301. package/dist/domain/domain-context/store-system/next-domain-entity-id.js +1 -1
  302. package/dist/domain/domain-context/store-system/reconcile-projected-entities.d.ts +1 -2
  303. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  304. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -5
  305. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  306. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -3
  307. package/dist/domain/domain-context/store-system/system-state.js +1 -1
  308. package/dist/domain/domain-context/transformers/actions-builder.d.ts +1 -2
  309. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  310. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +1 -3
  311. package/dist/domain/domain-context/transformers/chain-builder.d.ts +2 -2
  312. package/dist/domain/domain-context/transformers/context.d.ts +1 -5
  313. package/dist/domain/domain-context/transformers/entity-builder.d.ts +1 -5
  314. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  315. package/dist/domain/domain-context/transformers/then-builder.d.ts +1 -2
  316. package/dist/domain/domain-context/transformers/then-builder.js +1 -1
  317. package/dist/domain/domain-context/transformers/when-builder.d.ts +1 -6
  318. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  319. package/dist/domain/domain-context/undo-system.d.ts +1 -1
  320. package/dist/domain/domain-runtime/domain-context/component-reader.d.ts +1 -4
  321. package/dist/domain/domain-runtime/domain-context/component-reader.js +1 -1
  322. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +2 -4
  323. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  324. package/dist/domain/domain-runtime/domain-runtime.d.ts +4 -4
  325. package/dist/domain/domain-runtime/spec/index.d.ts +3 -0
  326. package/dist/domain/domain-runtime/spec/index.js +1 -1
  327. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  328. package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.d.ts +1 -2
  329. package/dist/domain/{actions → domain-runtime/spec}/prepare-action-implementations.d.ts +1 -1
  330. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  331. package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.d.ts +1 -1
  332. package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
  333. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  334. package/dist/domain/domain-runtime/spec/types.d.ts +4 -5
  335. package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +1 -1
  336. package/dist/domain/extensions/angle-indicator.js +1 -0
  337. package/dist/domain/extensions/attribute-switch.js +1 -0
  338. package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +1 -1
  339. package/dist/domain/extensions/autorotate-camera-component.js +1 -0
  340. package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +1 -1
  341. package/dist/domain/extensions/basic-sidebar-footer.js +1 -0
  342. package/dist/domain/extensions/camera-based-hidden-entity-object.js +1 -0
  343. package/dist/domain/extensions/camera-based-hidden-entity.js +1 -0
  344. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  345. package/dist/domain/extensions/canvas-config.js +1 -0
  346. package/dist/domain/extensions/canvas-custom-environment.js +1 -0
  347. package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +1 -1
  348. package/dist/domain/extensions/canvas-padding.js +1 -0
  349. package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +1 -1
  350. package/dist/domain/extensions/canvas-preset-environment.js +1 -0
  351. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +2 -2
  352. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  353. package/dist/domain/extensions/client-side-image.js +1 -0
  354. package/dist/domain/extensions/color-value.js +1 -0
  355. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +1 -1
  356. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  357. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +1 -1
  358. package/dist/domain/extensions/common/dimension-indicator-schema.js +1 -0
  359. package/dist/domain/extensions/common/index.d.ts +4 -0
  360. package/dist/domain/extensions/common/index.js +1 -0
  361. package/dist/domain/{system-components → extensions}/custom-header.d.ts +2 -2
  362. package/dist/domain/{system-components → extensions}/custom-header.js +1 -1
  363. package/dist/domain/extensions/custom-price-footer.js +1 -0
  364. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +2 -2
  365. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.js +1 -1
  366. package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +1 -1
  367. package/dist/domain/extensions/dimension-indicator.js +1 -0
  368. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  369. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  370. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  371. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  372. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  373. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  374. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +3 -2
  375. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  376. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  377. package/dist/domain/extensions/entity-header.js +1 -0
  378. package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +1 -1
  379. package/dist/domain/extensions/exit-tool-mode-fab.js +1 -0
  380. package/dist/domain/{system-components → extensions}/finalize-action.d.ts +1 -1
  381. package/dist/domain/extensions/finalize-action.js +1 -0
  382. package/dist/domain/extensions/finalize-component.js +1 -0
  383. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  384. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  385. package/dist/domain/{system-components → extensions}/fixed-header.d.ts +1 -1
  386. package/dist/domain/extensions/fixed-header.js +1 -0
  387. package/dist/domain/{system-components → extensions}/floating-header.d.ts +1 -1
  388. package/dist/domain/extensions/floating-header.js +1 -0
  389. package/dist/domain/{system-components → extensions}/hidden-header.d.ts +1 -1
  390. package/dist/domain/extensions/hidden-header.js +1 -0
  391. package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +1 -1
  392. package/dist/domain/extensions/hidden-sidebar-footer.js +1 -0
  393. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +1 -1
  394. package/dist/domain/extensions/horizontal-tabs.js +1 -0
  395. package/dist/domain/extensions/index.d.ts +69 -0
  396. package/dist/domain/extensions/index.js +1 -0
  397. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  398. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  399. package/dist/domain/extensions/multilingual-text-value.js +1 -0
  400. package/dist/domain/extensions/navigation-steps.js +1 -0
  401. package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +1 -1
  402. package/dist/domain/extensions/offset-anchors.js +1 -0
  403. package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +1 -2
  404. package/dist/domain/extensions/offset-indicator.js +1 -0
  405. package/dist/domain/{system-components → extensions}/offset.d.ts +1 -1
  406. package/dist/domain/extensions/offset.js +1 -0
  407. package/dist/domain/{system-components → extensions}/other-action.d.ts +1 -1
  408. package/dist/domain/extensions/other-action.js +1 -0
  409. package/dist/domain/{system-components → extensions}/property-page.d.ts +2 -2
  410. package/dist/domain/extensions/property-page.js +1 -0
  411. package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +1 -1
  412. package/dist/domain/extensions/read-sidebar-footer.js +1 -0
  413. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +2 -2
  414. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  415. package/dist/domain/extensions/rotatable.js +1 -0
  416. package/dist/domain/extensions/rotation-handle.js +1 -0
  417. package/dist/domain/extensions/save-template-thumbnail.js +1 -0
  418. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  419. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  420. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  421. package/dist/domain/extensions/scene-entity-control.js +1 -0
  422. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  423. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  424. package/dist/domain/extensions/scene-entity-floor-object.js +1 -0
  425. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  426. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  427. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  428. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  429. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  430. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  431. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  432. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  433. package/dist/domain/extensions/scene-entity-wall-object.js +1 -0
  434. package/dist/domain/extensions/selectable-component.js +1 -0
  435. package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +1 -1
  436. package/dist/domain/extensions/sidebar-tabs.js +1 -0
  437. package/dist/domain/extensions/simple-summary.js +1 -0
  438. package/dist/domain/{system-components → extensions}/size.d.ts +1 -1
  439. package/dist/domain/extensions/size.js +1 -0
  440. package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +1 -1
  441. package/dist/domain/extensions/sketching-draw.js +1 -0
  442. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +2 -2
  443. package/dist/domain/extensions/sketching-edit.js +1 -0
  444. package/dist/domain/extensions/summary-component.js +1 -0
  445. package/dist/domain/extensions/text-value.js +1 -0
  446. package/dist/domain/extensions/tool-controls.js +1 -0
  447. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +2 -2
  448. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  449. package/dist/domain/{system-components → extensions}/toolbar.d.ts +2 -2
  450. package/dist/domain/{system-components → extensions}/toolbar.js +1 -1
  451. package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +1 -1
  452. package/dist/domain/extensions/universal-sidebar-footer.js +1 -0
  453. package/dist/domain/extensions/view-controls.js +1 -0
  454. package/dist/domain/index.d.ts +3 -32
  455. package/dist/domain/index.js +1 -1
  456. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +3 -3
  457. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  458. package/dist/domain/project-modules/index.d.ts +1 -0
  459. package/dist/domain/project-modules/index.js +1 -0
  460. package/dist/domain/project-modules/project-modules.d.ts +41 -0
  461. package/dist/domain/project-modules/project-modules.js +1 -0
  462. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -1
  463. package/dist/domain/projections/blender-projections/blender-projections.js +1 -1
  464. package/dist/domain/projections/composition-projections.js +1 -1
  465. package/dist/domain/projections/projected-entities-projections.d.ts +1 -2
  466. package/dist/domain/projections/snap-matching.d.ts +1 -2
  467. package/dist/domain/projections/snap-utils.d.ts +1 -2
  468. package/dist/domain/projections/validation-projections.d.ts +1 -2
  469. package/dist/domain/projections/validation-projections.js +1 -1
  470. package/dist/domain/system-components/admin-sidebar.d.ts +1 -1
  471. package/dist/domain/system-components/admin-sidebar.js +1 -1
  472. package/dist/domain/system-components/angle-dimension.js +1 -1
  473. package/dist/domain/system-components/application-config.d.ts +1 -1
  474. package/dist/domain/system-components/application-config.js +1 -1
  475. package/dist/domain/system-components/attribute-selection.js +1 -1
  476. package/dist/domain/system-components/bounding-box-component.d.ts +1 -1
  477. package/dist/domain/system-components/bounding-box-component.js +1 -1
  478. package/dist/domain/system-components/bounding-sphere-component.d.ts +1 -1
  479. package/dist/domain/system-components/bounding-sphere-component.js +1 -1
  480. package/dist/domain/system-components/child-entity-recipes.d.ts +1 -1
  481. package/dist/domain/system-components/child-entity-recipes.js +1 -1
  482. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  483. package/dist/domain/system-components/child-entity-selection.js +1 -1
  484. package/dist/domain/system-components/collision-box-geometry.d.ts +1 -1
  485. package/dist/domain/system-components/collision-box-geometry.js +1 -1
  486. package/dist/domain/system-components/collision-geometries.d.ts +1 -1
  487. package/dist/domain/system-components/collision-geometry.d.ts +1 -1
  488. package/dist/domain/system-components/collision-geometry.js +1 -1
  489. package/dist/domain/system-components/collision-point-geometry.d.ts +1 -1
  490. package/dist/domain/system-components/collision-point-geometry.js +1 -1
  491. package/dist/domain/system-components/common/index.d.ts +0 -4
  492. package/dist/domain/system-components/common/index.js +1 -1
  493. package/dist/domain/system-components/common/recipes.d.ts +1 -2
  494. package/dist/domain/system-components/constraint.d.ts +1 -1
  495. package/dist/domain/system-components/constraint.js +1 -1
  496. package/dist/domain/system-components/create-blueprint.d.ts +1 -1
  497. package/dist/domain/system-components/custom-scene-entity.d.ts +1 -1
  498. package/dist/domain/system-components/custom-scene-entity.js +1 -1
  499. package/dist/domain/system-components/detail.js +1 -1
  500. package/dist/domain/system-components/distance-dimension-select.d.ts +1 -1
  501. package/dist/domain/system-components/distance-dimension-select.js +1 -1
  502. package/dist/domain/system-components/distance-dimension.d.ts +1 -1
  503. package/dist/domain/system-components/distance-dimension.js +1 -1
  504. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  505. package/dist/domain/system-components/drag-handle.js +1 -1
  506. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  507. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  508. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  509. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  510. package/dist/domain/system-components/generic-dimension.d.ts +1 -1
  511. package/dist/domain/system-components/generic-dimension.js +1 -1
  512. package/dist/domain/system-components/hidden-entity.js +1 -1
  513. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -2
  514. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  515. package/dist/domain/system-components/index.d.ts +0 -68
  516. package/dist/domain/system-components/index.js +1 -1
  517. package/dist/domain/system-components/material-override-property-transition.js +1 -1
  518. package/dist/domain/system-components/material-override-transformer.js +1 -1
  519. package/dist/domain/system-components/material-swatch.js +1 -1
  520. package/dist/domain/system-components/navigation-page.js +1 -1
  521. package/dist/domain/system-components/navigation-panel-list.js +1 -1
  522. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.d.ts +44 -0
  523. package/dist/domain/system-components/phoenix-layout-elements/assistant-toolbar-button.js +1 -0
  524. package/dist/domain/system-components/phoenix-layout-elements/index.d.ts +1 -0
  525. package/dist/domain/system-components/phoenix-layout-elements/index.js +1 -1
  526. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.d.ts +2 -1
  527. package/dist/domain/system-components/phoenix-layout-elements/phoenix-layout-element.js +1 -1
  528. package/dist/domain/system-components/pivot-point.d.ts +1 -1
  529. package/dist/domain/system-components/pivot-point.js +1 -1
  530. package/dist/domain/system-components/price.js +1 -1
  531. package/dist/domain/system-components/projected-entities.d.ts +1 -1
  532. package/dist/domain/system-components/projected-entities.js +1 -1
  533. package/dist/domain/system-components/replace-entity-recipes.d.ts +1 -1
  534. package/dist/domain/system-components/replace-entity-recipes.js +1 -1
  535. package/dist/domain/system-components/scene-entity-ambient-light.js +1 -1
  536. package/dist/domain/system-components/scene-entity-box-object.js +1 -1
  537. package/dist/domain/system-components/scene-entity-directional-light.js +1 -1
  538. package/dist/domain/system-components/scene-entity-local-material-override.js +1 -1
  539. package/dist/domain/system-components/scene-entity-material-override.js +1 -1
  540. package/dist/domain/system-components/scene-entity-object-clip.js +1 -1
  541. package/dist/domain/system-components/scene-entity-object-decal.js +1 -1
  542. package/dist/domain/system-components/scene-entity-object-group.js +1 -1
  543. package/dist/domain/system-components/scene-entity-object-local-material-override.js +1 -1
  544. package/dist/domain/system-components/scene-entity-object-material-override.js +1 -1
  545. package/dist/domain/system-components/scene-entity-object-properties.js +1 -1
  546. package/dist/domain/system-components/scene-entity-object-remote-material-override.js +1 -1
  547. package/dist/domain/system-components/scene-entity-object-text-decal.js +1 -1
  548. package/dist/domain/system-components/scene-entity-object-transformer.js +1 -1
  549. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.js +1 -1
  550. package/dist/domain/system-components/scene-entity-object.js +1 -1
  551. package/dist/domain/system-components/scene-entity-point-light.js +1 -1
  552. package/dist/domain/system-components/scene-entity-properties.js +1 -1
  553. package/dist/domain/system-components/scene-entity-rect-area-light.js +1 -1
  554. package/dist/domain/system-components/scene-entity-remote-material-override.js +1 -1
  555. package/dist/domain/system-components/scene-entity-remote-object.js +1 -1
  556. package/dist/domain/system-components/scene-entity-spot-light.js +1 -1
  557. package/dist/domain/system-components/scene-entity-transimissive-material-override.js +1 -1
  558. package/dist/domain/system-components/sketching-line.d.ts +1 -1
  559. package/dist/domain/system-components/sketching-line.js +1 -1
  560. package/dist/domain/system-components/sketching-rectangle.d.ts +1 -1
  561. package/dist/domain/system-components/sketching-rectangle.js +1 -1
  562. package/dist/domain/system-components/sketching.d.ts +1 -1
  563. package/dist/domain/system-components/sketching.js +1 -1
  564. package/dist/domain/system-components/snap-axis.d.ts +1 -1
  565. package/dist/domain/system-components/snap-axis.js +1 -1
  566. package/dist/domain/system-components/snap-edge.d.ts +1 -1
  567. package/dist/domain/system-components/snap-edge.js +1 -1
  568. package/dist/domain/system-components/snap-plane.d.ts +1 -1
  569. package/dist/domain/system-components/snap-plane.js +1 -1
  570. package/dist/domain/system-components/snap-point.d.ts +1 -1
  571. package/dist/domain/system-components/snap-point.js +1 -1
  572. package/dist/domain/system-components/static-orthographic-camera-component.d.ts +1 -1
  573. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  574. package/dist/domain/system-components/static-perspective-camera-component.d.ts +1 -1
  575. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  576. package/dist/domain/utils/eval-cache.d.ts +1 -2
  577. package/dist/domain/utils/memo-eval.d.ts +1 -3
  578. package/dist/editor/Editor.js +1 -1
  579. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
  580. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  581. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  582. package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
  583. package/dist/editor/variants/VariantAnswerFooter.js +1 -0
  584. package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
  585. package/dist/editor/variants/VariantPreviewHandler.js +1 -0
  586. package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
  587. package/dist/editor/variants/variant-preview-styles.js +1 -0
  588. package/dist/i18n/locales/cs/messages.js +1 -1
  589. package/dist/i18n/locales/da/messages.js +1 -1
  590. package/dist/i18n/locales/de/messages.js +1 -1
  591. package/dist/i18n/locales/de-AT/messages.js +1 -1
  592. package/dist/i18n/locales/en/messages.js +1 -1
  593. package/dist/i18n/locales/en-AU/messages.js +1 -1
  594. package/dist/i18n/locales/en-GB/messages.js +1 -1
  595. package/dist/i18n/locales/es/messages.js +1 -1
  596. package/dist/i18n/locales/fr/messages.js +1 -1
  597. package/dist/i18n/locales/hu/messages.js +1 -1
  598. package/dist/i18n/locales/it/messages.js +1 -1
  599. package/dist/i18n/locales/nl/messages.js +1 -1
  600. package/dist/i18n/locales/pl/messages.js +1 -1
  601. package/dist/i18n/locales/pt/messages.js +1 -1
  602. package/dist/i18n/locales/ro/messages.js +1 -1
  603. package/dist/i18n/locales/sk/messages.js +1 -1
  604. package/dist/i18n/locales/tr/messages.js +1 -1
  605. package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
  606. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  607. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  608. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +6 -0
  609. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  610. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  611. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
  612. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
  613. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
  614. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
  615. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
  616. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
  617. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
  618. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
  619. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
  620. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  621. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
  622. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  623. package/dist/phoenix/cli.js +1 -1
  624. package/dist/phoenix/commands/deploy.js +2 -2
  625. package/dist/phoenix/commands/dev.js +5 -5
  626. package/dist/phoenix/commands/index.d.ts +1 -0
  627. package/dist/phoenix/commands/index.js +1 -1
  628. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  629. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  630. package/dist/phoenix/commands/story-dev.js +2 -2
  631. package/dist/phoenix/commands/variants.d.ts +35 -0
  632. package/dist/phoenix/commands/variants.js +1 -0
  633. package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
  634. package/dist/phoenix/editor-server/commands-router.js +1 -1
  635. package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
  636. package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
  637. package/dist/phoenix/editor-server/editor-server.js +1 -1
  638. package/dist/phoenix/editor-server/protocol.d.ts +1 -0
  639. package/dist/phoenix/editor-server/spec-router.js +1 -1
  640. package/dist/phoenix/editor-server/trpc.d.ts +3 -0
  641. package/dist/phoenix/scripts/build-admin.js +1 -1
  642. package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
  643. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  644. package/dist/phoenix/services/index.d.ts +4 -0
  645. package/dist/phoenix/services/index.js +1 -1
  646. package/dist/phoenix/services/phoenix-application.d.ts +21 -0
  647. package/dist/phoenix/services/phoenix-application.js +1 -0
  648. package/dist/phoenix/services/phoenix-store.d.ts +48 -0
  649. package/dist/phoenix/services/phoenix-store.js +1 -0
  650. package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
  651. package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
  652. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  653. package/dist/phoenix/services/variant-file-session.d.ts +36 -0
  654. package/dist/phoenix/services/variant-file-session.js +1 -0
  655. package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
  656. package/dist/phoenix/services/variant-preview-service.js +1 -0
  657. package/dist/phoenix/services/vite-config.js +1 -1
  658. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
  659. package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
  660. package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
  661. package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
  662. package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
  663. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
  664. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  665. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -4
  666. package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
  667. package/dist/ui-sdk/common/use-viewport-size.js +1 -1
  668. package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
  669. package/dist/ui-sdk/theme/types.d.ts +4 -0
  670. package/dist/webhook/builders/common.d.ts +8 -0
  671. package/dist/webhook/builders/webhook-builder.d.ts +1 -1
  672. package/dist/webhook/builders/webhook-builder.js +1 -1
  673. package/package.json +5 -8
  674. package/schema/domain-spec.json +24 -0
  675. package/dist/configurator/assistant/index.d.ts +0 -1
  676. package/dist/configurator/assistant/index.js +0 -1
  677. package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -20
  678. package/dist/configurator/assistant/use-assistant-chat.js +0 -1
  679. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  680. package/dist/domain/components/debug-state-component.js +0 -1
  681. package/dist/domain/components/domain-component-optic.js +0 -16
  682. package/dist/domain/components/drag-state-component.js +0 -1
  683. package/dist/domain/components/export-state-component.js +0 -1
  684. package/dist/domain/components/fullscreen-state-component.js +0 -1
  685. package/dist/domain/components/group-components-by-entity-id-and-name.js +0 -1
  686. package/dist/domain/components/hover-state-component.js +0 -1
  687. package/dist/domain/components/index.d.ts +0 -2
  688. package/dist/domain/components/index.js +0 -1
  689. package/dist/domain/components/navigation-state-component.js +0 -1
  690. package/dist/domain/components/selection-state-component.js +0 -1
  691. package/dist/domain/components/system-component-builder.js +0 -1
  692. package/dist/domain/components/system-virtual-entity.js +0 -1
  693. package/dist/domain/components/tool-state-component.js +0 -1
  694. package/dist/domain/components/view-state-component.js +0 -1
  695. package/dist/domain/components/viewport-state-component.js +0 -1
  696. package/dist/domain/core/json-schema.js +0 -1
  697. package/dist/domain/core/reflection.js +0 -1
  698. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  699. package/dist/domain/expressions/constant-expressions.js +0 -1
  700. package/dist/domain/expressions/custom-expression.js +0 -1
  701. package/dist/domain/expressions/index.d.ts +0 -1
  702. package/dist/domain/expressions/index.js +0 -1
  703. package/dist/domain/invariants/custom-invariants.js +0 -1
  704. package/dist/domain/invariants/invariants.js +0 -1
  705. package/dist/domain/invariants/violation-component.js +0 -1
  706. package/dist/domain/relations/all-of-type-relation.js +0 -1
  707. package/dist/domain/relations/component-factories.js +0 -1
  708. package/dist/domain/relations/composed-of.js +0 -1
  709. package/dist/domain/relations/indirect-relation.js +0 -1
  710. package/dist/domain/relations/reference-component.js +0 -1
  711. package/dist/domain/system-components/angle-indicator.js +0 -1
  712. package/dist/domain/system-components/attribute-switch.js +0 -1
  713. package/dist/domain/system-components/autorotate-camera-component.js +0 -1
  714. package/dist/domain/system-components/basic-sidebar-footer.js +0 -1
  715. package/dist/domain/system-components/camera-based-hidden-entity-object.js +0 -1
  716. package/dist/domain/system-components/camera-based-hidden-entity.js +0 -1
  717. package/dist/domain/system-components/canvas-config.js +0 -1
  718. package/dist/domain/system-components/canvas-custom-environment.js +0 -1
  719. package/dist/domain/system-components/canvas-padding.js +0 -1
  720. package/dist/domain/system-components/canvas-preset-environment.js +0 -1
  721. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  722. package/dist/domain/system-components/client-side-image.js +0 -1
  723. package/dist/domain/system-components/color-value.js +0 -1
  724. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  725. package/dist/domain/system-components/common/dimension-indicator-schema.js +0 -1
  726. package/dist/domain/system-components/custom-price-footer.js +0 -1
  727. package/dist/domain/system-components/dimension-indicator.js +0 -1
  728. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  729. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  730. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  731. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  732. package/dist/domain/system-components/entity-header.js +0 -1
  733. package/dist/domain/system-components/exit-tool-mode-fab.js +0 -1
  734. package/dist/domain/system-components/finalize-action.js +0 -1
  735. package/dist/domain/system-components/finalize-component.js +0 -1
  736. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  737. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  738. package/dist/domain/system-components/fixed-header.js +0 -1
  739. package/dist/domain/system-components/floating-header.js +0 -1
  740. package/dist/domain/system-components/hidden-header.js +0 -1
  741. package/dist/domain/system-components/hidden-sidebar-footer.js +0 -1
  742. package/dist/domain/system-components/horizontal-tabs.js +0 -1
  743. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  744. package/dist/domain/system-components/multilingual-text-value.js +0 -1
  745. package/dist/domain/system-components/navigation-steps.js +0 -1
  746. package/dist/domain/system-components/offset-anchors.js +0 -1
  747. package/dist/domain/system-components/offset-indicator.js +0 -1
  748. package/dist/domain/system-components/offset.js +0 -1
  749. package/dist/domain/system-components/other-action.js +0 -1
  750. package/dist/domain/system-components/property-page.js +0 -1
  751. package/dist/domain/system-components/read-sidebar-footer.js +0 -1
  752. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  753. package/dist/domain/system-components/rotatable.js +0 -1
  754. package/dist/domain/system-components/rotation-handle.js +0 -1
  755. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  756. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  757. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  758. package/dist/domain/system-components/scene-entity-control.js +0 -1
  759. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  760. package/dist/domain/system-components/scene-entity-floor-object.js +0 -1
  761. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  762. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  763. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  764. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  765. package/dist/domain/system-components/scene-entity-wall-object.js +0 -1
  766. package/dist/domain/system-components/selectable-component.js +0 -1
  767. package/dist/domain/system-components/sidebar-tabs.js +0 -1
  768. package/dist/domain/system-components/simple-summary.js +0 -1
  769. package/dist/domain/system-components/size.js +0 -1
  770. package/dist/domain/system-components/sketching-draw.js +0 -1
  771. package/dist/domain/system-components/sketching-edit.js +0 -1
  772. package/dist/domain/system-components/summary-component.js +0 -1
  773. package/dist/domain/system-components/text-value.js +0 -1
  774. package/dist/domain/system-components/tool-controls.js +0 -1
  775. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  776. package/dist/domain/system-components/universal-sidebar-footer.js +0 -1
  777. package/dist/domain/system-components/view-controls.js +0 -1
  778. package/dist/extras/assistant/AssistantChat.d.ts +0 -6
  779. package/dist/extras/assistant/AssistantChat.js +0 -1
  780. package/dist/extras/assistant/index.d.ts +0 -1
  781. package/dist/extras/assistant/index.js +0 -1
  782. package/dist/phoenix/application-spec/generate-assistant-prompt.d.ts +0 -12
  783. package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
  784. /package/dist/domain/{components/component-reader-types.js → application/assistant/assistant-manifest.js} +0 -0
  785. /package/dist/domain/{core/action.js → application/assistant/assistant-resolved-manifest.js} +0 -0
  786. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  787. /package/dist/domain/core/{enhanced-json-schema.js → action/action.js} +0 -0
  788. /package/dist/domain/core/{expression.js → component/component-reader-types.js} +0 -0
  789. /package/dist/domain/{components → core/component}/legacy-filter.js +0 -0
  790. /package/dist/domain/{components → core/component}/system-component-filter.js +0 -0
  791. /package/dist/domain/{components → core/component}/system-virtual-entity.d.ts +0 -0
  792. /package/dist/domain/{components → core/component}/updates.js +0 -0
  793. /package/dist/domain/core/{schema-validator.js → decoder/decoder.js} +0 -0
  794. /package/dist/domain/{relations/reference-field.js → core/expression/aliased-expressions.js} +0 -0
  795. /package/dist/domain/{relations/relation-implementation.js → core/expression/expression.js} +0 -0
  796. /package/dist/domain/{invariants → core/invariant}/builtin-invariant.js +0 -0
  797. /package/dist/domain/{invariants → core/invariant}/violation-component.d.ts +0 -0
  798. /package/dist/domain/{invariants → core/invariant}/violation.js +0 -0
  799. /package/dist/domain/core/{alias.d.ts → model/alias.d.ts} +0 -0
  800. /package/dist/domain/core/{alias.js → model/alias.js} +0 -0
  801. /package/dist/domain/core/{common-definitions.d.ts → model/common-definitions.d.ts} +0 -0
  802. /package/dist/domain/core/{common-definitions.js → model/common-definitions.js} +0 -0
  803. /package/dist/domain/core/{component.js → model/component.js} +0 -0
  804. /package/dist/domain/core/{model.d.ts → model/model.d.ts} +0 -0
  805. /package/dist/domain/core/{model.js → model/model.js} +0 -0
  806. /package/dist/domain/core/{preset.d.ts → model/preset.d.ts} +0 -0
  807. /package/dist/domain/core/{preset.js → model/preset.js} +0 -0
  808. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  809. /package/dist/domain/{relations → core/relation}/relation-factory.js +0 -0
  810. /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
  811. /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
  812. /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
  813. /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
  814. /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
  815. /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
  816. /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
  817. /package/dist/domain/core/{migrations.js → state/migrations.js} +0 -0
  818. /package/dist/domain/core/{state.js → state/state.js} +0 -0
  819. /package/dist/domain/{expressions → domain-runtime/spec}/memoize-expression.js +0 -0
  820. /package/dist/domain/{expressions → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  821. /package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +0 -0
  822. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  823. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  824. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  825. /package/dist/domain/{system-components → extensions}/client-side-image.d.ts +0 -0
  826. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  827. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  828. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  829. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  830. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  831. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  832. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  833. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  834. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  835. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  836. /package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +0 -0
  837. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  838. /package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +0 -0
  839. /package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +0 -0
  840. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  841. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  842. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  843. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  844. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  845. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  846. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  847. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  848. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  849. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
@@ -1,11 +1,11 @@
1
- import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarClasses as o,styled as r,useTheme as i,useThemeProps as n}from"@mui/material";import d from"lodash/noop.js";import{AnimatePresence as s}from"motion/react";import{useRef as l}from"react";import{useAccessService as m,useIsFullscreenActive as p}from"#package/react-sdk";import{attrf as c,commonStyles as u,numToPx as b,useIsEmpty as h,useResponsive as g}from"#package/ui-sdk";import{usePreview as y}from"../../../configurator-context/index.js";import{LayoutSlots as f}from"../slots/index.js";import{MobileHeader as x}from"../slots/slots.js";import{MobilePreview as v}from"./MobilePreview.js";import{useSceneSafeArea as w}from"./use-scene-safe-area.js";let S="visible",k="hidden",C=r("div",{name:"PhxMobileHeader",slot:"root"})(({theme:{spacing:t}})=>({...u.transition.fadeInFrom,alignItems:"center",display:"flex",gap:t(1),justifyContent:"space-between",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-header*="slot"]':{display:"flex",gap:t(2),"& > *":{pointerEvents:"auto"}},'[data-header="slot[center]"]':{display:"grid",inset:0,placeItems:"center",position:"absolute"},[`&[data-header*="${S}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-header*="${k}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 -60%"}})),$="visible",M="hidden",F=r("div",{name:"PhxMobileControls",slot:"root"})(({theme:{spacing:t}})=>({alignItems:"end",display:"flex",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-controls*="slot"]':{"& > *":{pointerEvents:"auto"}},'[data-controls="slot[toolControls]"]':{...u.transition.fadeInFrom,"&:not(:empty)":{marginInlineEnd:t(2)},"& > *":{...u.transition.fadeIn,transitionDelay:"300ms",transitionDuration:"300ms"}},'[data-controls="slot[viewControls]"]':{...u.transition.fadeInFrom,marginInlineStart:"auto"},'[data-controls="slot[toolbar]"]':{"&:not(:empty)":{marginInlineStart:t(2)}},[`&[data-controls*="${$}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"}},[`&[data-controls*="${M}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"}}})),T="PhxMobileSidebar",I="visible",B="hidden",R={Root:r("div",{name:T,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t})=>[`
1
+ import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarClasses as o,styled as i,useTheme as r,useThemeProps as n}from"@mui/material";import d from"lodash/noop.js";import{AnimatePresence as s}from"motion/react";import{useRef as l}from"react";import{useAccessService as m,useEagerObservableSelector as c,useIsFullscreenActive as p}from"#package/react-sdk";import{attrf as u,commonStyles as b,numToPx as h,useIsEmpty as g,useResponsive as f,useViewportSize as y}from"#package/ui-sdk";import{useConfigurator as x}from"../../../application-runtime/index.js";import{usePreview as v}from"../../../configurator-context/index.js";import{ASSISTANT_PANEL_SLOT as w,AssistantPanel as S,useIsAssistantPanelOpen as $}from"../../assistant/index.js";import{LayoutSlots as k}from"../slots/index.js";import{MobileHeader as C}from"../slots/slots.js";import{MobilePreview as F}from"./MobilePreview.js";import{useSceneSafeArea as M}from"./use-scene-safe-area.js";let T="visible",I="hidden",R=i("div",{name:"PhxMobileHeader",slot:"root"})(({theme:{spacing:t}})=>({...b.transition.fadeInFrom,alignItems:"center",display:"flex",gap:t(1),justifyContent:"space-between",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-header*="slot"]':{display:"flex",gap:t(2),"& > *":{pointerEvents:"auto"}},'[data-header="slot[center]"]':{display:"grid",inset:0,placeItems:"center",position:"absolute"},[`&[data-header*="${T}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-header*="${I}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 -60%"}})),B="visible",E="hidden",P=i("div",{name:"PhxMobileControls",slot:"root"})(({theme:{spacing:t}})=>({alignItems:"end",display:"flex",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-controls*="slot"]':{"& > *":{pointerEvents:"auto"}},'[data-controls="slot[toolControls]"]':{...b.transition.fadeInFrom,"&:not(:empty)":{marginInlineEnd:t(2)},"& > *":{...b.transition.fadeIn,transitionDelay:"300ms",transitionDuration:"300ms"}},'[data-controls="slot[viewControls]"]':{...b.transition.fadeInFrom,marginInlineStart:"auto"},'[data-controls="slot[toolbar]"]':{"&:not(:empty)":{marginInlineStart:t(2)}},[`&[data-controls*="${B}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"}},[`&[data-controls*="${E}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"}}})),D="PhxMobileSidebar",j="visible",A="hidden",z="assistant",H={Root:i("div",{name:D,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t})=>[`
2
2
  --phx-sidebar-background: ${t.background};
3
3
  --phx-sidebar-padding: ${t.padding};
4
4
  --phx-sidebar-radius: ${t.borderRadius}px;
5
- `,{...u.transition.fadeInFrom,background:"var(--phx-sidebar-background)",borderStartStartRadius:"var(--phx-sidebar-radius)",borderStartEndRadius:"var(--phx-sidebar-radius)",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{background:"hsl(from gold h s l / 50%)"},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-sidebar-radius":0,'[data-sidebar*="slot[header]"]':{paddingBlock:0,"& > *":{display:"none"}}}},[`&[data-sidebar*="${I}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-sidebar*="${B}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"}}]),Header:r("header",{name:T,slot:"header",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({alignItems:"center",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",display:"grid",gap:t(1),gridTemplateColumns:"repeat(2, minmax(0, 1fr))",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","& > *":{...u.transition.fadeIn,transitionDelay:"100ms",transitionDuration:"300ms"},'[data-sidebar="slot[header.start]"]':{},'[data-sidebar="slot[header.end]"]':{justifySelf:"end"}})),Body:r("div",{name:T,slot:"body",shouldForwardProp:t=>"ownerState"!==t})({display:"grid",gridTemplateRows:"minmax(0, 1fr)"}),Content:r("div",{name:T,slot:"content",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({...u.layout.normalizeScrollableContainer,display:"grid",gap:t(2),gridAutoRows:"min-content",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:empty":{paddingBlock:0}})),Tabs:r("div",{name:T,slot:"tabs",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"calc(var(--phx-sidebar-padding) * 0.75)","&:is(:empty)":{border:0,padding:0}})),Footer:r("footer",{name:T,slot:"footer",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{borderColor:"transparent",paddingBlock:0}}))};export const PhxMobileLayoutName="PhxMobileLayout";let E="initial",P="fullscreen",D=r("div",{name:"PhxMobileLayout",slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:a}})=>[`
5
+ `,{...b.transition.fadeInFrom,background:"var(--phx-sidebar-background)",borderStartStartRadius:"var(--phx-sidebar-radius)",borderStartEndRadius:"var(--phx-sidebar-radius)",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{background:"hsl(from gold h s l / 50%)"},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-sidebar-radius":0,'[data-sidebar*="slot[header]"]':{paddingBlock:0,"& > *":{display:"none"}}}},[`&[data-sidebar*="${j}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-sidebar*="${A}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"},[`&[data-sidebar*="${z}"] > :not([data-sidebar="${w}"])`]:{visibility:"hidden"}}]),Header:i("header",{name:D,slot:"header",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({alignItems:"center",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",display:"grid",gap:t(1),gridTemplateColumns:"repeat(2, minmax(0, 1fr))",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","& > *":{...b.transition.fadeIn,transitionDelay:"100ms",transitionDuration:"300ms"},'[data-sidebar="slot[header.start]"]':{},'[data-sidebar="slot[header.end]"]':{justifySelf:"end"}})),Body:i("div",{name:D,slot:"body",shouldForwardProp:t=>"ownerState"!==t})({display:"grid",gridTemplateRows:"minmax(0, 1fr)"}),Content:i("div",{name:D,slot:"content",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({...b.layout.normalizeScrollableContainer,display:"grid",gap:t(2),gridAutoRows:"min-content",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:empty":{paddingBlock:0}})),Tabs:i("div",{name:D,slot:"tabs",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"calc(var(--phx-sidebar-padding) * 0.75)","&:is(:empty)":{border:0,padding:0}})),Footer:i("footer",{name:D,slot:"footer",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{borderColor:"transparent",paddingBlock:0}}))};export const PhxMobileLayoutName="PhxMobileLayout";let L="initial",q="fullscreen",N="min(480px, 50cqb)",V=["auto","min-content","max-content","fit-content"],G=i("div",{name:"PhxMobileLayout",slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:a}})=>[`
6
6
  --inspect: off; // 🕹️ inspection mode toggle
7
7
 
8
- --phx-layout-sidebar-track-size: ${b(t.sidebarHeight)};
8
+ --phx-layout-sidebar-track-size: ${h(t.sidebarHeight)};
9
9
  --phx-layout-gutter: ${a(2)};
10
10
  `,{display:"grid",gridTemplateColumns:`
11
11
  [full-start]
@@ -39,4 +39,4 @@ import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarC
39
39
  [footer-end]
40
40
  var(--phx-layout-gutter)
41
41
  [full-end]
42
- `},'[data-layout*="slot[body.header]"]':{gridArea:"header-start / main-start / header-end / main-end"},'[data-layout*="slot[body.footer]"]':{gridArea:"footer-start / main-start / footer-end / main-end",position:"relative"},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"full","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${a(2)})`,position:"absolute"},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"sidebar-start / full-start / sidebar-end / full-end",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{gridArea:"footer-start / full-start / footer-end / full-end",zIndex:1},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-layout-sidebar-track-size":"min-content"}},[`&[data-layout*="${E}"]`]:{transitionDelay:"200ms",transitionDuration:"300ms"},[`&[data-layout*="${P}"]`]:{transitionDelay:"0ms",transitionDuration:"300ms"},[`&:has([data-sidebar*="${B}"])[class]`]:{"--phx-layout-sidebar-track-size":0}}]),j=r("div")({gridArea:"1 / 1 / -1 / -1"}),A=t=>({inert:t?"":void 0});export const MobileLayout=()=>{let o=l(null),{palette:r,shape:u,spacing:b}=i(),{sidebarHeight:z="min(480px, 50cqb)"}=n({props:{},name:"PhxMobileLayout"}),{background:H=r.background.paper,borderRadius:L=u.sidebarBorderRadius??u.borderRadius,padding:q=b(2)}=n({props:{},name:T}),{accessInfo:N}=m(),V=p(),{isPreview:G,isHidden:J}=y(),K=!J&&!G,O=!V&&K,Q=!V&&K,U=!V,{setCanvasPadding:W}=g(),{containerRef:X,safeAreaRef:Y}=w(K?W:d,!1),Z=h(o,{disabled:!U}),_={background:H,borderRadius:L,padding:q,isContentEmpty:Z};return a(e,{children:[t(s,{initial:!1,children:!J&&G&&t(v,{})}),a(D,{ownerState:{isContentEmpty:Z,sidebarHeight:z},"data-layout":c({state:{[`${E}`]:!V,[`${P}`]:V}}),...A(!K),children:[t(j,{ref:X}),t("div",{"data-layout":"slot[sideEffects]",children:t(f.MobileSnackbarsRoot,{})}),a("main",{"data-layout":"slot[body]",children:[t("header",{"data-layout":"slot[body.header]",children:a(C,{"data-header":c({state:{[`${S}`]:O,[`${k}`]:!O}}),...A(!O),children:[t("div",{"data-header":"slot[start]",children:t(x,{})}),t("div",{"data-header":"slot[center]",children:t(f.MobileCallToAction,{})}),a("div",{"data-header":"slot[end]",children:[N.viewMode&&!V&&t(f.MobileReadonlyBanner,{}),t(f.MobileHamburgerMenu,{})]})]})}),t("div",{ref:Y,"data-layout":"slot[body.safeSceneArea]"}),t("div",{"data-layout":"slot[body.footer] interactive",children:a(F,{"data-controls":c({state:{[`${$}`]:Q,[`${M}`]:!Q}}),children:[t("div",{"data-controls":"slot[toolControls]",...A(!Q),children:t(f.MobileToolControls,{})}),t("div",{"data-controls":"slot[viewControls]",...A(!Q),children:t(f.MobileViewControls,{})}),t("div",{"data-controls":"slot[toolbar]",children:K&&t(f.MobileToolbar,{})})]})})]}),t("aside",{"data-layout":"slot[sidebar]",children:a(R.Root,{ownerState:_,"data-sidebar":c({state:{[`${I}`]:U,[`${B}`]:!U}}),...A(!U),children:[a(R.Header,{ownerState:_,"data-sidebar":"slot[header]",children:[t("div",{"data-sidebar":"slot[header.start]",children:t(f.MobileSidebarBackButton,{})}),t("div",{"data-sidebar":"slot[header.end]",children:t(f.MobilePoweredBy,{})})]}),t(R.Body,{ownerState:_,"data-sidebar":"slot[body]",children:t(R.Content,{ref:o,ownerState:_,"data-sidebar":"slot[content]",children:t(f.MobileSidebarContent,{})})}),t(R.Tabs,{ownerState:_,"data-sidebar":"slot[tabs]",children:t(f.MobileTabs,{})}),t(R.Footer,{ownerState:_,"data-sidebar":"slot[footer]",children:t(f.MobileSidebarFooter,{})})]})}),t("footer",{"data-layout":"slot[footer] interactive",children:t(f.MobileFooter,{})})]})]})};
42
+ `},'[data-layout*="slot[body.header]"]':{gridArea:"header-start / main-start / header-end / main-end"},'[data-layout*="slot[body.footer]"]':{gridArea:"footer-start / main-start / footer-end / main-end",position:"relative"},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"full","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${a(2)})`,position:"absolute"},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"sidebar-start / full-start / sidebar-end / full-end",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{gridArea:"footer-start / full-start / footer-end / full-end",zIndex:1},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-layout-sidebar-track-size":"min-content"}},[`&[data-layout*="${L}"]`]:{transitionDelay:"200ms",transitionDuration:"300ms"},[`&[data-layout*="${q}"]`]:{transitionDelay:"0ms",transitionDuration:"300ms"},[`&:has([data-sidebar*="${A}"])[class]`]:{"--phx-layout-sidebar-track-size":0}},null!=t.assistantFocusHeight&&{'[data-layout*="slot[sidebar]"]':{alignSelf:"start",blockSize:`min(100%, ${t.assistantFocusHeight}px)`,gridRow:"full-start / full-end",zIndex:2}}]),J=i("div")({gridArea:"1 / 1 / -1 / -1"}),K=t=>({inert:t?"":void 0});export const MobileLayout=()=>{let o=l(null),{palette:i,shape:b,spacing:h}=r(),{sidebarHeight:w=N}=n({props:{},name:"PhxMobileLayout"}),{background:O=i.background.paper,borderRadius:Q=b.sidebarBorderRadius??b.borderRadius,padding:U=h(2)}=n({props:{},name:D}),{accessInfo:W}=m(),X=p(),{isPreview:Y,isHidden:Z}=v(),_=!Z&&!Y,tt=!X&&_,ta=!X&&_,te=!X,{setCanvasPadding:to}=f(),{containerRef:ti,safeAreaRef:tr}=M(_?to:d,!1),tn=g(o,{disabled:!te}),{assistantSystem:td}=x(),ts=$(),tl=c(td.panel$,t=>t.isInputFocused,[]),tm=ts&&te&&tl,tc=y(tm),tp=tn&&!ts,tu={isContentEmpty:tp,sidebarHeight:ts?V.includes(w)?N:w:w,assistantFocusHeight:tm?tc?.[1]:void 0},tb={background:O,borderRadius:Q,padding:U,isContentEmpty:tp};return a(e,{children:[t(s,{initial:!1,children:!Z&&Y&&t(F,{})}),a(G,{ownerState:tu,"data-layout":u({state:{[`${L}`]:!X,[`${q}`]:X}}),...K(!_),children:[t(J,{ref:ti}),t("div",{"data-layout":"slot[sideEffects]",children:t(k.MobileSnackbarsRoot,{})}),a("main",{"data-layout":"slot[body]",children:[t("header",{"data-layout":"slot[body.header]",children:a(R,{"data-header":u({state:{[`${T}`]:tt,[`${I}`]:!tt}}),...K(!tt),children:[t("div",{"data-header":"slot[start]",children:t(C,{})}),t("div",{"data-header":"slot[center]",children:t(k.MobileCallToAction,{})}),a("div",{"data-header":"slot[end]",children:[W.viewMode&&!X&&t(k.MobileReadonlyBanner,{}),t(k.MobileHamburgerMenu,{})]})]})}),t("div",{ref:tr,"data-layout":"slot[body.safeSceneArea]"}),t("div",{"data-layout":"slot[body.footer] interactive",children:a(P,{"data-controls":u({state:{[`${B}`]:ta,[`${E}`]:!ta}}),children:[t("div",{"data-controls":"slot[toolControls]",...K(!ta),children:t(k.MobileToolControls,{})}),t("div",{"data-controls":"slot[viewControls]",...K(!ta),children:t(k.MobileViewControls,{})}),t("div",{"data-controls":"slot[toolbar]",children:_&&t(k.MobileToolbar,{})})]})})]}),t("aside",{"data-layout":"slot[sidebar]",children:a(H.Root,{ownerState:tb,"data-sidebar":u({state:{[`${j}`]:te,[`${A}`]:!te,[`${z}`]:ts}}),...K(!te),children:[a(H.Header,{ownerState:tb,"data-sidebar":"slot[header]",children:[t("div",{"data-sidebar":"slot[header.start]",children:t(k.MobileSidebarBackButton,{})}),t("div",{"data-sidebar":"slot[header.end]",children:t(k.MobilePoweredBy,{})})]}),t(H.Body,{ownerState:tb,"data-sidebar":"slot[body]",children:t(H.Content,{ref:o,ownerState:tb,"data-sidebar":"slot[content]",children:t(k.MobileSidebarContent,{})})}),t(H.Tabs,{ownerState:tb,"data-sidebar":"slot[tabs]",children:t(k.MobileTabs,{})}),t(H.Footer,{ownerState:tb,"data-sidebar":"slot[footer]",children:t(k.MobileSidebarFooter,{})}),t(S,{})]})}),t("footer",{"data-layout":"slot[footer] interactive",children:t(k.MobileFooter,{})})]})]})};
@@ -57,6 +57,6 @@ declare const ResponsiveNavigation: <VALUE extends string, ENTITY_ID extends Dom
57
57
  */
58
58
  export declare const MobileControls: {
59
59
  Navigation: typeof ResponsiveNavigation;
60
- ViewOnlyMode: (inProps: import("../../../../ui-sdk/components/mobile-controls/MobileControls").ViewOnlyModeProps & import("#package/ui-sdk").MobileControlsThemeableProps) => import("react/jsx-runtime").JSX.Element;
60
+ ViewOnlyMode: (inProps: import("#package/ui-sdk").ViewOnlyModeProps & import("#package/ui-sdk").MobileControlsThemeableProps) => import("react/jsx-runtime").JSX.Element;
61
61
  };
62
62
  export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Opens and closes the assistant panel. It renders nothing in a project without an assistant. A
3
+ * layout that lists the button is expected to carry the panel; the button does not check for it.
4
+ */
5
+ export declare const AssistantToolbarButton: import("react").FunctionComponent<{
6
+ readonly showTitle?: boolean;
7
+ readonly icon?: string;
8
+ } & {
9
+ children?: import("react").ReactNode;
10
+ }>;
@@ -0,0 +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})});
@@ -14,6 +14,7 @@ export { UndoToolbarButton } from './UndoToolbarButton.js';
14
14
  export { RedoToolbarButton } from './RedoToolbarButton.js';
15
15
  export { MeasurementsToolbarButton } from './MeasurementsToolbarButton.js';
16
16
  export { HelpToolbarButton } from './HelpToolbarButton.js';
17
+ export { AssistantToolbarButton } from './AssistantToolbarButton.js';
17
18
  export { HelpMenuAction } from './HelpMenuAction.js';
18
19
  export { LanguageMenuAction } from './LanguageMenuAction.js';
19
20
  export { MeasurementsMenuAction } from './MeasurementsMenuAction.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{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,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";
@@ -104,106 +104,92 @@ All inputs include countersinkNotAvailable, as that is fixable by auto fix dialo
104
104
  And corresponding transformers
105
105
 
106
106
  ```typescript
107
- configuratorBuilder
108
- .withTransformers(() => [
109
- {
110
- priority: 3,
111
- transformer: (updates, currentState) => {
112
- if (updates.length > 1) {
113
- return updates
114
- }
115
-
116
- const materialUpdate = updates.find(
117
- (u): u is ComponentModification<MaterialSwatchComponent> =>
118
- u.kind === 'modifyComponent' && u.updateTag === 'selectSwatch-material'
119
- )
120
-
121
- if (!materialUpdate) {
122
- return updates
123
- }
124
-
125
- const plate = currentState.domainState.entities.find(Plate.is)!
126
- const newMaterial = materialUpdate.writableState.selectedSwatchKey
127
-
128
- const isAvailable = availableMaterials.some(
129
- state =>
130
- state.material === newMaterial && state.finish === plate.finish && state.thickness === plate.thickness
131
- )
132
-
133
- if (isAvailable) {
134
- return updates
135
- }
136
-
137
- const similarMaterial = availableMaterials.find(m => m.material === newMaterial)
138
-
139
- if (!similarMaterial) {
140
- return updates
141
- }
142
-
143
- const fixUpdate = updateFactory.DomainEntityModification({
144
- entityId: plate.id,
145
- stateDelta: {
146
- material: similarMaterial.material,
147
- finish: similarMaterial.finish,
148
- thickness: similarMaterial.thickness,
149
- },
150
- updateTag: 'fix.material',
151
- })
152
-
153
- return [fixUpdate]
107
+ // src/transformers/fix-finish.ts
108
+ import { availableMaterials } from '../_shared/available-materials.js'
109
+
110
+ export default phx.frontend.transformerBuilder.when
111
+ .entity(['Plate'])
112
+ .modified({ atFields: ['finish'] })
113
+ .then.overrideMatchingUpdate(({ update, getOld$Entity }) => {
114
+ const plate = getOld$Entity()
115
+ const newFinish = update.stateDelta.finish
116
+
117
+ const isAvailable = availableMaterials.some(
118
+ state => state.material === plate.material && state.finish === newFinish && state.thickness === plate.thickness
119
+ )
120
+
121
+ if (isAvailable) {
122
+ return [update]
123
+ }
124
+
125
+ const similarMaterial = availableMaterials.find(m => m.finish === newFinish && m.material === plate.material)
126
+
127
+ if (!similarMaterial) {
128
+ return [update]
129
+ }
130
+
131
+ const fixUpdate = phx.frontend.updates.DomainEntityModification({
132
+ entityId: plate.id,
133
+ stateDelta: {
134
+ material: similarMaterial.material,
135
+ finish: similarMaterial.finish,
136
+ thickness: similarMaterial.thickness,
154
137
  },
155
- },
156
- {
157
- priority: 3.1,
158
- transformer: (updates, currentState) => {
159
- if (updates.length > 1) {
160
- return updates
161
- }
162
-
163
- const materialUpdate = updates.find(
164
- (u): u is ComponentModification<AttributeSelectionComponent> =>
165
- u.kind === 'modifyComponent' &&
166
- u.updateTag === 'AttributeSelect.update' &&
167
- (u.componentInstance.instanceName as string) === 'finish'
168
- )
169
-
170
- if (!materialUpdate) {
171
- return updates
172
- }
173
-
174
- const plate = currentState.domainState.entities.find(Plate.is)!
175
- const newFinish = materialUpdate.writableState.value
176
-
177
- const isAvailable = availableMaterials.some(
178
- state =>
179
- state.material === plate.material && state.finish === newFinish && state.thickness === plate.thickness
180
- )
181
-
182
- if (isAvailable) {
183
- return updates
184
- }
185
-
186
- const similarMaterial = availableMaterials.find(m => m.finish === newFinish && m.material === plate.material)
187
-
188
- if (!similarMaterial) {
189
- return updates
190
- }
191
-
192
- const fixUpdate = updateFactory.DomainEntityModification({
193
- entityId: plate.id,
194
- stateDelta: {
195
- material: similarMaterial.material,
196
- finish: similarMaterial.finish,
197
- thickness: similarMaterial.thickness,
198
- },
199
- updateTag: 'fix.brushed',
200
- })
201
-
202
- return [fixUpdate]
138
+ updateTag: 'fix.brushed',
139
+ })
140
+
141
+ return [fixUpdate]
142
+ })
143
+ .build('fix-finish')
144
+ ```
145
+
146
+ ```typescript
147
+ // src/transformers/fix-material.ts
148
+ import { availableMaterials } from '../_shared/available-materials.js'
149
+
150
+ export default phx.frontend.transformerBuilder.when
151
+ .entity(['Plate'])
152
+ .modified({ atFields: ['material'] })
153
+ .then.overrideMatchingUpdate(({ update, getOld$Entity }) => {
154
+ const plate = getOld$Entity()
155
+ const newMaterial = update.stateDelta.material
156
+
157
+ const isAvailable = availableMaterials.some(
158
+ state => state.material === newMaterial && state.finish === plate.finish && state.thickness === plate.thickness
159
+ )
160
+
161
+ if (isAvailable) {
162
+ return [update]
163
+ }
164
+
165
+ const similarMaterial = availableMaterials.find(m => m.material === newMaterial)
166
+
167
+ if (!similarMaterial) {
168
+ return [update]
169
+ }
170
+
171
+ const fixUpdate = phx.frontend.updates.DomainEntityModification({
172
+ entityId: plate.id,
173
+ stateDelta: {
174
+ material: similarMaterial.material,
175
+ finish: similarMaterial.finish,
176
+ thickness: similarMaterial.thickness,
203
177
  },
204
- },
205
- ])
206
- .buildConfig()
178
+ updateTag: 'fix.material',
179
+ })
180
+
181
+ return [fixUpdate]
182
+ })
183
+ .build('fix-material')
184
+ ```
185
+
186
+ Each file in `src/transformers/` default-exports one transformer and is picked up by its location. The `transformers` section of the spec turns it on by name. For a transformer made with `build(name)` that is the name passed to `build(...)`, which must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). For a plain-function export it is the file name:
187
+
188
+ ```yaml
189
+ # spec/application.yaml
190
+ transformers:
191
+ - name: fix-finish
192
+ - name: fix-material
207
193
  ```
208
194
 
209
195
  And FilteredControls
@@ -18,7 +18,7 @@ The `createResetSelectionOnNavigationTransformer` automatically deselects entiti
18
18
 
19
19
  ## Guide
20
20
 
21
- The `createResetSelectionOnNavigationTransformer` is added through the `.withTransformers()` method. It automatically injects a deselect update when navigating to specified states.
21
+ The `createResetSelectionOnNavigationTransformer` is added as a file in `src/transformers/`. It automatically injects a deselect update when navigating to specified states.
22
22
 
23
23
  ### Step 1: Import the transformer
24
24
 
@@ -28,19 +28,25 @@ Import the transformer function from the domain package:
28
28
  import { createResetSelectionOnNavigationTransformer } from '@salsita-ai/sdk/domain'
29
29
  ```
30
30
 
31
- ### Step 2: Add the transformer to your config
31
+ ### Step 2: Add the transformer to your project
32
32
 
33
- Use the `.withTransformers()` method on the builder:
33
+ Create the transformer in a file under `src/transformers/`:
34
34
 
35
35
  ```typescript
36
- const config = configuratorBuilder
37
- .withTransformers(ctx => [
38
- {
39
- priority: 32,
40
- transformer: createResetSelectionOnNavigationTransformer([ApplicationTypes.NavigationState.SecondStep], ctx),
41
- },
42
- ])
43
- .buildConfig()
36
+ // src/transformers/reset-selection.ts
37
+ import { createResetSelectionOnNavigationTransformer } from '@salsita-ai/sdk/domain'
38
+
39
+ export default phx.frontend.createTransformer(ctx =>
40
+ createResetSelectionOnNavigationTransformer([phx.applicationTypes.NavigationState.SecondStep], ctx)
41
+ )
42
+ ```
43
+
44
+ Each file in `src/transformers/` default-exports one transformer and is picked up by its location. The `transformers` section of the spec turns it on by name. For a transformer made with `build(name)` that is the name passed to `build(...)`, which must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). For a plain-function export it is the file name:
45
+
46
+ ```yaml
47
+ # spec/application.yaml
48
+ transformers:
49
+ - name: reset-selection
44
50
  ```
45
51
 
46
52
  The transformer takes two arguments:
@@ -97,7 +103,7 @@ When the transformer triggers, any selected entity is deselected automatically.
97
103
  *
98
104
  * @param navigationStates - Array of navigation state names that trigger deselection
99
105
  * @param ctx - Domain context providing access to the navigation system
100
- * @returns Update transformer that can be registered in withTransformers
106
+ * @returns Update transformer to return from a transformer file in src/transformers/
101
107
  *
102
108
  * @example
103
109
  * // Deselect when entering the summary step
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-10-09T05:36:29.197Z",
2
+ "generatedAt": "2026-10-13T13:17:45.923Z",
3
3
  "categories": [
4
4
  {
5
5
  "name": "Phoenix",
@@ -78,24 +78,22 @@ Your custom component has full access to the Material-UI theme and SDK utilities
78
78
 
79
79
  ### Step 3: Attach the component to your entity
80
80
 
81
- Use the configurator builder to attach your custom price component to the root entity:
81
+ Attach your custom price component to the root entity in a file under `src/components/`. The generated code picks the
82
+ file up by its location and registers its default export:
82
83
 
83
84
  ```typescript
84
- const config = configuratorBuilder
85
- .withComponentOptics([
86
- attachComponent
87
- .withEntity('Scene')
88
- .withComponent(customPriceFooterComponent, 'default')
89
- .attach(
90
- memoEval(
91
- (s) => [s.$price],
92
- (price) => ({
93
- node: <AppPrice price={price} />,
94
- })
95
- )
96
- ),
97
- ])
98
- .buildConfig()
85
+ // src/components/custom-price.tsx
86
+ export default phx.domain.attachComponent
87
+ .withEntity('Scene')
88
+ .withComponent(customPriceFooterComponent, 'default')
89
+ .attach(
90
+ memoEval(
91
+ (s) => [s.$price],
92
+ (price) => ({
93
+ node: <AppPrice price={price} />,
94
+ })
95
+ )
96
+ )
99
97
  ```
100
98
 
101
99
  The `memoEval` function takes two arguments:
@@ -179,27 +179,30 @@ When a selected entity has no `sidebarTabs`, its property pages replace the root
179
179
  You can use transformers to automatically navigate to specific tabs when entities are selected or deselected:
180
180
 
181
181
  ```typescript
182
- const config = configuratorBuilder
183
- .withTransformers(ctx => {
184
- return [
185
- // Navigate to BuckyBall's first tab when selected
186
- phx.frontend.transformerBuilder.when
187
- .entity(['BuckyBall'])
188
- .selected()
189
- .then.navigateTo('BuckyBallTab1')
190
- .build('Navigate to BuckyBallTab1')
191
- .register(ctx),
192
-
193
- // Return to global tab1 when BuckyBall is deselected
194
- phx.frontend.transformerBuilder.when
195
- .entity(['BuckyBall'])
196
- .deselected()
197
- .then.navigateTo('tab1')
198
- .build('Navigate to Tab1')
199
- .register(ctx),
200
- ]
201
- })
202
- .buildConfig()
182
+ // src/transformers/bucky-ball-tab.ts
183
+ export default phx.frontend.transformerBuilder.when
184
+ .entity(['BuckyBall'])
185
+ .selected()
186
+ .then.navigateTo('BuckyBallTab1')
187
+ .build('buckyBallTab')
188
+ ```
189
+
190
+ ```typescript
191
+ // src/transformers/tab.ts
192
+ export default phx.frontend.transformerBuilder.when
193
+ .entity(['BuckyBall'])
194
+ .deselected()
195
+ .then.navigateTo('tab1')
196
+ .build('tab')
197
+ ```
198
+
199
+ Each file in `src/transformers/` default-exports one transformer and is picked up by its location. The `transformers` section of the spec turns it on by name. For a transformer made with `build(name)` that is the name passed to `build(...)`, which must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). For a plain-function export it is the file name:
200
+
201
+ ```yaml
202
+ # spec/application.yaml
203
+ transformers:
204
+ - name: buckyBallTab
205
+ - name: tab
203
206
  ```
204
207
 
205
208
  This creates smooth navigation flows where selecting specific entities automatically switches to their relevant tabs, and deselecting returns to a default tab state.
@@ -81,6 +81,12 @@ Phoenix provides built-in toolbar buttons for common operations:
81
81
  `props.showIndicatorSwitch: false` to hide the Dimension indicators switch. When omitted, the prop falls back to
82
82
  `applicationConfig.indicatorSwitch`, then `true`.
83
83
  - `helpToolbarButton` - Show help content (supports custom children)
84
+ - `assistantToolbarButton` - Open and close the built-in assistant panel. It renders only in a project whose
85
+ application spec has an `assistant` section. `props.showTitle` defaults to `true`; the label shows on a
86
+ desktop-sized layout only. The default toolbar includes it, in a group of its own, when the spec has an
87
+ `assistant` section. Only the universal layout carries the panel, and the button does not hide itself in a
88
+ layout without it. A custom layout that renders the toolbar therefore defines a `toolbar` component without the
89
+ button, because the default toolbar would add it.
84
90
 
85
91
  ### Mobile Toolbar Configuration
86
92
 
@@ -83,7 +83,7 @@ export default phx.domain.implementActions({
83
83
  })
84
84
  ```
85
85
 
86
- Throw to reject a call: the message reaches the user through the control's hint and the assistant through the failed mutation, so say what went wrong and what to send instead. An action declared without an implementation, or an implementation of a name the spec does not declare, is a type error. A declared action without an implementation also stops the domain from initializing, and under `phoenix dev` the editor reports it as a `MISSING_ACTION_IMPLEMENTATIONS` diagnostic and does not apply the change; an implementation of an undeclared name is logged.
86
+ Throw to reject a call: the message reaches the user through the control's hint and the assistant through the failed mutation, so say what went wrong and what to send instead. An implementation of a name the spec does not declare is a type error. A declared action without an implementation is not: it stops the domain from initializing, and under `phoenix dev` the editor reports it as a `MISSING_ACTION_IMPLEMENTATIONS` diagnostic and does not apply the change; an implementation of an undeclared name is logged.
87
87
 
88
88
  ## Run it from the UI
89
89
 
@@ -66,42 +66,76 @@ With following control structure. The top input selects the material, the bottom
66
66
  The transformer is used to change the finish if necessary and show the notification.
67
67
 
68
68
  ```typescript
69
- configuratorBuilder
70
- .withTransformers(domainContext => [
71
- phx.frontend.transformerBuilder.when
72
- .entity(['Plate'])
73
- .modified({ atFields: ['material'] })
74
- .causes.self.violation(['finishNotAvailable'])
75
- .then.applySideEffect(({ update, getOld$Entity }) => {
76
- const oldPlate = getOld$Entity()
77
- const newMaterial = update.stateDelta.material
78
-
79
- const validMaterial =
80
- availableMaterials.find(m => m.material === newMaterial && m.finish === oldPlate.finish) ??
81
- availableMaterials.find(m => m.material === newMaterial)
82
-
83
- if (!validMaterial || validMaterial.finish === oldPlate.finish) {
84
- return []
85
- }
86
-
87
- // create an additional update that will fix the material finish
88
- const fixUpdate = phx.frontend.updates.DomainEntityModification({
89
- entityId: oldPlate.id,
90
- stateDelta: {
91
- finish: validMaterial.finish,
92
- },
93
- updateTag: 'fix.finish',
94
- hint: msg`Material finish was adjusted`, // specify a hint for the user (side effect)
95
- })
96
-
97
- return [fixUpdate]
98
- })
99
- .build('Fix material finish')
100
- .register(domainContext),
101
- ])
102
- .buildConfig()
69
+ // src/transformers/fix-finish.ts
70
+ import { msg } from '@lingui/core/macro'
71
+
72
+ import { availableMaterials } from '../_shared/materials.js'
73
+
74
+ export default phx.frontend.transformerBuilder.when
75
+ .entity(['Plate'])
76
+ .modified({ atFields: ['material'] })
77
+ .causes.self.violation(['finishNotAvailable'])
78
+ .then.applySideEffect(({ update, getOld$Entity }) => {
79
+ const oldPlate = getOld$Entity()
80
+ const newMaterial = update.stateDelta.material
81
+
82
+ const validMaterial =
83
+ availableMaterials.find(m => m.material === newMaterial && m.finish === oldPlate.finish) ??
84
+ availableMaterials.find(m => m.material === newMaterial)
85
+
86
+ if (!validMaterial || validMaterial.finish === oldPlate.finish) {
87
+ return []
88
+ }
89
+
90
+ // create an additional update that will fix the material finish
91
+ const fixUpdate = phx.frontend.updates.DomainEntityModification({
92
+ entityId: oldPlate.id,
93
+ stateDelta: {
94
+ finish: validMaterial.finish,
95
+ },
96
+ updateTag: 'fix.finish',
97
+ hint: msg`Material finish was adjusted`, // specify a hint for the user (side effect)
98
+ })
99
+
100
+ return [fixUpdate]
101
+ })
102
+ .build('fix-finish')
103
103
  ```
104
104
 
105
+ Each file in `src/transformers/` default-exports one transformer and is picked up by its location. The `transformers` section of the spec turns it on by name. For a transformer made with `build(name)` that is the name passed to `build(...)`, which must match the file name with case and dashes ignored (`fix-finish.ts` and `fixFinish` match). For a plain-function export it is the file name:
106
+
107
+ ```yaml
108
+ # spec/application.yaml
109
+ transformers:
110
+ - name: fix-finish
111
+ ```
112
+
113
+ ### Hints and the AI assistant
114
+
115
+ In a configurator with the AI assistant, the assistant is told the same hints: they arrive as
116
+ `sideEffects` with the result of its changes and in the dry-runs of recipes and options, so it can
117
+ tell the user what else happened. The hints also explain what the user changed between two messages:
118
+ every message carries a change record of the configuration, and each of its lines ends with the hint
119
+ of the last update that touched it, or with the `updateTag` when the update has none. Set `agentHint`
120
+ beside `hint` when the assistant needs different wording, for example with ids or values a snackbar
121
+ would not show:
122
+
123
+ ```ts
124
+ phx.frontend.updates.DomainEntityModification({
125
+ entityId: oldPlate.id,
126
+ stateDelta: { finish: validMaterial.finish },
127
+ updateTag: 'fix.finish',
128
+ hint: msg`Material finish was adjusted`,
129
+ agentHint: `The finish of ${oldPlate.id} was changed to ${validMaterial.finish}, the only one this material comes in.`,
130
+ })
131
+ ```
132
+
133
+ - `agentHint` is a plain string, never shown to the user and not localized.
134
+ - `agentHint: null` keeps the wording from the assistant while the user still gets the `hint`: the
135
+ update is left out of `sideEffects`, and the change record explains its line by the `updateTag`. It
136
+ does not hide the change itself, which the assistant can always read from the configuration.
137
+ - `agentHint` without a `hint` tells only the assistant.
138
+
105
139
  ## Example
106
140
 
107
141
  Here you can see the live example!