@salsita-ai/sdk 0.50.0-develop.f101f4c3c9 → 0.50.0-develop.f354d3576d

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 (1542) hide show
  1. package/README.md +8 -2
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +1 -1
  4. package/dist/admin/legacy-admin/Application.js +1 -1
  5. package/dist/application/index.d.ts +1 -0
  6. package/dist/application/index.js +1 -1
  7. package/dist/application/mount-application.d.ts +1 -1
  8. package/dist/application/mount-application.js +1 -1
  9. package/dist/application/mount-configurator.d.ts +19 -0
  10. package/dist/application/mount-configurator.js +1 -0
  11. package/dist/application/mounted-application-runtime.d.ts +4 -0
  12. package/dist/application/mounted-application-runtime.js +1 -0
  13. package/dist/application/register-web-component.d.ts +2 -0
  14. package/dist/application/register-web-component.js +1 -0
  15. package/dist/application-spec/caching/index.d.ts +6 -1
  16. package/dist/application-spec/caching/index.js +1 -1
  17. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  18. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  19. package/dist/application-spec/core/index.d.ts +1 -3
  20. package/dist/application-spec/core/index.js +1 -1
  21. package/dist/application-spec/core/json-schema.d.ts +2 -52
  22. package/dist/application-spec/core/markers/index.d.ts +1 -1
  23. package/dist/application-spec/core/markers/index.js +1 -1
  24. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  25. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  26. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  27. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  28. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  29. package/dist/application-spec/errors/diagnostic-codes.d.ts +18 -1
  30. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  31. package/dist/application-spec/errors/diagnostic-messages.d.ts +26 -2
  32. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  33. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  34. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  35. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  36. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  37. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  38. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  39. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  40. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  41. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
  42. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  43. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  44. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  45. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +24 -22
  46. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  47. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  48. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  49. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  50. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
  51. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  52. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  53. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  54. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  55. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  56. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +118 -0
  57. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  58. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +44 -0
  59. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  60. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  61. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  62. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  63. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  64. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  65. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  66. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  68. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  69. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  70. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  71. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  72. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  73. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  74. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  75. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  76. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  77. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  78. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  79. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  80. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  83. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  84. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  87. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  90. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  91. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  92. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  93. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  94. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  95. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  96. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  97. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  98. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  99. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  100. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  101. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  102. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  105. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  106. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  110. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  112. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  113. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  118. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  132. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.d.ts +2 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.js +1 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/beta.d.ts} +2 -1
  152. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  170. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  171. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  173. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  174. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  175. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  176. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  177. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  178. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  179. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  180. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  181. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  182. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  183. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  184. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  185. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  186. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  187. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  188. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  189. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  190. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  191. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  192. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  193. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  194. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  195. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  196. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  197. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  198. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  199. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  200. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  201. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  202. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  203. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +51 -251
  204. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  205. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  206. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  207. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
  208. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
  209. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  210. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  211. package/dist/application-spec/generate-application/index.d.ts +1 -6
  212. package/dist/application-spec/generate-application/index.js +1 -1
  213. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  214. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  215. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  216. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  217. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  218. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  219. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  220. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  221. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +58 -23
  222. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  223. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  224. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  225. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  226. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  227. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  228. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  231. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  232. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  233. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  234. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  235. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  237. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  238. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  239. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  240. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  241. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  242. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  243. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  244. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  245. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  246. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  247. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  248. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  249. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  250. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  251. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  252. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  253. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  254. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  255. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  256. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  257. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  258. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  259. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  260. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  261. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  262. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  263. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  264. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  265. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  266. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  267. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  268. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  269. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  270. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  271. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  272. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  273. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  274. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  275. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  276. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  277. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  278. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  279. package/dist/client/authorized-client.d.ts +4 -2
  280. package/dist/client/authorized-client.js +1 -1
  281. package/dist/client/contract.d.ts +34 -4
  282. package/dist/client/contract.js +1 -1
  283. package/dist/client/index.d.ts +1 -1
  284. package/dist/client/local-authorized-client.d.ts +3 -1
  285. package/dist/client/local-authorized-client.js +1 -1
  286. package/dist/client/memory-authorized-client.d.ts +4 -1
  287. package/dist/client/memory-authorized-client.js +1 -1
  288. package/dist/client/phoenix-api.d.ts +279 -2
  289. package/dist/configurator/ConfiguratorApp.js +1 -1
  290. package/dist/configurator/app-loader-content/index.d.ts +0 -1
  291. package/dist/configurator/app-loader-content/index.js +1 -1
  292. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +31 -0
  294. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +140 -27
  295. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  296. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +52 -9
  297. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  298. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
  299. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  300. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  301. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  302. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  303. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  304. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  305. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  306. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  307. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  308. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +73 -5
  309. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  310. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  311. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  312. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  313. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  314. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +22 -5
  315. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  316. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +3 -2
  317. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  318. package/dist/configurator/common/configurator-interface.d.ts +10 -7
  319. package/dist/configurator/common/configurator-interface.js +1 -1
  320. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  321. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  322. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +0 -6
  323. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -1
  324. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -2
  325. package/dist/configurator/configuration-not-found-page/index.js +1 -1
  326. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  327. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  328. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  329. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  330. package/dist/configurator/configurator-context/index.d.ts +0 -5
  331. package/dist/configurator/configurator-context/index.js +1 -1
  332. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +3 -3
  333. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -1
  334. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +0 -5
  335. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -1
  336. package/dist/configurator/configurator-error-page/index.d.ts +1 -2
  337. package/dist/configurator/configurator-error-page/index.js +1 -1
  338. package/dist/configurator/index.d.ts +9 -2
  339. package/dist/configurator/index.js +1 -1
  340. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  341. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  342. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  343. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
  344. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  345. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  346. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  347. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  348. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  349. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  350. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  351. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  352. package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +3 -3
  353. package/dist/configurator/pages/provider-slots/ConfiguratorResponsiveProvider.js +1 -0
  354. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  355. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  356. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  357. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  358. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  359. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  360. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  361. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  362. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  363. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  364. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  365. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  366. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  367. package/dist/configurator/pages/provider-slots/index.js +1 -0
  368. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  369. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  370. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  371. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  372. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  373. package/dist/configurator/pages/ui-elements/index.js +1 -0
  374. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  375. package/dist/configurator/ui/assistant/AssistantChips.d.ts +13 -2
  376. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  377. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +6 -0
  378. package/dist/configurator/ui/assistant/AssistantComposer.js +2 -1
  379. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  380. package/dist/configurator/ui/assistant/AssistantThread.d.ts +4 -3
  381. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  382. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +4 -1
  383. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
  384. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +9 -0
  385. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  386. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +6 -0
  387. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  388. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  389. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  390. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  391. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  392. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  393. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  394. package/dist/configurator/ui/assistant/annotation/annotation-host-context.d.ts +5 -0
  395. package/dist/configurator/ui/assistant/annotation/annotation-host-context.js +1 -0
  396. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +26 -0
  397. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  398. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +15 -0
  399. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  400. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  401. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  402. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  403. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  404. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  405. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  406. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  407. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  408. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +1 -0
  409. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  410. package/dist/configurator/ui/assistant/annotation/index.d.ts +4 -0
  411. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  412. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  413. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  414. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  415. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  416. package/dist/configurator/ui/assistant/assistant-failure.d.ts +15 -7
  417. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  418. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +19 -0
  419. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  420. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  421. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  422. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  423. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  424. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +15 -0
  425. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  426. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  427. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  428. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  429. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  430. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +1 -2
  431. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -1
  432. package/dist/configurator/ui/assistant/form/form-model.d.ts +1 -3
  433. package/dist/configurator/ui/assistant/form/form-state.d.ts +1 -1
  434. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  435. package/dist/configurator/ui/assistant/form/index.js +1 -1
  436. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +1 -1
  437. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -1
  438. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +1 -1
  439. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -1
  440. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +29 -0
  441. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  442. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  443. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  444. package/dist/configurator/ui/assistant/form/{form-element-definition.d.ts → registry/form-element-definition.d.ts} +3 -1
  445. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  446. package/dist/configurator/ui/assistant/form/{form-registry.d.ts → registry/form-registry.d.ts} +1 -1
  447. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  448. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  449. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  450. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  451. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  452. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +1 -1
  453. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -1
  454. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
  455. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +1 -1
  456. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -1
  457. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +1 -1
  458. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -1
  459. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +5 -5
  460. package/dist/configurator/ui/assistant/index.d.ts +4 -0
  461. package/dist/configurator/ui/assistant/index.js +1 -1
  462. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  463. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  464. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  465. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  466. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
  467. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
  468. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  469. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  470. package/dist/configurator/ui/assistant/screenshots/index.d.ts +3 -0
  471. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  472. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +16 -0
  473. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  474. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  475. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  476. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
  477. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  478. package/dist/configurator/ui/assistant/thread-items.d.ts +5 -0
  479. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  480. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  481. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  482. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  483. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  484. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  485. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  486. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  487. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  488. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  489. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  490. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  491. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  492. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  493. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  494. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  495. package/dist/configurator/ui/index.d.ts +1 -0
  496. package/dist/configurator/ui/index.js +1 -1
  497. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  498. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  499. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  500. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  501. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  502. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  503. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  504. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  505. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  506. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  507. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -2
  508. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  509. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  510. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  511. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  512. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  513. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  514. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  515. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +0 -2
  516. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  517. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  518. package/dist/configurator/ui/preset-layout/index.js +1 -1
  519. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  520. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  521. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  522. package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
  523. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  524. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  525. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  526. package/dist/docs/3d-scene/engraving.mdx +0 -4
  527. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  528. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  529. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  530. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  531. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  532. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  533. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  534. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  535. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  536. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  537. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  538. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  539. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  540. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  541. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  542. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  543. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  544. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  545. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  546. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  547. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  548. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  549. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  550. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  551. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  552. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  553. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  554. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  555. package/dist/docs/controls/custom.mdx +88 -87
  556. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  557. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  558. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  559. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  560. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  561. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  562. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  563. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  564. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  565. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  566. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  567. package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
  568. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  569. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  570. package/dist/docs/controls/text-input.mdx +90 -19
  571. package/dist/docs/demos/glass.mdx +0 -4
  572. package/dist/docs/demos/heater.mdx +0 -10
  573. package/dist/docs/demos/office-chair.mdx +0 -8
  574. package/dist/docs/demos/office-desk.mdx +0 -8
  575. package/dist/docs/demos/ring.mdx +0 -9
  576. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  577. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  578. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -2
  579. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  580. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  581. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -4
  582. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  583. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  584. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -6
  585. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -2
  586. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -2
  587. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  588. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  589. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  590. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  591. package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
  592. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  593. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  594. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  595. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  596. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  597. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  598. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  599. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  600. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  601. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  602. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  603. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  604. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  605. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  606. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  607. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  608. package/dist/docs/fabs/basic.mdx +8 -12
  609. package/dist/docs/fabs/layout.mdx +0 -7
  610. package/dist/docs/index.json +98 -4
  611. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  612. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  613. package/dist/docs/integrations/webcomponent-api/basics.mdx +4 -2
  614. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +0 -1
  615. package/dist/docs/layouts/custom-layout.mdx +309 -189
  616. package/dist/docs/layouts/custom-price.mdx +0 -2
  617. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  618. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3485 -0
  619. package/dist/docs/layouts/gallery/corvid-drone.mdx +3399 -0
  620. package/dist/docs/layouts/gallery/fenwick-window.mdx +2778 -0
  621. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6540 -0
  622. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1829 -0
  623. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3665 -0
  624. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2657 -0
  625. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5157 -0
  626. package/dist/docs/layouts/header/custom.mdx +0 -2
  627. package/dist/docs/layouts/icon-sets.mdx +0 -6
  628. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  629. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  630. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  631. package/dist/docs/layouts/presets/custom.mdx +6 -13
  632. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  633. package/dist/docs/layouts/preview/always.mdx +4 -14
  634. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  635. package/dist/docs/layouts/preview/auto.mdx +4 -14
  636. package/dist/docs/layouts/preview/never.mdx +4 -14
  637. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  638. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  639. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  640. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  641. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  642. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  643. package/dist/docs/layouts/tool-controls.mdx +0 -1
  644. package/dist/docs/layouts/toolbar.mdx +0 -4
  645. package/dist/docs/layouts/universal.mdx +2 -10
  646. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  647. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  648. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -5
  649. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  650. package/dist/docs/other-features/component-filters.mdx +0 -7
  651. package/dist/docs/other-features/currency.mdx +5 -6
  652. package/dist/docs/other-features/domain-actions.mdx +0 -5
  653. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  654. package/dist/docs/other-features/error-5xx.mdx +0 -2
  655. package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
  656. package/dist/docs/other-features/not-found-404.mdx +0 -2
  657. package/dist/docs/other-features/projected-entities.mdx +0 -5
  658. package/dist/docs/other-features/side-effects.mdx +0 -7
  659. package/dist/docs/other-features/transformers.mdx +101 -96
  660. package/dist/docs/other-features/violation-messages.mdx +0 -4
  661. package/dist/docs/other-features/violation-severity.mdx +2 -3
  662. package/dist/docs/performance/clone-highlight.mdx +0 -7
  663. package/dist/docs/performance/dynamic-components.mdx +0 -6
  664. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  665. package/dist/docs/performance/fast-highlight.mdx +0 -7
  666. package/dist/docs/performance/general.mdx +0 -7
  667. package/dist/docs/performance/render-isolation.mdx +0 -6
  668. package/dist/docs/phoenix/admin.mdx +75 -100
  669. package/dist/docs/phoenix/application-states.mdx +45 -27
  670. package/dist/docs/phoenix/components.mdx +53 -46
  671. package/dist/docs/phoenix/configurator-interface.mdx +205 -123
  672. package/dist/docs/phoenix/deployments.mdx +11 -1
  673. package/dist/docs/phoenix/domain-model.mdx +24 -16
  674. package/dist/docs/phoenix/expression-context.mdx +3 -29
  675. package/dist/docs/phoenix/getting-started.mdx +0 -2
  676. package/dist/docs/phoenix/layout-slots.mdx +21 -0
  677. package/dist/docs/phoenix/localization.mdx +64 -54
  678. package/dist/docs/phoenix/migration-guide.mdx +10 -11
  679. package/dist/docs/phoenix/phoenix-cli.mdx +57 -15
  680. package/dist/docs/phoenix/project-structure.mdx +52 -55
  681. package/dist/docs/phoenix/quickstart.mdx +1 -3
  682. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -11
  683. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  684. package/dist/docs/phoenix/state-management.mdx +18 -16
  685. package/dist/docs/phoenix/testing.mdx +6 -1
  686. package/dist/docs/phoenix/webhooks.mdx +9 -1
  687. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  688. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  689. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  690. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  691. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  692. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  693. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  694. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  695. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  696. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  697. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  698. package/dist/docs/relations/aliases.mdx +0 -2
  699. package/dist/docs/relations/all-of-type.mdx +0 -4
  700. package/dist/docs/relations/child-nullable.mdx +0 -4
  701. package/dist/docs/relations/child-required.mdx +0 -2
  702. package/dist/docs/relations/collection-direct.mdx +0 -4
  703. package/dist/docs/relations/collection-indirect.mdx +0 -4
  704. package/dist/docs/relations/collection-multiple.mdx +0 -2
  705. package/dist/docs/relations/cross-reference.mdx +0 -2
  706. package/dist/docs/relations/hierarchy.mdx +0 -2
  707. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  708. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  709. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  710. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  711. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  712. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  713. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  714. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  715. package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
  716. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  717. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  718. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  719. package/dist/domain/application/application-config.d.ts +6 -26
  720. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  721. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  722. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  723. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  724. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  725. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  726. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +2 -3
  727. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  728. package/dist/domain/application/assistant/index.d.ts +0 -4
  729. package/dist/domain/application/assistant/index.js +1 -1
  730. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  731. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  732. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  733. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +5 -5
  734. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  735. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  736. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  737. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  738. package/dist/domain/application/assistant-mutations.js +1 -1
  739. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  740. package/dist/domain/application/configurator-builder.d.ts +7 -2
  741. package/dist/domain/application/configurator-builder.js +1 -1
  742. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  743. package/dist/domain/application/index.d.ts +1 -1
  744. package/dist/domain/application/index.js +1 -1
  745. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  746. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  747. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  748. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  749. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  750. package/dist/domain/application/standard-properties.js +1 -1
  751. package/dist/domain/application/web-component-property.d.ts +3 -1
  752. package/dist/domain/application/web-component-property.js +1 -1
  753. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  754. package/dist/domain/available-system-components/available-system-components.js +1 -0
  755. package/dist/domain/available-system-components/index.d.ts +1 -0
  756. package/dist/domain/available-system-components/index.js +1 -0
  757. package/dist/domain/core/invariant/violation.d.ts +3 -2
  758. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +11 -5
  759. package/dist/domain/domain-builder/domain-builder.js +1 -0
  760. package/dist/domain/domain-builder/index.d.ts +1 -0
  761. package/dist/domain/domain-builder/index.js +1 -0
  762. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  763. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  764. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  765. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  766. package/dist/domain/domain-runtime/application.d.ts +39 -0
  767. package/dist/domain/domain-runtime/application.js +1 -0
  768. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +1 -0
  769. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  770. package/dist/domain/domain-runtime/domain-runtime.d.ts +68 -28
  771. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  772. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  773. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  774. package/dist/domain/domain-runtime/index.d.ts +1 -1
  775. package/dist/domain/domain-runtime/index.js +1 -1
  776. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  777. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  778. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  779. package/dist/domain/domain-runtime/spec/index.js +1 -1
  780. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  781. package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
  782. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  783. package/dist/domain/domain-runtime/spec/selectors.d.ts +8 -6
  784. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  785. package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
  786. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  787. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  788. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  789. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  790. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  791. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  792. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  793. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +30 -0
  794. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  795. package/dist/domain/extensions/{client-side-image.d.ts → export-images/client-side-image.d.ts} +2 -2
  796. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  797. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  798. package/dist/domain/extensions/export-images/index.js +1 -0
  799. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +2 -2
  800. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  801. package/dist/domain/extensions/index.d.ts +1 -2
  802. package/dist/domain/extensions/index.js +1 -1
  803. package/dist/domain/index.d.ts +15 -2
  804. package/dist/domain/index.js +1 -1
  805. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  806. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  807. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  808. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  809. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  810. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  811. package/dist/domain/spec/application/index.d.ts +5 -0
  812. package/dist/domain/spec/application/index.js +1 -0
  813. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  814. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  815. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  816. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  817. package/dist/domain/spec/components/component-entry.js +1 -0
  818. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  819. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  820. package/dist/domain/spec/components/component-filters.js +1 -0
  821. package/dist/domain/spec/components/components.d.ts +4 -0
  822. package/dist/domain/spec/components/components.js +1 -0
  823. package/dist/domain/spec/components/index.d.ts +6 -0
  824. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  825. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  826. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  827. package/dist/domain/spec/enhanced-json/index.js +1 -0
  828. package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +2 -0
  829. package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +1 -1
  830. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  831. package/dist/domain/spec/expressions/expression.js +1 -0
  832. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  833. package/dist/domain/spec/expressions/expressions.js +1 -0
  834. package/dist/domain/spec/expressions/index.d.ts +5 -0
  835. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  836. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  837. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  838. package/dist/domain/spec/index.d.ts +4 -0
  839. package/dist/domain/spec/index.js +1 -0
  840. package/dist/domain/spec/invariants/index.d.ts +2 -0
  841. package/dist/domain/spec/invariants/index.js +1 -0
  842. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  843. package/dist/domain/spec/invariants/invariant.js +1 -0
  844. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  845. package/dist/domain/spec/invariants/invariants.js +1 -0
  846. package/dist/domain/spec/json-schema.d.ts +52 -0
  847. package/dist/domain/spec/json-schema.js +1 -0
  848. package/dist/domain/spec/markers/index.d.ts +3 -0
  849. package/dist/domain/spec/markers/index.js +1 -0
  850. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  851. package/dist/domain/spec/markers/msg-marker.js +1 -0
  852. package/dist/domain/spec/model/aliases.d.ts +9 -0
  853. package/dist/domain/spec/model/aliases.js +1 -0
  854. package/dist/domain/spec/model/common-types.d.ts +15 -0
  855. package/dist/domain/spec/model/common-types.js +1 -0
  856. package/dist/domain/spec/model/defaults.d.ts +33 -0
  857. package/dist/domain/spec/model/defaults.js +1 -0
  858. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  859. package/dist/domain/spec/model/entity-types.js +1 -0
  860. package/dist/domain/spec/model/index.d.ts +7 -0
  861. package/dist/domain/spec/model/index.js +1 -0
  862. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  863. package/dist/domain/spec/model/model-version-key.js +1 -0
  864. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  865. package/dist/domain/spec/model/names/action-name.js +1 -0
  866. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  867. package/dist/domain/spec/model/names/alias-name.js +1 -0
  868. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  869. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  870. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  871. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  872. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  873. package/dist/domain/spec/model/names/expression-name.js +1 -0
  874. package/dist/domain/spec/model/names/index.d.ts +9 -0
  875. package/dist/domain/spec/model/names/index.js +1 -0
  876. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  877. package/dist/domain/spec/model/names/instance-name.js +1 -0
  878. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  879. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  880. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  881. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  882. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  883. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  884. package/dist/domain/spec/model/presets.d.ts +30 -0
  885. package/dist/domain/spec/model/presets.js +1 -0
  886. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +16 -2
  887. package/dist/domain/spec/modules/element-registration.js +1 -0
  888. package/dist/domain/spec/modules/find-assistant-form-element-errors.d.ts +12 -0
  889. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  890. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +4 -3
  891. package/dist/domain/spec/modules/index.js +1 -0
  892. package/dist/domain/spec/modules/merge-expression-modules.d.ts +23 -0
  893. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  894. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
  895. package/dist/domain/spec/modules/project-modules.js +1 -0
  896. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
  897. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
  898. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +4 -5
  899. package/dist/domain/spec/modules/resolve-expression-modules.js +1 -0
  900. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
  901. package/dist/domain/spec/phx/index.d.ts +1 -0
  902. package/dist/domain/spec/phx/index.js +1 -0
  903. package/dist/domain/spec/phx/phx-application-types.d.ts +25 -0
  904. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  905. package/dist/domain/spec/phx/phx-domain.d.ts +36 -0
  906. package/dist/domain/spec/phx/phx-domain.js +1 -0
  907. package/dist/domain/spec/phx/phx-model.d.ts +24 -0
  908. package/dist/domain/spec/phx/phx-model.js +1 -0
  909. package/dist/domain/spec/phx/phx.d.ts +21 -0
  910. package/dist/domain/spec/phx/phx.js +1 -0
  911. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.d.ts +32 -0
  912. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  913. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  914. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  915. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  916. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  917. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
  918. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +23 -8
  919. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  920. package/dist/domain/spec/runtime/application-spec-slice.d.ts +73 -0
  921. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  922. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.d.ts +37 -0
  923. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  924. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  925. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  926. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  927. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  928. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
  929. package/dist/domain/spec/runtime/create-application.d.ts +58 -0
  930. package/dist/domain/spec/runtime/create-application.js +1 -0
  931. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +13 -5
  932. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  933. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -2
  934. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  935. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  936. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  937. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
  938. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -3
  939. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
  940. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.js +1 -1
  941. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -2
  942. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.js +1 -1
  943. package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
  944. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  945. package/dist/domain/spec/runtime/index.d.ts +13 -0
  946. package/dist/domain/spec/runtime/index.js +1 -0
  947. package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
  948. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  949. package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +6 -5
  950. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  951. package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +6 -5
  952. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  953. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  954. package/dist/domain/spec/runtime/model/index.js +1 -0
  955. package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
  956. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  957. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  958. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  959. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  960. package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
  961. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -14
  962. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  963. package/dist/domain/spec/runtime/optics/index.js +1 -0
  964. package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
  965. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  966. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -3
  967. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
  968. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
  969. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  970. package/dist/domain/spec/runtime/sections/index.js +1 -0
  971. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +4 -4
  972. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
  973. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
  974. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  975. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  976. package/dist/domain/spec/runtime/spec-runtime.d.ts +21 -0
  977. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  978. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +3 -2
  979. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  980. package/dist/domain/spec/runtime-spec/index.js +1 -0
  981. package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
  982. package/dist/domain/spec/runtime-spec/runtime-spec.js +1 -0
  983. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
  984. package/dist/domain/spec/sections/actions.d.ts +23 -0
  985. package/dist/domain/spec/sections/actions.js +1 -0
  986. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  987. package/dist/domain/spec/sections/app-metadata.js +1 -0
  988. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  989. package/dist/domain/spec/sections/application-version.js +1 -0
  990. package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +29 -4
  991. package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +12 -9
  992. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  993. package/dist/domain/spec/sections/assistant/form/assistant-form-element-name.d.ts +11 -0
  994. package/dist/domain/spec/sections/assistant/form/assistant-form-element-name.js +8 -0
  995. package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +39 -28
  996. package/dist/domain/spec/sections/assistant/form/assistant-form-elements.js +1 -0
  997. package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +1 -1
  998. package/dist/domain/spec/sections/assistant/form/index.js +1 -0
  999. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  1000. package/dist/domain/spec/sections/assistant/index.js +1 -0
  1001. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1002. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1003. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1004. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1005. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1006. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1007. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1008. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1009. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1010. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1011. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1012. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1013. package/dist/domain/spec/sections/index.d.ts +10 -0
  1014. package/dist/domain/spec/sections/index.js +1 -0
  1015. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1016. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1017. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1018. package/dist/domain/spec/sections/infra/index.js +1 -0
  1019. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1020. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1021. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1022. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1023. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1024. package/dist/domain/spec/sections/state-value.js +1 -0
  1025. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1026. package/dist/domain/spec/sections/theme.js +1 -0
  1027. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1028. package/dist/domain/spec/sections/transformers.js +1 -0
  1029. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1030. package/dist/domain/spec/sections/ui.js +1 -0
  1031. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  1032. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  1033. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  1034. package/dist/domain/system-definitions.js +1 -1
  1035. package/dist/domain/utils/index.d.ts +2 -0
  1036. package/dist/domain/utils/index.js +1 -0
  1037. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1038. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1039. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1040. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  1041. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1042. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1043. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1044. package/dist/i18n/locales/cs/messages.js +1 -1
  1045. package/dist/i18n/locales/da/messages.js +1 -1
  1046. package/dist/i18n/locales/de/messages.js +1 -1
  1047. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1048. package/dist/i18n/locales/en/messages.js +1 -1
  1049. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1050. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1051. package/dist/i18n/locales/es/messages.js +1 -1
  1052. package/dist/i18n/locales/fr/messages.js +1 -1
  1053. package/dist/i18n/locales/hu/messages.js +1 -1
  1054. package/dist/i18n/locales/it/messages.js +1 -1
  1055. package/dist/i18n/locales/nl/messages.js +1 -1
  1056. package/dist/i18n/locales/pl/messages.js +1 -1
  1057. package/dist/i18n/locales/pt/messages.js +1 -1
  1058. package/dist/i18n/locales/ro/messages.js +1 -1
  1059. package/dist/i18n/locales/sk/messages.js +1 -1
  1060. package/dist/i18n/locales/tr/messages.js +1 -1
  1061. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1062. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1063. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
  1064. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1065. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1066. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1067. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1068. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +11 -5
  1069. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  1070. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  1071. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  1072. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  1073. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1074. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  1075. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1076. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  1077. package/dist/phoenix/application-spec/index.d.ts +2 -0
  1078. package/dist/phoenix/application-spec/index.js +1 -1
  1079. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  1080. package/dist/phoenix/application-spec/project-files.js +1 -1
  1081. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  1082. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1083. package/dist/phoenix/bin.js +1 -1
  1084. package/dist/phoenix/cli.js +1 -1
  1085. package/dist/phoenix/commands/activate-deployment.js +1 -1
  1086. package/dist/phoenix/commands/build.js +1 -1
  1087. package/dist/phoenix/commands/changelog.js +1 -1
  1088. package/dist/phoenix/commands/check.js +1 -1
  1089. package/dist/phoenix/commands/clean.js +1 -1
  1090. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  1091. package/dist/phoenix/commands/create-environment.js +1 -1
  1092. package/dist/phoenix/commands/data.js +1 -1
  1093. package/dist/phoenix/commands/deploy.js +3 -3
  1094. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  1095. package/dist/phoenix/commands/dev.js +4 -5
  1096. package/dist/phoenix/commands/docs.js +1 -1
  1097. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  1098. package/dist/phoenix/commands/fix.js +1 -1
  1099. package/dist/phoenix/commands/index.d.ts +1 -1
  1100. package/dist/phoenix/commands/index.js +1 -1
  1101. package/dist/phoenix/commands/inspect-assets.js +1 -1
  1102. package/dist/phoenix/commands/list-environments.js +1 -1
  1103. package/dist/phoenix/commands/login.d.ts +4 -1
  1104. package/dist/phoenix/commands/login.js +2 -2
  1105. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1106. package/dist/phoenix/commands/register-deployment.js +1 -1
  1107. package/dist/phoenix/commands/scene.js +1 -1
  1108. package/dist/phoenix/commands/screenshot.js +1 -1
  1109. package/dist/phoenix/commands/state.js +1 -1
  1110. package/dist/phoenix/commands/story-build.js +3 -3
  1111. package/dist/phoenix/commands/story-create.js +1 -1
  1112. package/dist/phoenix/commands/story-dev.js +2 -2
  1113. package/dist/phoenix/commands/sync.js +1 -1
  1114. package/dist/phoenix/commands/variants.js +1 -1
  1115. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1116. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  1117. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1118. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1119. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  1120. package/dist/phoenix/lingui/index.d.ts +1 -0
  1121. package/dist/phoenix/lingui/index.js +1 -0
  1122. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1123. package/dist/phoenix/lingui/lingui.js +1 -0
  1124. package/dist/phoenix/scripts/docs-utils.js +1 -1
  1125. package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -6
  1126. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  1127. package/dist/phoenix/services/cli-credentials.d.ts +3 -0
  1128. package/dist/phoenix/services/cli-credentials.js +1 -1
  1129. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  1130. package/dist/phoenix/services/cli-exit.js +1 -0
  1131. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  1132. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  1133. package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
  1134. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  1135. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  1136. package/dist/phoenix/services/deployment/index.js +1 -0
  1137. package/dist/phoenix/services/index.d.ts +5 -1
  1138. package/dist/phoenix/services/index.js +1 -1
  1139. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1140. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  1141. package/dist/phoenix/services/phoenix-store.js +1 -1
  1142. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1143. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  1144. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  1145. package/dist/phoenix/services/session/index.d.ts +2 -0
  1146. package/dist/phoenix/services/session/index.js +1 -0
  1147. package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
  1148. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  1149. package/dist/phoenix/services/source-archive.d.ts +2 -0
  1150. package/dist/phoenix/services/source-archive.js +1 -1
  1151. package/dist/phoenix/services/swc.d.ts +5 -4
  1152. package/dist/phoenix/services/swc.js +2 -2
  1153. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  1154. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  1155. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  1156. package/dist/phoenix/services/telemetry/index.js +1 -0
  1157. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  1158. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  1159. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  1160. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  1161. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  1162. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  1163. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  1164. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  1165. package/dist/phoenix/services/vite-config.js +1 -1
  1166. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  1167. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  1168. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  1169. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1170. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1171. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1172. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1173. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1174. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1175. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1176. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1177. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1178. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1179. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1180. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1181. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1182. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1183. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1184. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1185. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1186. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1187. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1188. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1189. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1190. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1191. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1192. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1193. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1194. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1195. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1196. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  1197. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1198. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1199. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1200. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1201. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1202. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1203. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1204. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1205. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1206. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1207. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1208. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1209. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1210. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1211. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1212. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1213. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1214. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1215. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1216. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1217. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1218. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1219. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1220. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1221. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1222. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1223. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1224. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1225. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1226. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1227. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1228. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1229. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1230. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1231. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1232. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1233. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1234. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1235. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1236. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1237. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1238. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1239. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1240. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1241. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1242. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1243. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1244. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1245. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1246. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1247. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1248. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1249. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1250. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1251. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1252. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1253. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1254. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +313 -10
  1255. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1256. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1257. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1258. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1259. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1260. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1261. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1262. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1263. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1264. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  1265. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  1266. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  1267. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  1268. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  1269. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  1270. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  1271. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  1272. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  1273. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  1274. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  1275. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  1276. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  1277. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  1278. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1279. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1280. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1281. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1282. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1283. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1284. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1285. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1286. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1287. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +1 -0
  1288. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -1
  1289. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1290. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1291. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +1 -0
  1292. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +7 -1
  1293. package/dist/react-sdk/domain-context/index.d.ts +1 -0
  1294. package/dist/react-sdk/domain-context/index.js +1 -1
  1295. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  1296. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  1297. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  1298. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +2 -2
  1299. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  1300. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  1301. package/dist/react-sdk/elements/index.d.ts +0 -1
  1302. package/dist/react-sdk/index.d.ts +8 -1
  1303. package/dist/react-sdk/index.js +1 -1
  1304. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1305. package/dist/react-sdk/integration/index.d.ts +1 -0
  1306. package/dist/react-sdk/integration/index.js +1 -0
  1307. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1308. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1309. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1310. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1311. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1312. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1313. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1314. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1315. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1316. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1317. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1318. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1319. package/dist/react-sdk/loading-state/index.js +1 -1
  1320. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  1321. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1322. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1323. package/dist/react-sdk/notifications/index.js +1 -0
  1324. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1325. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1326. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1327. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1328. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1329. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1330. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1331. package/dist/{configurator/configuration-not-found-page → react-sdk/page-elements}/create-configuration-not-found-page.d.ts +7 -1
  1332. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1333. package/dist/{configurator/configurator-error-page → react-sdk/page-elements}/create-configurator-error-page.d.ts +6 -1
  1334. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1335. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1336. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1337. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1338. package/dist/react-sdk/page-elements/index.js +1 -0
  1339. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  1340. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  1341. package/dist/react-sdk/preset-selection/index.js +1 -0
  1342. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  1343. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  1344. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  1345. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  1346. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  1347. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  1348. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  1349. package/dist/react-sdk/provider-slots/index.js +1 -0
  1350. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  1351. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1352. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1353. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1354. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1355. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1356. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1357. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  1358. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  1359. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  1360. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  1361. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  1362. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1363. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1364. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  1365. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  1366. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  1367. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  1368. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  1369. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  1370. package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
  1371. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1372. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1373. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +2 -2
  1374. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +11 -9
  1375. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -1
  1376. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1377. package/dist/watch/glob-matcher.d.ts +4 -4
  1378. package/dist/watch/glob-matcher.js +1 -1
  1379. package/dist/watch/watch.d.ts +4 -4
  1380. package/dist/watch/watch.js +1 -1
  1381. package/package.json +13 -3
  1382. package/schema/domain-spec.json +158 -0
  1383. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  1384. package/dist/application-spec/core/components/index.d.ts +0 -2
  1385. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  1386. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  1387. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  1388. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  1389. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  1390. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  1391. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  1392. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  1393. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  1394. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  1395. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  1396. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  1397. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  1398. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +0 -28
  1399. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  1400. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  1401. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  1402. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +0 -37
  1403. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  1404. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  1405. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
  1406. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -8
  1407. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  1408. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
  1409. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  1410. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  1411. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  1412. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  1413. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  1414. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
  1415. package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
  1416. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +0 -68
  1417. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +0 -1
  1418. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +0 -5
  1419. package/dist/configurator/app-loader-content/app-loader-content-name.js +0 -1
  1420. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  1421. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  1422. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +0 -1
  1423. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1424. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1425. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +0 -1
  1426. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1427. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1428. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1429. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  1430. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1431. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1432. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1433. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1434. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1435. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1436. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +0 -1
  1437. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +0 -10
  1438. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +0 -1
  1439. package/dist/configurator/ui/assistant/form/form-registry.js +0 -8
  1440. package/dist/domain/application/assistant/form/assistant-form-elements.js +0 -1
  1441. package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.d.ts +0 -6
  1442. package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.js +0 -1
  1443. package/dist/domain/application/assistant/form/index.js +0 -1
  1444. package/dist/domain/available-system-components.d.ts +0 -11
  1445. package/dist/domain/available-system-components.js +0 -1
  1446. package/dist/domain/domain-builder.js +0 -1
  1447. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +0 -1
  1448. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  1449. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  1450. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +0 -1
  1451. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  1452. package/dist/domain/extensions/client-side-image.js +0 -1
  1453. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1454. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  1455. package/dist/phoenix/services/lingui.d.ts +0 -15
  1456. package/dist/phoenix/services/lingui.js +0 -1
  1457. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  1458. package/dist/phoenix/services/phoenix-application.js +0 -1
  1459. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1460. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1461. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1462. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -37
  1463. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1464. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +0 -25
  1465. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +0 -1
  1466. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +0 -14
  1467. package/dist/react-sdk/responsive-state/index.d.ts +0 -5
  1468. package/dist/react-sdk/responsive-state/index.js +0 -1
  1469. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +0 -111
  1470. package/dist/react-sdk/responsive-state/responsive-state-manager.js +0 -1
  1471. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +0 -10
  1472. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +0 -1
  1473. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +0 -11
  1474. package/dist/react-sdk/responsive-state/use-responsive-state.js +0 -1
  1475. /package/dist/{application-spec/core/expressions/relation-expression-params.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  1476. /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → domain/spec/application/admin-pages-section.js} +0 -0
  1477. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
  1478. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
  1479. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1480. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1481. /package/dist/{configurator/ui/assistant/form/form-element-definition.js → domain/spec/application/configurator-states.js} +0 -0
  1482. /package/dist/domain/{application/assistant/assistant-manifest.js → spec/components/bindings/index.js} +0 -0
  1483. /package/dist/{react-sdk/elements/configurator-error-page-props.js → domain/spec/components/bindings/read-binding.js} +0 -0
  1484. /package/dist/{react-sdk/responsive-state/canvas-padding.js → domain/spec/components/bindings/write-binding.js} +0 -0
  1485. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  1486. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  1487. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  1488. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  1489. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  1490. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  1491. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  1492. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  1493. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  1494. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  1495. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  1496. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  1497. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  1498. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  1499. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  1500. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  1501. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1502. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1503. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1504. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1505. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  1506. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  1507. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  1508. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  1509. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  1510. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  1511. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  1512. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
  1513. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
  1514. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
  1515. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
  1516. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
  1517. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
  1518. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
  1519. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  1520. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  1521. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  1522. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  1523. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  1524. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  1525. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
  1526. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
  1527. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
  1528. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
  1529. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
  1530. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
  1531. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
  1532. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
  1533. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
  1534. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
  1535. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
  1536. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
  1537. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
  1538. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1539. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1540. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  1541. /package/dist/react-sdk/{elements → page-elements}/configurator-error-page-props.d.ts +0 -0
  1542. /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
@@ -21,15 +21,15 @@ The configurator interface is Phoenix's **public API** - a collection of React h
21
21
 
22
22
  **Auto-Generated Interface**:
23
23
 
24
- The configurator interface is generated in `.phoenix/configurator-interface.ts`:
24
+ The configurator interface is generated in `.phoenix/configurator-globals.ts`, which sets `phx.frontend` before any file in `src/` loads, so project files use `phx.frontend` without importing it:
25
25
 
26
26
  ```typescript
27
- // .phoenix/configurator-interface.ts (AUTO-GENERATED - DO NOT EDIT)
27
+ // .phoenix/configurator-globals.ts (AUTO-GENERATED - DO NOT EDIT), shortened
28
28
  import { createConfiguratorInterface } from '@salsita-ai/sdk/configurator'
29
29
 
30
- import { configuratorBuilder } from './domain.js'
30
+ import { baseConfiguratorBuilder } from './domain-spec.js'
31
31
 
32
- export const configuratorInterface = createConfiguratorInterface(configuratorBuilder)
32
+ export const configuratorInterface = createConfiguratorInterface(baseConfiguratorBuilder)
33
33
 
34
34
  // Initialize the globals
35
35
  globalThis.phx.frontend = configuratorInterface
@@ -48,8 +48,8 @@ Phoenix provides typed interfaces available globally via the `phx` namespace:
48
48
 
49
49
  Types are auto-generated in `.phoenix/` from your domain schema:
50
50
 
51
- - `.phoenix/configurator-interface.ts` - Configurator interface
52
- - `.phoenix/admin-interface.ts` - Admin interface
51
+ - `.phoenix/configurator-globals.ts` - Configurator interface
52
+ - `.phoenix/admin-globals.ts` - Admin interface
53
53
  - `.phoenix/globals.d.ts` - Global type definitions
54
54
 
55
55
  **Type Access**:
@@ -71,15 +71,15 @@ export const CustomComponent = () => {
71
71
 
72
72
  // Entity state hooks
73
73
  const rootEntity = phx.frontend.useRootEntityState()
74
- const selectedEntity = phx.frontend.useSelectedEntity()
74
+ // The selected entity when it is a Cabinet, typed as $Cabinet, otherwise null
75
+ const selectedCabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
75
76
 
76
77
  // Selection hooks
77
78
  const selectEntity = phx.frontend.useSelectEntity()
78
79
 
79
80
  // Type-safe entity access
80
- if (selectedEntity && Cabinet.is(selectedEntity)) {
81
- // selectedEntity is now typed as $Cabinet
82
- console.log(selectedEntity.width, selectedEntity.$area)
81
+ if (selectedCabinet) {
82
+ console.log(selectedCabinet.width, selectedCabinet.$area)
83
83
  }
84
84
  }
85
85
  ```
@@ -93,7 +93,7 @@ The configurator interface provides 100+ hooks organized by category. Use TypeSc
93
93
  ```typescript
94
94
  const ExampleComponent = () => {
95
95
  // Core domain systems
96
- const { navigationSystem, storeSystem, entitySystem } = phx.frontend.useDomain()
96
+ const { navigationSystem, storeSystem, domain } = phx.frontend.useDomain()
97
97
 
98
98
  // Domain application context
99
99
  const { configurationPersistSystem } = phx.frontend.useDomainApplication()
@@ -106,24 +106,24 @@ const ExampleComponent = () => {
106
106
  ### State Subscriptions
107
107
 
108
108
  ```typescript
109
- // Committed state (after validation)
109
+ // Committed state (after validation): the state, or the whole emission with its validity
110
110
  const committedState = phx.frontend.useCommittedState()
111
- const committedSlice = phx.frontend.useCommittedSlice(selector)
111
+ const committedSlice = phx.frontend.useCommittedSlice()
112
112
 
113
- // Rendered state (for display)
113
+ // Rendered state (for display, including staged changes such as a drag in progress)
114
114
  const renderedState = phx.frontend.useRenderedState()
115
- const renderedSlice = phx.frontend.useRenderedSlice(selector)
115
+ const renderedSlice = phx.frontend.useRenderedSlice()
116
116
 
117
- // Selectors
118
- const value = phx.frontend.useStoreSelector(selector)
119
- const renderedValue = phx.frontend.useRenderedSelector(selector)
117
+ // Selectors: a callback that reads the emission, and its dependency list
118
+ const value = phx.frontend.useStoreSelector(emission => emission.state.entities.length, [])
119
+ const renderedValue = phx.frontend.useRenderedSelector(emission => emission.state.entities.length, [])
120
120
  ```
121
121
 
122
122
  ### Entity State
123
123
 
124
124
  ```typescript
125
- // Get typed entity state
126
- const cabinet = phx.frontend.useEntityState(Cabinet, cabinetId)
125
+ // Get typed entity state: $Cabinet for a Cabinet id
126
+ const cabinet = phx.frontend.useEntityState(cabinetId)
127
127
  const rootEntity = phx.frontend.useRootEntityState()
128
128
  const rootEntityId = phx.frontend.useRootEntityId()
129
129
 
@@ -134,21 +134,25 @@ const renderedRoot = phx.frontend.useRootEntityRenderedState()
134
134
  ### Selection & Hover
135
135
 
136
136
  ```typescript
137
- // Selection hooks
138
- const selectedEntity = phx.frontend.useSelectedEntity()
139
- const selectedEntityId = phx.frontend.useSelectedEntityId()
137
+ // Selection hooks: the selected cabinet and its id, or null while the selection is not a Cabinet
138
+ const selectedCabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
139
+ const selectedCabinetId = phx.frontend.useSelectedEntityId(phx.domain.enhancedModel.$Cabinet)
140
+ // The id of the selected entity of any type
140
141
  const selectedDomainEntityId = phx.frontend.useSelectedDomainEntityId()
141
142
 
142
143
  // Selection actions
143
- const selectEntity = phx.frontend.useSelectEntity()
144
- const deselect = phx.frontend.useDeselect()
145
- const selectParent = phx.frontend.useSelectParent()
146
-
147
- // Hover hooks
148
- const hoveredEntity = phx.frontend.useHoveredEntity()
149
- const hoveredEntityId = phx.frontend.useHoveredEntityId()
144
+ const selectEntity = phx.frontend.useSelectEntity() // selectEntity(id)
145
+ const deselect = phx.frontend.useDeselect() // deselect()
146
+ const selectParent = phx.frontend.useSelectParent(entityId) // selectParent() selects the entity's parent
147
+
148
+ // Hover hooks: the hovered cabinet and its id, or null
149
+ const hoveredCabinet = phx.frontend.useHoveredEntity(phx.domain.enhancedModel.$Cabinet)
150
+ const hoveredCabinetId = phx.frontend.useHoveredEntityId(phx.domain.enhancedModel.$Cabinet)
151
+ const hoveredDomainEntityId = phx.frontend.useHoveredDomainEntityId()
150
152
  ```
151
153
 
154
+ The hooks that return an entity or its id of one type take the enhanced reflection of that type, `phx.domain.enhancedModel.$<Type>`. `useSelectedEntityId` and `useHoveredEntityId` also accept no argument, but then always return `null`.
155
+
152
156
  ### Navigation, View & Tool State
153
157
 
154
158
  ```typescript
@@ -192,31 +196,35 @@ const updatedControl = phx.frontend.useUpdatedControl(updates)
192
196
  ### Recipes & Entity Creation
193
197
 
194
198
  ```typescript
195
- // Cook (prepare) recipes for adding children
196
- const cookRecipes = phx.frontend.useCookRecipes()
197
- const cookedRecipes = phx.frontend.useCookedRecipes()
198
-
199
- // Cook recipes for replacing entities
200
- const cookReplaceRecipes = phx.frontend.useCookReplaceRecipes()
201
- const cookedReplaceRecipes = phx.frontend.useCookedReplaceRecipes()
202
-
203
- // Recipe options
204
- const groupedOptions = phx.frontend.useGroupedRecipeOptions(entityId, recipeId)
199
+ // Cook (prepare) recipes for adding children: { create, disabled, hints, recipes }
200
+ const cookedRecipes = phx.frontend.useCookedRecipes(recipes, parentId)
201
+ // The same as a function, for several sets of recipes: cookRecipes(recipes, collection?)
202
+ const cookRecipes = phx.frontend.useCookRecipes(parentId)
203
+
204
+ // Cook recipes for replacing an entity
205
+ const cookedReplaceRecipes = phx.frontend.useCookedReplaceRecipes(entityId, recipes)
206
+ const cookReplaceRecipes = phx.frontend.useCookReplaceRecipes(entityId)
207
+
208
+ // Recipe options of the entity's childEntityRecipes components, grouped per component;
209
+ // the optional second argument names the component instances to read
210
+ const groupedOptions = phx.frontend.useGroupedRecipeOptions(entityId)
205
211
  const replaceOptions = phx.frontend.useReplaceEntityRecipeOptions(entityId)
206
212
 
207
- // Delete entity
213
+ // Delete an entity: { remove, disabled, hints, trace }
214
+ const deletedEntity = phx.frontend.useDeletedEntity(entityId)
215
+ // The same as a function: deleteEntity(entityId)
208
216
  const deleteEntity = phx.frontend.useDeleteEntity()
209
- const deletedEntity = phx.frontend.useDeletedEntity()
210
217
  ```
211
218
 
212
219
  ### Validation & Violations
213
220
 
214
221
  ```typescript
215
- // Validity of the last committed state; a rejected change never becomes committed, so it is not seen here
216
- const validity = phx.frontend.useStateValidity()
222
+ // Validity of the last committed state: severity is null, 'notice' or 'warning'; a rejected change never becomes
223
+ // committed, so it is not seen here
224
+ const { severity } = phx.frontend.useStateValidity()
217
225
 
218
- // Control violations: takes the violation types to ignore and returns a function that maps a prepared
219
- // state emission to { disabled, hints, violations }
226
+ // Control violations: takes the violation types to leave out of the hints and returns a function that maps a
227
+ // prepared state emission to { disabled, hints, violations }
220
228
  const controlViolations = phx.frontend.useControlViolations([])
221
229
 
222
230
  // Finalize violations
@@ -225,24 +233,31 @@ const { disabled, hints } = phx.frontend.useFinalizeViolations()
225
233
  // Messages for the user: violations of a rejected change, side-effect hints, errors and failed saves, one call each
226
234
  phx.frontend.useConfiguratorMessages(message => showToast(message.text))
227
235
 
228
- // Map violations to hints
236
+ // Map violations to one translated hint: takes the violation types to leave out and returns
237
+ // (violations, stateEmission) => string, built from the violations at the highest priority among all of them,
238
+ // leaving out the ignored types (so the hint is empty when only ignored types reach the top priority)
229
239
  const mapViolationHints = phx.frontend.useMapViolationHints()
240
+ const hint = mapViolationHints(violations, stateEmission)
230
241
  ```
231
242
 
232
243
  ### Components
233
244
 
234
245
  ```typescript
235
- // Get components attached to entities
236
- const component = phx.frontend.useComponent(filter)
237
- const components = phx.frontend.useComponents(filter)
238
- const firstComponent = phx.frontend.useFirstComponent(entityId, filter)
246
+ import { detailComponent } from '@salsita-ai/sdk/domain'
239
247
 
240
- // Root entity components
241
- const rootComponents = phx.frontend.useRootComponents(filter)
242
- const firstRootComponent = phx.frontend.useFirstRootComponent(filter)
248
+ // The state of one component instance on an entity, or null; instanceName may be left out when the entity has
249
+ // the component once
250
+ const detail = phx.frontend.useComponent({ entityId, componentType: detailComponent, instanceName: 'main' })
251
+ // Every matching instance as { componentInstance, state }; each filter field is optional
252
+ const details = phx.frontend.useComponents({ componentTypes: [detailComponent], entityIds: [entityId] })
253
+ const firstDetail = phx.frontend.useFirstComponent({ componentTypes: [detailComponent], entityIds: [entityId] })
243
254
 
244
- // Rendered variants
245
- const renderedComponent = phx.frontend.useRenderedComponent(filter)
255
+ // Root entity components: a component type or an array of them
256
+ const rootDetails = phx.frontend.useRootComponents(detailComponent)
257
+ const firstRootDetail = phx.frontend.useFirstRootComponent(detailComponent)
258
+
259
+ // Rendered variants take the same arguments
260
+ const renderedDetail = phx.frontend.useRenderedComponent({ entityId, componentType: detailComponent })
246
261
  ```
247
262
 
248
263
  ### Data & Services
@@ -352,16 +367,19 @@ const filterPublishedChunks = phx.frontend.createFilterPublishedChunksHandler(()
352
367
  }, [session.sessionPayload?.role])
353
368
  })
354
369
 
355
- // Runs after preset data is loaded
356
- const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler((entities, presetData) => {
357
- // Can modify preset entities before rendering
358
- return entities
359
- })
360
-
361
- // Intercept navigation to index/presets page
362
- const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => {
363
- // Custom logic before navigating
364
- })
370
+ // Runs after preset data is loaded; the hook may call other hooks and returns the handler, which resolves to
371
+ // the preset entities to start from, adjusted or as they are
372
+ const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler(() => ({
373
+ handler: async entities => entities,
374
+ }))
375
+
376
+ // Intercept navigation to index/presets page: next() continues to it, and not calling it stays on the page
377
+ const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => ({
378
+ handler: ({ next }) => {
379
+ // Custom logic before navigating
380
+ next()
381
+ },
382
+ }))
365
383
  ```
366
384
 
367
385
  ### UI Components
@@ -372,9 +390,9 @@ const MyLayoutElement = phx.frontend.createCustomPhoenixLayoutElement('MyLayoutE
372
390
  return <div>Custom Layout</div>
373
391
  })
374
392
 
375
- // Custom Phoenix entity element
376
- const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', () => {
377
- return <mesh>...</mesh>
393
+ // Custom Phoenix entity element: receives the id of the entity it is rendered for
394
+ const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', ({ entityId }) => {
395
+ return <div>Custom control for {entityId}</div>
378
396
  })
379
397
 
380
398
  // Custom page when auth fails
@@ -391,7 +409,7 @@ Use these factories to customize the preset-selection screen without changing ho
391
409
  - `createPresetPageAction` adds project-specific content below the default preset cards.
392
410
  - `createPresetDeviceNotSupported` adds project-specific overlay content above the default preset cards.
393
411
 
394
- Without `createPresetUi`, Phoenix renders its built-in preset screen, which is the default `PresetUi` registration in `defaultConfiguratorElements`. The action and the overlay are parts of that built-in screen and render nothing until the project registers them.
412
+ Without `createPresetUi`, Phoenix renders its built-in preset screen, which is the default `PresetUi` registration in `defaultConfiguratorElements`. The action and the overlay are parts of that built-in screen and render nothing until the project registers them. `createPresetUi` and the element's name, `PresetUiName`, are also exported from `@salsita-ai/sdk/react`.
395
413
 
396
414
  ```typescript
397
415
  const PresetScreen = phx.frontend.createPresetUi(CustomPresetScreen)
@@ -413,7 +431,7 @@ export default phx.frontend.createConfigurationNotFoundPage(({ onBack }) => (
413
431
  ))
414
432
  ```
415
433
 
416
- The helper types the page's props as `ConfigurationNotFoundPageProps` from `@salsita-ai/sdk/react`. A layout element registered under the name `ConfigurationNotFoundPage` with `createCustomPhoenixLayoutElement` replaces the page too, but its component is typed as taking only `children`.
434
+ The helper types the page's props as `ConfigurationNotFoundPageProps` from `@salsita-ai/sdk/react`, which also exports the helper and the element's name, `ConfigurationNotFoundPageName`. A layout element registered under the name `ConfigurationNotFoundPage` with `createCustomPhoenixLayoutElement` replaces the page too, but its component is typed as taking only `children`.
417
435
 
418
436
  - The page receives one optional prop, `onBack`, which returns to the start of the configurator. It is set when a configuration fails to load or is opened without a valid access key. It is not set on the start page itself, so a page that offers a way back shows it only when `onBack` is set.
419
437
  - The configurator renders the element in four cases: a configuration fails to load, for example because its ID does not exist or the server rejects its access key; a configuration is opened without an access key for it; a signed-in user whose role may not create configurations (`acl.canCreate`) opens the start page; the preset screen has no preset category to show, for example because the host's `presetTags` match no preset. The last case happens inside the built-in preset screen, so a project that replaces it with `createPresetUi` decides what to show itself.
@@ -434,7 +452,7 @@ export default phx.frontend.createConfiguratorErrorPage(({ reason, onRetry }) =>
434
452
  ))
435
453
  ```
436
454
 
437
- The helper types the page's props as `ConfiguratorErrorPageProps` from `@salsita-ai/sdk/react`. A layout element registered under the name `ConfiguratorErrorPage` with `createCustomPhoenixLayoutElement` replaces the page too, but its component is typed as taking only `children`.
455
+ The helper types the page's props as `ConfiguratorErrorPageProps` from `@salsita-ai/sdk/react`, which also exports the helper and the element's name, `ConfiguratorErrorPageName`. A layout element registered under the name `ConfiguratorErrorPage` with `createCustomPhoenixLayoutElement` replaces the page too, but its component is typed as taking only `children`.
438
456
 
439
457
  - The page receives two props. `reason` says what failed: `uncaughtError` when rendering the configurator failed with an error nothing else handled, `presetCreationFailed` when starting a configuration from the only preset failed. `onRetry` tries again: after `uncaughtError` it renders the configurator again, after `presetCreationFailed` it reloads the page. The error itself is not passed; it is logged to the console.
440
458
  - The configurator renders the element in two cases: an error reaches the configurator's error boundary, which wraps everything from the scene resources and the session down to the pages, including a failure while the application starts; and creating a configuration fails on a start screen with a single preset. The element is available in both, because the spec and its elements are part of the application before the configurator renders.
@@ -451,6 +469,7 @@ export default phx.frontend.createAppLoader(({ phases }) => <span>{phases[0]?.la
451
469
  ```
452
470
 
453
471
  - Phoenix keeps the overlay, its place over the safe area and its fade-in; the element is only what it shows.
472
+ - `createAppLoader`, the props type `AppLoaderContentProps` and the element's name, `AppLoaderContentName`, are also exported from `@salsita-ai/sdk/react`.
454
473
  - The overlay stays up while a loading phase runs: the session, the project's data, the configuration and the 3D scene. It waits for the scene only when the loaded configuration's layout mounts a canvas, as the built-in layouts and `LayoutSlots.SharedCanvas` do. A `ConfiguratorLayout` without a canvas is not held by the loader: the overlay leaves once the configuration is up.
455
474
  - The top-level `appLoader: legacy` key in the spec turns the overlay off.
456
475
  - The built-in content is the default `AppLoaderContent` registration in `defaultConfiguratorElements`, see below.
@@ -544,12 +563,12 @@ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout
544
563
  - With `LayoutSlots.SharedCanvas` mounted, the app loader stays on screen until the scene has loaded. A layout without a canvas is not held by the loader, see [App Loader](#app-loader).
545
564
  - The layout composes the rest from what `@salsita-ai/sdk/configurator` exports: `LayoutSlots.Services` and the other members of `LayoutSlots`, which [Layout Slots](?path=/docs/phoenix-layout-slots--docs) lists with what each shows, what feeds it, what it renders when the spec configures nothing for it and what it does in read mode.
546
565
  - `LayoutSlots.DesktopSidebar` is the built-in desktop sidebar as one piece: the spec's tabs, back button, property pages and sidebar footer with their spacing, scrolling and empty states, and the assistant panel. Use it when the spec's property pages are what the customer should see and only their place changes, for example a sidebar on the left; build the controls yourself when they have to look like the brand's own. Without `width` it fills its container, so the layout positions and sizes that container; `miniSidebar` does not shrink it, so a layout that honours it reads `LayoutSlots.useSidebarContent().hasMiniSidebar` and lets the container take the sidebar's height. Its tabs sit outside it on the left; `side="start"` puts them on its right, for a sidebar on the left. In fullscreen it stays in place, transparent and inert, so a layout that wants the space back removes it while `phx.frontend.useIsFullscreenActive()` is set. See [Sidebar in a Custom Layout](?path=/docs/layouts-sidebar-in-a-custom-layout--docs).
547
- - Nothing of the built-in layouts is rendered for it. A project layout finalizes over the spec's `finalizeAction` components, see the finalize paragraph of [Hooks for a Project Layout](#hooks-for-a-project-layout). The `finalizePage` and `finalizeButton` components are legacy: they cannot be declared in YAML, only in TypeScript, and `Legacy.CommonFinalizePage`, which is deprecated, shows a `finalizePage` for projects that still have one. `LayoutDialog` renders only what the project registers with `createLayoutDialog` and is not part of the finalize flow. The preview start screen is `DesktopPreview` or `MobilePreview`, which the layout shows while `phx.frontend.usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `phx.frontend.useSceneSafeArea()` only while `isPreview` is not set; it then measures when it mounts after the preview. The assistant panel is available to a project layout only inside `LayoutSlots.DesktopSidebar`.
566
+ - Nothing of the built-in layouts is rendered for it. A project layout finalizes over the spec's `finalizeAction` components, see the finalize paragraph of [Hooks for a Project Layout](#hooks-for-a-project-layout). The `finalizePage` and `finalizeButton` components are legacy: they cannot be declared in YAML, only in TypeScript, and `Legacy.CommonFinalizePage`, which is deprecated, shows a `finalizePage` for projects that still have one. `LayoutDialog` renders only what the project registers with `createLayoutDialog` and is not part of the finalize flow. The preview start screen is `DesktopPreview` or `MobilePreview`, which the layout shows while `phx.frontend.usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `phx.frontend.useSceneSafeArea()` only while `isPreview` is not set; it then measures when it mounts after the preview. The assistant panel is available to a project layout only inside `LayoutSlots.DesktopSidebar`. Its composer offers Annotate, which freezes the view for the user to draw and comment on, only in the built-in layout, which hosts the annotation editor over the configurator; a project layout gets the panel without it.
548
567
  - The layout reads the state it has to react to from hooks, listed with what each returns in [Hooks for a Project Layout](#hooks-for-a-project-layout).
549
- - Messages for the user come one of two ways. `LayoutSlots.Services` shows violations of a rejected change, side-effect hints, errors and failed saves as the built-in snackbars, which render into `LayoutSlots.DesktopSnackbarsRoot` or `LayoutSlots.MobileSnackbarsRoot` wherever the layout mounts it. `phx.frontend.useConfiguratorMessages(onMessage)` hands the same messages to the layout's own UI instead, with their text resolved, as the toast in [Custom Layout](?path=/docs/layouts-custom-layout--docs#show-messages) does; mount one of the two, not both, or every message is shown twice. A failure to save the configuration, and the first successful save after it, are messages too, so a layout that mounts neither shows no sign of a failed save. An error of the built-in finalize and other actions stays a snackbar either way. It renders into the snackbar root, so a layout that mounts none shows it outside the configurator, in the page's `body`. A failure to start a configuration from a preset is not a message of the hook either: it happens on the preset screen, before any `ConfiguratorLayout` mounts. In production with more than one preset it is a snackbar there, also on a preset screen replaced with `createPresetUi` (see [Preset UI](#preset-ui)), which reads the error from `phx.frontend.usePresetSelection().selectionError` and mounts `PresetSnackbarsRoot` to keep the snackbar inside the configurator. With a single preset it is the [Configurator Error Page](#configurator-error-page). A finalize action the layout runs with `phx.frontend.useFinalizeActions` or `phx.frontend.useFinalizeAction` reports its error as the action's `error` instead, neither as a message nor as a snackbar.
568
+ - Messages for the user come one of two ways. `LayoutSlots.Services` shows violations of a rejected change, side-effect hints, errors and failed saves as the built-in snackbars, which render into `LayoutSlots.DesktopSnackbarsRoot` or `LayoutSlots.MobileSnackbarsRoot` wherever the layout mounts it; the theme styles them, see [Layout Slots → Styling the snackbars](?path=/docs/phoenix-layout-slots--docs#styling-the-snackbars). `phx.frontend.useConfiguratorMessages(onMessage)` hands the same messages to the layout's own UI instead, with their text resolved, as the toast in [Custom Layout](?path=/docs/layouts-custom-layout--docs#show-messages) does; mount one of the two, not both, or every message is shown twice. A failure to save the configuration, and the first successful save after it, are messages too, so a layout that mounts neither shows no sign of a failed save. An error of the built-in finalize and other actions stays a snackbar either way. It renders into the snackbar root, so a layout that mounts none shows it outside the configurator, in the page's `body`. A failure to start a configuration from a preset is not a message of the hook either: it happens on the preset screen, before any `ConfiguratorLayout` mounts. In production with more than one preset it is a snackbar there, also on a preset screen replaced with `createPresetUi` (see [Preset UI](#preset-ui)), which reads the error from `phx.frontend.usePresetSelection().selectionError` and mounts `PresetSnackbarsRoot` to keep the snackbar inside the configurator. With a single preset it is the [Configurator Error Page](#configurator-error-page). A finalize action the layout runs with `phx.frontend.useFinalizeActions` or `phx.frontend.useFinalizeAction` reports its error as the action's `error` instead, neither as a message nor as a snackbar.
550
569
  - Any project layout element named `ConfiguratorLayout` takes over the page.
551
570
 
552
- `defaultConfiguratorElements`, exported from `@salsita-ai/sdk/configurator`, holds the built-in UI as a `ConfiguratorLayout` registration that renders the layout the spec selects, the built-in not-found page as a `ConfigurationNotFoundPage` registration, the built-in not-authenticated page as a `NotAuthenticatedPage` registration, the built-in preset screen as a `PresetUi` registration, the built-in error page as a `ConfiguratorErrorPage` registration, the app loader's built-in content as an `AppLoaderContent` registration, and the built-in in-scene controls under the names of [In-Scene Controls](#in-scene-controls). Generated code registers these defaults with `withDefaultElements`, apart from the project's elements, so the built-in UI is a registration like any other; a project element registered under the same name wins over a default. The list also holds the configurator's built-in controls and layout elements under the kinds the spec names them by, such as `attributeSelect` or `undoToolbarButton`, so a project element registered under one of those names replaces the built-in one wherever the spec names that kind. A config assembled by hand, without generated code, calls `withDefaultElements(defaultConfiguratorElements)` too; the lists are the only way the built-in elements are registered, so without it the page shows a "not found" box instead of the configurator, and a project layout shows one in place of every built-in control. The admin mounts a full configurator, so its list, `defaultAdminElements` from `@salsita-ai/sdk/admin`, holds the configurator's defaults followed by the admin's built-in pages, sidebars and actions; generated admin code passes it to `withDefaultElements` in place of `defaultConfiguratorElements`, because each call replaces the defaults passed before.
571
+ `defaultConfiguratorElements`, exported from `@salsita-ai/sdk/configurator`, holds the built-in UI as a `ConfiguratorLayout` registration that renders the layout the spec selects, the built-in not-found page as a `ConfigurationNotFoundPage` registration, the built-in not-authenticated page as a `NotAuthenticatedPage` registration, the built-in preset screen as a `PresetUi` registration, the built-in error page as a `ConfiguratorErrorPage` registration, the app loader's built-in content as an `AppLoaderContent` registration, and the built-in in-scene controls under the names of [In-Scene Controls](#in-scene-controls). Generated code registers these defaults with `withDefaultElements`, apart from the project's elements, so the built-in UI is a registration like any other; a project element registered under the same name wins over a default. The list also holds the configurator's built-in controls and layout elements under the kinds the spec names them by, such as `attributeSelect` or `undoToolbarButton`, so a project element registered under one of those names replaces the built-in one wherever the spec names that kind. A config assembled by hand, without generated code, calls `withDefaultElements(defaultConfiguratorElements)` too; the lists are the only way the built-in elements are registered, so without it the page shows a "not found" box instead of the configurator, and a project layout shows one in place of every built-in control. The defaults also hold the configurator's visual providers and the error page and dialog its runtime renders, and a config without them runs the lifecycle without them, with a plain error message in place of the error page. Without them nothing provides the responsive context, so an SDK layout slot that reads it, for example `LayoutSlots.SharedCanvas`, stops the configurator with that plain error message instead of showing a "not found" box, and snackbar messages have no host. The admin mounts a full configurator, so its list, `defaultAdminElements` from `@salsita-ai/sdk/admin`, holds the configurator's defaults followed by the admin's built-in pages, sidebars and actions; generated admin code passes it to `withDefaultElements` in place of `defaultConfiguratorElements`, because each call replaces the defaults passed before.
553
572
 
554
573
  #### Hooks for a Project Layout
555
574
 
@@ -562,7 +581,7 @@ A project layout reads the product and the configurator's state through hooks, a
562
581
  | `phx.frontend.useRootEntityId()` | The id of the root entity, which the control hooks take. |
563
582
  | `phx.frontend.useSelectedDomainEntityId()` | The id of the selected entity, or the root entity's id while nothing is selected. |
564
583
  | `phx.frontend.useFirstRootComponent(componentType)` | The first component of that type on the root entity as `{ componentInstance, state }`, or `null` without one. It takes a component type such as `detailComponent` from `@salsita-ai/sdk/domain`, or an array of them. The `detail` component's `state` is `{ title, subtitle, description, thumbnailUrl? }`, all `Localizable`. |
565
- | `phx.frontend.useComponents({ componentTypes, entityIds?, instanceNames? })` | Every matching component on any entity, as `{ componentInstance, state }[]`. Its type on `phx.frontend` includes `null`, but it returns an empty array when nothing matches. |
584
+ | `phx.frontend.useComponents({ componentTypes?, entityIds?, instanceNames? })` | Every matching component on any entity, an omitted field matching everything, as `{ componentInstance, state }[]`. Its type on `phx.frontend` includes `null`, but it returns an empty array when nothing matches. |
566
585
  | `phx.frontend.useRootEntityPrice()` and `phx.frontend.useEntityPrice(entityId)` | The value of the entity's `price` component formatted as currency for the current locale, in the component's `currency` or `USD`, or `null` without a `price` component. |
567
586
 
568
587
  **Controls**
@@ -598,7 +617,7 @@ Texts from the spec, such as option titles and the `detail` fields, are `Localiz
598
617
 
599
618
  **Steps and tabs**
600
619
 
601
- A project layout builds its steps and tabs from the spec, so the structure stays in `navigationSteps`, `sidebarTabs` and `horizontalTabs`, where `$filter` switches it, and the layout decides how it looks. `phx.frontend.useStepNavigation()` gives a wizard its steps with a `status` each, and `next`, `previous` and `goTo`; `phx.frontend.useTabNavigation()` gives tabs with `isActive` each, and `select`. Both enter a navigation state, so controls, cameras and components filtered by `navigationStates` follow. Neither hides anything in read mode or blocks a step on violations: a layout that should not move on while the configuration is invalid combines `canGoNext` with `useStateValidity()`, and a stepper that offers only earlier steps enables the steps whose `status` is `'complete'`.
620
+ A project layout builds its steps and tabs from the spec, so the structure stays in `navigationSteps`, `sidebarTabs` and `horizontalTabs`, where `$filter` switches it, and the layout decides how it looks. `phx.frontend.useStepNavigation()` gives a wizard its steps with a `status` each, and `next`, `previous` and `goTo`; `phx.frontend.useTabNavigation()` gives tabs with `isActive` each, and `select`. Both enter a navigation state, so controls, cameras and components filtered by `navigationStates` follow. Neither hides anything in read mode or blocks a step on violations: a layout that should not move on while the configuration has a problem requires `phx.frontend.useStateValidity().severity !== 'warning'` besides `canGoNext`, because a change with a `fixable` or `fatal` violation is rejected and the committed configuration is never invalid, while a `warning` stays and blocks finalizing. A stepper that offers only earlier steps enables the steps whose `status` is `'complete'`.
602
621
 
603
622
  ```tsx
604
623
  export const Wizard = () => {
@@ -632,21 +651,22 @@ export const Wizard = () => {
632
651
 
633
652
  A layout builds its toolbar from `phx.frontend.useToolbarActions()`, which returns the entries of the spec's `toolbar`, or of the default toolbar without one, as data with the function that runs each; or it places single actions with the per-action hooks below. Each hook does what the built-in toolbar button of the same action does and pushes the same analytics events; opening and closing the layout's own dialogs and popovers push none. `useToolbarActions`, `useMeasurements` and `useAssistantPanel` are exported from `@salsita-ai/sdk/configurator` besides `phx.frontend`, not from `@salsita-ai/sdk/react`. `useToolbarState()` from `@salsita-ai/sdk/configurator` is deprecated in favour of `useToolbarActions()`, or of mounting `LayoutSlots.DesktopToolbar` to keep project element overrides, and `useShareData()` and `useShareSettings()` in favour of `useShareLinks()`. Undo and redo for a single button are `phx.frontend.useUndoRedo()` above, fullscreen is `useIsFullscreenActive()` with `useSetFullscreen()`, and the camera reset is `useResetCamera()`.
634
653
 
635
- | Hook | Returns |
636
- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
637
- | `phx.frontend.useToolbarActions(placement?)` | `{ groups, actions }` for `placement` `'desktop'` (the default), `'mobile'` or `'mobileMenu'`, the `toolbar` component's list of that name. `groups` follows the spec's `toolbarButtonGroup`s, an element outside a group being a group of one, and `actions` is the same entries flattened. Each entry has `key`, `kind`, `label` (the built-in button's title in the current language), and `icon` and `showTitle` from the element's props. By `kind`: `undo` and `redo` with `disabled` and `run`; `fullscreen` with `active` and `run`, which toggles the fullscreen flag; `resetCamera` with `run`; `share`, for which the layout opens its own dialog over `useShareLinks`; `measurements` with `measurements`, the result of `useMeasurements` with the element's `showIndicatorSwitch` applied, and `icons`, the element's icon per unit; `language` with `language`, the result of `useLocaleSwitch`; `help` with `Content`, a component that renders the element's children or else the help registered with `createToolbarHelp`; `assistant` with `assistant`, the result of `useAssistantPanel`, and `run`, which opens or closes the panel; `custom` with `name` and `Element`, which renders the project element a `customLayoutElement` names. It leaves out an entry with nothing to offer, such as share with sharing disabled or language with one locale, and an element that is not a toolbar entry. A project element registered under a built-in kind, such as `undoToolbarButton`, replaces that button in `LayoutSlots.DesktopToolbar` but not here. As with `LayoutSlots.DesktopToolbar`, the default toolbar leaves out share, undo and redo for a viewer, and a configured `toolbar` is returned as written. Four differences from the built-in toolbar: the entries keep the spec's order for every placement, where `LayoutSlots.MobileToolbar` renders the `mobile` list reversed; a `toolbarButtonGroup` nested in a group is flattened into it, where the built-in toolbar nests it; the assistant's `showTitle` is the spec's, where the built-in button also hides its title on a phone or tablet-sized layout; and a `helpMenuAction` without children shows the registered help, where the built-in menu action shows an empty dialog. |
638
- | `phx.frontend.useMeasurements(options?)` | `{ units, unit, setUnit, hasIndicatorSwitch, indicatorsShown, toggleIndicators, available }`: the units the dimension configuration offers, the one dimensions are shown in and a function that changes it; whether the dimension indicators can be switched (`options.showIndicatorSwitch`, else `applicationConfig.indicatorSwitch`, else `true`), whether they show and a function that switches them; and whether there is anything to set, more than one unit or the switch. |
639
- | `phx.frontend.useLocaleSwitch()` | `{ locales, locale, setLocale, available }`: the spec's `availableLocales` as `{ locale, displayName }`, each named in its own language, the active locale, a function that activates one, and whether there is more than one to choose from. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
640
- | `phx.frontend.useShareLinks(options?)` | `{ available, ownerLinkAvailable, readLinkAvailable, ownerLink, readLink, isLoading }`: whether sharing is offered and which kinds of link the application config enables, a link that opens the configuration for editing and one that opens its current revision for viewing, each `null` until generated, and whether one is still being generated. While enabled, each commit of the configuration generates a new read link. Generating a link saves the configuration, so a layout passes `{ enabled: open }` with whether its share dialog is open; `enabled` is `true` by default. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
641
- | `phx.frontend.useAssistantPanel()` | `{ available, open, hasUnreadReply, setOpen }`: whether the spec has an `assistant`, whether its panel is open, whether it replied while closed, and a function that opens or closes it. The panel renders only inside `LayoutSlots.DesktopSidebar`, so a layout without that slot does not offer it. |
654
+ | Hook | Returns |
655
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
656
+ | `phx.frontend.useToolbarActions(placement?)` | `{ groups, actions }` for `placement` `'desktop'` (the default), `'mobile'` or `'mobileMenu'`, the `toolbar` component's list of that name. `groups` follows the spec's `toolbarButtonGroup`s, an element outside a group being a group of one, and `actions` is the same entries flattened. Each entry has `key`, `kind`, `label` (the built-in button's title in the current language), and `icon` and `showTitle` from the element's props. By `kind`: `undo` and `redo` with `disabled` and `run`; `fullscreen` with `active` and `run`, which toggles the fullscreen flag; `resetCamera` with `run`; `share`, for which the layout opens its own dialog over `useShareLinks`; `measurements` with `measurements`, the result of `useMeasurements` with the element's `showIndicatorSwitch` applied, and `icons`, the element's icon per unit; `language` with `language`, the result of `useLocaleSwitch`; `help` with `Content`, a component that renders the element's children, which is how the spec declares help content (see [Toolbar](?path=/docs/layouts-toolbar--docs)), or else the help registered with the legacy `createToolbarHelp`; `assistant` with `assistant`, the result of `useAssistantPanel`, and `run`, which opens or closes the panel; `custom` with `name` and `Element`, which renders the project element a `customLayoutElement` names. It leaves out an entry with nothing to offer, such as share with sharing disabled or language with one locale, and an element that is not a toolbar entry. A project element registered under a built-in kind, such as `undoToolbarButton`, replaces that button in `LayoutSlots.DesktopToolbar` but not here. As with `LayoutSlots.DesktopToolbar`, the default toolbar leaves out share, undo and redo for a viewer, and a configured `toolbar` is returned as written. Four differences from the built-in toolbar: the entries keep the spec's order for every placement, where `LayoutSlots.MobileToolbar` renders the `mobile` list reversed; a `toolbarButtonGroup` nested in a group is flattened into it, where the built-in toolbar nests it; the assistant's `showTitle` is the spec's, where the built-in button also hides its title on a phone or tablet-sized layout; and a `helpMenuAction` without children shows the legacy registered help, where the built-in menu action shows an empty dialog. |
657
+ | `phx.frontend.useMeasurements(options?)` | `{ units, unit, setUnit, hasIndicatorSwitch, indicatorsShown, toggleIndicators, available }`: the units the dimension configuration offers, the one dimensions are shown in and a function that changes it; whether the dimension indicators can be switched (`options.showIndicatorSwitch`, else `applicationConfig.indicatorSwitch`, else `true`), whether they show and a function that switches them; and whether there is anything to set, more than one unit or the switch. |
658
+ | `phx.frontend.useLocaleSwitch()` | `{ locales, locale, setLocale, available }`: the root entity's `applicationConfig.availableLocales` (`['en']` without it) as `{ locale, displayName }`, each named in its own language, the active locale, a function that activates one, and whether there is more than one to choose from. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
659
+ | `phx.frontend.useShareLinks(options?)` | `{ available, ownerLinkAvailable, readLinkAvailable, ownerLink, readLink, isLoading }`: whether sharing is offered and which kinds of link the application config enables, a link that opens the configuration for editing and one that opens its current revision for viewing, each `null` until generated, and whether one is still being generated. While enabled, each commit of the configuration generates a new read link. Generating a link saves the configuration, so a layout passes `{ enabled: open }` with whether its share dialog is open; `enabled` is `true` by default. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
660
+ | `phx.frontend.useAssistantPanel()` | `{ available, open, hasUnreadReply, setOpen }`: whether the spec has an `assistant`, whether its panel is open, whether it replied while closed, and a function that opens or closes it. The panel renders only inside `LayoutSlots.DesktopSidebar`, so a layout without that slot does not offer it. |
642
661
 
643
662
  **Violations**
644
663
 
645
664
  | Hook | Returns |
646
665
  | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
647
- | `phx.frontend.useStateValidity()` | The validity of the last committed state: `{ valid: true, severity: null }`, or `{ valid: true, severity: 'notice' \| 'warning', entityViolations }`. A change that leaves a `fixable` or `fatal` violation is rejected and never committed, and neither is a change during which an error was thrown, so neither is seen here. |
666
+ | `phx.frontend.useStateValidity()` | The validity of the last committed state: `{ valid: true, severity: null }` without violations, or `{ valid: true, severity, entityViolations }`, where `severity` is the most severe violation: `'notice'`, which restricts nothing, or `'warning'`, which blocks finalizing. `entityViolations` lists every violation. A change that leaves a `fixable` or `fatal` violation is rejected and never committed, and neither is a change during which an error was thrown, so neither is seen here. |
648
667
  | `phx.frontend.useFinalizeViolations()` | `{ disabled, hints, violations }`. `disabled` is `true` while a `warning`, `fixable` or `fatal` violation holds or the configuration failed to save; `hints` is the violations' text, or `undefined`. |
649
668
  | `phx.frontend.useConfiguratorMessages(onMessage)` | Nothing. It calls `onMessage(message)` once per message: `{ kind: 'violation', entityId, violation, text }` for each violation of the rejected state, including notices and warnings already present, so `violation.severity` tells the reason for the rejection (`fixable` or `fatal`) from them, `{ kind: 'sideEffect', text }` for each hint of a committed update, `{ kind: 'error', error, text }` when an error is thrown while a change is validated, with `text` the generic "Oops, something went wrong", `{ kind: 'saveError', error, text }` each time saving the configuration fails, with `error` what the save rejected with and `text` a generic message, and `{ kind: 'saveRecovery', text }` when a save succeeds after a failed one, with `text` "Configuration updated". `text` is resolved to the current language; a violation's is its `message`, or its `type` without one, and the built-in snackbar prefixes it with `entityId`. Hints committed before the layout mounted are not delivered, nor is a save that failed before it mounted; when the most recent change was rejected or threw, its messages are delivered again when the hook mounts. `onMessage` may be a new function on every render. On `phx.frontend` the message is typed by the project, so `violation.type` narrows to its violation types; from `@salsita-ai/sdk/react` the type is `ConfiguratorMessage`. |
669
+ | `phx.frontend.useConfigurationSaveState()` | `{ revisionId, isSaving, failure }`, the save status of the configuration. An editable configuration saves every committed change on its own, three seconds after the last one, and a read-only one never saves. `revisionId` is the revision the configuration is at: the loaded one, then the one the latest save created. `isSaving` is `true` while a save runs. `failure` is `{ error, timestamp }` of the latest failed save, with `timestamp` in milliseconds since the epoch, and `null` once a later save succeeds or another configuration loads. A layout shows a save indicator with it; the messages of a failed save and of its recovery come from `useConfiguratorMessages`. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
650
670
  | `phx.frontend.useFinalizeAction(handler)` | `{ run, isPending, error, disabled, hints }` for the `finalizeAction` whose `handler` it is given; see the Finalize paragraph below for how to call it. `run()` records the finalize-button click for analytics and runs the project's handler, does nothing while `disabled` or `isPending`, and returns a promise that resolves once the handler has settled and never rejects; `error` is what the handler's last run rejected with, or `null`; `disabled` and `hints` are those of `useFinalizeViolations()`. The type of the result is `UseFinalizeActionResult` from `@salsita-ai/sdk/configurator`, which also exports the hook. |
651
671
  | `phx.frontend.useFinalizeActions()` | `{ actions, primary, secondary, disabled, hints }`: every active `finalizeAction` of the spec in spec order, `primary` the first `'primary'` one, or else the first, or `null`, and `secondary` the others; see the Finalize paragraph below. Each action is `{ key, handler, variant, label, title, icon, run, isPending, error, disabled }`, with `label` and `title` resolved; `run()` records the finalize-button click for analytics and runs the action's handler, does nothing while `disabled` or `isPending`, and returns a promise that never rejects. `disabled` and `hints` are those of `useFinalizeViolations()`. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
652
672
 
@@ -654,7 +674,7 @@ A layout builds its toolbar from `phx.frontend.useToolbarActions()`, which retur
654
674
 
655
675
  **Finalize**
656
676
 
657
- A project layout finalizes over the spec's `finalizeAction` components, each `{ variant, label, title, icon, handler }`, where `variant` is `'primary'` or `'secondary'` and `handler` names the project's handler registered with `phx.frontend.createPhoenixHandler`. `phx.frontend.useFinalizeActions()` is the convenient way: it lists them with what a button needs, runs their handlers itself, and can be called anywhere in the layout, including a dialog the layout opens with `useModal`, as often as it likes. It returns:
677
+ A project layout finalizes over the spec's `finalizeAction` components, each `{ variant, label, title, icon, handler }`, where `variant` is `'primary'` or `'secondary'` and `handler` names the project's handler registered with `phx.frontend.createPhoenixHandler`. `phx.frontend.useFinalizeActions()` is the convenient way: it lists them with what a button needs, runs their handlers itself, and can be called anywhere in the layout, including a dialog the layout opens with `useModal`, as often as it likes; [Custom Layout](?path=/docs/layouts-custom-layout--docs#request-a-quote) offers its primary action this way in its review step. It returns:
658
678
 
659
679
  - `actions`, every active `finalizeAction` in spec order, and `primary` and `secondary`, the same actions split as the built-in footer splits them: `primary` is the first `'primary'` action, or else the first action, or `null` without any, and `secondary` the others in spec order.
660
680
  - `disabled` and `hints`, those of `useFinalizeViolations()`: finalizing is not possible while a `warning`, `fixable` or `fatal` violation holds or the configuration failed to save, and `hints` says why.
@@ -698,7 +718,7 @@ export const Finalize = () => {
698
718
 
699
719
  The configurator runs the handlers outside the layout, beside it, whenever a configuration is open, also in read mode and on every step. A handler can use what the configurator provides, such as `useModal`, but not a provider the layout itself adds; such a handler fails to load and shows as that action's `error`. An action's `isPending` and `error` are kept while the layout re-renders and while its components unmount and mount again.
700
720
 
701
- To run a single action the layout already knows, `phx.frontend.useFinalizeAction(handler)` runs it in the layout itself and returns `{ run, isPending, error, disabled, hints }`, with the same meaning. It runs the project's handler factory, which calls hooks, so the layout calls it once per component, never in a loop or conditionally, and wraps that component in `<PhoenixHandlerBoundary name={handler}>` from `@salsita-ai/sdk/react`, so an edited handler takes effect without a reload. Its `isPending` and `error` belong to the mounted component: when it unmounts during a run, the handler keeps running, and a component mounted afterwards starts with `isPending` false and no `error`. [Custom Layout](?path=/docs/layouts-custom-layout--docs#request-a-quote) runs a finalize action this way from its review step.
721
+ To run a single action the layout already knows, `phx.frontend.useFinalizeAction(handler)` runs it in the layout itself and returns `{ run, isPending, error, disabled, hints }`, with the same meaning. It runs the project's handler factory, which calls hooks, so the layout calls it once per component, never in a loop or conditionally, and wraps that component in `<PhoenixHandlerBoundary name={handler}>` from `@salsita-ai/sdk/react`, so an edited handler takes effect without a reload. Its `isPending` and `error` belong to the mounted component: when it unmounts during a run, the handler keeps running, and a component mounted afterwards starts with `isPending` false and no `error`.
702
722
 
703
723
  Neither hook checks read mode, so the layout hides finalizing while `accessInfo.viewMode` is `true`, as above.
704
724
 
@@ -706,67 +726,129 @@ Instead of its own buttons, a project layout can mount `<FinalizeActions />` fro
706
726
 
707
727
  ## TransformerBuilder
708
728
 
709
- Use `transformerBuilder` to create entity transformers:
729
+ `transformerBuilder` creates a transformer: a rule that adds updates to a change before it is validated, for example to keep a cabinet's door count in step with its width.
710
730
 
711
731
  ```typescript
712
- // Create a transformer that runs when specific conditions are met
713
- const cabinetTransformer = phx.frontend.transformerBuilder.when(Cabinet.is).do((cabinet, context) => {
714
- // Transform cabinet data
715
- return {
716
- ...cabinet,
717
- $computedField: calculateSomething(cabinet),
718
- }
719
- })
732
+ // src/transformers/fixCabinetDoors.ts
733
+ export default phx.frontend.transformerBuilder.when
734
+ .entity(['Cabinet'])
735
+ .modified({ atFields: ['width'] })
736
+ .then.applySideEffect(ctx => [
737
+ phx.frontend.updates.DomainEntityModification({
738
+ entityId: ctx.update.entityId,
739
+ stateDelta: { doorCount: ctx.update.stateDelta.width > 600 ? 2 : 1 },
740
+ updateTag: 'fixCabinetDoors',
741
+ }),
742
+ ])
743
+ .build('fixCabinetDoors')
720
744
  ```
721
745
 
722
- **Note**: The deprecated `createTransformer` function should not be used for new implementations.
746
+ ```yaml
747
+ transformers:
748
+ - name: fixCabinetDoors
749
+ ```
750
+
751
+ - `when` picks the updates the transformer reacts to, here a change of a cabinet's `width`, and `then.applySideEffect` returns the updates applied with each of them, built with the [updates factory](#updates-factory).
752
+ - Default-export the transformer from a file in `src/transformers/` and list it in the spec's `transformers` section. The entry's `name` is the name passed to `build`, and the file carries the same name, with case and dashes ignored. A name without a matching file fails the spec check; a name that matches a file but not its `build` name fails when the configurator starts.
753
+ - `priority` is optional, and a lower number runs earlier. The SDK's own transformers run at priorities 10 to 100, and a transformer without a priority runs after them, in spec order, and after the step that turns the controls' component writes into entity updates. Leave it out for a transformer like this one: with a priority it runs before that step, so a width set with a slider reaches it as a component write, which `modified` does not match, and it never fires. See the [transformer pipeline](?path=/docs/other-features-transformers--docs).
754
+ - The transformer also runs when a control dry-runs an option to decide whether to disable it, so it only returns updates and stays cheap.
755
+
756
+ [Transformers](?path=/docs/other-features-transformers--docs) explains the triggers, the context and the actions. `transformerBuilder` replaces the deprecated transformer factory of `phx.frontend`; do not use that factory for new transformers.
723
757
 
724
758
  ## Updates Factory
725
759
 
726
- The `updates` factory creates type-safe entity updates:
760
+ `phx.frontend.updates` builds the updates that change the configuration, typed by your domain model. Transformers return them, and a project control hands them to a control hook that commits them.
727
761
 
728
- ```typescript
729
- const { storeSystem } = phx.frontend.useDomain()
762
+ | Member | Update |
763
+ | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
764
+ | `DomainEntityModification({ entityId, stateDelta, updateTag })` | Sets the fields of `stateDelta` on the entity. |
765
+ | `DomainEntityCreation({ entity, parentId, collection?, updateTag })` | Adds `entity`, with its own `id`, under the parent; `collection` names the parent's relation it joins, such as `'Cabinet.$shelves'`. |
766
+ | `DomainEntityReplacement({ entityId, replacementEntity, keepChildren, updateTag })` | Replaces the entity with `replacementEntity`, keeping its children when `keepChildren` is `true`. |
767
+ | `EntityDeletion({ entityId, updateTag })` | Deletes the entity; the entities it is composed of are deleted with it. |
768
+ | `ComponentModification({ componentInstance, writableState, updateTag })` | Writes a component's writable state, as the built-in controls do. Project code prefers the entity updates, which keep the intent in the model. |
730
769
 
731
- // Create new entity
732
- const createUpdates = phx.frontend.updates.create({
733
- type: 'Cabinet',
734
- width: 800,
735
- height: 2000,
736
- })
770
+ The factory also has `EphemeralRecordCreation`, `EphemeralRecordModification` and `EphemeralRecordDeletion`. Every update takes `updateTag`, a name for why it was made, which tracing shows and the [update type guards](#update-type-guards) match. An update can also take `hint`, a text shown to the user as a side-effect message once the change is committed, see `useConfiguratorMessages`.
771
+
772
+ A UI applies updates through a control hook. It dry-runs them against the invariants and returns `{ disabled, hints, update, stage, trace }`: `disabled` is `true` when the change would be rejected, because it leaves a `fixable` or `fatal` violation, and `hints` says why; `update()` commits the change, `stage()` shows it without committing, and `trace()` logs the dry run. `useUpdatedControl(updates, fixableViolations?)` takes one set of updates:
773
+
774
+ ```tsx
775
+ // src/elements/WidenCabinet.tsx
776
+ import { useMemo } from 'react'
777
+
778
+ export default phx.frontend.createCustomPhoenixEntityElement('WidenCabinet', () => {
779
+ const cabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
780
+
781
+ const updates = useMemo(
782
+ () =>
783
+ cabinet
784
+ ? [
785
+ phx.frontend.updates.DomainEntityModification({
786
+ entityId: cabinet.id,
787
+ stateDelta: { width: cabinet.width + 100 },
788
+ updateTag: 'widenCabinet',
789
+ }),
790
+ ]
791
+ : [],
792
+ [cabinet]
793
+ )
794
+ const { update, disabled, hints } = phx.frontend.useUpdatedControl(updates)
737
795
 
738
- // Modify existing entity
739
- const modifyUpdates = phx.frontend.updates.modify(cabinetId, {
740
- width: 1000,
796
+ return (
797
+ <button type="button" disabled={!cabinet || disabled} title={hints} onClick={() => update()}>
798
+ Widen by 100 mm
799
+ </button>
800
+ )
741
801
  })
802
+ ```
742
803
 
743
- // Delete entity
744
- const deleteUpdates = phx.frontend.updates.delete(cabinetId)
804
+ `useUpdateControl(fixableViolations?)` returns the same as a function, for a list of options each with its own updates:
745
805
 
746
- // Apply updates
747
- storeSystem.stageAndCommit(createUpdates)
806
+ ```typescript
807
+ const prepare = phx.frontend.useUpdateControl()
808
+
809
+ const widthOptions = [600, 800, 1000].map(width => ({
810
+ width,
811
+ ...prepare([
812
+ phx.frontend.updates.DomainEntityModification({
813
+ entityId: cabinet.id,
814
+ stateDelta: { width },
815
+ updateTag: 'setCabinetWidth',
816
+ }),
817
+ ]),
818
+ }))
748
819
  ```
749
820
 
821
+ - `fixableViolations` leaves those violation types out of `hints`; the control stays disabled while the change would leave them, unless a transformer repairs the change in the dry run.
822
+ - To add entities from the UI, prefer recipes with `useGroupedRecipeOptions` and `useCookedRecipes`, and to replace one, `useReplaceEntityRecipeOptions` and `useCookedReplaceRecipes`; recipes give the new entities fresh ids.
823
+ - `storeSystem.stageAndCommit(updates)` from `phx.frontend.useDomain()` commits updates without the dry run, so the UI cannot disable a change that would be rejected; the control hooks call it for you.
824
+
750
825
  ### Update Type Guards
751
826
 
752
827
  ```typescript
753
- // Check update types
754
- phx.frontend.isCreateEntityUpdate(update)
755
- phx.frontend.isReplaceEntityUpdate(update)
756
- phx.frontend.isDeleteEntityUpdate(update)
757
- phx.frontend.isAngleDimensionUpdate(update)
758
- phx.frontend.isDistanceDimensionUpdate(update)
759
- phx.frontend.isAttributeSelectionUpdate(update)
760
- phx.frontend.isSwatchSelectionUpdate(update)
828
+ // Updates of the built-in recipe and delete controls, for the given entity types
829
+ phx.frontend.isCreateEntityUpdate(update, ['Shelf'])
830
+ phx.frontend.isReplaceEntityUpdate(update, ['Cabinet'])
831
+ phx.frontend.isDeleteEntityUpdate(update, ['Shelf'])
832
+
833
+ // Updates of a built-in control, for the given entity types and the instance name of its component
834
+ phx.frontend.isAttributeSelectionUpdate(update, ['Cabinet'], 'finish')
835
+ phx.frontend.isAttributeSwitchUpdate(update, ['Cabinet'], 'softClose')
836
+ phx.frontend.isSwatchSelectionUpdate(update, ['Cabinet'], 'frontMaterial')
837
+ phx.frontend.isTextValueUpdate(update, ['Cabinet'], 'engraving')
838
+ phx.frontend.isDistanceDimensionUpdate(update, ['Cabinet'], 'width')
839
+ phx.frontend.isAngleDimensionUpdate(update, ['Cabinet'], 'doorAngle')
840
+ phx.frontend.isGenericDimensionUpdate(update, ['Cabinet'], 'shelfCount')
761
841
  ```
762
842
 
843
+ Each guard also checks the `updateTag` the SDK's control or recipe sets, so it does not match an update a project builds with its own tag.
844
+
763
845
  ## Admin Interface
764
846
 
765
847
  For admin panel development, use `phx.frontend.admin`:
766
848
 
767
849
  ```typescript
768
850
  // Admin-specific hooks
769
- const entityState = phx.frontend.admin.useEntityState(AdminEntity, entityId)
851
+ const entityState = phx.frontend.admin.useEntityState(entityId)
770
852
  const selectEntity = phx.frontend.admin.useSelectEntity()
771
853
  const domain = phx.frontend.admin.useDomain()
772
854
  ```
@@ -793,7 +875,7 @@ to the built-in configuration-not-found page. The admin shows the built-in page
793
875
  In this guide, we covered Phoenix's Configurator Interface:
794
876
 
795
877
  - **Global namespace** - Access via `phx.frontend` and `Phx` type namespace
796
- - **Auto-generation** - Interface is generated in `.phoenix/configurator-interface.ts`
878
+ - **Auto-generation** - Interface is generated in `.phoenix/configurator-globals.ts`
797
879
  - **Core hooks** - State, selection, navigation, controls, validation, and more
798
880
  - **Handler functions** - Lifecycle providers and UI component factories
799
881
  - **TransformerBuilder** - Type-safe entity transformations