@salsita-ai/sdk 0.50.0-develop.bc08a38ffe → 0.50.0-develop.bc204720a8

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 (2230) hide show
  1. package/README.md +31 -17
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +3 -3
  4. package/dist/admin/default-admin-elements.d.ts +9 -0
  5. package/dist/admin/default-admin-elements.js +1 -0
  6. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  8. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  9. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  10. package/dist/admin/default-elements/index.d.ts +2 -0
  11. package/dist/admin/default-elements/index.js +1 -0
  12. package/dist/admin/index.d.ts +1 -0
  13. package/dist/admin/index.js +1 -1
  14. package/dist/admin/legacy-admin/Application.js +1 -1
  15. package/dist/application/index.d.ts +1 -0
  16. package/dist/application/index.js +1 -1
  17. package/dist/application/mount-application.d.ts +1 -1
  18. package/dist/application/mount-application.js +1 -1
  19. package/dist/application/mount-configurator.d.ts +19 -0
  20. package/dist/application/mount-configurator.js +1 -0
  21. package/dist/application/mounted-application-runtime.d.ts +4 -0
  22. package/dist/application/mounted-application-runtime.js +1 -0
  23. package/dist/application/register-web-component.d.ts +2 -0
  24. package/dist/application/register-web-component.js +1 -0
  25. package/dist/application-spec/caching/content-diff.js +1 -1
  26. package/dist/application-spec/caching/index.d.ts +6 -1
  27. package/dist/application-spec/caching/index.js +1 -1
  28. package/dist/application-spec/core/application-file.d.ts +0 -2
  29. package/dist/application-spec/core/application-file.js +1 -1
  30. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  31. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  32. package/dist/application-spec/core/index.d.ts +1 -3
  33. package/dist/application-spec/core/index.js +1 -1
  34. package/dist/application-spec/core/json-schema.d.ts +2 -52
  35. package/dist/application-spec/core/markers/index.d.ts +1 -1
  36. package/dist/application-spec/core/markers/index.js +1 -1
  37. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  38. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  39. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  40. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  41. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  42. package/dist/application-spec/errors/diagnostic-codes.d.ts +25 -1
  43. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  44. package/dist/application-spec/errors/diagnostic-messages.d.ts +33 -2
  45. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  46. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  47. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  48. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  49. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  50. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  51. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  52. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  53. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  54. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  55. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  56. package/dist/application-spec/generate-application/code/index.d.ts +1 -0
  57. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  58. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  59. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +6 -5
  60. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  61. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  62. package/dist/application-spec/generate-application/code/templates/admin-config.d.ts +1 -1
  63. package/dist/application-spec/generate-application/code/templates/admin-config.js +5 -1
  64. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  65. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  66. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  68. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  69. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  70. package/dist/application-spec/generate-application/code/templates/configurator-config.js +7 -4
  71. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  72. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +36 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-base-configurator-builder.js +2 -1
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +6 -6
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +57 -61
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-locale.js +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  90. package/dist/application-spec/generate-application/code/templates/editor.d.ts +1 -1
  91. package/dist/application-spec/generate-application/code/templates/editor.js +16 -3
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  93. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  94. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  95. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -4
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  97. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  99. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  100. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  101. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  102. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  103. package/dist/application-spec/generate-application/code/templates/globals.js +24 -44
  104. package/dist/application-spec/generate-application/code/templates/html-index.d.ts +12 -1
  105. package/dist/application-spec/generate-application/code/templates/html-index.js +9 -10
  106. package/dist/application-spec/generate-application/code/templates/index.d.ts +6 -10
  107. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  108. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  109. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +3 -2
  110. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  111. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  112. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  113. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  118. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +89 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +46 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  132. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  152. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  170. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  171. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  173. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  174. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  175. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  176. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  177. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  178. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  179. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  180. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  181. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  182. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  183. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  184. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  185. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  186. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  187. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  188. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  189. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  190. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  191. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  192. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  193. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  194. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  195. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  196. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  197. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  198. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  199. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  200. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  201. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  202. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  203. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  204. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/assistant-setup.d.ts +3 -0
  205. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/assistant-setup.js +32 -0
  206. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/authentication.d.ts +3 -0
  207. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/authentication.js +42 -0
  208. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/backend-data.d.ts +3 -0
  209. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/backend-data.js +45 -0
  210. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/entry-and-environment.d.ts +3 -0
  211. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/entry-and-environment.js +38 -0
  212. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/finalization.d.ts +3 -0
  213. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/finalization.js +92 -0
  214. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/index.d.ts +1 -0
  215. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/index.js +1 -0
  216. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/publishing.d.ts +3 -0
  217. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/publishing.js +1 -0
  218. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/callback.d.ts +3 -0
  219. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/callback.js +26 -0
  220. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/documents.d.ts +3 -0
  221. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/documents.js +51 -0
  222. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/email.d.ts +3 -0
  223. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/email.js +38 -0
  224. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/index.d.ts +1 -0
  225. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/index.js +1 -0
  226. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/integrations.d.ts +3 -0
  227. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/integrations.js +88 -0
  228. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/links-and-images.d.ts +3 -0
  229. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/links-and-images.js +68 -0
  230. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/tasks.d.ts +3 -0
  231. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/tasks/tasks.js +1 -0
  232. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/webhooks.d.ts +3 -0
  233. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks/webhooks.js +1 -0
  234. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  235. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  236. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  237. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
  238. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  239. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  240. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  241. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  242. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.d.ts +14 -0
  243. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  244. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  245. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  246. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  247. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  248. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  249. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  250. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  251. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +35 -0
  252. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  253. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  254. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  255. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  256. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  257. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  258. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  259. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  260. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  261. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  262. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  263. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  264. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  265. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  266. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  267. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  268. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  269. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  270. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  271. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  272. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  273. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  274. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  275. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  276. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  277. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  278. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  279. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  280. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  281. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  282. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  283. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  284. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  285. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  286. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  287. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  288. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  289. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  290. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  291. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  292. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  293. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  294. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +49 -239
  295. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  296. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  297. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  298. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  299. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  300. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  301. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  302. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  303. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  304. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  305. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  306. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  307. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  308. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  309. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  310. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  311. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +4 -5
  312. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  313. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  314. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  315. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +7 -1
  316. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  317. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  318. package/dist/application-spec/generate-application/index.d.ts +1 -4
  319. package/dist/application-spec/generate-application/index.js +1 -1
  320. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  321. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  322. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  323. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  324. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  325. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  326. package/dist/application-spec/parse-application-files/merge/merged-app-metadata.d.ts +1 -0
  327. package/dist/application-spec/parse-application-files/merge/merged-app-metadata.js +1 -1
  328. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  329. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  330. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  331. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  332. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  333. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  334. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  335. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  336. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  337. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +58 -23
  338. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  339. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  340. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  341. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  342. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.d.ts +1 -0
  343. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  344. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  345. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  346. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  347. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  348. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  349. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  350. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  351. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  352. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  353. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  354. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  355. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  356. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  357. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  358. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  359. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  360. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  361. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  362. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  363. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  364. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  365. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  366. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  367. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  368. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  369. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  370. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  371. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  372. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  373. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  374. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  375. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  376. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  377. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  378. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  379. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  380. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  381. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  382. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +8 -3
  383. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  384. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +9 -7
  385. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  386. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  387. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  388. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  389. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  390. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  391. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +12 -30
  392. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  393. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  394. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  395. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  396. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +5 -3
  397. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  398. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  399. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +6 -16
  400. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  401. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  402. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  403. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  404. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  405. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  406. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  407. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  408. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  409. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  410. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  411. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  412. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  413. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  414. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  415. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  416. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  417. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  418. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  419. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  420. package/dist/application-spec/parse-application-files/spec/model/session-data-schema.js +1 -1
  421. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  422. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  423. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.js +1 -1
  424. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  425. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  426. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  427. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  428. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  429. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  430. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  431. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  432. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  433. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  434. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  435. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  436. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  437. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  438. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  439. package/dist/application-spec/webhook-boundary.js +1 -1
  440. package/dist/client/authorized-client.d.ts +5 -2
  441. package/dist/client/authorized-client.js +1 -1
  442. package/dist/client/contract.d.ts +56 -5
  443. package/dist/client/contract.js +1 -1
  444. package/dist/client/index.d.ts +1 -1
  445. package/dist/client/local-authorized-client.d.ts +4 -1
  446. package/dist/client/local-authorized-client.js +1 -1
  447. package/dist/client/memory-authorized-client.d.ts +5 -1
  448. package/dist/client/memory-authorized-client.js +1 -1
  449. package/dist/client/phoenix-api.d.ts +1581 -305
  450. package/dist/configurator/ConfiguratorApp.js +1 -1
  451. package/dist/configurator/agent-at-work/AgentAtWorkFallback.d.ts +7 -0
  452. package/dist/configurator/agent-at-work/AgentAtWorkFallback.js +1 -0
  453. package/dist/configurator/agent-at-work/AgentAtWorkPage.d.ts +20 -0
  454. package/dist/configurator/agent-at-work/AgentAtWorkPage.js +1 -0
  455. package/dist/configurator/agent-at-work/AgentModeBadge.d.ts +11 -0
  456. package/dist/configurator/agent-at-work/AgentModeBadge.js +1 -0
  457. package/dist/configurator/agent-at-work/StudioMark.d.ts +8 -0
  458. package/dist/configurator/agent-at-work/StudioMark.js +1 -0
  459. package/dist/configurator/agent-at-work/agent-at-work-copy.d.ts +17 -0
  460. package/dist/configurator/agent-at-work/agent-at-work-copy.js +1 -0
  461. package/dist/configurator/agent-at-work/agent-at-work-styles.d.ts +23 -0
  462. package/dist/configurator/agent-at-work/agent-at-work-styles.js +374 -0
  463. package/dist/configurator/agent-at-work/index.d.ts +3 -0
  464. package/dist/configurator/agent-at-work/index.js +1 -0
  465. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  466. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  467. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  468. package/dist/configurator/app-loader-content/index.js +1 -0
  469. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  470. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +34 -0
  471. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-image-view.d.ts +18 -0
  472. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-speech-player.d.ts +69 -0
  473. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-speech-player.js +1 -0
  474. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +340 -26
  475. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  476. package/dist/configurator/application-runtime/extensions/systems/assistant-system/composer-attachments.d.ts +68 -0
  477. package/dist/configurator/application-runtime/extensions/systems/assistant-system/composer-attachments.js +1 -0
  478. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +58 -9
  479. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  480. package/dist/configurator/application-runtime/extensions/systems/assistant-system/rasterize-image.d.ts +13 -0
  481. package/dist/configurator/application-runtime/extensions/systems/assistant-system/rasterize-image.js +1 -0
  482. package/dist/configurator/application-runtime/extensions/systems/assistant-system/speakable-reply.d.ts +7 -0
  483. package/dist/configurator/application-runtime/extensions/systems/assistant-system/speakable-reply.js +1 -0
  484. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +44 -1
  485. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  486. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  487. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  488. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  489. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  490. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +26 -1
  491. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  492. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  493. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  494. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  495. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  496. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +80 -6
  497. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  498. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  499. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  500. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  501. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  502. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +22 -5
  503. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  504. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +7 -2
  505. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  506. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +11 -0
  507. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  508. package/dist/configurator/application-runtime/extensions/systems/sketching-system/sketching-system.d.ts +5 -5
  509. package/dist/configurator/common/configurator-interface.d.ts +150 -10
  510. package/dist/configurator/common/configurator-interface.js +1 -1
  511. package/dist/configurator/common/index.d.ts +3 -1
  512. package/dist/configurator/common/index.js +1 -1
  513. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  514. package/dist/configurator/common/use-reset-camera.js +1 -0
  515. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  516. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  517. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  518. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  519. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  520. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  521. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  522. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  523. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  524. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  525. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  526. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +10 -0
  527. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  528. package/dist/configurator/configurator-context/index.d.ts +0 -5
  529. package/dist/configurator/configurator-context/index.js +1 -1
  530. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  531. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  532. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  533. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  534. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  535. package/dist/configurator/configurator-error-page/index.js +1 -0
  536. package/dist/configurator/index.d.ts +11 -0
  537. package/dist/configurator/index.js +1 -1
  538. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  539. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  540. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  541. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  542. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  543. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  544. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  545. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  546. package/dist/configurator/pages/ExportingOverlay.d.ts +6 -0
  547. package/dist/configurator/pages/ExportingOverlay.js +1 -0
  548. package/dist/configurator/pages/InertRoot.d.ts +10 -0
  549. package/dist/configurator/pages/InertRoot.js +1 -0
  550. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  551. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  552. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +2 -2
  553. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  554. package/dist/configurator/pages/RootPage.js +1 -1
  555. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  556. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  557. package/dist/configurator/pages/default-configurator-elements.d.ts +17 -0
  558. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  559. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  560. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  561. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  562. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  563. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  564. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  565. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  566. package/dist/configurator/pages/default-elements/index.js +1 -0
  567. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  568. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  569. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  570. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  571. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  572. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  573. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  574. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  575. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  576. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  577. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  578. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  579. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  580. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  581. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  582. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  583. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  584. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  585. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  586. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  587. package/dist/configurator/pages/error-boundaries/AgentModeErrorFallback.d.ts +8 -0
  588. package/dist/configurator/pages/error-boundaries/AgentModeErrorFallback.js +1 -0
  589. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  590. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  591. package/dist/configurator/pages/error-boundaries/DevContextFallback.d.ts +4 -2
  592. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  593. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.d.ts +6 -4
  594. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  595. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  596. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  597. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  598. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  599. package/dist/configurator/pages/index.d.ts +1 -0
  600. package/dist/configurator/pages/index.js +1 -1
  601. package/dist/configurator/pages/provider-slots/ConfiguratorResponsiveProvider.d.ts +12 -0
  602. package/dist/configurator/pages/provider-slots/ConfiguratorResponsiveProvider.js +1 -0
  603. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  604. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  605. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  606. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  607. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  608. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  609. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  610. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  611. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  612. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  613. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  614. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  615. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  616. package/dist/configurator/pages/provider-slots/index.js +1 -0
  617. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  618. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  619. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  620. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  621. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  622. package/dist/configurator/pages/ui-elements/index.js +1 -0
  623. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  624. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  625. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  626. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  627. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  628. package/dist/configurator/preset-screen-elements/index.js +1 -0
  629. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  630. package/dist/configurator/scene/index.d.ts +1 -0
  631. package/dist/configurator/scene/index.js +1 -1
  632. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  633. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  634. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  635. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  636. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  637. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  638. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  639. package/dist/configurator/toolbar-actions/index.js +1 -0
  640. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  641. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  642. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  643. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  644. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  645. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  646. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  647. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  648. package/dist/configurator/ui/assistant/AssistantChips.d.ts +92 -3
  649. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  650. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +102 -1
  651. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  652. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +41 -2
  653. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  654. package/dist/configurator/ui/assistant/AssistantPanel.d.ts +46 -1
  655. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  656. package/dist/configurator/ui/assistant/AssistantThread.d.ts +80 -4
  657. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  658. package/dist/configurator/ui/assistant/AssistantThreadItemView.d.ts +104 -0
  659. package/dist/configurator/ui/assistant/AssistantThreadItemView.js +1 -0
  660. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +45 -0
  661. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  662. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  663. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  664. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  665. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  666. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +43 -0
  667. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  668. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +5 -0
  669. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  670. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  671. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  672. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  673. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  674. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  675. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  676. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +80 -0
  677. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  678. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +49 -0
  679. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  680. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  681. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  682. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  683. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  684. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  685. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  686. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  687. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  688. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +2 -0
  689. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  690. package/dist/configurator/ui/assistant/annotation/index.d.ts +6 -0
  691. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  692. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  693. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  694. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  695. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  696. package/dist/configurator/ui/assistant/assistant-failure.d.ts +20 -7
  697. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  698. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +63 -0
  699. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  700. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  701. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  702. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  703. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  704. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +20 -0
  705. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  706. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  707. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  708. package/dist/configurator/ui/assistant/drawing/AssistantDrawing.d.ts +58 -0
  709. package/dist/configurator/ui/assistant/drawing/AssistantDrawing.js +1 -0
  710. package/dist/configurator/ui/assistant/drawing/index.d.ts +2 -0
  711. package/dist/configurator/ui/assistant/drawing/index.js +1 -0
  712. package/dist/configurator/ui/assistant/drawing/parse-drawing.d.ts +18 -0
  713. package/dist/configurator/ui/assistant/drawing/parse-drawing.js +1 -0
  714. package/dist/configurator/ui/assistant/drawing/use-drawing-url.d.ts +14 -0
  715. package/dist/configurator/ui/assistant/drawing/use-drawing-url.js +1 -0
  716. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +36 -2
  717. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  718. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +1 -1
  719. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -3
  720. package/dist/configurator/ui/assistant/entity-link/index.js +1 -1
  721. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +76 -0
  722. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  723. package/dist/configurator/ui/assistant/form/built-in-form-slots.d.ts +16 -0
  724. package/dist/configurator/ui/assistant/form/built-in-form-slots.js +1 -0
  725. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  726. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  727. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  728. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  729. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  730. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  731. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  732. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  733. package/dist/configurator/ui/assistant/form/index.d.ts +5 -0
  734. package/dist/configurator/ui/assistant/form/index.js +1 -0
  735. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  736. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  737. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  738. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  739. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +29 -0
  740. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  741. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  742. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  743. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  744. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  745. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  746. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  747. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  748. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  749. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  750. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  751. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +68 -0
  752. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  753. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +60 -0
  754. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  755. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +53 -0
  756. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  757. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +52 -0
  758. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  759. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +57 -0
  760. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  761. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +49 -0
  762. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  763. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +61 -0
  764. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  765. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +53 -0
  766. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  767. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  768. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  769. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  770. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  771. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  772. package/dist/configurator/ui/assistant/image-view/ImageView.d.ts +66 -0
  773. package/dist/configurator/ui/assistant/image-view/ImageView.js +1 -0
  774. package/dist/configurator/ui/assistant/image-view/index.d.ts +1 -0
  775. package/dist/configurator/ui/assistant/image-view/index.js +1 -0
  776. package/dist/configurator/ui/assistant/image-view/use-image-blob.d.ts +7 -0
  777. package/dist/configurator/ui/assistant/image-view/use-image-blob.js +1 -0
  778. package/dist/configurator/ui/assistant/index.d.ts +25 -1
  779. package/dist/configurator/ui/assistant/index.js +1 -1
  780. package/dist/configurator/ui/assistant/panel/AssistantPanelHeader.d.ts +57 -0
  781. package/dist/configurator/ui/assistant/panel/AssistantPanelHeader.js +1 -0
  782. package/dist/configurator/ui/assistant/panel/index.d.ts +1 -0
  783. package/dist/configurator/ui/assistant/panel/index.js +1 -0
  784. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  785. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  786. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  787. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  788. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +58 -0
  789. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  790. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  791. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  792. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  793. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  794. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  795. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  796. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  797. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  798. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  799. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  800. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +56 -0
  801. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  802. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  803. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  804. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  805. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  806. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  807. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  808. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +43 -0
  809. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  810. package/dist/configurator/ui/assistant/screenshots/index.d.ts +3 -0
  811. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  812. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +16 -0
  813. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  814. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  815. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  816. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +15 -2
  817. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  818. package/dist/configurator/ui/assistant/thread-items.d.ts +29 -3
  819. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  820. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  821. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  822. package/dist/configurator/ui/assistant/use-assistant-composer.d.ts +88 -0
  823. package/dist/configurator/ui/assistant/use-assistant-composer.js +2 -0
  824. package/dist/configurator/ui/assistant/use-assistant-thread.d.ts +52 -0
  825. package/dist/configurator/ui/assistant/use-assistant-thread.js +1 -0
  826. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  827. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  828. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  829. package/dist/configurator/ui/assistant/voice/RecordingBar.d.ts +21 -0
  830. package/dist/configurator/ui/assistant/voice/RecordingBar.js +1 -0
  831. package/dist/configurator/ui/assistant/voice/ReplyPlayButton.d.ts +43 -0
  832. package/dist/configurator/ui/assistant/voice/ReplyPlayButton.js +1 -0
  833. package/dist/configurator/ui/assistant/voice/index.d.ts +4 -0
  834. package/dist/configurator/ui/assistant/voice/index.js +1 -0
  835. package/dist/configurator/ui/assistant/voice/use-voice-recording.d.ts +39 -0
  836. package/dist/configurator/ui/assistant/voice/use-voice-recording.js +1 -0
  837. package/dist/configurator/ui/assistant/voice/voice-capture.d.ts +22 -0
  838. package/dist/configurator/ui/assistant/voice/voice-capture.js +1 -0
  839. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  840. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  841. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  842. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  843. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  844. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  845. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  846. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  847. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  848. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  849. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  850. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  851. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  852. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  853. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  854. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  855. package/dist/configurator/ui/index.d.ts +1 -0
  856. package/dist/configurator/ui/index.js +1 -1
  857. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  858. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  859. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  860. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  861. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  862. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  863. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  864. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  865. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  866. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  867. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  868. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  869. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  870. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  871. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  872. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  873. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  874. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  875. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  876. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  877. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  878. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  879. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  880. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  881. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  882. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  883. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  884. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  885. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  886. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  887. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  888. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  889. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  890. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  891. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  892. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  893. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  894. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  895. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  896. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  897. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  898. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  899. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  900. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  901. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  902. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  903. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  904. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  905. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  906. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  907. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  908. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  909. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  910. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  911. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  912. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  913. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  914. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  915. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  916. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  917. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  918. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  919. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  920. package/dist/configurator/ui/preset-layout/index.js +1 -1
  921. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  922. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  923. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  924. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  925. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  926. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  927. package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
  928. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  929. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  930. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  931. package/dist/docs/3d-scene/engraving.mdx +0 -4
  932. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  933. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  934. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  935. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  936. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  937. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  938. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  939. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  940. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  941. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  942. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  943. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  944. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  945. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  946. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  947. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  948. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  949. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  950. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  951. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  952. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  953. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  954. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  955. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  956. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  957. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  958. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  959. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  960. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  961. package/dist/docs/controls/custom.mdx +88 -87
  962. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  963. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  964. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  965. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  966. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  967. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  968. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  969. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  970. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  971. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  972. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  973. package/dist/docs/controls/select-child-entity/cardselect.mdx +3 -6
  974. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  975. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  976. package/dist/docs/controls/text-input.mdx +90 -19
  977. package/dist/docs/demos/glass.mdx +0 -4
  978. package/dist/docs/demos/heater.mdx +0 -10
  979. package/dist/docs/demos/office-chair.mdx +0 -8
  980. package/dist/docs/demos/office-desk.mdx +0 -8
  981. package/dist/docs/demos/ring.mdx +0 -9
  982. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  983. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  984. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -14
  985. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  986. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  987. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -16
  988. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  989. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  990. package/dist/docs/dimensions/basic-concepts/dimension-data-unit.mdx +0 -12
  991. package/dist/docs/dimensions/basic-concepts/dimension-unit-config.mdx +0 -12
  992. package/dist/docs/dimensions/input-controls/distance-input.mdx +0 -12
  993. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -18
  994. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -14
  995. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -14
  996. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  997. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  998. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  999. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  1000. package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
  1001. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  1002. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  1003. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  1004. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  1005. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  1006. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  1007. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  1008. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  1009. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  1010. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  1011. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  1012. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  1013. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  1014. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  1015. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  1016. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  1017. package/dist/docs/fabs/basic.mdx +12 -14
  1018. package/dist/docs/fabs/layout.mdx +0 -7
  1019. package/dist/docs/index.json +100 -6
  1020. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  1021. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  1022. package/dist/docs/integrations/webcomponent-api/basics.mdx +8 -2
  1023. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +4 -1
  1024. package/dist/docs/integrations/woocommerce/overview.mdx +4 -2
  1025. package/dist/docs/layouts/custom-layout.mdx +1619 -226
  1026. package/dist/docs/layouts/custom-price.mdx +0 -2
  1027. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  1028. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3485 -0
  1029. package/dist/docs/layouts/gallery/corvid-drone.mdx +3399 -0
  1030. package/dist/docs/layouts/gallery/fenwick-window.mdx +2778 -0
  1031. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6540 -0
  1032. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1829 -0
  1033. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3665 -0
  1034. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2657 -0
  1035. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5157 -0
  1036. package/dist/docs/layouts/header/custom.mdx +0 -2
  1037. package/dist/docs/layouts/icon-sets.mdx +0 -6
  1038. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  1039. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  1040. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  1041. package/dist/docs/layouts/presets/custom.mdx +6 -13
  1042. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  1043. package/dist/docs/layouts/preview/always.mdx +4 -14
  1044. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  1045. package/dist/docs/layouts/preview/auto.mdx +4 -14
  1046. package/dist/docs/layouts/preview/never.mdx +4 -14
  1047. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  1048. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  1049. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  1050. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  1051. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  1052. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  1053. package/dist/docs/layouts/tool-controls.mdx +0 -1
  1054. package/dist/docs/layouts/toolbar.mdx +0 -4
  1055. package/dist/docs/layouts/universal.mdx +2 -22
  1056. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  1057. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  1058. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -5
  1059. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  1060. package/dist/docs/other-features/component-filters.mdx +0 -7
  1061. package/dist/docs/other-features/currency.mdx +5 -6
  1062. package/dist/docs/other-features/domain-actions.mdx +33 -7
  1063. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  1064. package/dist/docs/other-features/error-5xx.mdx +1 -15
  1065. package/dist/docs/other-features/navigation-hotspot.mdx +2 -5
  1066. package/dist/docs/other-features/not-found-404.mdx +1 -15
  1067. package/dist/docs/other-features/projected-entities.mdx +0 -5
  1068. package/dist/docs/other-features/side-effects.mdx +0 -23
  1069. package/dist/docs/other-features/transformers.mdx +101 -96
  1070. package/dist/docs/other-features/violation-messages.mdx +0 -4
  1071. package/dist/docs/other-features/violation-severity.mdx +2 -3
  1072. package/dist/docs/performance/clone-highlight.mdx +0 -7
  1073. package/dist/docs/performance/dynamic-components.mdx +0 -6
  1074. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  1075. package/dist/docs/performance/fast-highlight.mdx +0 -7
  1076. package/dist/docs/performance/general.mdx +0 -7
  1077. package/dist/docs/performance/render-isolation.mdx +0 -6
  1078. package/dist/docs/phoenix/admin.mdx +105 -134
  1079. package/dist/docs/phoenix/application-states.mdx +45 -27
  1080. package/dist/docs/phoenix/blender-rendering.mdx +3 -1
  1081. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  1082. package/dist/docs/phoenix/components.mdx +59 -46
  1083. package/dist/docs/phoenix/configurator-interface.mdx +508 -135
  1084. package/dist/docs/phoenix/data-sources.mdx +61 -37
  1085. package/dist/docs/phoenix/deployments.mdx +13 -7
  1086. package/dist/docs/phoenix/domain-model.mdx +26 -16
  1087. package/dist/docs/phoenix/expression-context.mdx +3 -29
  1088. package/dist/docs/phoenix/finalization.mdx +3 -2
  1089. package/dist/docs/phoenix/getting-started.mdx +7 -6
  1090. package/dist/docs/phoenix/integration/authentication-internal.mdx +2 -2
  1091. package/dist/docs/phoenix/integration/finalization-internal.mdx +1 -1
  1092. package/dist/docs/phoenix/layout-slots.mdx +46 -23
  1093. package/dist/docs/phoenix/localization.mdx +74 -59
  1094. package/dist/docs/phoenix/migration-guide.mdx +34 -22
  1095. package/dist/docs/phoenix/phoenix-cli.mdx +130 -36
  1096. package/dist/docs/phoenix/project-structure.mdx +109 -75
  1097. package/dist/docs/phoenix/quickstart.mdx +8 -10
  1098. package/dist/docs/phoenix/sdk-builder-workflow.mdx +27 -31
  1099. package/dist/docs/phoenix/sessions-and-access.mdx +63 -40
  1100. package/dist/docs/phoenix/sharing.mdx +1 -1
  1101. package/dist/docs/phoenix/state-management.mdx +18 -16
  1102. package/dist/docs/phoenix/testing.mdx +13 -0
  1103. package/dist/docs/phoenix/webhooks.mdx +445 -244
  1104. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  1105. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  1106. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  1107. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  1108. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  1109. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  1110. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  1111. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  1112. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  1113. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  1114. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  1115. package/dist/docs/relations/aliases.mdx +0 -2
  1116. package/dist/docs/relations/all-of-type.mdx +0 -4
  1117. package/dist/docs/relations/child-nullable.mdx +0 -4
  1118. package/dist/docs/relations/child-required.mdx +0 -2
  1119. package/dist/docs/relations/collection-direct.mdx +0 -4
  1120. package/dist/docs/relations/collection-indirect.mdx +0 -4
  1121. package/dist/docs/relations/collection-multiple.mdx +0 -2
  1122. package/dist/docs/relations/cross-reference.mdx +0 -2
  1123. package/dist/docs/relations/hierarchy.mdx +0 -2
  1124. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  1125. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  1126. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  1127. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  1128. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  1129. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  1130. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  1131. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  1132. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -1
  1133. package/dist/domain/admin-domain/index.d.ts +2 -2
  1134. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  1135. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  1136. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  1137. package/dist/domain/application/application-config.d.ts +8 -26
  1138. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  1139. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  1140. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  1141. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  1142. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  1143. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  1144. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -1
  1145. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  1146. package/dist/domain/application/assistant/index.d.ts +0 -3
  1147. package/dist/domain/application/assistant/index.js +1 -1
  1148. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  1149. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  1150. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  1151. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +5 -5
  1152. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  1153. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  1154. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  1155. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  1156. package/dist/domain/application/assistant-mutations.js +1 -1
  1157. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  1158. package/dist/domain/application/configurator-builder.d.ts +46 -38
  1159. package/dist/domain/application/configurator-builder.js +1 -1
  1160. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  1161. package/dist/domain/application/index.d.ts +1 -1
  1162. package/dist/domain/application/index.js +1 -1
  1163. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  1164. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  1165. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  1166. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  1167. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  1168. package/dist/domain/application/standard-properties.js +1 -1
  1169. package/dist/domain/application/web-component-property.d.ts +3 -1
  1170. package/dist/domain/application/web-component-property.js +1 -1
  1171. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  1172. package/dist/domain/available-system-components/available-system-components.js +1 -0
  1173. package/dist/domain/available-system-components/index.d.ts +1 -0
  1174. package/dist/domain/available-system-components/index.js +1 -0
  1175. package/dist/domain/core/action/index.d.ts +0 -1
  1176. package/dist/domain/core/action/index.js +1 -1
  1177. package/dist/domain/core/domain.js +1 -1
  1178. package/dist/domain/core/index.d.ts +1 -1
  1179. package/dist/domain/core/index.js +1 -1
  1180. package/dist/domain/core/invariant/violation.d.ts +3 -2
  1181. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  1182. package/dist/domain/domain-builder/domain-builder.d.ts +46 -0
  1183. package/dist/domain/domain-builder/domain-builder.js +1 -0
  1184. package/dist/domain/domain-builder/index.d.ts +1 -0
  1185. package/dist/domain/domain-builder/index.js +1 -0
  1186. package/dist/domain/domain-context/action-system/action-system.d.ts +32 -6
  1187. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  1188. package/dist/domain/domain-context/domain-context-systems.d.ts +1 -1
  1189. package/dist/domain/domain-context/index.d.ts +1 -1
  1190. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  1191. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  1192. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  1193. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  1194. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  1195. package/dist/domain/domain-context/undo-system.js +1 -1
  1196. package/dist/domain/domain-runtime/action-factory.d.ts +11 -0
  1197. package/dist/domain/domain-runtime/application.d.ts +39 -0
  1198. package/dist/domain/domain-runtime/application.js +1 -0
  1199. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +5 -5
  1200. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +3 -0
  1201. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  1202. package/dist/domain/domain-runtime/domain-runtime.d.ts +80 -28
  1203. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  1204. package/dist/domain/domain-runtime/environment/actions.d.ts +1 -0
  1205. package/dist/domain/domain-runtime/environment/actions.js +1 -1
  1206. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  1207. package/dist/domain/domain-runtime/environment/initialize.js +1 -1
  1208. package/dist/domain/domain-runtime/environment/selectors.d.ts +2 -0
  1209. package/dist/domain/domain-runtime/environment/selectors.js +1 -1
  1210. package/dist/domain/domain-runtime/environment/types.d.ts +7 -1
  1211. package/dist/domain/domain-runtime/index.d.ts +2 -1
  1212. package/dist/domain/domain-runtime/index.js +1 -1
  1213. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  1214. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  1215. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  1216. package/dist/domain/domain-runtime/spec/index.js +1 -1
  1217. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  1218. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.d.ts +22 -0
  1219. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  1220. package/dist/domain/domain-runtime/spec/selectors.d.ts +8 -6
  1221. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  1222. package/dist/domain/domain-runtime/spec/types.d.ts +4 -2
  1223. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  1224. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  1225. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  1226. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  1227. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  1228. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  1229. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  1230. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +30 -0
  1231. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  1232. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  1233. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  1234. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  1235. package/dist/domain/extensions/export-images/index.js +1 -0
  1236. package/dist/domain/extensions/export-images/save-template-thumbnail.d.ts +14 -0
  1237. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  1238. package/dist/domain/extensions/index.d.ts +1 -2
  1239. package/dist/domain/extensions/index.js +1 -1
  1240. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +1 -1
  1241. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -1
  1242. package/dist/domain/index.d.ts +15 -2
  1243. package/dist/domain/index.js +1 -1
  1244. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +14 -0
  1245. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  1246. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  1247. package/dist/domain/spec/application/admin-pages-section.js +1 -0
  1248. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  1249. package/dist/domain/spec/application/admin-pages.js +1 -0
  1250. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  1251. package/dist/domain/spec/application/admin-states.js +1 -0
  1252. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  1253. package/dist/domain/spec/application/configurator-states.js +1 -0
  1254. package/dist/domain/spec/application/index.d.ts +5 -0
  1255. package/dist/domain/spec/application/index.js +1 -0
  1256. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  1257. package/dist/domain/spec/components/bindings/index.js +1 -0
  1258. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  1259. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  1260. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  1261. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  1262. package/dist/domain/spec/components/component-entry.d.ts +90 -0
  1263. package/dist/domain/spec/components/component-entry.js +1 -0
  1264. package/dist/domain/spec/components/component-filter.d.ts +54 -0
  1265. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  1266. package/dist/domain/spec/components/component-filters.js +1 -0
  1267. package/dist/domain/spec/components/components.d.ts +4 -0
  1268. package/dist/domain/spec/components/components.js +1 -0
  1269. package/dist/domain/spec/components/index.d.ts +6 -0
  1270. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  1271. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  1272. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  1273. package/dist/domain/spec/enhanced-json/index.js +1 -0
  1274. package/dist/domain/spec/errors/implementation-error-collector.d.ts +21 -0
  1275. package/dist/domain/spec/errors/implementation-error-collector.js +1 -0
  1276. package/dist/domain/spec/expressions/expression.d.ts +49 -0
  1277. package/dist/domain/spec/expressions/expression.js +1 -0
  1278. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  1279. package/dist/domain/spec/expressions/expressions.js +1 -0
  1280. package/dist/domain/spec/expressions/index.d.ts +5 -0
  1281. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  1282. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  1283. package/dist/domain/spec/expressions/relation-expression-params.d.ts +11 -0
  1284. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  1285. package/dist/domain/spec/index.d.ts +4 -0
  1286. package/dist/domain/spec/index.js +1 -0
  1287. package/dist/domain/spec/invariants/index.d.ts +2 -0
  1288. package/dist/domain/spec/invariants/index.js +1 -0
  1289. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  1290. package/dist/domain/spec/invariants/invariant.js +1 -0
  1291. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  1292. package/dist/domain/spec/invariants/invariants.js +1 -0
  1293. package/dist/domain/spec/json-schema.d.ts +52 -0
  1294. package/dist/domain/spec/json-schema.js +1 -0
  1295. package/dist/domain/spec/markers/index.d.ts +3 -0
  1296. package/dist/domain/spec/markers/index.js +1 -0
  1297. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  1298. package/dist/domain/spec/markers/msg-marker.js +1 -0
  1299. package/dist/domain/spec/model/aliases.d.ts +9 -0
  1300. package/dist/domain/spec/model/aliases.js +1 -0
  1301. package/dist/domain/spec/model/common-types.d.ts +15 -0
  1302. package/dist/domain/spec/model/common-types.js +1 -0
  1303. package/dist/domain/spec/model/defaults.d.ts +33 -0
  1304. package/dist/domain/spec/model/defaults.js +1 -0
  1305. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  1306. package/dist/domain/spec/model/entity-types.js +1 -0
  1307. package/dist/domain/spec/model/index.d.ts +7 -0
  1308. package/dist/domain/spec/model/index.js +1 -0
  1309. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  1310. package/dist/domain/spec/model/model-version-key.js +1 -0
  1311. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  1312. package/dist/domain/spec/model/names/action-name.js +1 -0
  1313. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  1314. package/dist/domain/spec/model/names/alias-name.js +1 -0
  1315. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  1316. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  1317. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  1318. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  1319. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  1320. package/dist/domain/spec/model/names/expression-name.js +1 -0
  1321. package/dist/domain/spec/model/names/index.d.ts +9 -0
  1322. package/dist/domain/spec/model/names/index.js +1 -0
  1323. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  1324. package/dist/domain/spec/model/names/instance-name.js +1 -0
  1325. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  1326. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  1327. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  1328. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  1329. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  1330. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  1331. package/dist/domain/spec/model/presets.d.ts +30 -0
  1332. package/dist/domain/spec/model/presets.js +1 -0
  1333. package/dist/domain/spec/modules/element-registration.d.ts +125 -0
  1334. package/dist/domain/spec/modules/element-registration.js +1 -0
  1335. package/dist/domain/spec/modules/find-assistant-form-element-errors.d.ts +12 -0
  1336. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  1337. package/dist/domain/spec/modules/index.d.ts +9 -0
  1338. package/dist/domain/spec/modules/index.js +1 -0
  1339. package/dist/domain/spec/modules/merge-expression-modules.d.ts +23 -0
  1340. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  1341. package/dist/domain/spec/modules/project-modules.d.ts +32 -0
  1342. package/dist/domain/spec/modules/project-modules.js +1 -0
  1343. package/dist/domain/spec/modules/resolve-action-modules.d.ts +4 -0
  1344. package/dist/domain/spec/modules/resolve-component-optic-modules.d.ts +4 -0
  1345. package/dist/domain/spec/modules/resolve-expression-modules.d.ts +14 -0
  1346. package/dist/domain/spec/modules/resolve-expression-modules.js +1 -0
  1347. package/dist/domain/spec/modules/resolve-invariant-modules.d.ts +6 -0
  1348. package/dist/domain/spec/phx/index.d.ts +1 -0
  1349. package/dist/domain/spec/phx/index.js +1 -0
  1350. package/dist/domain/spec/phx/phx-application-types.d.ts +25 -0
  1351. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  1352. package/dist/domain/spec/phx/phx-domain.d.ts +36 -0
  1353. package/dist/domain/spec/phx/phx-domain.js +1 -0
  1354. package/dist/domain/spec/phx/phx-model.d.ts +24 -0
  1355. package/dist/domain/spec/phx/phx-model.js +1 -0
  1356. package/dist/domain/spec/phx/phx.d.ts +21 -0
  1357. package/dist/domain/spec/phx/phx.js +1 -0
  1358. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.d.ts +32 -0
  1359. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  1360. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  1361. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  1362. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  1363. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  1364. package/dist/domain/spec/runtime/admin-runtime/states-runtime.d.ts +8 -0
  1365. package/dist/domain/spec/runtime/application-runtime.d.ts +62 -0
  1366. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  1367. package/dist/domain/spec/runtime/application-spec-slice.d.ts +73 -0
  1368. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  1369. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.d.ts +37 -0
  1370. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  1371. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  1372. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  1373. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  1374. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  1375. package/dist/domain/spec/runtime/configurator-runtime/states-runtime.d.ts +11 -0
  1376. package/dist/domain/spec/runtime/create-application.d.ts +58 -0
  1377. package/dist/domain/spec/runtime/create-application.js +1 -0
  1378. package/dist/domain/spec/runtime/expressions/expression-runtime.d.ts +57 -0
  1379. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  1380. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.d.ts +33 -0
  1381. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  1382. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  1383. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  1384. package/dist/domain/spec/runtime/expressions/reflection-constants-runtime.d.ts +11 -0
  1385. package/dist/domain/spec/runtime/expressions/reflection-constants-runtime.js +1 -0
  1386. package/dist/domain/spec/runtime/factory-data/factory-data-runtime.d.ts +44 -0
  1387. package/dist/domain/spec/runtime/factory-data/factory-data-runtime.js +1 -0
  1388. package/dist/domain/spec/runtime/factory-data/index.d.ts +3 -0
  1389. package/dist/domain/spec/runtime/factory-data/index.js +1 -0
  1390. package/dist/domain/spec/runtime/factory-data/recipe-defaults.d.ts +13 -0
  1391. package/dist/domain/spec/runtime/factory-data/recipe-defaults.js +1 -0
  1392. package/dist/domain/spec/runtime/factory-data/static-violations.d.ts +16 -0
  1393. package/dist/domain/spec/runtime/factory-data/static-violations.js +1 -0
  1394. package/dist/domain/spec/runtime/generate-runtime-instance.d.ts +2 -0
  1395. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  1396. package/dist/domain/spec/runtime/index.d.ts +13 -0
  1397. package/dist/domain/spec/runtime/index.js +1 -0
  1398. package/dist/domain/spec/runtime/migrations/index.d.ts +1 -0
  1399. package/dist/domain/spec/runtime/migrations/index.js +1 -0
  1400. package/dist/domain/spec/runtime/migrations/migration-runtime.d.ts +53 -0
  1401. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  1402. package/dist/domain/spec/runtime/model/admin-model-runtime.d.ts +31 -0
  1403. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  1404. package/dist/domain/spec/runtime/model/configurator-model-runtime.d.ts +33 -0
  1405. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  1406. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  1407. package/dist/domain/spec/runtime/model/index.js +1 -0
  1408. package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
  1409. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  1410. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  1411. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  1412. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  1413. package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
  1414. package/dist/domain/spec/runtime/optics/component-optic.d.ts +26 -0
  1415. package/dist/domain/spec/runtime/optics/component-optic.js +1 -0
  1416. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  1417. package/dist/domain/spec/runtime/optics/index.js +1 -0
  1418. package/dist/domain/spec/runtime/runtime-reference-store.d.ts +46 -0
  1419. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  1420. package/dist/domain/spec/runtime/sections/actions-runtime.d.ts +14 -0
  1421. package/dist/domain/spec/runtime/sections/assistant-runtime.d.ts +10 -0
  1422. package/dist/domain/spec/runtime/sections/data-runtime.d.ts +13 -0
  1423. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  1424. package/dist/domain/spec/runtime/sections/index.js +1 -0
  1425. package/dist/domain/spec/runtime/sections/preset-runtime.d.ts +20 -0
  1426. package/dist/domain/spec/runtime/sections/theme-runtime.d.ts +10 -0
  1427. package/dist/domain/spec/runtime/sections/transformers-runtime.d.ts +19 -0
  1428. package/dist/domain/spec/runtime/spec-code/index.d.ts +2 -0
  1429. package/dist/domain/spec/runtime/spec-code/index.js +1 -0
  1430. package/dist/domain/spec/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  1431. package/dist/domain/spec/runtime/spec-code/resolve-spec-code.js +1 -0
  1432. package/dist/domain/spec/runtime/spec-code/spec-code-module.d.ts +17 -0
  1433. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  1434. package/dist/domain/spec/runtime/spec-runtime.d.ts +21 -0
  1435. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  1436. package/dist/domain/spec/runtime-spec/decode-runtime-spec.d.ts +9 -0
  1437. package/dist/domain/spec/runtime-spec/decode-runtime-spec.js +1 -0
  1438. package/dist/domain/spec/runtime-spec/encode-runtime-spec.d.ts +8 -0
  1439. package/dist/domain/spec/runtime-spec/encode-runtime-spec.js +1 -0
  1440. package/dist/domain/spec/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  1441. package/dist/domain/spec/runtime-spec/encoded-runtime-spec.js +1 -0
  1442. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  1443. package/dist/domain/spec/runtime-spec/index.js +1 -0
  1444. package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
  1445. package/dist/domain/spec/runtime-spec/runtime-spec.js +1 -0
  1446. package/dist/domain/spec/runtime-spec/spec-code-id.d.ts +40 -0
  1447. package/dist/domain/spec/runtime-spec/spec-code-id.js +1 -0
  1448. package/dist/domain/spec/sections/actions.d.ts +23 -0
  1449. package/dist/domain/spec/sections/actions.js +1 -0
  1450. package/dist/domain/spec/sections/app-metadata.d.ts +19 -0
  1451. package/dist/domain/spec/sections/app-metadata.js +1 -0
  1452. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  1453. package/dist/domain/spec/sections/application-version.js +1 -0
  1454. package/dist/domain/spec/sections/assistant/assistant-manifest.d.ts +96 -0
  1455. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.d.ts +135 -0
  1456. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  1457. package/dist/domain/spec/sections/assistant/form/assistant-form-element-name.d.ts +11 -0
  1458. package/dist/domain/spec/sections/assistant/form/assistant-form-element-name.js +8 -0
  1459. package/dist/domain/spec/sections/assistant/form/assistant-form-elements.d.ts +174 -0
  1460. package/dist/domain/spec/sections/assistant/form/assistant-form-elements.js +1 -0
  1461. package/dist/domain/spec/sections/assistant/form/assistant-resource-path.d.ts +10 -0
  1462. package/dist/domain/spec/sections/assistant/form/assistant-resource-path.js +1 -0
  1463. package/dist/domain/spec/sections/assistant/form/index.d.ts +4 -0
  1464. package/dist/domain/spec/sections/assistant/form/index.js +1 -0
  1465. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  1466. package/dist/domain/spec/sections/assistant/index.js +1 -0
  1467. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1468. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1469. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1470. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1471. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1472. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1473. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1474. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1475. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1476. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1477. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1478. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1479. package/dist/domain/spec/sections/index.d.ts +10 -0
  1480. package/dist/domain/spec/sections/index.js +1 -0
  1481. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1482. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1483. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1484. package/dist/domain/spec/sections/infra/index.js +1 -0
  1485. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1486. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1487. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1488. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1489. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1490. package/dist/domain/spec/sections/state-value.js +1 -0
  1491. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1492. package/dist/domain/spec/sections/theme.js +1 -0
  1493. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1494. package/dist/domain/spec/sections/transformers.js +1 -0
  1495. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1496. package/dist/domain/spec/sections/ui.js +1 -0
  1497. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1498. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1499. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1500. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  1501. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  1502. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  1503. package/dist/domain/system-definitions.js +1 -1
  1504. package/dist/domain/utils/index.d.ts +2 -0
  1505. package/dist/domain/utils/index.js +1 -0
  1506. package/dist/editor/Editor.d.ts +12 -0
  1507. package/dist/editor/Editor.js +1 -1
  1508. package/dist/editor/EditorMode.d.ts +2 -0
  1509. package/dist/editor/EditorMode.js +1 -1
  1510. package/dist/editor/agent-mode/AgentModeBridge.d.ts +10 -0
  1511. package/dist/editor/agent-mode/AgentModeBridge.js +1 -0
  1512. package/dist/editor/agent-mode/agent-at-work-fonts.d.ts +2 -0
  1513. package/dist/editor/agent-mode/agent-at-work-fonts.js +1 -0
  1514. package/dist/editor/console-reporter/BrowserConsoleReporter.js +1 -1
  1515. package/dist/editor/console-reporter/console-capture.d.ts +20 -0
  1516. package/dist/editor/console-reporter/console-capture.js +1 -0
  1517. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1518. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1519. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1520. package/dist/editor/domain-editors/use-implementation-files.d.ts +6 -14
  1521. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1522. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1523. package/dist/editor/index.d.ts +1 -0
  1524. package/dist/editor/index.js +1 -1
  1525. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1526. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1527. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1528. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1529. package/dist/editor/variants/VariantAnswerFooter.d.ts +8 -1
  1530. package/dist/editor/variants/VariantAnswerFooter.js +1 -1
  1531. package/dist/editor/variants/VariantPageUnavailable.d.ts +5 -0
  1532. package/dist/editor/variants/VariantPageUnavailable.js +1 -0
  1533. package/dist/editor/variants/VariantPreviewHandler.js +1 -1
  1534. package/dist/editor/variants/variant-preview-fonts.d.ts +2 -0
  1535. package/dist/editor/variants/variant-preview-fonts.js +1 -0
  1536. package/dist/editor/variants/variant-preview-styles.d.ts +40 -48
  1537. package/dist/editor/variants/variant-preview-styles.js +493 -1
  1538. package/dist/extras/cognito/CognitoSignInPage.d.ts +2 -0
  1539. package/dist/extras/cognito/CognitoSignInPage.js +1 -0
  1540. package/dist/extras/cognito/index.d.ts +1 -0
  1541. package/dist/extras/cognito/index.js +1 -0
  1542. package/dist/globals/index.d.ts +2 -0
  1543. package/dist/i18n/locales/cs/messages.js +1 -1
  1544. package/dist/i18n/locales/da/messages.js +1 -1
  1545. package/dist/i18n/locales/de/messages.js +1 -1
  1546. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1547. package/dist/i18n/locales/en/messages.js +1 -1
  1548. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1549. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1550. package/dist/i18n/locales/es/messages.js +1 -1
  1551. package/dist/i18n/locales/fr/messages.js +1 -1
  1552. package/dist/i18n/locales/hu/messages.js +1 -1
  1553. package/dist/i18n/locales/it/messages.js +1 -1
  1554. package/dist/i18n/locales/nl/messages.js +1 -1
  1555. package/dist/i18n/locales/pl/messages.js +1 -1
  1556. package/dist/i18n/locales/pt/messages.js +1 -1
  1557. package/dist/i18n/locales/ro/messages.js +1 -1
  1558. package/dist/i18n/locales/sk/messages.js +1 -1
  1559. package/dist/i18n/locales/tr/messages.js +1 -1
  1560. package/dist/i18n/merge-catalogs.d.ts +4 -1
  1561. package/dist/i18n/merge-catalogs.js +1 -1
  1562. package/dist/legacy/domain-cli/gen/configurator-builder.js +5 -4
  1563. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1564. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1565. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +97 -80
  1566. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1567. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1568. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1569. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1570. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -2
  1571. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1572. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1573. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1574. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1575. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/i18n-index.js +3 -3
  1576. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  1577. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  1578. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  1579. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  1580. package/dist/legacy/webhook-cli/lib/webhook-boundary.js +1 -1
  1581. package/dist/phoenix/application-spec/application-spec-builder.d.ts +2 -4
  1582. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1583. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +3 -3
  1584. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1585. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1586. package/dist/phoenix/application-spec/generate-project-files.d.ts +4 -4
  1587. package/dist/phoenix/application-spec/generate-project-files.js +1 -1
  1588. package/dist/phoenix/application-spec/index.d.ts +3 -0
  1589. package/dist/phoenix/application-spec/index.js +1 -1
  1590. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  1591. package/dist/phoenix/application-spec/project-files.js +1 -1
  1592. package/dist/phoenix/application-spec/read-spec-project.d.ts +1 -2
  1593. package/dist/phoenix/application-spec/read-spec-project.js +1 -1
  1594. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +12 -0
  1595. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1596. package/dist/phoenix/bin.d.ts +2 -0
  1597. package/dist/phoenix/bin.js +2 -0
  1598. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1599. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1600. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1601. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1602. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1603. package/dist/phoenix/check-configs/index.js +1 -0
  1604. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1605. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1606. package/dist/phoenix/cli.d.ts +0 -1
  1607. package/dist/phoenix/cli.js +1 -2
  1608. package/dist/phoenix/commands/account/index.d.ts +1 -0
  1609. package/dist/phoenix/commands/account/index.js +1 -0
  1610. package/dist/phoenix/commands/account/whoami.d.ts +4 -0
  1611. package/dist/phoenix/commands/account/whoami.js +3 -0
  1612. package/dist/phoenix/commands/activate-deployment.js +1 -1
  1613. package/dist/phoenix/commands/build.d.ts +2 -1
  1614. package/dist/phoenix/commands/build.js +1 -1
  1615. package/dist/phoenix/commands/changelog.js +1 -1
  1616. package/dist/phoenix/commands/check.js +1 -1
  1617. package/dist/phoenix/commands/clean.d.ts +2 -1
  1618. package/dist/phoenix/commands/clean.js +1 -1
  1619. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  1620. package/dist/phoenix/commands/create-environment.js +1 -1
  1621. package/dist/phoenix/commands/data.js +1 -1
  1622. package/dist/phoenix/commands/deploy.js +3 -3
  1623. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  1624. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1625. package/dist/phoenix/commands/deps/deps.js +3 -0
  1626. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1627. package/dist/phoenix/commands/deps/index.js +1 -0
  1628. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1629. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1630. package/dist/phoenix/commands/dev.d.ts +2 -1
  1631. package/dist/phoenix/commands/dev.js +4 -5
  1632. package/dist/phoenix/commands/docs.js +1 -1
  1633. package/dist/phoenix/commands/feedback.js +1 -1
  1634. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  1635. package/dist/phoenix/commands/fix.js +1 -1
  1636. package/dist/phoenix/commands/index.d.ts +2 -0
  1637. package/dist/phoenix/commands/index.js +1 -1
  1638. package/dist/phoenix/commands/init.d.ts +17 -5
  1639. package/dist/phoenix/commands/init.js +1 -1
  1640. package/dist/phoenix/commands/inspect-assets.js +1 -1
  1641. package/dist/phoenix/commands/link.js +1 -1
  1642. package/dist/phoenix/commands/list-environments.js +1 -1
  1643. package/dist/phoenix/commands/login.d.ts +9 -3
  1644. package/dist/phoenix/commands/login.js +3 -3
  1645. package/dist/phoenix/commands/logout.js +1 -1
  1646. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  1647. package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
  1648. package/dist/phoenix/commands/prettier.js +1 -1
  1649. package/dist/phoenix/commands/register-deployment.js +1 -1
  1650. package/dist/phoenix/commands/scene.js +1 -1
  1651. package/dist/phoenix/commands/screenshot.js +1 -1
  1652. package/dist/phoenix/commands/state.js +1 -1
  1653. package/dist/phoenix/commands/story-build.js +3 -3
  1654. package/dist/phoenix/commands/story-create.js +1 -1
  1655. package/dist/phoenix/commands/story-dev.js +2 -2
  1656. package/dist/phoenix/commands/sync.d.ts +2 -1
  1657. package/dist/phoenix/commands/sync.js +1 -1
  1658. package/dist/phoenix/commands/unlink.js +1 -1
  1659. package/dist/phoenix/commands/variants.js +1 -1
  1660. package/dist/phoenix/editor-server/commands-router.js +1 -1
  1661. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  1662. package/dist/phoenix/editor-server/editor-server.js +1 -1
  1663. package/dist/phoenix/editor-server/spec-router.js +1 -1
  1664. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  1665. package/dist/phoenix/lingui/index.d.ts +1 -0
  1666. package/dist/phoenix/lingui/index.js +1 -0
  1667. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1668. package/dist/phoenix/lingui/lingui.js +1 -0
  1669. package/dist/phoenix/scripts/docs-utils.js +1 -1
  1670. package/dist/phoenix/services/application-spec-project-watcher.d.ts +16 -9
  1671. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1672. package/dist/phoenix/services/cli-credentials.d.ts +9 -6
  1673. package/dist/phoenix/services/cli-credentials.js +2 -2
  1674. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  1675. package/dist/phoenix/services/cli-exit.js +1 -0
  1676. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  1677. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  1678. package/dist/phoenix/services/deployment/generated-env-markers.d.ts +8 -0
  1679. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  1680. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  1681. package/dist/phoenix/services/deployment/index.js +1 -0
  1682. package/dist/phoenix/services/dev-experience/dev-experience.d.ts +31 -0
  1683. package/dist/phoenix/services/dev-experience/dev-experience.js +1 -0
  1684. package/dist/phoenix/services/dev-experience/index.d.ts +3 -0
  1685. package/dist/phoenix/services/dev-experience/index.js +1 -0
  1686. package/dist/phoenix/services/dev-experience/read-explicit-editor-setting.d.ts +7 -0
  1687. package/dist/phoenix/services/dev-experience/read-explicit-editor-setting.js +1 -0
  1688. package/dist/phoenix/services/dev-experience/regenerated-page-experience.d.ts +24 -0
  1689. package/dist/phoenix/services/dev-experience/regenerated-page-experience.js +1 -0
  1690. package/dist/phoenix/services/index.d.ts +7 -2
  1691. package/dist/phoenix/services/index.js +1 -1
  1692. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1693. package/dist/phoenix/services/phoenix-pubsub.d.ts +4 -0
  1694. package/dist/phoenix/services/phoenix-regions.d.ts +1 -1
  1695. package/dist/phoenix/services/phoenix-regions.js +1 -1
  1696. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  1697. package/dist/phoenix/services/phoenix-store.js +1 -1
  1698. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1699. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  1700. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  1701. package/dist/phoenix/services/session/index.d.ts +2 -0
  1702. package/dist/phoenix/services/session/index.js +1 -0
  1703. package/dist/phoenix/services/session/phoenix-application.d.ts +83 -0
  1704. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  1705. package/dist/phoenix/services/signed-in-development-environment.js +1 -1
  1706. package/dist/phoenix/services/source-archive.d.ts +2 -0
  1707. package/dist/phoenix/services/source-archive.js +1 -1
  1708. package/dist/phoenix/services/swc.d.ts +5 -4
  1709. package/dist/phoenix/services/swc.js +2 -2
  1710. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  1711. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  1712. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  1713. package/dist/phoenix/services/telemetry/index.js +1 -0
  1714. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  1715. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  1716. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  1717. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  1718. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  1719. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  1720. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  1721. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  1722. package/dist/phoenix/services/vite-config.d.ts +2 -1
  1723. package/dist/phoenix/services/vite-config.js +1 -1
  1724. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  1725. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  1726. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  1727. package/dist/phoenix/utils/index.d.ts +4 -2
  1728. package/dist/phoenix/utils/index.js +1 -1
  1729. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1730. package/dist/phoenix/utils/node-version/index.js +1 -0
  1731. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1732. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1733. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1734. package/dist/phoenix/utils/package-info.js +1 -1
  1735. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1736. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1737. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1738. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1739. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1740. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1741. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1742. package/dist/phoenix/utils/run-command.js +1 -1
  1743. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1744. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1745. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1746. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1747. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1748. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +52 -0
  1749. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1750. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1751. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1752. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1753. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1754. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1755. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1756. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1757. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1758. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1759. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1760. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1761. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1762. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1763. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1764. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1765. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1766. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1767. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1768. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1769. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1770. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1771. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +28 -0
  1772. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1773. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1774. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1775. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1776. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1777. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +5 -0
  1778. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1779. package/dist/react-sdk/application-runtime/hooks/use-environment.d.ts +7 -0
  1780. package/dist/react-sdk/application-runtime/hooks/use-environment.js +1 -1
  1781. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1782. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1783. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1784. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1785. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1786. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1787. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1788. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1789. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1790. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1791. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1792. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1793. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1794. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1795. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1796. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1797. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1798. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1799. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1800. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1801. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1802. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1803. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1804. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1805. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1806. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1807. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1808. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1809. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1810. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1811. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1812. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1813. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1814. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1815. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1816. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1817. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1818. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1819. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1820. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1821. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1822. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1823. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1824. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1825. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +53 -0
  1826. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1827. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1828. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1829. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1830. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1831. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1832. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1833. package/dist/react-sdk/application-runtime/responsive/types.d.ts +113 -0
  1834. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1835. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1836. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1837. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +331 -10
  1838. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1839. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.d.ts +11 -0
  1840. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1841. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.d.ts +9 -0
  1842. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1843. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1844. package/dist/react-sdk/configurator-routing/index.js +1 -0
  1845. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.d.ts +11 -0
  1846. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1847. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  1848. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  1849. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  1850. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  1851. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  1852. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  1853. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  1854. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  1855. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  1856. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  1857. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  1858. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  1859. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  1860. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  1861. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1862. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1863. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1864. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1865. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1866. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1867. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1868. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1869. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1870. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1871. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1872. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1873. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1874. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1875. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +15 -4
  1876. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -1
  1877. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -3
  1878. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +6 -1
  1879. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.js +1 -1
  1880. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1881. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1882. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1883. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1884. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1885. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1886. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1887. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  1888. package/dist/react-sdk/domain-context/index.js +1 -1
  1889. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1890. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1891. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1892. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1893. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.d.ts +2 -2
  1894. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1895. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1896. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1897. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  1898. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1899. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1900. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1901. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1902. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1903. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1904. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1905. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1906. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1907. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1908. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  1909. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  1910. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  1911. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +3 -3
  1912. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  1913. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  1914. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1915. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1916. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1917. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1918. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1919. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1920. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1921. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1922. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1923. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1924. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1925. package/dist/react-sdk/handlers/index.js +1 -1
  1926. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1927. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1928. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1929. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1930. package/dist/react-sdk/index.d.ts +9 -0
  1931. package/dist/react-sdk/index.js +1 -1
  1932. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1933. package/dist/react-sdk/integration/index.d.ts +1 -0
  1934. package/dist/react-sdk/integration/index.js +1 -0
  1935. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1936. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1937. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1938. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1939. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1940. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1941. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1942. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1943. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1944. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1945. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1946. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1947. package/dist/react-sdk/loading-state/index.js +1 -1
  1948. package/dist/react-sdk/loading-state/loading-state-hooks.d.ts +22 -0
  1949. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1950. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1951. package/dist/react-sdk/notifications/index.js +1 -0
  1952. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1953. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1954. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1955. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1956. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1957. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1958. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1959. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1960. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1961. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1962. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1963. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1964. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1965. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1966. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1967. package/dist/react-sdk/page-elements/index.js +1 -0
  1968. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  1969. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  1970. package/dist/react-sdk/preset-selection/index.js +1 -0
  1971. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  1972. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  1973. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  1974. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  1975. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  1976. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  1977. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  1978. package/dist/react-sdk/provider-slots/index.js +1 -0
  1979. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1980. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1981. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1982. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1983. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1984. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1985. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1986. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1987. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1988. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1989. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1990. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1991. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1992. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1993. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1994. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1995. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1996. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1997. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1998. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1999. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  2000. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  2001. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  2002. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  2003. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  2004. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  2005. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  2006. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  2007. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  2008. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  2009. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  2010. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  2011. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  2012. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  2013. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  2014. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  2015. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  2016. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  2017. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  2018. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  2019. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  2020. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  2021. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  2022. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  2023. package/dist/ui-sdk/icons/__generated/Microphone.d.ts +3 -0
  2024. package/dist/ui-sdk/icons/__generated/Microphone.js +1 -0
  2025. package/dist/ui-sdk/icons/__generated/MicrophoneSlash.d.ts +3 -0
  2026. package/dist/ui-sdk/icons/__generated/MicrophoneSlash.js +1 -0
  2027. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  2028. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  2029. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  2030. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  2031. package/dist/ui-sdk/icons/__generated/SpeakerHigh.d.ts +3 -0
  2032. package/dist/ui-sdk/icons/__generated/SpeakerHigh.js +1 -0
  2033. package/dist/ui-sdk/icons/__generated/SpeakerSlash.d.ts +3 -0
  2034. package/dist/ui-sdk/icons/__generated/SpeakerSlash.js +1 -0
  2035. package/dist/ui-sdk/icons/__generated/Stop.d.ts +3 -0
  2036. package/dist/ui-sdk/icons/__generated/Stop.js +1 -0
  2037. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  2038. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  2039. package/dist/ui-sdk/icons/__generated/index.d.ts +20 -0
  2040. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  2041. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  2042. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  2043. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  2044. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  2045. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  2046. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  2047. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  2048. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  2049. package/dist/ui-sdk/theme/types.d.ts +3 -3
  2050. package/dist/watch/glob-matcher.d.ts +4 -4
  2051. package/dist/watch/glob-matcher.js +1 -1
  2052. package/dist/watch/watch.d.ts +4 -4
  2053. package/dist/watch/watch.js +1 -1
  2054. package/dist/webhook/builders/auth-handler-builder.d.ts +3 -0
  2055. package/dist/webhook/builders/auth-handler-builder.js +1 -1
  2056. package/dist/webhook/builders/common.d.ts +4 -2
  2057. package/package.json +65 -37
  2058. package/schema/domain-spec.json +310 -8
  2059. package/dist/application-spec/caching/runtime-reference-store.d.ts +0 -50
  2060. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  2061. package/dist/application-spec/core/components/component-filter.d.ts +0 -53
  2062. package/dist/application-spec/core/components/index.d.ts +0 -2
  2063. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  2064. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +0 -11
  2065. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  2066. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  2067. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  2068. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  2069. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  2070. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  2071. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  2072. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  2073. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  2074. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  2075. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  2076. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  2077. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.d.ts +0 -13
  2078. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  2079. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  2080. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  2081. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  2082. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  2083. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +0 -28
  2084. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  2085. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +0 -23
  2086. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  2087. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +0 -8
  2088. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +0 -33
  2089. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  2090. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +0 -30
  2091. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  2092. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +0 -32
  2093. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  2094. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +0 -11
  2095. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +0 -2
  2096. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  2097. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +0 -14
  2098. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +0 -10
  2099. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -7
  2100. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  2101. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -7
  2102. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  2103. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +0 -33
  2104. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +0 -1
  2105. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +0 -13
  2106. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +0 -46
  2107. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  2108. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +0 -29
  2109. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  2110. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  2111. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  2112. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +0 -20
  2113. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +0 -8
  2114. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +0 -1
  2115. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +0 -10
  2116. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +0 -19
  2117. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +0 -90
  2118. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +0 -43
  2119. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  2120. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  2121. package/dist/configurator/common/frontend-analytics.d.ts +0 -48
  2122. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  2123. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  2124. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  2125. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  2126. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  2127. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  2128. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  2129. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  2130. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.d.ts +0 -11
  2131. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  2132. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.d.ts +0 -10
  2133. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  2134. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  2135. package/dist/configurator/configurator-context/configurator-routing/index.js +0 -1
  2136. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.d.ts +0 -9
  2137. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  2138. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +0 -5
  2139. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +0 -1
  2140. package/dist/configurator/ui/assistant/theme.d.ts +0 -2
  2141. package/dist/configurator/ui/assistant/theme.js +0 -1
  2142. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  2143. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  2144. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  2145. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  2146. package/dist/domain/application/assistant/assistant-manifest.d.ts +0 -71
  2147. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +0 -131
  2148. package/dist/domain/available-system-components.d.ts +0 -11
  2149. package/dist/domain/available-system-components.js +0 -1
  2150. package/dist/domain/core/action/action-factory.d.ts +0 -11
  2151. package/dist/domain/domain-builder.d.ts +0 -40
  2152. package/dist/domain/domain-builder.js +0 -1
  2153. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +0 -19
  2154. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +0 -1
  2155. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +0 -110
  2156. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +0 -1
  2157. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +0 -8
  2158. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  2159. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +0 -32
  2160. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  2161. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +0 -4
  2162. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +0 -4
  2163. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +0 -15
  2164. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +0 -1
  2165. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +0 -22
  2166. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  2167. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +0 -6
  2168. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  2169. package/dist/domain/extensions/client-side-image.js +0 -1
  2170. package/dist/domain/extensions/save-template-thumbnail.d.ts +0 -14
  2171. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  2172. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  2173. package/dist/phoenix/commands/generate-project-files.js +0 -1
  2174. package/dist/phoenix/commands/generated-env-markers.d.ts +0 -7
  2175. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  2176. package/dist/phoenix/services/lingui.d.ts +0 -7
  2177. package/dist/phoenix/services/lingui.js +0 -1
  2178. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  2179. package/dist/phoenix/services/phoenix-application.js +0 -1
  2180. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  2181. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  2182. package/dist/react-sdk/loading-state/LoadingStateProvider.d.ts +0 -31
  2183. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  2184. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  2185. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  2186. /package/dist/application-spec/{core/expressions/relation-expression-params.js → parse-application-files/spec/expressions/expression-read.js} +0 -0
  2187. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  2188. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-image-view.js} +0 -0
  2189. /package/dist/{domain/application/assistant/assistant-manifest.js → configurator/ui/assistant/form-elements/form-element-props.js} +0 -0
  2190. /package/dist/domain/{core/action → domain-runtime}/action-factory.js +0 -0
  2191. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  2192. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  2193. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  2194. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  2195. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  2196. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  2197. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  2198. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  2199. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  2200. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  2201. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  2202. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  2203. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  2204. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  2205. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  2206. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  2207. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  2208. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  2209. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  2210. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  2211. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  2212. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  2213. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  2214. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  2215. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  2216. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  2217. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  2218. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  2219. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  2220. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  2221. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  2222. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  2223. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  2224. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  2225. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
  2226. /package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.js +0 -0
  2227. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  2228. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  2229. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  2230. /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
@@ -165,6 +169,10 @@ const popNavigate = phx.frontend.usePopNavigate() // popNavigate() returns to th
165
169
  // Fullscreen: a flag in the configurator's state that the layout honours; it does not put the browser into fullscreen
166
170
  const isFullscreen = phx.frontend.useIsFullscreenActive()
167
171
  const setFullscreen = phx.frontend.useSetFullscreen() // setFullscreen(true) or setFullscreen(false)
172
+
173
+ // View state and camera
174
+ const setViewState = phx.frontend.useSetViewState() // setViewState(state) makes one of the spec's viewStates active
175
+ const resetCamera = phx.frontend.useResetCamera() // resetCamera() undoes the user's orbit, pan and zoom
168
176
  ```
169
177
 
170
178
  ### Controls
@@ -188,57 +196,68 @@ const updatedControl = phx.frontend.useUpdatedControl(updates)
188
196
  ### Recipes & Entity Creation
189
197
 
190
198
  ```typescript
191
- // Cook (prepare) recipes for adding children
192
- const cookRecipes = phx.frontend.useCookRecipes()
193
- const cookedRecipes = phx.frontend.useCookedRecipes()
194
-
195
- // Cook recipes for replacing entities
196
- const cookReplaceRecipes = phx.frontend.useCookReplaceRecipes()
197
- const cookedReplaceRecipes = phx.frontend.useCookedReplaceRecipes()
198
-
199
- // Recipe options
200
- 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)
201
211
  const replaceOptions = phx.frontend.useReplaceEntityRecipeOptions(entityId)
202
212
 
203
- // 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)
204
216
  const deleteEntity = phx.frontend.useDeleteEntity()
205
- const deletedEntity = phx.frontend.useDeletedEntity()
206
217
  ```
207
218
 
208
219
  ### Validation & Violations
209
220
 
210
221
  ```typescript
211
- // Validity of the last committed state; a rejected change never becomes committed, so it is not seen here
212
- 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()
213
225
 
214
- // Control violations: takes the violation types to ignore and returns a function that maps a prepared
215
- // 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 }
216
228
  const controlViolations = phx.frontend.useControlViolations([])
217
229
 
218
230
  // Finalize violations
219
231
  const { disabled, hints } = phx.frontend.useFinalizeViolations()
220
232
 
221
- // Messages for the user: violations of a rejected change, side-effect hints and errors, one call each
233
+ // Messages for the user: violations of a rejected change, side-effect hints, errors and failed saves, one call each
222
234
  phx.frontend.useConfiguratorMessages(message => showToast(message.text))
223
235
 
224
- // 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 those
238
+ // left after the ignored types are removed
225
239
  const mapViolationHints = phx.frontend.useMapViolationHints()
240
+ const hint = mapViolationHints(violations, stateEmission)
226
241
  ```
227
242
 
228
243
  ### Components
229
244
 
230
245
  ```typescript
231
- // Get components attached to entities
232
- const component = phx.frontend.useComponent(filter)
233
- const components = phx.frontend.useComponents(filter)
234
- const firstComponent = phx.frontend.useFirstComponent(entityId, filter)
246
+ import { detailComponent } from '@salsita-ai/sdk/domain'
247
+
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] })
235
254
 
236
- // Root entity components
237
- const rootComponents = phx.frontend.useRootComponents(filter)
238
- const firstRootComponent = phx.frontend.useFirstRootComponent(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)
239
258
 
240
- // Rendered variants
241
- const renderedComponent = phx.frontend.useRenderedComponent(filter)
259
+ // Rendered variants take the same arguments
260
+ const renderedDetail = phx.frontend.useRenderedComponent({ entityId, componentType: detailComponent })
242
261
  ```
243
262
 
244
263
  ### Data & Services
@@ -348,16 +367,19 @@ const filterPublishedChunks = phx.frontend.createFilterPublishedChunksHandler(()
348
367
  }, [session.sessionPayload?.role])
349
368
  })
350
369
 
351
- // Runs after preset data is loaded
352
- const onPresetLoaded = phx.frontend.createOnPresetLoadedHandler((entities, presetData) => {
353
- // Can modify preset entities before rendering
354
- return entities
355
- })
356
-
357
- // Intercept navigation to index/presets page
358
- const onGoToIndex = phx.frontend.createOnGoToIndexHandler(() => {
359
- // Custom logic before navigating
360
- })
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
+ }))
361
383
  ```
362
384
 
363
385
  ### UI Components
@@ -368,9 +390,9 @@ const MyLayoutElement = phx.frontend.createCustomPhoenixLayoutElement('MyLayoutE
368
390
  return <div>Custom Layout</div>
369
391
  })
370
392
 
371
- // Custom Phoenix entity element
372
- const MyEntityElement = phx.frontend.createCustomPhoenixEntityElement('MyEntityElement', () => {
373
- 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>
374
396
  })
375
397
 
376
398
  // Custom page when auth fails
@@ -387,24 +409,138 @@ Use these factories to customize the preset-selection screen without changing ho
387
409
  - `createPresetPageAction` adds project-specific content below the default preset cards.
388
410
  - `createPresetDeviceNotSupported` adds project-specific overlay content above the default preset cards.
389
411
 
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`.
413
+
390
414
  ```typescript
391
415
  const PresetScreen = phx.frontend.createPresetUi(CustomPresetScreen)
392
416
  const PresetAction = phx.frontend.createPresetPageAction(PresetHelpAction)
393
417
  const PresetOverlay = phx.frontend.createPresetDeviceNotSupported(SmallScreenNotice)
394
418
  ```
395
419
 
420
+ ### Configuration Not Found Page
421
+
422
+ `phx.frontend.createConfigurationNotFoundPage` registers a page that replaces the one the configurator shows when it cannot open a configuration, as the layout element `ConfigurationNotFoundPage`. Without it, Phoenix renders its built-in "Configuration not accessible" page, which is the default `ConfigurationNotFoundPage` registration in `defaultConfiguratorElements`.
423
+
424
+ ```typescript
425
+ // src/elements/ConfigurationNotFoundPage.tsx
426
+ export default phx.frontend.createConfigurationNotFoundPage(({ onBack }) => (
427
+ <main>
428
+ <h1>We could not find this configuration</h1>
429
+ {onBack && <button onClick={onBack}>Start a new one</button>}
430
+ </main>
431
+ ))
432
+ ```
433
+
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`.
435
+
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.
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.
438
+ - The not-authenticated page, shown when session authentication fails or to an anonymous visitor who may not create a configuration, is its own element, which `createNotAuthenticatedPage` replaces. Its default, the `NotAuthenticatedPage` registration in `defaultConfiguratorElements`, renders the `ConfigurationNotFoundPage` element, so a project's not-found page shows there too.
439
+ - The admin's not-authorized page still shows the built-in page directly, not the element.
440
+
441
+ ### Configurator Error Page
442
+
443
+ `phx.frontend.createConfiguratorErrorPage` registers a page that replaces the one the configurator shows in production when it cannot go on, as the layout element `ConfiguratorErrorPage`. Without it, Phoenix renders its built-in "Whoops, something went wrong!" page, which is the default `ConfiguratorErrorPage` registration in `defaultConfiguratorElements`.
444
+
445
+ ```typescript
446
+ // src/elements/ConfiguratorErrorPage.tsx
447
+ export default phx.frontend.createConfiguratorErrorPage(({ reason, onRetry }) => (
448
+ <main>
449
+ <h1>{reason === 'presetCreationFailed' ? 'We could not start your design' : 'Something went wrong'}</h1>
450
+ <button onClick={onRetry}>{reason === 'presetCreationFailed' ? 'Reload' : 'Try again'}</button>
451
+ </main>
452
+ ))
453
+ ```
454
+
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`.
456
+
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.
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.
459
+ - A registered page that throws does not take the configurator down: the built-in page is shown in its place and the error is logged, until a hot reload replaces or removes the page.
460
+ - Three cases do not show the element. In development the configurator shows its detailed error pages instead. A failed preset creation with more than one preset is a snackbar on the preset screen (see [Loaded Configuration UI](#loaded-configuration-ui) for how a project shows it). The admin's own error page stays the built-in one, while the configurator the admin embeds renders the element.
461
+
462
+ ### App Loader
463
+
464
+ While the configurator loads, Phoenix shows the app loader: an overlay over the scene's safe area. A layout element registered under the name `AppLoaderContent` replaces what the overlay shows. It receives `phases`, the loading phases running now, each with an `id` and an optional `label` and `progress`; the list can be empty while the loader waits for the scene to start loading. `createAppLoader` registers a component under that name with the same `phases`:
465
+
466
+ ```typescript
467
+ // src/elements/AppLoader.tsx
468
+ export default phx.frontend.createAppLoader(({ phases }) => <span>{phases[0]?.label ?? 'Loading…'}</span>)
469
+ ```
470
+
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`.
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.
474
+ - The top-level `appLoader: legacy` key in the spec turns the overlay off.
475
+ - The built-in content is the default `AppLoaderContent` registration in `defaultConfiguratorElements`, see below.
476
+
477
+ ### In-Scene Controls
478
+
479
+ The spec's built-in controls on the product are rendered through entity elements, one name per control. A project element registered under one of the names replaces that control everywhere the spec places it, in the built-in layouts and in a project layout. Without it, Phoenix renders its built-in control, which is the default registration of the name in `defaultConfiguratorElements`.
480
+
481
+ | Element name | Rendered for | Props besides `entityId` | Registration helper |
482
+ | ------------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
483
+ | `AddEntityFab` | `sceneEntityAddFab` | `instanceNames`, `fixableViolations`, `icon`, `label`, `title`, `tooltipVisibility`, `skipMenuWhenOnlyOne`, `hideWhenNone` | `phx.frontend.createAddEntityFab` |
484
+ | `DeleteEntityFab` | `sceneEntityDeleteFab` | `icon`, `label`, `title`, `tooltipVisibility`, `onDelete`, `disabled`, `disabledHint`, `trace` | `phx.frontend.createDeleteEntityFab` |
485
+ | `SelectionHotspot` | `sceneEntitySelectHotspot` | `title`, `tooltipVisibility`, `onSelect` | `phx.frontend.createSelectionHotspot` |
486
+ | `NavigationHotspot` | `sceneEntityNavigationHotspot` | `navigationState`, `title`, `tooltipVisibility`, `onNavigate` | `phx.frontend.createNavigationHotspot` |
487
+ | `ToolMenuFab` | `toolMenuFab` | `options`, `icon`, `title`, `tooltipVisibility`, `onSelectTool` | `phx.frontend.createToolMenuFab` |
488
+
489
+ ```tsx
490
+ // src/elements/SceneControls.tsx
491
+ import { LocalizableMessage } from '@salsita-ai/sdk/react'
492
+
493
+ const AddEntityButtons = phx.frontend.createAddEntityFab(({ entityId, instanceNames, fixableViolations }) => {
494
+ const recipes = phx.frontend
495
+ .useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)
496
+ .flatMap(group => group.recipes)
497
+
498
+ return (
499
+ <div className="brand-scene-buttons">
500
+ {recipes.map((recipe, index) => (
501
+ <button
502
+ key={index}
503
+ disabled={recipe.disabled}
504
+ title={recipe.tooltipTitle}
505
+ onClick={event => {
506
+ event.stopPropagation()
507
+ recipe.handleClick()
508
+ }}
509
+ >
510
+ <LocalizableMessage>{recipe.title}</LocalizableMessage>
511
+ </button>
512
+ ))}
513
+ </div>
514
+ )
515
+ })
516
+
517
+ const DeleteEntityButton = phx.frontend.createDeleteEntityFab(({ onDelete, disabled, disabledHint }) => (
518
+ <button className="brand-scene-button" onClick={onDelete} disabled={disabled} title={disabledHint}>
519
+ Remove
520
+ </button>
521
+ ))
522
+
523
+ export default [AddEntityButtons, DeleteEntityButton]
524
+ ```
525
+
526
+ - Each helper registers the element under its name with the props typed by `AddEntityFabElementProps`, `DeleteEntityFabElementProps`, `SelectionHotspotElementProps`, `NavigationHotspotElementProps` or `ToolMenuFabElementProps`, exported with the helpers from `@salsita-ai/sdk/react` and `@salsita-ai/sdk/configurator`. `createCustomPhoenixEntityElement` with the same name works too, with only `entityId` and `children` typed. The component may return `null` to show nothing.
527
+ - The props are the component's settings from the spec, with `tooltipVisibility` already defaulted to `on-hover`, and the actions the built-in control performs. `onDelete` deletes the entity, `onSelect` selects it and `onNavigate` goes to `navigationState`; each pushes the same analytics event as the built-in control, and each can be passed straight to `onClick`: given the click, it stops its propagation, so the click does not also reach the scene. `onSelectTool(toolState)` switches to the tool state of one of the `options`. `disabled` and `disabledHint` say whether deleting would cause a violation the component's `hiddenViolations` do not allow, and why. `trace` logs the deletion's dry run to the console.
528
+ - The add FAB gets no recipes: it reads them with `phx.frontend.useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)`. Each recipe has `handleClick`, which adds it, `disabled` and `tooltipTitle`. Every recipe is dry-run to tell whether it is allowed, so the built-in FAB reads them only while its menu is open, or up front when `skipMenuWhenOnlyOne` applies; a replacement with a menu does the same. Its `handleClick` does not stop the click's propagation, so the replacement does.
529
+ - Where and when the control shows stays with the spec and the scene: the offsets, `showWhen`, the camera limits, `hideWhileDragging` and `occlude` apply to the element as they did to the built-in control. The element is rendered into the scene's HTML layer, with the theme and every `phx.frontend` hook.
530
+ - A project's own control, one the SDK has no built-in for, is an `htmlHotspot` that names an element of the project, as the edge hotspot of [Custom Layout](?path=/docs/layouts-custom-layout--docs#put-a-control-on-the-product) is.
531
+
396
532
  ### Loaded Configuration UI
397
533
 
398
534
  A layout element registered under the name `ConfiguratorLayout` replaces the whole UI of a loaded configuration, in owner and in read mode, whatever `layout` the spec sets. Without it, Phoenix renders the layout the spec selects. [Custom Layout](?path=/docs/layouts-custom-layout--docs) is a worked example: a fully custom product page with its panel on the left, built from the scene, the safe-area hook and state hooks.
399
535
 
400
536
  ```typescript
401
537
  // src/elements/ConfiguratorLayout.tsx
402
- import { LayoutSlots, useSceneSafeArea } from '@salsita-ai/sdk/configurator'
538
+ import { LayoutSlots } from '@salsita-ai/sdk/configurator'
403
539
 
404
540
  const SIDEBAR_WIDTH = 320
405
541
 
406
542
  export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout', () => {
407
- const { containerRef, safeAreaRef } = useSceneSafeArea()
543
+ const { containerRef, safeAreaRef } = phx.frontend.useSceneSafeArea()
408
544
 
409
545
  return (
410
546
  <div ref={containerRef} style={{ position: 'absolute', inset: 0 }}>
@@ -423,18 +559,20 @@ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout
423
559
  ```
424
560
 
425
561
  - `LayoutSlots.SharedCanvas` renders the scene. It is absolutely positioned and fills its nearest positioned ancestor, so the layout's root is positioned and covers the page. The layout positions its own UI above the canvas and after it in the markup, as the `aside` does; unpositioned content is painted under the canvas.
426
- - `useSceneSafeArea()`, called without arguments, tells the camera which part of the canvas the UI leaves free. Attach `containerRef` to the element that covers the whole canvas and `safeAreaRef` to the region the scene should stay visible in: the hook measures the gap between the two and the camera frames the scene inside the safe area. Without it the scene is framed in the whole canvas. The safe-area element lies over the canvas, so it sets `pointerEvents: 'none'` to leave orbiting and clicking to the scene. A `canvasPadding` component in the spec scales the measured gaps, see [Canvas Padding](?path=/docs/layouts-canvas-padding--docs).
427
- - The layout has to mount `LayoutSlots.SharedCanvas`, or the project sets `appLoader: legacy`. Otherwise the app loader stays on screen.
562
+ - `phx.frontend.useSceneSafeArea()`, called without arguments, tells the camera which part of the canvas the UI leaves free. Attach `containerRef` to the element that covers the whole canvas and `safeAreaRef` to the region the scene should stay visible in: the hook measures the gap between the two and the camera frames the scene inside the safe area. Without it the scene is framed in the whole canvas. The safe-area element lies over the canvas, so it sets `pointerEvents: 'none'` to leave orbiting and clicking to the scene. A `canvasPadding` component in the spec scales the measured gaps, see [Canvas Padding](?path=/docs/layouts-canvas-padding--docs). Besides `phx.frontend`, `@salsita-ai/sdk/configurator` exports it.
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).
428
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.
429
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).
430
- - 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 `usePreview().isPreview` is set. Both previews frame the scene themselves, so the layout renders the component that calls `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. The configurator page, not the layout, shows the annotation editor and the exporting overlay over whichever layout it renders, a project layout included, and makes the layout inert meanwhile; a layout without a canvas has no view to freeze, so Annotate there attaches nothing. It also shows an image of the assistant chat the user opened (a drawing or a project picture of a reply, or an image of a sent message), inside the safe area the layout measures with `phx.frontend.useSceneSafeArea()` (the gaps its own UI leaves, before any `canvasPadding` fractions scale them), so the panel beside it stays usable, or over the whole configurator where that area is under 240 px in either direction; a layout that measures none, such as a legacy layout, places it inside its canvas padding; that view makes nothing inert, and Close, Escape or loading another configuration closes it. Its Annotate closes it too and opens the annotation editor on the image, whose result is attached to the message being written; it is disabled while that message is full, another annotation shows, or the assistant has banned the user, and a picture whose server does not let the page read it (no CORS headers) offers none.
431
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).
432
- - Messages for the user come one of two ways. `LayoutSlots.Services` shows violations of a rejected change, side-effect hints and errors 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. Some messages stay snackbars either way: a failure to save the configuration and an error of the built-in finalize and other actions. They render into the snackbar root, so a layout that mounts none shows them outside the configurator, in the page's `body`. An error while a preset is applied appears on the preset screen, outside the layout.
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.
433
569
  - Any project layout element named `ConfiguratorLayout` takes over the page.
434
570
 
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.
572
+
435
573
  #### Hooks for a Project Layout
436
574
 
437
- A project layout reads the product and the configurator's state through hooks, and changes them through the functions the hooks return. Each row names where its hook comes from; the `phx.frontend` hooks in these tables are also exported from `@salsita-ai/sdk/react` under the same name. No hook looks at read mode: the control hooks and the navigation and fullscreen setters keep working while `accessInfo.viewMode` is `true`, so the layout decides what a viewer can change.
575
+ A project layout reads the product and the configurator's state through hooks, and changes them through the functions the hooks return. Every hook in these tables is a member of `phx.frontend` and is also exported from `@salsita-ai/sdk/react` under the same name, unless its row names another export. No hook looks at read mode: the control hooks and the navigation and fullscreen setters keep working while `accessInfo.viewMode` is `true`, so the layout decides what a viewer can change.
438
576
 
439
577
  **The product**
440
578
 
@@ -443,7 +581,7 @@ A project layout reads the product and the configurator's state through hooks, a
443
581
  | `phx.frontend.useRootEntityId()` | The id of the root entity, which the control hooks take. |
444
582
  | `phx.frontend.useSelectedDomainEntityId()` | The id of the selected entity, or the root entity's id while nothing is selected. |
445
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`. |
446
- | `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. |
447
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. |
448
586
 
449
587
  **Controls**
@@ -457,101 +595,336 @@ The other control hooks in [Controls](#controls) take the same two arguments, `u
457
595
 
458
596
  **Texts**
459
597
 
460
- Texts from the spec, such as option titles and the `detail` fields, are `Localizable`, not `string`. `useResolveLocalizable()` from `@salsita-ai/sdk/react` returns a function that turns one into a string in the current language, which suits a list; `useLocalizable(text)` and `<LocalizableMessage>` resolve a single text, see [Localization](?path=/docs/phoenix-localization--docs).
598
+ Texts from the spec, such as option titles and the `detail` fields, are `Localizable`, not `string`. `phx.frontend.useResolveLocalizable()` returns a function that turns one into a string in the current language, which suits a list; `phx.frontend.useLocalizable(text)` and `<LocalizableMessage>` from `@salsita-ai/sdk/react` resolve a single text, see [Localization](?path=/docs/phoenix-localization--docs).
461
599
 
462
600
  **Mode, fullscreen, preview and navigation**
463
601
 
464
- | Hook | Returns |
465
- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
466
- | `phx.frontend.useAccessService()` | `{ configurationId, accessInfo }`. `accessInfo.viewMode` is `true` while a configuration shared for viewing is open, and also while the host sets the `readonly` property. |
467
- | `phx.frontend.useIsFullscreenActive()` and `phx.frontend.useSetFullscreen()` | The fullscreen flag, a `boolean`, and a function `(enabled: boolean) => void` that sets it. |
468
- | `usePreview()` from `@salsita-ai/sdk/configurator` | `{ isPreview, isExpanded, isPreviewEnabled, isHidden, enter, leave }`. The layout shows a preview start screen while `isPreview` is `true`. |
469
- | `phx.frontend.useActiveNavigationState()` | The active navigation state, one of the spec's `navigationStates`. |
470
- | `phx.frontend.usePushNavigate()` and `phx.frontend.usePopNavigate()` | `(state) => void`, which enters a state and remembers the active one, and `() => void`, which returns to the remembered state and does nothing when there is none. `phx.frontend.useNavigate()` returns `(state) => void`, which enters a state and forgets the history. |
471
- | `phx.frontend.useActiveViewState()` and `phx.frontend.useActiveToolState()` | The active view state and tool state. |
472
- | `useActiveViewports()` from `@salsita-ai/sdk/react` | The responsive breakpoints the configurator's container satisfies, as `Viewport[]`, or `null` before it is measured. It follows the container, not the window, so it is the switch between a desktop and a phone layout. |
602
+ | Hook | Returns |
603
+ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
604
+ | `phx.frontend.useAccessService()` | `{ configurationId, accessInfo }`. `accessInfo.viewMode` is `true` while a configuration shared for viewing is open, and also while the host sets the `readonly` property. |
605
+ | `phx.frontend.useIsFullscreenActive()` and `phx.frontend.useSetFullscreen()` | The fullscreen flag, a `boolean`, and a function `(enabled: boolean) => void` that sets it. |
606
+ | `phx.frontend.usePreview()` | `{ isPreview, isExpanded, isPreviewEnabled, isHidden, enter, leave }`. The layout shows a preview start screen while `isPreview` is `true`. Besides `phx.frontend`, `@salsita-ai/sdk/configurator` exports it, not `@salsita-ai/sdk/react`. |
607
+ | `phx.frontend.useCloseAction()` | The host's close action, `() => Promise<void>`, or `null` when the integration mode offers none. It dispatches the web component's `close` event and, depending on the integration mode, first leaves for the go-back URL of the page's query or puts the configurator on standby. Besides `phx.frontend`, `@salsita-ai/sdk/configurator` exports it, not `@salsita-ai/sdk/react`. |
608
+ | `phx.frontend.useActiveNavigationState()` | The active navigation state, one of the spec's `navigationStates`. |
609
+ | `phx.frontend.usePushNavigate()` and `phx.frontend.usePopNavigate()` | `(state) => void`, which enters a state and remembers the active one, and `() => void`, which returns to the remembered state and does nothing when there is none. `phx.frontend.useNavigate()` returns `(state) => void`, which enters a state and forgets the history. |
610
+ | `phx.frontend.useActiveViewState()` and `phx.frontend.useActiveToolState()` | The active view state and tool state. |
611
+ | `phx.frontend.useSetViewState()` | `(state) => void`, which makes the given view state, one of the spec's `viewStates`, the active one; setting the active state again keeps it. Cameras and components filtered by `viewStates` follow the change. |
612
+ | `phx.frontend.useResetCamera()` | `() => void`, which moves the camera back to the framing of the active camera configuration, undoing the user's orbit, pan and zoom, as the toolbar's reset button does. Besides `phx.frontend`, `@salsita-ai/sdk/configurator` exports it, not `@salsita-ai/sdk/react`. |
613
+ | `phx.frontend.useUndoRedo()` | `{ canUndo, canRedo, undo, redo }`: whether the undo history has a change to undo or to redo, and two `() => void` functions that undo or redo it, as the toolbar's undo and redo buttons do, pushing the same analytics events; each does nothing while there is nothing to undo or redo. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
614
+ | `phx.frontend.useTabNavigation(options?)` | `{ source, tabs, activeTab, select }` for the spec's tabs: `source` is `'sidebarTabs'` (every active `sidebarTabs` of the selected entity, in spec order) or `'horizontalTabs'` (the first active `horizontalTabs`), or `null` without tabs. Each tab is `{ index, label, icon, iconNode, navigationStates, state, isActive }`, with the label resolved, `icon` a PhxIcon name and `iconNode` a React node given by TypeScript spec code; `activeTab` is the first active tab or `null`. `select(index or navigation state)` enters the tab's first navigation state, as the built-in tabs do, pushing the same analytics event for `horizontalTabs`. `options.source` (`'auto'`, `'sidebarTabs'` or `'horizontalTabs'`) chooses the kind; `'auto'` prefers `sidebarTabs` when both are active, with a warning in development. `options.entityId` reads another entity's `sidebarTabs`. A tab without navigation states is left out, with a warning in development. It does not check read mode. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
615
+ | `phx.frontend.useStepNavigation()` | `{ steps, activeStep, activeIndex, isFirst, isLast, canGoNext, canGoPrevious, next, previous, goTo }` for the spec's `navigationSteps`, read from the first active instance on the root entity, the one the built-in layout shows. Each step is `{ index, label, navigationStates, state, status }`, with the label resolved, `state` the navigation state that enters the step and `status` `'complete'`, `'active'` or `'upcoming'`; while the active navigation state belongs to no step, `activeStep` is `null`, `activeIndex` is -1, every step is `'upcoming'` and the next step is the first one. A single step is both first and last. `next()` and `previous()` enter the following or preceding step, as the built-in step buttons do, pushing the same analytics events; `goTo(index or navigation state)` enters any step, as the header's stepper does, pushing its event. Each does nothing without a step to enter. A step without navigation states is left out, with a warning in development. It enforces no order and does not check read mode. Besides `phx.frontend`, `@salsita-ai/sdk/react` exports it. |
616
+ | `phx.frontend.useActiveViewports()` | The responsive breakpoints the configurator's container satisfies, as `Viewport[]`, or `null` before it is measured. It follows the container, not the window, so it is the switch between a desktop and a phone layout. `desktop` is a container wider than 768 pixels and `mobile` one at most 768 pixels wide; `phone` is narrower than 480 and `tablet` between 480 and 1024 pixels; `landscape` and `portrait` follow the browser window's orientation. The built-in layout uses its phone arrangement unless `desktop` is active. |
617
+
618
+ **Steps and tabs**
619
+
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'`.
621
+
622
+ ```tsx
623
+ export const Wizard = () => {
624
+ const { steps, activeStep, canGoNext, canGoPrevious, next, previous, goTo } = phx.frontend.useStepNavigation()
625
+
626
+ return (
627
+ <nav aria-label="Steps">
628
+ <ol>
629
+ {steps.map(step => (
630
+ <li key={step.state} aria-current={step.status === 'active' ? 'step' : undefined}>
631
+ <button type="button" disabled={step.status === 'upcoming'} onClick={() => goTo(step.index)}>
632
+ {step.index + 1}. {step.label}
633
+ </button>
634
+ </li>
635
+ ))}
636
+ </ol>
637
+ <button type="button" disabled={!canGoPrevious} onClick={previous}>
638
+ Back
639
+ </button>
640
+ {canGoNext && (
641
+ <button type="button" onClick={next}>
642
+ Next: {steps[(activeStep?.index ?? -1) + 1]?.label}
643
+ </button>
644
+ )}
645
+ </nav>
646
+ )
647
+ }
648
+ ```
649
+
650
+ **Toolbar**
651
+
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()`.
653
+
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. |
661
+
662
+ **Assistant**
663
+
664
+ The assistant panel renders only inside `LayoutSlots.DesktopSidebar`. A project element that shows the conversation or takes a message itself, such as a thread in the layout's own drawer, reads the same state as the panel through two hooks, exported from `@salsita-ai/sdk/configurator` besides `phx.frontend`. They are separate so that a composer does not render again with every chunk of a reply.
665
+
666
+ | Hook | Returns |
667
+ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
668
+ | `phx.frontend.useAssistantThread()` | `{ items, earlierItems, isLoaded, isLoadingThread, isEmpty, isReplying, isThinking, isResuming, failure, retry, hasOlderMessages, isLoadingOlderMessages, loadOlderMessages, canLoadEarlierThread, isLoadingEarlierThread, loadEarlierThread, undoableToolCallId, undo, newestMessageKey, firstMessageId }`. `items` is the current thread in reading order, each a `user` message with its `text`, `imageIds`, `annotations` and `voice` (`'transcribing'` while the transcript of a voice message is on its way, `'spoken'` once its text is the transcript, `null` for a typed message), a stretch of assistant `text` with its `markdown` and `playableReplyId` (the id of the reply it ends, when the panel can read that reply aloud, else `null`), a row of `tools` calls in a row, or a `separator`; `earlierItems` are the closed threads loaded above it, oldest first, each ended by a separator. `isLoadingThread` is set while the thread is read and `isEmpty` when there is nothing to show, where the panel greets the user. `isThinking` is set while a reply runs and nothing in the thread shows it yet. `failure` is `{ kind, canRetry }` with `kind` `'notAvailable'`, `'busy'`, `'resting'` (with `minutes` to wait), `'exhausted'`, `'locked'`, `'networkLocked'`, `'unheard'` (nothing was heard in a voice message, which was dropped) or `'unavailable'`, and `retry()` reads the thread again where `canRetry` is set. `'locked'` means the assistant banned the user on this configuration, or on several of the customer's, and `'networkLocked'` that it is paused for the user's network address because of how it was used from there: both are failures even when the thread read succeeded, and neither offers a retry. `loadOlderMessages()` loads the previous page of the thread, which the panel does when its top scrolls into view, and `loadEarlierThread()` the closed thread before the loaded ones, offered by `canLoadEarlierThread` once the thread is loaded whole. `undoableToolCallId` is the tool call whose change a row may take back, never while a reply runs, and `undo(toolCallIds)` takes back a row's changes. A thread that scrolls follows two values: `newestMessageKey`, an opaque value compared by identity that changes with the newest message, also with every chunk of a reply, but not when an older page loads above it; and `firstMessageId`, which changes when one does, so the thread can keep the reader's place. It renders again with every chunk of a reply. |
669
+ | `phx.frontend.useAssistantComposer()` | `{ draft, setDraft, attachments, addFiles, annotate, annotateAttachment, removeAttachment, isPreparing, notice, maxAttachments, isBusy, isLocked, isReplying, canSend, send, stop, inputFocusHandlers, canRecord, recording, startRecording, sendRecording, cancelRecording }` for one message being written. `attachments` are `{ id, previewUrl, isAnnotation, pinCount }`; `addFiles(files)` prepares and attaches images up to `maxAttachments` (four) per message, annotations included, and `removeAttachment(id)` takes one off. `notice` is `'limit'` for a file or annotation too many and `'unreadable'` for a file that is not an image the browser can read, until the attachments change. `annotate()` opens the annotation editor over the configurator, in every layout, and attaches the annotation; it calls `assistantSystem.annotate()`, which attaches what the user made itself and resolves with the attachment's id, or `null`, and which takes `{ image, background }` to annotate an image instead of the view, as the Annotate of an opened image does. `annotateAttachment(id)` opens the editor on an attached image that is not an annotation, as the Annotate of the built-in composer's thumbnail does, and the annotation takes that image's place, so it needs no free slot; it calls `assistantSystem.annotate({ attachmentId, background })`. `isBusy` is set while a send waits for the thread to be resumed or the images to upload, when the input should be read-only. `isLocked` is set while the assistant has banned the user on this configuration, or is paused for the user's network; `canSend` is false then, and nothing should be written or attached. `send()` sends the message when `canSend`, clears it once the chat takes it, and puts it back, after what was written meanwhile, when the chat gives it back; `stop()` ends a reply. Spread `inputFocusHandlers` onto the message input so a phone layout makes room for it. The text of the message lives as long as the component that calls the hook; its attachments live in the assistant system (`assistantSystem.composerAttachments$`), so an annotation made outside the composer is attached too, and a configuration load takes them off. Enter-to-send, pasting and dropping images, Enter sending and Escape dropping a recording, and the cursor put in the input when the panel opens on a desktop are the built-in composer's own: a project composer calls `send` and `addFiles` from its handlers. `canRecord` is set when the user may speak the message instead: the session takes voice messages (see below), the browser can record and no ban refuses the user; the built-in composer then shows a mic in place of Send while the text is empty. `recording` is `{ status, elapsedMs, level }`, with `status` `'idle'`, `'requesting'` while the browser asks for the microphone, `'recording'`, `'recorded'` for a recording the server refused, which waits to be sent again or dropped, `'refused'` while the microphone is blocked for the page, or `'unavailable'` where the browser cannot record; `level` is the loudness of the microphone from 0 to 1. `startRecording()` starts a recording, asking for the microphone, also again after a refusal; `sendRecording()` stops it and sends it, with the attachments, as the message; `cancelRecording()` drops it. A recording that reaches two minutes is sent on its own. |
670
+
671
+ The panel renders `useAssistantThread`'s items with components that `@salsita-ai/sdk/configurator` exports too. `AssistantThreadItemView({ item, isActive, undoableToolCallId, onUndo })` renders any item as the panel does; `isActive` is set for the newest item while a reply runs, and `undoableToolCallId` and `onUndo` take the hook's `undoableToolCallId` and `undo`. It dispatches to `AssistantUserMessage({ text, imageIds, annotations, voice })`, `AssistantMarkdown({ markdown, isStreaming, forms })` followed by the reply's play button when `playableReplyId` is set, `AssistantToolChips({ tools, isActive, canUndo, onUndo })` and `AssistantSeparator()`, which a project thread can use one by one. `AssistantMarkdown` renders the project's assistant form elements, entity and reference links, alerts, pictures and drawings wherever it is inside the configurator, without further wiring. A drawing is SVG the model wrote in a fenced code block with the language `svg`; it shows framed in the thread as an image, so nothing in it runs or loads, and a click opens it larger beside the panel, as it does a picture of a reply and an image of a sent message. The assistant's prompt lets the model draw when a schematic explains better than words or when it is asked to; a project asks for more drawings, or for particular ones, in its `assistant.instructions`, for example "After reading a photo, draw the layout you deduced and ask the user to confirm it." A spoken message shows a placeholder until its transcript arrives, then the transcript in italics with a mic mark. An entity link selects its entity; inside `EntityLinkSelectionProvider`, given the selection `useCreateEntityLinkSelection()` creates, the thread can call that selection's `release()` on a click elsewhere in the thread to deselect what a link selected, as the panel does.
672
+
673
+ Voice messages are off unless the spec's `assistant.ai.voice` is `true`; the assistant setup handler can return `ai.voice` to turn them on or off per session, and the composer follows what the server resolved for the session, which the thread read reports. Under `phoenix dev`, an edit of `assistant.ai` reaches the server but not the open page: reload the page to see the mic come or go. A recording is sent as the message, and the server transcribes it once the ban, the monthly caps and the hourly limits accept the message, counting the transcription in the same usage; the transcript becomes the message's text, and the recording is never stored. The browser asks the user for the microphone the first time they record. A configurator embedded in an iframe can record only when the iframe allows it: `<iframe allow="microphone" …>`.
674
+
675
+ With voice on, the panel also reads replies aloud. Every reply that has something to say, in at most 1,500 characters once its code blocks, tables and images are dropped, has a play button under its text, which reads it aloud and stops it; starting one reply stops the other. The reply to a voice message reads itself aloud once it has ended, unless the user muted that with the speaker button in the panel's header; the browser remembers the choice, and the play buttons work either way. A browser that does not let the page start audio on its own, such as Safari when the reply took long, leaves the reply's play button highlighted instead. The server synthesizes a reply's speech once, from its stored text, the first time it is asked for, holding it to the same ban, monthly caps and hourly limits as a message, and keeps it with the thread. A voice message also asks the model for a short reply written to be heard.
676
+
677
+ A project thread or composer of its own drives the reading through `phx.frontend.useConfigurator().assistantSystem`: `playReply(messageId)` reads the reply with that id aloud, or stops it while it is read, `stopPlayback()` stops it, `playback$` holds `{ messageId, status }` with `status` `'idle'`, `'loading'`, `'playing'` or `'blocked'` (the browser did not start the reply on its own), and `muted$` and `setMuted(muted)` hold and change the user's choice to mute the replies that read themselves aloud. `isSpeakableReply(message)`, exported from `@salsita-ai/sdk/configurator`, tells whether the server reads a message aloud. A composer of its own calls `unlockPlayback()` on the tap that records or sends a voice message, so Safari lets the reply read itself aloud later, and `stopPlayback()` when the user starts to speak.
678
+
679
+ **Assistant theme names and slots**
680
+
681
+ Every part of the assistant panel has its own theme name, set under `components` in the theme a project returns from `phx.frontend.createGetThemeHandler`. Each name takes `styleOverrides` keyed by its element slots, and `defaultProps` with `slots`, a component per slot, and `slotProps`, props per element slot. The props type of each name is exported from `@salsita-ai/sdk/configurator` as `Themeable…Props`, such as `ThemeableAssistantComposerProps`. A theme that sets none of them renders the panel as built in.
682
+
683
+ | Theme name | Element slots | Component slots |
684
+ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
685
+ | `PhxAssistantPanel` | `root` | `header`, `thread`, `composer` |
686
+ | `PhxAssistantPanelHeader` | `root`, `title`, `muteButton`, `closeButton` | |
687
+ | `PhxAssistantThread` | `root`, `messages`, `greeting`, `status`, `olderStatus`, `earlierButton`, `notice`, `newReplyButton` | `userMessage`, `assistantMessage`, `toolChips`, `separator` |
688
+ | `PhxAssistantUserMessage`, `PhxAssistantSeparator`, `PhxAssistantMarkdown` | `root`; `PhxAssistantUserMessage` also `voice` and `transcript` | |
689
+ | `PhxAssistantReplyPlayButton` | `root` | |
690
+ | `PhxAssistantMessageImages` | `root`, `image` | |
691
+ | `PhxAssistantToolChips` | `root`, `activity`, `activityIcon`, `chip`, `chipLabel`, `screenshotsLink`, `undoButton`, `violation`, `fullLabel` | |
692
+ | `PhxAssistantComposer` | `root`, `inputFrame`, `attachments`, `attachment`, `removeAttachment`, `annotateAttachment`, `input`, `toolButton`, `sendButton`, `micButton`, `recordingBar`, `stopButton`, `hint`, `attachmentNotice` | |
693
+ | `PhxAssistantForm` | `root`, `submitButton`, `fixButton`, `note` | `group`, `choice`, `choices`, `reply`, `card`, `swatch`, `text`, `number`, `confirm` |
694
+ | `PhxAssistantFormGroup`, `PhxAssistantFormOptions` | `root`, `label`; `PhxAssistantFormOptions` also `row` | |
695
+ | `PhxAssistantFormReply`, `PhxAssistantFormNumber` | `root` | |
696
+ | `PhxAssistantFormCard` | `root`, `image`, `label`, `description`, `check` | |
697
+ | `PhxAssistantFormSwatch` | `root`, `image`, `check` | |
698
+ | `PhxAssistantFormText` | `root`, `input` | |
699
+ | `PhxAssistantFormConfirm` | `root`, `buttons`, `button` | |
700
+ | `PhxAssistantEntityLink`, `PhxAssistantAlert`, `PhxAssistantScreenshots` | `root` | |
701
+ | `PhxAssistantReferenceLink` | `root`, `details` | |
702
+ | `PhxAssistantAnnotation` | `root`, `toolbar` | |
703
+ | `PhxAssistantAnnotationComment`, `PhxAssistantAnnotationBadge` | `root` | |
704
+ | `PhxAssistantDrawing` | `root`, `button`, `image`, `note` | |
705
+ | `PhxAssistantImage` | `root` (the picture), `button` (around it, none inside a link) | |
706
+ | `PhxAssistantImageView` | `root`, `header`, `title`, `actions`, `annotateButton`, `closeButton`, `image` | |
707
+
708
+ A component slot replaces a whole piece:
709
+
710
+ - The panel's `header`, `thread` and `composer` take no props. A replacement reads what it shows with `useAssistantPanel`, `useAssistantThread` or `useAssistantComposer`. The panel's shell stays the SDK's whatever replaces them, so the layouts still hide what the panel covers and stretch the sidebar, and a press on a control keeps the input's focus on a phone. A component in `PhxAssistantPanel`'s `root` slot has to pass on the props it gets, `data-sidebar` and `onMouseDown` among them.
711
+
712
+ A component in an element slot gets that part's props and passes them on to the element it renders. Some slots also get a ref, which the replacement must forward to its element with `forwardRef`: the thread's `messages` (it scrolls), the composer's `input` (through `inputRef`, as an `InputBase`) and `stopButton`, the header's `closeButton`, the tool chips' `chip`, `chipLabel` and `screenshotsLink`, and the reference link's `root`. The controls with a tooltip or a popover are anchored by that ref, and a replacement that drops it loses scrolling, focus or the tooltip.
713
+
714
+ - The thread's item slots get the props of their item, as `AssistantThreadItemView` passes them to the exported components above. `separator` gets none. `AssistantThreadItemView` also takes them as `slots`, for a project thread that uses it.
715
+ - The form's slots are named after the built-in form elements, and each gets that element's props: `FormContainerProps` for `group`, `choice` and `choices`, `FormOptionProps` for `reply`, `card` and `swatch`, and `FormInputProps` for `text`, `number` and `confirm`, with the element's typed attributes. They change how a form looks, not what the assistant can write. The project's own form elements are registered with `createAssistantFormElement` instead.
716
+
717
+ The names of the form elements, the links, the alert, the image, the screenshots and the annotation are read from the theme only: their components take no `slots` of their own. A few parts are shared, so their style overrides reach more than one place. The composer's `inputFrame`, `input`, `toolButton` and `sendButton` also draw the comment of an annotation's pin, and `toolButton` is the Attach, the Annotate and the comment's Delete control. `PhxAssistantMessageImages`' `image` also draws the thumbnails of a message's annotations. `PhxAssistantToolChips`' `root`, `activity` and `activityIcon` also draw the "Thinking…" line. State a part is styled by is on its element, such as `data-chip` on a chip, `data-chips` on a row of chips, `data-alert` on an alert, `data-dragging` on the input frame, `data-blocked` on a mic whose microphone is blocked and `aria-pressed` on a picked form option, so a style override targets it with a selector.
718
+
719
+ ```tsx
720
+ import type { ThemeableAssistantThreadProps } from '@salsita-ai/sdk/configurator'
721
+
722
+ type UserMessageSlot = NonNullable<NonNullable<ThemeableAssistantThreadProps['slots']>['userMessage']>
723
+
724
+ const UserMessage: UserMessageSlot = ({ text }) => <p className="brand-bubble">{text}</p>
725
+
726
+ export default phx.frontend.createGetThemeHandler(
727
+ () =>
728
+ ({
729
+ components: {
730
+ PhxAssistantComposer: { styleOverrides: { inputFrame: { borderRadius: 4 } } },
731
+ PhxAssistantThread: { defaultProps: { slots: { userMessage: UserMessage } } },
732
+ PhxAssistantPanel: { defaultProps: { slots: { composer: BrandComposer } } },
733
+ },
734
+ }) satisfies ThemeOptions
735
+ )
736
+ ```
473
737
 
474
738
  **Violations**
475
739
 
476
- | Hook | Returns |
477
- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
478
- | `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. |
479
- | `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`. |
480
- | `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, and `{ kind: 'error', error, text }` when an error is thrown while a change is validated, with `text` the generic "Oops, something went wrong". `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; 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`. |
740
+ | Hook | Returns |
741
+ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
742
+ | `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. |
743
+ | `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`. |
744
+ | `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`. |
745
+ | `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. |
746
+ | `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. |
747
+ | `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. |
481
748
 
482
- `LayoutSlots.Services` shows the messages of `useConfiguratorMessages` as snackbars; see the messages paragraph of [Loaded Configuration UI](#loaded-configuration-ui) for choosing between the two and for the messages that stay snackbars.
749
+ `LayoutSlots.Services` shows every message of `useConfiguratorMessages` as a snackbar, `saveError` and `saveRecovery` included; see the messages paragraph of [Loaded Configuration UI](#loaded-configuration-ui) for choosing between the two and for the messages that stay snackbars.
483
750
 
484
751
  **Finalize**
485
752
 
486
- A project layout finalizes over the spec's `finalizeAction` components. `phx.frontend.useComponents({ componentTypes: [finalizeActionComponent] })`, with `finalizeActionComponent` from `@salsita-ai/sdk/domain`, lists them; each `state` is `{ variant, label, title, icon, handler }`, where `variant` is `'primary'` or `'secondary'` and `handler` names the project's handler registered with `phx.frontend.createPhoenixHandler`. The built-in footer offers the first `'primary'` action, or else the first action, as its button and the others in a menu, and disables them with `phx.frontend.useFinalizeViolations()`.
753
+ 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:
487
754
 
488
- To offer the same buttons, a project layout mounts `<FinalizeActions />` from `@salsita-ai/sdk/configurator`: the built-in footer's finalize buttons, the primary action plus a menu of the others, disabled with the hints of `useFinalizeViolations()`, with a spinner while the handler runs and a snackbar when it fails. It renders nothing without a `finalizeAction`, and it does not check read mode, so a layout hides it while `accessInfo.viewMode` is `true`.
755
+ - `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.
756
+ - `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.
489
757
 
490
- To build its own buttons, a layout runs an action with `usePhoenixHandler(action.state.handler).handler()` from `@salsita-ai/sdk/react`, which returns a promise. `usePhoenixHandler` runs the project's handler factory, which calls hooks, so each action gets its own component that calls it once, never in a loop, and that component is wrapped in `<PhoenixHandlerBoundary name={action.state.handler}>` from the same import, so an edited handler takes effect without a reload. The layout then shows the pending state, the error and the disabled state from `useFinalizeViolations()` itself.
758
+ Each action has `key`, a stable key for React, `handler`, `variant`, `label` and `title` resolved to the current language, `icon`, a `PhxIcon` name, and:
491
759
 
492
- ## TransformerBuilder
760
+ - `run()`, which records the finalize-button click for analytics and then runs the handler. It does nothing while `disabled` or `isPending`. It returns a promise that resolves once the handler has settled and never rejects, so a menu or a sheet can close after it.
761
+ - `isPending`, `true` while the handler runs.
762
+ - `error`, what the handler's last run rejected with, or `null`; a rejection that is not an `Error` is wrapped in one, with the value as its `cause`. It is cleared when the action runs again. No snackbar is raised; the layout shows the error its own way. A handler that throws while it is loaded, for example because it calls a hook that needs a provider the configurator does not have, makes `error` that error and the action `disabled`.
763
+ - `disabled`, `true` while finalizing is not possible, or when the handler could not be loaded.
493
764
 
494
- Use `transformerBuilder` to create entity transformers:
765
+ ```tsx
766
+ export const Finalize = () => {
767
+ const { accessInfo } = phx.frontend.useAccessService()
768
+ const { primary, secondary, hints } = phx.frontend.useFinalizeActions()
495
769
 
496
- ```typescript
497
- // Create a transformer that runs when specific conditions are met
498
- const cabinetTransformer = phx.frontend.transformerBuilder.when(Cabinet.is).do((cabinet, context) => {
499
- // Transform cabinet data
500
- return {
501
- ...cabinet,
502
- $computedField: calculateSomething(cabinet),
770
+ if (accessInfo.viewMode || !primary) {
771
+ return null
503
772
  }
504
- })
773
+
774
+ return (
775
+ <div>
776
+ <button
777
+ type="button"
778
+ disabled={primary.disabled || primary.isPending}
779
+ onClick={() => void primary.run()}
780
+ title={hints}
781
+ >
782
+ {primary.isPending ? 'Sending…' : primary.label}
783
+ </button>
784
+ {primary.error && <p role="alert">{primary.error.message}</p>}
785
+ {secondary.map(action => (
786
+ <button key={action.key} type="button" disabled={action.disabled} onClick={() => void action.run()}>
787
+ {action.label}
788
+ </button>
789
+ ))}
790
+ </div>
791
+ )
792
+ }
505
793
  ```
506
794
 
507
- **Note**: The deprecated `createTransformer` function should not be used for new implementations.
795
+ 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.
508
796
 
509
- ## Updates Factory
797
+ 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`.
798
+
799
+ Neither hook checks read mode, so the layout hides finalizing while `accessInfo.viewMode` is `true`, as above.
510
800
 
511
- The `updates` factory creates type-safe entity updates:
801
+ Instead of its own buttons, a project layout can mount `<FinalizeActions />` from `@salsita-ai/sdk/configurator`: the built-in footer's finalize buttons, the primary action plus a menu of the others, disabled with the hints of `useFinalizeViolations()`, with a spinner while the handler runs and a snackbar when it fails. It renders nothing without a `finalizeAction`, and it does not check read mode either.
802
+
803
+ ## TransformerBuilder
804
+
805
+ `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.
512
806
 
513
807
  ```typescript
514
- const { storeSystem } = phx.frontend.useDomain()
808
+ // src/transformers/fixCabinetDoors.ts
809
+ export default phx.frontend.transformerBuilder.when
810
+ .entity(['Cabinet'])
811
+ .modified({ atFields: ['width'] })
812
+ .then.applySideEffect(ctx => [
813
+ phx.frontend.updates.DomainEntityModification({
814
+ entityId: ctx.update.entityId,
815
+ stateDelta: { doorCount: ctx.update.stateDelta.width > 600 ? 2 : 1 },
816
+ updateTag: 'fixCabinetDoors',
817
+ }),
818
+ ])
819
+ .build('fixCabinetDoors')
820
+ ```
515
821
 
516
- // Create new entity
517
- const createUpdates = phx.frontend.updates.create({
518
- type: 'Cabinet',
519
- width: 800,
520
- height: 2000,
521
- })
822
+ ```yaml
823
+ transformers:
824
+ - name: fixCabinetDoors
825
+ ```
522
826
 
523
- // Modify existing entity
524
- const modifyUpdates = phx.frontend.updates.modify(cabinetId, {
525
- width: 1000,
827
+ - `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).
828
+ - 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.
829
+ - `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).
830
+ - 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.
831
+
832
+ [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.
833
+
834
+ ## Updates Factory
835
+
836
+ `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.
837
+
838
+ | Member | Update |
839
+ | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
840
+ | `DomainEntityModification({ entityId, stateDelta, updateTag })` | Sets the fields of `stateDelta` on the entity. |
841
+ | `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'`. |
842
+ | `DomainEntityReplacement({ entityId, replacementEntity, keepChildren, updateTag })` | Replaces the entity with `replacementEntity`, keeping its children when `keepChildren` is `true`. |
843
+ | `EntityDeletion({ entityId, updateTag })` | Deletes the entity; the entities it is composed of are deleted with it. |
844
+ | `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. |
845
+
846
+ 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`.
847
+
848
+ 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:
849
+
850
+ ```tsx
851
+ // src/elements/WidenCabinet.tsx
852
+ import { useMemo } from 'react'
853
+
854
+ export default phx.frontend.createCustomPhoenixEntityElement('WidenCabinet', () => {
855
+ const cabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
856
+
857
+ const updates = useMemo(
858
+ () =>
859
+ cabinet
860
+ ? [
861
+ phx.frontend.updates.DomainEntityModification({
862
+ entityId: cabinet.id,
863
+ stateDelta: { width: cabinet.width + 100 },
864
+ updateTag: 'widenCabinet',
865
+ }),
866
+ ]
867
+ : [],
868
+ [cabinet]
869
+ )
870
+ const { update, disabled, hints } = phx.frontend.useUpdatedControl(updates)
871
+
872
+ return (
873
+ <button type="button" disabled={!cabinet || disabled} title={hints} onClick={() => update()}>
874
+ Widen by 100 mm
875
+ </button>
876
+ )
526
877
  })
878
+ ```
527
879
 
528
- // Delete entity
529
- const deleteUpdates = phx.frontend.updates.delete(cabinetId)
880
+ `useUpdateControl(fixableViolations?)` returns the same as a function, for a list of options each with its own updates:
530
881
 
531
- // Apply updates
532
- storeSystem.stageAndCommit(createUpdates)
882
+ ```typescript
883
+ const prepare = phx.frontend.useUpdateControl()
884
+
885
+ const widthOptions = [600, 800, 1000].map(width => ({
886
+ width,
887
+ ...prepare([
888
+ phx.frontend.updates.DomainEntityModification({
889
+ entityId: cabinet.id,
890
+ stateDelta: { width },
891
+ updateTag: 'setCabinetWidth',
892
+ }),
893
+ ]),
894
+ }))
533
895
  ```
534
896
 
897
+ - `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.
898
+ - 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.
899
+ - `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.
900
+
535
901
  ### Update Type Guards
536
902
 
537
903
  ```typescript
538
- // Check update types
539
- phx.frontend.isCreateEntityUpdate(update)
540
- phx.frontend.isReplaceEntityUpdate(update)
541
- phx.frontend.isDeleteEntityUpdate(update)
542
- phx.frontend.isAngleDimensionUpdate(update)
543
- phx.frontend.isDistanceDimensionUpdate(update)
544
- phx.frontend.isAttributeSelectionUpdate(update)
545
- phx.frontend.isSwatchSelectionUpdate(update)
904
+ // Updates of the built-in recipe and delete controls, for the given entity types
905
+ phx.frontend.isCreateEntityUpdate(update, ['Shelf'])
906
+ phx.frontend.isReplaceEntityUpdate(update, ['Cabinet'])
907
+ phx.frontend.isDeleteEntityUpdate(update, ['Shelf'])
908
+
909
+ // Updates of a built-in control, for the given entity types and the instance name of its component
910
+ phx.frontend.isAttributeSelectionUpdate(update, ['Cabinet'], 'finish')
911
+ phx.frontend.isAttributeSwitchUpdate(update, ['Cabinet'], 'softClose')
912
+ phx.frontend.isSwatchSelectionUpdate(update, ['Cabinet'], 'frontMaterial')
913
+ phx.frontend.isTextValueUpdate(update, ['Cabinet'], 'engraving')
914
+ phx.frontend.isDistanceDimensionUpdate(update, ['Cabinet'], 'width')
915
+ phx.frontend.isAngleDimensionUpdate(update, ['Cabinet'], 'doorAngle')
916
+ phx.frontend.isGenericDimensionUpdate(update, ['Cabinet'], 'shelfCount')
546
917
  ```
547
918
 
919
+ 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.
920
+
548
921
  ## Admin Interface
549
922
 
550
923
  For admin panel development, use `phx.frontend.admin`:
551
924
 
552
925
  ```typescript
553
926
  // Admin-specific hooks
554
- const entityState = phx.frontend.admin.useEntityState(AdminEntity, entityId)
927
+ const entityState = phx.frontend.admin.useEntityState(entityId)
555
928
  const selectEntity = phx.frontend.admin.useSelectEntity()
556
929
  const domain = phx.frontend.admin.useDomain()
557
930
  ```
@@ -571,14 +944,14 @@ const NotAuthorizedAdminPage = phx.frontend.admin.createNotAuthorizedAdminPage((
571
944
  ```
572
945
 
573
946
  When no authentication-error page is registered, Phoenix falls back to the registered not-authorized page and then
574
- to the default configuration-not-found page.
947
+ to the built-in configuration-not-found page. The admin shows the built-in page even when the project registers a `ConfigurationNotFoundPage`, see [Configuration Not Found Page](#configuration-not-found-page).
575
948
 
576
949
  ## What We Learned
577
950
 
578
951
  In this guide, we covered Phoenix's Configurator Interface:
579
952
 
580
953
  - **Global namespace** - Access via `phx.frontend` and `Phx` type namespace
581
- - **Auto-generation** - Interface is generated in `.phoenix/configurator-interface.ts`
954
+ - **Auto-generation** - Interface is generated in `.phoenix/configurator-globals.ts`
582
955
  - **Core hooks** - State, selection, navigation, controls, validation, and more
583
956
  - **Handler functions** - Lifecycle providers and UI component factories
584
957
  - **TransformerBuilder** - Type-safe entity transformations