@salsita-ai/sdk 0.50.0-develop.b47f1774a2 → 0.50.0-develop.b5d443db78

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 (1282) hide show
  1. package/README.md +8 -2
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +1 -1
  4. package/dist/admin/legacy-admin/Application.js +1 -1
  5. package/dist/application-spec/caching/index.d.ts +6 -1
  6. package/dist/application-spec/caching/index.js +1 -1
  7. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -31
  8. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  9. package/dist/application-spec/core/index.d.ts +1 -3
  10. package/dist/application-spec/core/index.js +1 -1
  11. package/dist/application-spec/core/json-schema.d.ts +2 -52
  12. package/dist/application-spec/core/markers/index.d.ts +1 -1
  13. package/dist/application-spec/core/markers/index.js +1 -1
  14. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  15. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  16. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  17. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  18. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  19. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -1
  20. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  21. package/dist/application-spec/errors/diagnostic-messages.d.ts +16 -1
  22. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  23. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  24. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  25. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  26. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-locale.js +1 -1
  27. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
  28. package/dist/application-spec/generate-application/code/templates/index.d.ts +2 -6
  29. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  30. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
  31. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  34. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  35. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  36. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +118 -0
  37. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  38. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +44 -0
  39. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  40. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  41. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  42. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  44. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  46. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  47. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  48. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  49. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  50. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  51. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  52. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  53. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  54. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  55. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  56. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  57. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  58. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  59. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  60. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  61. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  62. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  63. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  64. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  65. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  66. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  68. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  69. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  70. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  71. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  72. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  73. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  74. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  75. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  76. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  77. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  78. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  79. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  80. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  83. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  84. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  87. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  90. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  91. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  92. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  93. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  94. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  95. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  96. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  97. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  98. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  99. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  100. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  101. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  102. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  105. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  106. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  110. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  112. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  113. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  118. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.d.ts +2 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +14 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/beta.d.ts} +2 -1
  132. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  152. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  170. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  171. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  173. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  174. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  175. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  176. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  177. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  178. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  179. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  180. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  181. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  182. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  183. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +51 -258
  184. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  185. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  186. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  187. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
  188. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
  189. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  190. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  191. package/dist/application-spec/generate-application/index.d.ts +1 -8
  192. package/dist/application-spec/generate-application/index.js +1 -1
  193. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  194. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  195. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  196. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  197. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  198. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  199. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  200. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  201. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +25 -20
  202. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  203. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  204. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  206. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  207. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  208. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  209. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  210. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  211. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +4 -10
  212. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  213. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  214. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  215. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  216. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +2 -3
  217. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  218. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +2 -3
  219. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +2 -2
  220. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -29
  221. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  222. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  223. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +2 -2
  225. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  226. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +4 -14
  227. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  228. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  229. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -31
  230. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  231. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  232. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  233. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  234. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  235. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  236. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  237. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  238. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  239. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  240. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  241. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  242. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  243. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  244. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  245. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  248. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  249. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  250. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  251. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  252. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  253. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  254. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  255. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  256. package/dist/client/authorized-client.d.ts +4 -2
  257. package/dist/client/authorized-client.js +1 -1
  258. package/dist/client/contract.d.ts +46 -5
  259. package/dist/client/contract.js +1 -1
  260. package/dist/client/index.d.ts +1 -1
  261. package/dist/client/local-authorized-client.d.ts +3 -1
  262. package/dist/client/local-authorized-client.js +1 -1
  263. package/dist/client/memory-authorized-client.d.ts +4 -1
  264. package/dist/client/memory-authorized-client.js +1 -1
  265. package/dist/client/phoenix-api.d.ts +281 -4
  266. package/dist/configurator/ConfiguratorApp.js +1 -1
  267. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  268. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +31 -0
  269. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +142 -24
  270. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  271. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +21 -4
  272. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  273. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
  274. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  275. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +70 -56
  276. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  277. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +38 -11
  278. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  279. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  280. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  281. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  282. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  283. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +8 -0
  284. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  285. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +3 -2
  286. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  287. package/dist/configurator/common/configurator-interface.d.ts +14 -4
  288. package/dist/configurator/common/configurator-interface.js +1 -1
  289. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  290. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  291. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.js +1 -1
  292. package/dist/configurator/configurator-context/index.d.ts +0 -5
  293. package/dist/configurator/configurator-context/index.js +1 -1
  294. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  295. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  296. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  297. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
  298. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  299. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  300. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  301. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  302. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  303. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  304. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  305. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  306. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  307. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  308. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  309. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  310. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  311. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  312. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  313. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  314. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  315. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  316. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  317. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  318. package/dist/configurator/pages/provider-slots/index.js +1 -0
  319. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  320. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  321. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  322. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  323. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  324. package/dist/configurator/pages/ui-elements/index.js +1 -0
  325. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  326. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -0
  327. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  328. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +4 -0
  329. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  330. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  331. package/dist/configurator/ui/assistant/AssistantThread.d.ts +4 -3
  332. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  333. package/dist/configurator/ui/assistant/AssistantThreadItemView.d.ts +27 -0
  334. package/dist/configurator/ui/assistant/AssistantThreadItemView.js +1 -0
  335. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +4 -1
  336. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
  337. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +9 -0
  338. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  339. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +6 -0
  340. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  341. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  342. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  343. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  344. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  345. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  346. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  347. package/dist/configurator/ui/assistant/annotation/annotation-host-context.d.ts +5 -0
  348. package/dist/configurator/ui/assistant/annotation/annotation-host-context.js +1 -0
  349. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +26 -0
  350. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  351. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +15 -0
  352. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  353. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  354. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  355. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  356. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  357. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  358. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  359. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  360. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  361. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +1 -0
  362. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  363. package/dist/configurator/ui/assistant/annotation/index.d.ts +4 -0
  364. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  365. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  366. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  367. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  368. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  369. package/dist/configurator/ui/assistant/assistant-failure.d.ts +17 -7
  370. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  371. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +19 -0
  372. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  373. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  374. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  375. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  376. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  377. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +15 -0
  378. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  379. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  380. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  381. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  382. package/dist/configurator/ui/assistant/entity-link/index.d.ts +1 -1
  383. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  384. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +26 -0
  385. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
  386. package/dist/configurator/ui/assistant/index.d.ts +10 -0
  387. package/dist/configurator/ui/assistant/index.js +1 -1
  388. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  389. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  390. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  391. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  392. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
  393. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
  394. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +1 -1
  395. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -1
  396. package/dist/configurator/ui/assistant/screenshots/index.d.ts +1 -0
  397. package/dist/configurator/ui/assistant/screenshots/index.js +1 -1
  398. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +6 -4
  399. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  400. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  401. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  402. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
  403. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  404. package/dist/configurator/ui/assistant/thread-items.d.ts +5 -0
  405. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  406. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  407. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  408. package/dist/configurator/ui/assistant/use-assistant-composer.d.ts +69 -0
  409. package/dist/configurator/ui/assistant/use-assistant-composer.js +2 -0
  410. package/dist/configurator/ui/assistant/use-assistant-thread.d.ts +52 -0
  411. package/dist/configurator/ui/assistant/use-assistant-thread.js +1 -0
  412. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  413. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  414. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  415. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  416. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  417. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  418. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  419. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  420. package/dist/configurator/ui/index.d.ts +1 -1
  421. package/dist/configurator/ui/index.js +1 -1
  422. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  423. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  424. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  425. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  426. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  427. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  428. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  429. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  430. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  431. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  432. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/use-basic-sidebar-footer.js +1 -1
  433. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  434. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  435. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -1
  436. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  437. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  438. package/dist/docs/3d-scene/cameras/custom.mdx +4 -4
  439. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  440. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  441. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  442. package/dist/docs/3d-scene/engraving.mdx +0 -4
  443. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  444. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  445. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  446. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  447. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  448. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  449. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  450. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  451. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  452. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  453. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  454. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  455. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  456. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  457. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  458. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  459. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  460. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  461. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  462. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  463. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  464. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  465. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  466. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  467. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  468. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  469. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  470. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  471. package/dist/docs/controls/custom.mdx +88 -87
  472. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  473. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  474. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  475. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  476. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  477. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  478. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  479. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  480. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  481. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  482. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  483. package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
  484. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  485. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  486. package/dist/docs/controls/text-input.mdx +90 -19
  487. package/dist/docs/demos/glass.mdx +0 -4
  488. package/dist/docs/demos/heater.mdx +0 -10
  489. package/dist/docs/demos/office-chair.mdx +0 -8
  490. package/dist/docs/demos/office-desk.mdx +0 -8
  491. package/dist/docs/demos/ring.mdx +0 -9
  492. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  493. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  494. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -14
  495. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  496. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  497. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -16
  498. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  499. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  500. package/dist/docs/dimensions/basic-concepts/dimension-data-unit.mdx +0 -12
  501. package/dist/docs/dimensions/basic-concepts/dimension-unit-config.mdx +0 -12
  502. package/dist/docs/dimensions/input-controls/distance-input.mdx +0 -12
  503. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -18
  504. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -14
  505. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -14
  506. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  507. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  508. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  509. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  510. package/dist/docs/drag-and-drop/room-planner.mdx +1 -7
  511. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  512. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  513. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  514. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  515. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  516. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  517. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  518. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  519. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  520. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  521. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  522. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  523. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  524. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  525. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  526. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  527. package/dist/docs/fabs/basic.mdx +6 -12
  528. package/dist/docs/fabs/layout.mdx +0 -7
  529. package/dist/docs/index.json +4 -4
  530. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  531. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  532. package/dist/docs/integrations/webcomponent-api/basics.mdx +6 -2
  533. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +4 -1
  534. package/dist/docs/layouts/custom-layout.mdx +1 -41
  535. package/dist/docs/layouts/custom-price.mdx +0 -2
  536. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  537. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3 -34
  538. package/dist/docs/layouts/gallery/corvid-drone.mdx +0 -29
  539. package/dist/docs/layouts/gallery/fenwick-window.mdx +0 -25
  540. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +0 -27
  541. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +0 -29
  542. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +2 -35
  543. package/dist/docs/layouts/gallery/sunfold-solar.mdx +0 -26
  544. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +0 -46
  545. package/dist/docs/layouts/header/custom.mdx +0 -2
  546. package/dist/docs/layouts/icon-sets.mdx +0 -6
  547. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  548. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  549. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  550. package/dist/docs/layouts/presets/custom.mdx +6 -13
  551. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  552. package/dist/docs/layouts/preview/always.mdx +4 -14
  553. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  554. package/dist/docs/layouts/preview/auto.mdx +4 -14
  555. package/dist/docs/layouts/preview/never.mdx +4 -14
  556. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  557. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  558. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  559. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  560. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  561. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  562. package/dist/docs/layouts/tool-controls.mdx +0 -1
  563. package/dist/docs/layouts/toolbar.mdx +0 -4
  564. package/dist/docs/layouts/universal.mdx +2 -22
  565. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  566. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  567. package/dist/docs/other-features/client-side-rendering/declarative.mdx +0 -4
  568. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  569. package/dist/docs/other-features/component-filters.mdx +0 -7
  570. package/dist/docs/other-features/currency.mdx +5 -6
  571. package/dist/docs/other-features/domain-actions.mdx +0 -5
  572. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  573. package/dist/docs/other-features/error-5xx.mdx +0 -14
  574. package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
  575. package/dist/docs/other-features/not-found-404.mdx +0 -14
  576. package/dist/docs/other-features/projected-entities.mdx +0 -5
  577. package/dist/docs/other-features/side-effects.mdx +0 -23
  578. package/dist/docs/other-features/transformers.mdx +101 -96
  579. package/dist/docs/other-features/violation-messages.mdx +0 -4
  580. package/dist/docs/other-features/violation-severity.mdx +2 -3
  581. package/dist/docs/performance/clone-highlight.mdx +0 -7
  582. package/dist/docs/performance/dynamic-components.mdx +0 -6
  583. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  584. package/dist/docs/performance/fast-highlight.mdx +0 -7
  585. package/dist/docs/performance/general.mdx +0 -7
  586. package/dist/docs/performance/render-isolation.mdx +0 -6
  587. package/dist/docs/phoenix/admin.mdx +75 -100
  588. package/dist/docs/phoenix/application-states.mdx +45 -27
  589. package/dist/docs/phoenix/components.mdx +53 -46
  590. package/dist/docs/phoenix/configurator-interface.mdx +208 -117
  591. package/dist/docs/phoenix/deployments.mdx +11 -1
  592. package/dist/docs/phoenix/domain-model.mdx +24 -16
  593. package/dist/docs/phoenix/expression-context.mdx +3 -29
  594. package/dist/docs/phoenix/getting-started.mdx +0 -2
  595. package/dist/docs/phoenix/layout-slots.mdx +21 -0
  596. package/dist/docs/phoenix/localization.mdx +64 -54
  597. package/dist/docs/phoenix/migration-guide.mdx +10 -11
  598. package/dist/docs/phoenix/phoenix-cli.mdx +57 -15
  599. package/dist/docs/phoenix/project-structure.mdx +52 -55
  600. package/dist/docs/phoenix/quickstart.mdx +1 -3
  601. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -9
  602. package/dist/docs/phoenix/state-management.mdx +18 -16
  603. package/dist/docs/phoenix/testing.mdx +6 -1
  604. package/dist/docs/phoenix/webhooks.mdx +9 -1
  605. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  606. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  607. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  608. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  609. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  610. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  611. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  612. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  613. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  614. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  615. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  616. package/dist/docs/relations/aliases.mdx +0 -2
  617. package/dist/docs/relations/all-of-type.mdx +0 -4
  618. package/dist/docs/relations/child-nullable.mdx +0 -4
  619. package/dist/docs/relations/child-required.mdx +0 -2
  620. package/dist/docs/relations/collection-direct.mdx +0 -4
  621. package/dist/docs/relations/collection-indirect.mdx +0 -4
  622. package/dist/docs/relations/collection-multiple.mdx +0 -2
  623. package/dist/docs/relations/cross-reference.mdx +0 -2
  624. package/dist/docs/relations/hierarchy.mdx +0 -2
  625. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  626. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  627. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  628. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  629. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  630. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  631. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  632. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  633. package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
  634. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  635. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  636. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  637. package/dist/domain/application/application-config.d.ts +6 -26
  638. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  639. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  640. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  641. package/dist/domain/application/assistant/build-assistant-lenses.js +1 -1
  642. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  643. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  644. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -2
  645. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  646. package/dist/domain/application/assistant/index.d.ts +0 -4
  647. package/dist/domain/application/assistant/index.js +1 -1
  648. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  649. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  650. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  651. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +3 -5
  652. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  653. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  654. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  655. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  656. package/dist/domain/application/assistant-mutations.js +1 -1
  657. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  658. package/dist/domain/application/configurator-builder.d.ts +1 -2
  659. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  660. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  661. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  662. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  663. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  664. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  665. package/dist/domain/available-system-components/available-system-components.d.ts +11 -0
  666. package/dist/domain/available-system-components/available-system-components.js +1 -0
  667. package/dist/domain/available-system-components/index.d.ts +1 -0
  668. package/dist/domain/available-system-components/index.js +1 -0
  669. package/dist/domain/core/domain.js +1 -1
  670. package/dist/domain/core/invariant/violation.d.ts +3 -2
  671. package/dist/domain/{domain-builder.d.ts → domain-builder/domain-builder.d.ts} +2 -2
  672. package/dist/domain/domain-builder/domain-builder.js +1 -0
  673. package/dist/domain/domain-builder/index.d.ts +1 -0
  674. package/dist/domain/domain-builder/index.js +1 -0
  675. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  676. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  677. package/dist/domain/domain-runtime/domain-runtime.d.ts +24 -24
  678. package/dist/domain/domain-runtime/index.d.ts +0 -1
  679. package/dist/domain/domain-runtime/index.js +1 -1
  680. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  681. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  682. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  683. package/dist/domain/domain-runtime/spec/index.js +1 -1
  684. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  685. package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
  686. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  687. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -5
  688. package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
  689. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +6 -0
  690. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -1
  691. package/dist/domain/extensions/export-images/index.d.ts +1 -1
  692. package/dist/domain/extensions/export-images/index.js +1 -1
  693. package/dist/domain/extensions/index.d.ts +1 -1
  694. package/dist/domain/extensions/index.js +1 -1
  695. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +1 -1
  696. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -1
  697. package/dist/domain/index.d.ts +15 -2
  698. package/dist/domain/index.js +1 -1
  699. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  700. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  701. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  702. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  703. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  704. package/dist/domain/spec/application/index.d.ts +5 -0
  705. package/dist/domain/spec/application/index.js +1 -0
  706. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  707. package/dist/domain/spec/components/bindings/index.js +1 -0
  708. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  709. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  710. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  711. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  712. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -3
  713. package/dist/domain/spec/components/component-entry.js +1 -0
  714. package/dist/{application-spec/core → domain/spec}/components/component-filter.d.ts +3 -2
  715. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  716. package/dist/domain/spec/components/component-filters.js +1 -0
  717. package/dist/domain/spec/components/components.d.ts +4 -0
  718. package/dist/domain/spec/components/components.js +1 -0
  719. package/dist/domain/spec/components/index.d.ts +6 -0
  720. package/dist/domain/spec/enhanced-json/enhanced-json-value.d.ts +30 -0
  721. package/dist/domain/spec/enhanced-json/enhanced-json-value.js +1 -0
  722. package/dist/domain/spec/enhanced-json/index.d.ts +1 -0
  723. package/dist/domain/spec/enhanced-json/index.js +1 -0
  724. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -3
  725. package/dist/domain/spec/expressions/expression.js +1 -0
  726. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  727. package/dist/domain/spec/expressions/expressions.js +1 -0
  728. package/dist/domain/spec/expressions/index.d.ts +5 -0
  729. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  730. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  731. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  732. package/dist/domain/spec/index.d.ts +4 -0
  733. package/dist/domain/spec/index.js +1 -0
  734. package/dist/domain/spec/invariants/index.d.ts +2 -0
  735. package/dist/domain/spec/invariants/index.js +1 -0
  736. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  737. package/dist/domain/spec/invariants/invariant.js +1 -0
  738. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  739. package/dist/domain/spec/invariants/invariants.js +1 -0
  740. package/dist/domain/spec/json-schema.d.ts +52 -0
  741. package/dist/domain/spec/json-schema.js +1 -0
  742. package/dist/domain/spec/markers/index.d.ts +3 -0
  743. package/dist/domain/spec/markers/index.js +1 -0
  744. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  745. package/dist/domain/spec/markers/msg-marker.js +1 -0
  746. package/dist/domain/spec/model/aliases.d.ts +9 -0
  747. package/dist/domain/spec/model/aliases.js +1 -0
  748. package/dist/domain/spec/model/common-types.d.ts +15 -0
  749. package/dist/domain/spec/model/common-types.js +1 -0
  750. package/dist/domain/spec/model/defaults.d.ts +33 -0
  751. package/dist/domain/spec/model/defaults.js +1 -0
  752. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  753. package/dist/domain/spec/model/entity-types.js +1 -0
  754. package/dist/domain/spec/model/index.d.ts +7 -0
  755. package/dist/domain/spec/model/index.js +1 -0
  756. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  757. package/dist/domain/spec/model/model-version-key.js +1 -0
  758. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  759. package/dist/domain/spec/model/names/action-name.js +1 -0
  760. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  761. package/dist/domain/spec/model/names/alias-name.js +1 -0
  762. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  763. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  764. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  765. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  766. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  767. package/dist/domain/spec/model/names/expression-name.js +1 -0
  768. package/dist/domain/spec/model/names/index.d.ts +9 -0
  769. package/dist/domain/spec/model/names/index.js +1 -0
  770. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  771. package/dist/domain/spec/model/names/instance-name.js +1 -0
  772. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  773. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  774. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  775. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  776. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  777. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  778. package/dist/domain/spec/model/presets.d.ts +30 -0
  779. package/dist/domain/spec/model/presets.js +1 -0
  780. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +1 -1
  781. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/find-assistant-form-element-errors.d.ts +1 -1
  782. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  783. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +2 -3
  784. package/dist/domain/spec/modules/index.js +1 -0
  785. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/merge-expression-modules.d.ts +2 -2
  786. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  787. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
  788. package/dist/domain/spec/modules/project-modules.js +1 -0
  789. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
  790. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
  791. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +1 -1
  792. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
  793. package/dist/domain/spec/phx/index.d.ts +1 -0
  794. package/dist/domain/spec/phx/index.js +1 -0
  795. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-application-types.d.ts +1 -1
  796. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  797. package/dist/domain/spec/phx/phx-domain.js +1 -0
  798. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-model.d.ts +2 -2
  799. package/dist/domain/spec/phx/phx-model.js +1 -0
  800. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.d.ts +1 -2
  801. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-runtime.d.ts +7 -6
  802. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  803. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-spec-runtime.d.ts +2 -2
  804. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  805. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  806. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  807. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
  808. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +8 -6
  809. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  810. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-spec-slice.d.ts +3 -1
  811. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  812. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-runtime.d.ts +8 -10
  813. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  814. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-spec-runtime.d.ts +2 -2
  815. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  816. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  817. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  818. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
  819. package/dist/{application-spec/generate-application → domain/spec}/runtime/create-application.d.ts +3 -2
  820. package/dist/domain/spec/runtime/create-application.js +1 -0
  821. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +5 -3
  822. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  823. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -2
  824. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  825. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  826. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  827. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
  828. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -3
  829. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
  830. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.js +1 -1
  831. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -2
  832. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.js +1 -1
  833. package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
  834. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  835. package/dist/domain/spec/runtime/index.d.ts +13 -0
  836. package/dist/domain/spec/runtime/index.js +1 -0
  837. package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
  838. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  839. package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +4 -3
  840. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  841. package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +4 -3
  842. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  843. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  844. package/dist/domain/spec/runtime/model/index.js +1 -0
  845. package/dist/domain/spec/runtime/optics/build-sdk-optic.d.ts +7 -0
  846. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  847. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  848. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  849. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  850. package/dist/domain/spec/runtime/optics/built-component-optic.js +1 -0
  851. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -14
  852. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  853. package/dist/domain/spec/runtime/optics/index.js +1 -0
  854. package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
  855. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  856. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -3
  857. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
  858. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
  859. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  860. package/dist/domain/spec/runtime/sections/index.js +1 -0
  861. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +4 -4
  862. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
  863. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
  864. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  865. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  866. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-runtime.d.ts +3 -3
  867. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  868. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  869. package/dist/domain/spec/runtime-spec/index.js +1 -0
  870. package/dist/domain/spec/runtime-spec/runtime-spec.d.ts +174 -0
  871. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
  872. package/dist/domain/spec/sections/actions.d.ts +23 -0
  873. package/dist/domain/spec/sections/actions.js +1 -0
  874. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  875. package/dist/domain/spec/sections/app-metadata.js +1 -0
  876. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  877. package/dist/domain/spec/sections/application-version.js +1 -0
  878. package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +13 -3
  879. package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +5 -9
  880. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  881. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  882. package/dist/domain/spec/sections/assistant/index.js +1 -0
  883. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  884. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  885. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  886. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  887. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  888. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  889. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  890. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  891. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  892. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  893. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  894. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  895. package/dist/domain/spec/sections/index.d.ts +10 -0
  896. package/dist/domain/spec/sections/index.js +1 -0
  897. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  898. package/dist/domain/spec/sections/infra/acl.js +1 -0
  899. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  900. package/dist/domain/spec/sections/infra/index.js +1 -0
  901. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  902. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  903. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  904. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  905. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  906. package/dist/domain/spec/sections/state-value.js +1 -0
  907. package/dist/domain/spec/sections/theme.d.ts +10 -0
  908. package/dist/domain/spec/sections/theme.js +1 -0
  909. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  910. package/dist/domain/spec/sections/transformers.js +1 -0
  911. package/dist/domain/spec/sections/ui.d.ts +12 -0
  912. package/dist/domain/spec/sections/ui.js +1 -0
  913. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  914. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  915. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  916. package/dist/domain/system-definitions.js +1 -1
  917. package/dist/domain/utils/index.d.ts +2 -0
  918. package/dist/domain/utils/index.js +1 -0
  919. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  920. package/dist/i18n/locales/cs/messages.js +1 -1
  921. package/dist/i18n/locales/da/messages.js +1 -1
  922. package/dist/i18n/locales/de/messages.js +1 -1
  923. package/dist/i18n/locales/de-AT/messages.js +1 -1
  924. package/dist/i18n/locales/en/messages.js +1 -1
  925. package/dist/i18n/locales/en-AU/messages.js +1 -1
  926. package/dist/i18n/locales/en-GB/messages.js +1 -1
  927. package/dist/i18n/locales/es/messages.js +1 -1
  928. package/dist/i18n/locales/fr/messages.js +1 -1
  929. package/dist/i18n/locales/hu/messages.js +1 -1
  930. package/dist/i18n/locales/it/messages.js +1 -1
  931. package/dist/i18n/locales/nl/messages.js +1 -1
  932. package/dist/i18n/locales/pl/messages.js +1 -1
  933. package/dist/i18n/locales/pt/messages.js +1 -1
  934. package/dist/i18n/locales/ro/messages.js +1 -1
  935. package/dist/i18n/locales/sk/messages.js +1 -1
  936. package/dist/i18n/locales/tr/messages.js +1 -1
  937. package/dist/i18n/merge-catalogs.d.ts +4 -1
  938. package/dist/i18n/merge-catalogs.js +1 -1
  939. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  940. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  941. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +4 -2
  942. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/i18n-index.js +3 -3
  943. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  944. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  945. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  946. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  947. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  948. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -0
  949. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  950. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -0
  951. package/dist/phoenix/application-spec/index.d.ts +2 -0
  952. package/dist/phoenix/application-spec/index.js +1 -1
  953. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  954. package/dist/phoenix/application-spec/project-files.js +1 -1
  955. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  956. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  957. package/dist/phoenix/bin.js +1 -1
  958. package/dist/phoenix/cli.js +1 -1
  959. package/dist/phoenix/commands/activate-deployment.js +1 -1
  960. package/dist/phoenix/commands/build.js +1 -1
  961. package/dist/phoenix/commands/changelog.js +1 -1
  962. package/dist/phoenix/commands/check.js +1 -1
  963. package/dist/phoenix/commands/clean.js +1 -1
  964. package/dist/phoenix/commands/cleanup-environment.js +2 -2
  965. package/dist/phoenix/commands/create-environment.js +1 -1
  966. package/dist/phoenix/commands/data.js +1 -1
  967. package/dist/phoenix/commands/deploy.js +3 -3
  968. package/dist/phoenix/commands/deployment-build-envs-command.js +1 -1
  969. package/dist/phoenix/commands/dev.js +4 -5
  970. package/dist/phoenix/commands/docs.js +1 -1
  971. package/dist/phoenix/commands/finish-deployment-command.js +1 -1
  972. package/dist/phoenix/commands/fix.js +1 -1
  973. package/dist/phoenix/commands/index.d.ts +1 -1
  974. package/dist/phoenix/commands/index.js +1 -1
  975. package/dist/phoenix/commands/inspect-assets.js +1 -1
  976. package/dist/phoenix/commands/list-environments.js +1 -1
  977. package/dist/phoenix/commands/login.d.ts +4 -1
  978. package/dist/phoenix/commands/login.js +2 -2
  979. package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
  980. package/dist/phoenix/commands/register-deployment.js +1 -1
  981. package/dist/phoenix/commands/scene.js +1 -1
  982. package/dist/phoenix/commands/screenshot.js +1 -1
  983. package/dist/phoenix/commands/state.js +1 -1
  984. package/dist/phoenix/commands/story-build.js +3 -3
  985. package/dist/phoenix/commands/story-create.js +1 -1
  986. package/dist/phoenix/commands/story-dev.js +2 -2
  987. package/dist/phoenix/commands/sync.js +1 -1
  988. package/dist/phoenix/commands/variants.js +1 -1
  989. package/dist/phoenix/editor-server/commands-router.js +1 -1
  990. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  991. package/dist/phoenix/editor-server/editor-server.js +1 -1
  992. package/dist/phoenix/editor-server/spec-router.js +1 -1
  993. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  994. package/dist/phoenix/lingui/index.d.ts +1 -0
  995. package/dist/phoenix/lingui/index.js +1 -0
  996. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  997. package/dist/phoenix/lingui/lingui.js +1 -0
  998. package/dist/phoenix/scripts/docs-utils.js +1 -1
  999. package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -6
  1000. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  1001. package/dist/phoenix/services/cli-credentials.d.ts +3 -0
  1002. package/dist/phoenix/services/cli-credentials.js +1 -1
  1003. package/dist/phoenix/services/cli-exit.d.ts +5 -0
  1004. package/dist/phoenix/services/cli-exit.js +1 -0
  1005. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  1006. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  1007. package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +1 -0
  1008. package/dist/phoenix/services/deployment/generated-env-markers.js +1 -0
  1009. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  1010. package/dist/phoenix/services/deployment/index.js +1 -0
  1011. package/dist/phoenix/services/index.d.ts +5 -1
  1012. package/dist/phoenix/services/index.js +1 -1
  1013. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1014. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  1015. package/dist/phoenix/services/phoenix-store.js +1 -1
  1016. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1017. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  1018. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  1019. package/dist/phoenix/services/session/index.d.ts +2 -0
  1020. package/dist/phoenix/services/session/index.js +1 -0
  1021. package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
  1022. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  1023. package/dist/phoenix/services/source-archive.d.ts +2 -0
  1024. package/dist/phoenix/services/source-archive.js +1 -1
  1025. package/dist/phoenix/services/swc.d.ts +5 -4
  1026. package/dist/phoenix/services/swc.js +2 -2
  1027. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.d.ts +9 -0
  1028. package/dist/phoenix/services/telemetry/amplitude-telemetry-transport.js +1 -0
  1029. package/dist/phoenix/services/telemetry/index.d.ts +3 -0
  1030. package/dist/phoenix/services/telemetry/index.js +1 -0
  1031. package/dist/phoenix/services/telemetry/telemetry-client.d.ts +25 -0
  1032. package/dist/phoenix/services/telemetry/telemetry-client.js +1 -0
  1033. package/dist/phoenix/services/telemetry/telemetry-command.d.ts +2 -0
  1034. package/dist/phoenix/services/telemetry/telemetry-command.js +1 -0
  1035. package/dist/phoenix/services/telemetry/telemetry-event.d.ts +44 -0
  1036. package/dist/phoenix/services/telemetry/telemetry-event.js +1 -0
  1037. package/dist/phoenix/services/telemetry/telemetry-state.d.ts +25 -0
  1038. package/dist/phoenix/services/telemetry/telemetry-state.js +2 -0
  1039. package/dist/phoenix/services/vite-config.js +1 -1
  1040. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  1041. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  1042. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  1043. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1044. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1045. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1046. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1047. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1048. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1049. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1050. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1051. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1052. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  1053. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  1054. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  1055. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  1056. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  1057. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  1058. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  1059. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  1060. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  1061. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  1062. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  1063. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  1064. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  1065. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  1066. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1067. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1068. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1069. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1070. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1071. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1072. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1073. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1074. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1075. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +6 -1
  1076. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.js +1 -1
  1077. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.d.ts +2 -2
  1078. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  1079. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  1080. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  1081. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +3 -3
  1082. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  1083. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  1084. package/dist/react-sdk/index.d.ts +7 -0
  1085. package/dist/react-sdk/index.js +1 -1
  1086. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1087. package/dist/react-sdk/integration/index.d.ts +1 -0
  1088. package/dist/react-sdk/integration/index.js +1 -0
  1089. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1090. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1091. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1092. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1093. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1094. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1095. package/dist/react-sdk/notifications/index.js +1 -0
  1096. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1097. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1098. package/dist/react-sdk/preset-selection/PresetSelectionProvider.js +1 -0
  1099. package/dist/react-sdk/preset-selection/index.d.ts +1 -0
  1100. package/dist/react-sdk/preset-selection/index.js +1 -0
  1101. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  1102. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  1103. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  1104. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  1105. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  1106. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  1107. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  1108. package/dist/react-sdk/provider-slots/index.js +1 -0
  1109. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  1110. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1111. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  1112. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  1113. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  1114. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  1115. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  1116. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1117. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1118. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  1119. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  1120. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  1121. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  1122. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  1123. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  1124. package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
  1125. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1126. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1127. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1128. package/dist/watch/glob-matcher.d.ts +4 -4
  1129. package/dist/watch/glob-matcher.js +1 -1
  1130. package/dist/watch/watch.d.ts +4 -4
  1131. package/dist/watch/watch.js +1 -1
  1132. package/package.json +3 -3
  1133. package/schema/domain-spec.json +88 -4
  1134. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  1135. package/dist/application-spec/core/components/index.d.ts +0 -2
  1136. package/dist/application-spec/core/expressions/index.d.ts +0 -2
  1137. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  1138. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  1139. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  1140. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  1141. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  1142. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  1143. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  1144. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  1145. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  1146. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  1147. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  1148. package/dist/application-spec/generate-application/implementations/phx-application-types.js +0 -1
  1149. package/dist/application-spec/generate-application/implementations/phx-domain.js +0 -1
  1150. package/dist/application-spec/generate-application/implementations/phx-model.js +0 -1
  1151. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  1152. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  1153. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +0 -1
  1154. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  1155. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +0 -1
  1156. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  1157. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  1158. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +0 -1
  1159. package/dist/application-spec/generate-application/runtime/create-application.js +0 -1
  1160. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  1161. package/dist/application-spec/generate-application/runtime/index.d.ts +0 -8
  1162. package/dist/application-spec/generate-application/runtime/index.js +0 -1
  1163. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
  1164. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +0 -8
  1165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  1166. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
  1167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  1168. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  1169. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  1170. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  1171. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  1172. package/dist/application-spec/generate-application/runtime/spec-runtime.js +0 -1
  1173. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
  1174. package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
  1175. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +0 -103
  1176. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  1177. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  1178. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1179. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1180. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1181. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1182. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1183. package/dist/configurator/configurator-context/PresetSelectionProvider.js +0 -1
  1184. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1185. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1186. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1187. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1188. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1189. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1190. package/dist/domain/available-system-components.d.ts +0 -11
  1191. package/dist/domain/available-system-components.js +0 -1
  1192. package/dist/domain/domain-builder.js +0 -1
  1193. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +0 -1
  1194. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  1195. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +0 -1
  1196. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  1197. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  1198. package/dist/phoenix/commands/generated-env-markers.js +0 -1
  1199. package/dist/phoenix/services/lingui.d.ts +0 -15
  1200. package/dist/phoenix/services/lingui.js +0 -1
  1201. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  1202. package/dist/phoenix/services/phoenix-application.js +0 -1
  1203. /package/dist/{application-spec/core/expressions/relation-expression-params.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  1204. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +0 -0
  1205. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.js +0 -0
  1206. /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → domain/spec/application/admin-pages-section.js} +0 -0
  1207. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/application/admin-pages.js} +0 -0
  1208. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/application/admin-states.js} +0 -0
  1209. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1210. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1211. /package/dist/domain/{application/assistant/assistant-manifest.js → spec/application/configurator-states.js} +0 -0
  1212. /package/dist/{application-spec/core → domain/spec}/components/component-filter.js +0 -0
  1213. /package/dist/{application-spec/core → domain/spec}/components/index.js +0 -0
  1214. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.d.ts +0 -0
  1215. /package/dist/{application-spec/core → domain/spec}/components/sdk-code-ref.js +0 -0
  1216. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +0 -0
  1217. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +0 -0
  1218. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  1219. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  1220. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  1221. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  1222. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  1223. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  1224. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  1225. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  1226. /package/dist/{application-spec/core → domain/spec}/expressions/index.js +0 -0
  1227. /package/dist/{application-spec/core → domain/spec}/expressions/relation-expression-params.d.ts +0 -0
  1228. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.d.ts +0 -0
  1229. /package/dist/{application-spec/core → domain/spec}/expressions/sdk-expression-implementation.js +0 -0
  1230. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1231. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1232. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1233. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1234. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.js +0 -0
  1235. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  1236. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  1237. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  1238. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  1239. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.js +0 -0
  1240. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  1241. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-domain.d.ts +0 -0
  1242. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.js +0 -0
  1243. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  1244. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  1245. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
  1246. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
  1247. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
  1248. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
  1249. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
  1250. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
  1251. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
  1252. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  1253. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  1254. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  1255. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  1256. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  1257. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  1258. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
  1259. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
  1260. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
  1261. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
  1262. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
  1263. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
  1264. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
  1265. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
  1266. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +0 -0
  1267. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
  1268. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.js +0 -0
  1269. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
  1270. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/sections/assistant/assistant-manifest.js} +0 -0
  1271. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.d.ts +0 -0
  1272. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.js +0 -0
  1273. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +0 -0
  1274. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.js +0 -0
  1275. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
  1276. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
  1277. /package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +0 -0
  1278. /package/dist/domain/{application → spec/sections}/assistant/form/index.js +0 -0
  1279. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1280. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1281. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
  1282. /package/dist/{configurator/configurator-context → react-sdk/preset-selection}/PresetSelectionProvider.d.ts +0 -0
@@ -0,0 +1,44 @@
1
+ import{createPhoenixTopicGuide as e}from"../guide.js";let t=`The client creates the configurator; its users may be buyers, salespeople or designers. The aim is a useful, polished product that fits the client's purpose, preferences and agreed effort.
2
+
3
+ These practices usually lead there; adapt them to the client, the product and the task rather than following a script.`,n=`## Where to start
4
+
5
+ - **A new project** — nothing in \`.phoenix/workspace/specification/\` and still the starter spec, or a first draft the project record shows in progress — usually starts with a [First draft](../processes/first-draft/index.md): a convincing first version, quickly.
6
+ - **Normal mode** — everything after that, and every existing project — builds on the specification and the next increments in the project record. A small fix usually goes straight to the affected behavior.
7
+
8
+ The client can always redirect; follow their lead without nagging or repeated approval requests.`,a=`## Working with the client
9
+
10
+ Be a warm, direct expert who listens, recommends an approach and takes responsibility for SDK and tooling choices. Look at supplied materials before asking, and keep the conversation about the product rather than setup questionnaires or jargon. When uncertainty affects the next result, such as a blocking ambiguity, a business decision needed now or a departure from accepted design, ask with a recommendation; otherwise state reversible defaults and keep going. Keep facts, explicit preferences and provisional assumptions distinct.
11
+
12
+ Talk about the client's product: what they can try, see or decide. Modes, processes, stages, records and guide names are internal and mean nothing to the client. Say "next, I'll add the desk range", not "switching to normal mode and starting an increment".
13
+
14
+ Small problems met along the way, such as a type error, a misaligned part or a font that did not load, are usually best fixed quietly; mention one only when it changes what the client sees or decides. Messages land better when they stay light: one decision at a time is easier to answer than a list of questions, and a long list, such as provisional defaults, reads better as a link to the document that holds it. When you create or change a client document, open it or link it in the message that announces it.`,i=`## Preferences
15
+
16
+ Preferences shape how much effort and autonomy fit the work; note them in the project record as they emerge:
17
+
18
+ - **Cost** — token and money sensitivity: subagent reviews, parallel agents, heavy rendering.
19
+ - **Time** — fast feedback in small steps, or thorough and slower increments.
20
+ - **Autonomy** — decide and report, or check in before choices; how large an autonomous batch may be.
21
+ - **Quality bar** — demo grade or ready for real users; it sets review depth.
22
+ - **Communication** — detail, technical depth and update frequency.
23
+
24
+ A first draft runs no reviews or parallel agents, so it needs none of these answers. Ask once, briefly and with a recommendation, at a natural pause after the first draft or when work on an existing project starts without them. With a cost- or time-sensitive client, offer an expensive action with what it would add and wait for a yes rather than starting it.`,s=`## Keeping the client oriented
25
+
26
+ Clients do best when they know what is happening, what comes next and whether anything is blocked. Share the next steps before longer work, update briefly during long builds, and when stuck, name the dependency and what can continue. Records do not replace these updates.
27
+
28
+ Reports work best at a high level: what the client can now try, what is still open and what comes next. The details of what was changed belong in the changelog. A good handoff separates what is done, what is unverified and what remains, and usually ends with a recommended next step, sometimes with an alternative such as a [Phoenix capability](../features/index.md) the client may not know about. Note declined suggestions so they do not come back.`,r=`## Building in increments
29
+
30
+ After the first draft, a short **Next increments** list in the project record keeps the way ahead visible: one line per increment saying what the client will be able to do and what it waits on, such as a model, a price list or a business answer, with postponed scope below it. Ordering by what users decide first and by real product dependencies usually works, with core interactions before more options and finalization once the configuration it submits is stable. Present it in product language with a recommended next increment; the client agrees on the next step, not on the whole list. Keep it current as increments land or the scope changes; an existing project without one writes it when its work goes beyond a single fix.
31
+
32
+ Work then goes best in small, useful increments: choose an outcome with observable checks; extend the [specification](../processes/specification/index.md) only as far as the increment needs; build it within the branding and UX guidelines, where they exist, using the [SDK guidance](sdk.md); exercise the changed interaction and what it affects, such as control targets, selection context and global versus per-part behavior; review it as the [review strategy](#review-strategy) suggests; then show the client what to try and fold their feedback into the specification and the next increments.
33
+
34
+ Habits that help: wait for feedback before expanding an increment unless the client asked for a larger batch; settle core interactions before multiplying options; keep agreed scope visible until it is built or deferred; preserve selections and accepted behavior; and when rules change, keep model, scene, controls, dimensions, pricing and checks consistent.`,o=`## Visual choices
35
+
36
+ When taste, branding or interaction has several reasonable answers that the client's materials do not settle, alternatives usually help: explain the tradeoffs and recommend one. They help most when they really differ and each is finished as well as it can be, so the client chooses between good options rather than between variations. Accepted choices stay settled, facts are not the client's to pick, and routine reversible details need no approval. [Variants](../features/variants.md) shows alternatives in the live preview.`,c=`## Review strategy
37
+
38
+ The first draft skips review processes; a quick look at the running preview before showing each result keeps broken work away from the client.
39
+
40
+ Later, review changed work before committing or handing it over with the [review processes](../processes/review/index.md), scaled to impact, uncertainty, the quality bar and the cost preference. A self-review is usually enough; an independent subagent adds a fresh view of visual fidelity, complex rules or broad interactions when the preferences allow it. Note whether review was independent and what remains unverified; a passing build does not prove product quality.`,d=`## Feedback and completion
41
+
42
+ Client feedback shapes the direction and the records; confirm material departures. Phoenix feedback is a separate, external report: [Feedback](../processes/feedback/index.md) covers SDK problems and the client's evaluation of the run, and only approved content is sent.
43
+
44
+ Some lines stay firm: publishing, real orders, real messages and connecting live systems need the client's authorization against the concrete result. [Deployment](cli.md#deployment) covers running a deploy.`;export const generatePhoenixWorkflowCore=()=>e({path:"core/workflow.md",title:"Workflow",summary:"where to start, working with the client, preferences, increments, records and review strategy",sections:[t,n,a,i,s,r,o,"## Records\n\n- **Specification** — client-facing documents: branding, UX guidelines, product definition and catalogs, with sources in `.phoenix/workspace/specification/` and rendered PDFs in `docs/`. [Specification](../processes/specification/index.md) describes them; later work follows them, and changing an accepted rule is the client's call.\n- **Project record** — `.phoenix/workspace/project.md` is the current snapshot: preferences, approach, decisions with rationale, declined suggestions, progress, deploys and their outcome, next increments, open questions and SDK problems worth reporting, rewritten as they change. `.phoenix/workspace/changelog/` keeps the history: append a dated entry for each meaningful change, decision, verification, deploy or piece of client feedback, and continue in a new numbered file when the current one gets long.\n\nReuse records when resuming; they are not a client task or an approval gate. Leave out secrets, unrelated personal information and raw transcripts; [project structure](cli.md#project-structure) describes how records are kept and deployed.",c,d]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The application states index followed by its guides. */
3
+ export declare const generatePhoenixApplicationStatesGuides: () => readonly PhoenixGuide[];
@@ -0,0 +1,3 @@
1
+ import{createPhoenixIndexGuide as e}from"../../guide.js";import{generatePhoenixNavigationFeature as t}from"./navigation.js";import{generatePhoenixPresetsFeature as o}from"./presets.js";import{generatePhoenixSelectionFeature as s}from"./selection.js";import{generatePhoenixViewsAndToolsFeature as n}from"./views-and-tools.js";export const generatePhoenixApplicationStatesGuides=()=>{let i=[o(),t(),n(),s()];return[e({path:"features/application-states/index.md",title:"Application states",summary:"Presets, navigation, view and tool states, selection and hover; read when choosing how a configuration starts, how users move through it, or what the scene and UI follow.",intro:`Application states are the configurator's context beside the product's entities: the preset a configuration starts from, the stage users are at (navigation state), how the scene is shown (view state), what users are doing in it (tool state), and which entity is selected or hovered. Navigation, view and tool states are independent lists declared in YAML; their active values, the selection and the hover feed component filters, whose mechanism [Components](../domain-model/components.md) owns.
2
+
3
+ Only the entities are saved with a configuration: it opens at the first declared value of each list, with the root entity selected. Changing them alone is not an undo step, but undoing a change restores them as they were just before it, with the hover cleared; [Updates and dry runs](../state/updates.md) owns undo.`,guides:i,notes:[]}),...i]};
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Navigation states: declaring them, what they drive, replace, push and pop, and reacting to navigation. */
3
+ export declare const generatePhoenixNavigationFeature: () => PhoenixGuide;
@@ -0,0 +1,48 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`Three stages: legs are selectable only while configuring, the layout pushes the review and pops back, and a transformer clears the selection on entering the review.
2
+
3
+ \`\`\`yaml
4
+ # spec/application.yaml
5
+ navigationStates: [configure, checkout, requested]
6
+ transformers:
7
+ - name: clearSelectionOnCheckout
8
+ \`\`\`
9
+
10
+ \`\`\`yaml
11
+ # spec/domain/table.yaml
12
+ components:
13
+ Leg:
14
+ selectable:
15
+ main:
16
+ $filter:
17
+ navigationStates: [configure]
18
+ \`\`\`
19
+
20
+ \`\`\`tsx
21
+ // src/_shared/ReviewButton.tsx, part of the project layout
22
+ import { Button } from '@mui/material'
23
+
24
+ export const ReviewButton = () => {
25
+ const { NavigationState } = phx.applicationTypes
26
+ const navigationState = phx.frontend.useActiveNavigationState()
27
+ const pushNavigate = phx.frontend.usePushNavigate()
28
+ const popNavigate = phx.frontend.usePopNavigate()
29
+
30
+ if (navigationState === NavigationState.configure) {
31
+ return <Button onClick={() => pushNavigate(NavigationState.checkout)}>Review</Button>
32
+ }
33
+
34
+ if (navigationState === NavigationState.checkout) {
35
+ return <Button onClick={popNavigate}>Back to the configuration</Button>
36
+ }
37
+
38
+ return null
39
+ }
40
+ \`\`\`
41
+
42
+ \`\`\`ts
43
+ // src/transformers/clear-selection-on-checkout.ts
44
+ export default phx.frontend.transformerBuilder.when
45
+ .navigated({ to: [phx.applicationTypes.NavigationState.checkout] })
46
+ .then.deselect()
47
+ .build('clearSelectionOnCheckout')
48
+ \`\`\``;export const generatePhoenixNavigationFeature=()=>e({path:"features/application-states/navigation.md",title:"Navigation states",summary:"Declaring the stages of the flow, what they drive, replacing, pushing and popping them, and transformers, undo resets and guards around navigation; read when building a staged flow or reacting to where users are.",whenToUse:"Read when splitting the configurator into stages (configure, review, checkout), showing different controls per stage, or reacting when users enter or leave one. The tab and step UI that navigates belongs to [Tabs and steps](../custom-layout/tabs-and-steps.md).",capabilities:"### Declare the states\n\n- `navigationStates:` lists identifiers (a letter, then letters, digits or `_`) in one configurator YAML file; declaring the list in a second file is an error. The first value is active when a configuration opens; without the list there is a single state, `Default`.\n- Declare one state per stage that changes which controls or pages show. A change of only the camera or of the scene's mode is a view or tool state: [View and tool states](views-and-tools.md).\n- `phx.applicationTypes.NavigationState` is a runtime enum of the declared values: `NavigationState.checkout === 'checkout'`, `NavigationState.values()` lists them and `NavigationState.is(value)` checks one. The global type `NavigationState` is their union.\n- Use the enum in TypeScript, so a renamed state fails type-checking. YAML filters are not checked against the list: a misspelled state never matches.\n\n### What the active state drives\n\n- **Filters** — `$filter: { navigationStates: [configure] }` keeps a component active only in those states: control components, hotspots, `selectable`, cameras. [Components](../domain-model/components.md) owns filters.\n- **Tabs and steps** — each tab of `horizontalTabs` or `sidebarTabs` and each step of `navigationSteps` lists `navigationStates`: it is active while one of them is, and choosing it navigates to the first.\n- **Scene** — `sceneEntityNavigationHotspot` navigates from the scene, replacing the state or pushing it: [Scene controls](../domain-controls/scene-controls.md).\n\n### Read and change the state\n\n- `phx.frontend.useActiveNavigationState()` returns the active state.\n- `phx.frontend.useNavigate()` returns `(state) => void`: replace the state and clear the history. Use it for tabs, steps and leaving a finished flow.\n- `phx.frontend.usePushNavigate()` returns `(state) => void`: put the active state on the history stack, then go. Use it for a review or detail screen users come back from.\n- `phx.frontend.usePopNavigate()` returns `() => void`: go back to the last pushed state; with an empty stack it does nothing.\n- Each call commits immediately, so transformers and invariants run on it as on any change.\n- Viewers in read mode can navigate too; hide what they must not reach.\n\n### React to navigation\n\n- Transformers: `phx.frontend.transformerBuilder.when.navigated({ from, to })`, both optional, with actions such as `.then.deselect()`, `.then.select.entity(ctx => …)` and `.then.changeView(state)`. To navigate when a part is picked: `when.entity(['Door']).selected().then.navigateTo(state)`. File, registration and priority: [Transformers](../domain-model/transformers.md).\n- Clear the undo history when users enter a state, so earlier stages can no longer be undone: mount `ResetUndoListener` from `@salsita-ai/sdk/configurator` with `navigationStates={[…]}` in an element made with `phx.frontend.createOnConfiguratorReadyProvider`.\n- Ask before a navigation: `docs/complex-use-cases/navigation-guard.mdx` holds the commit with `storeSystem.onBeforeCommit` from `phx.frontend.useDomain()` and lets it through once users confirm.",example:t,documentation:"Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/application-states.mdx`, section Navigation States — the declaration, steps and tabs, and `$filter` examples.\n- `docs/ux-guidelines/choosing-navigation.mdx` — tabs or steps for the client's decisions.\n- `docs/other-features/navigation-hotspot.mdx` — pushing from the scene and `canStackOnto`.\n- `docs/other-features/transformers.mdx` — navigation and selection triggers with working examples.\n- `docs/complex-use-cases/navigation-reset-selection.mdx` — a `navigated` transformer that deselects.\n- `docs/complex-use-cases/navigation-reset-undo.mdx`, `docs/complex-use-cases/navigation-guard.mdx` — `ResetUndoListener`, and a commit hook that asks before a navigation.",phxMembers:["applicationTypes.NavigationState","frontend.useActiveNavigationState","frontend.useNavigate","frontend.usePushNavigate","frontend.usePopNavigate"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Presets as starting configurations, the handler adjusting them and the route back to the preset screen. */
3
+ export declare const generatePhoenixPresetsFeature: () => PhoenixGuide;
@@ -0,0 +1,38 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`A kitchen range preset, and a handler that sets the voltage from the host's region. Assume \`frontendData\` declares \`site\` (\`na\` or \`eu\`), \`KitchenRange\` has a numeric \`voltage\`, and its \`baseIds\` relation composes the bases. A second preset lists its own complete entities the same way.
2
+
3
+ \`\`\`yaml
4
+ # spec/presets.yaml
5
+ presets:
6
+ - name: The Compact
7
+ description: 1600 mm, gas cooking, an oven and storage
8
+ img: /presets/compact.png
9
+ tags: [compact]
10
+ rootEntityType: KitchenRange
11
+ initialDomainEntities:
12
+ - id: KitchenRange-1
13
+ type: KitchenRange
14
+ color: NOIR_MATTE
15
+ baseIds: [Base-1, Base-2]
16
+ - id: Base-1
17
+ type: Base
18
+ kind: oven
19
+ width: 800
20
+ - id: Base-2
21
+ type: Base
22
+ kind: drawers
23
+ width: 800
24
+ \`\`\`
25
+
26
+ \`\`\`ts
27
+ // src/handlers/on-preset-loaded.ts
28
+ export default phx.frontend.createOnPresetLoadedHandler(() => {
29
+ const { site } = phx.frontend.useFrontendData()
30
+
31
+ return {
32
+ handler: async entities =>
33
+ entities.map(entity =>
34
+ phx.domain.model.KitchenRange.is(entity) ? { ...entity, voltage: site === 'na' ? 120 : 230 } : entity
35
+ ),
36
+ }
37
+ })
38
+ \`\`\``;export const generatePhoenixPresetsFeature=()=>e({path:"features/application-states/presets.md",title:"Presets",summary:"Starting configurations from the spec or Admin, keeping them valid, adjusting them at runtime and the route back to the preset screen; read when defining how a configuration starts.",whenToUse:"Read when defining the configurations users start from, changing a preset's entities at runtime before the configuration is created, or adding a way back to the preset screen. The preset screen itself, its cards and categories, belongs to [Project pages](../custom-layout/pages.md).",capabilities:"### Choose where presets come from\n\n- **Spec presets** — `presets:` in any configurator YAML file in `spec/`; the lists of several files are concatenated in file order. Use them for starting points that ship with the code.\n- **Admin presets** — `$adminPages: { presets: true }` in an Admin spec file (`$admin: true`) adds preset category pages to Project Admin. Once categories with presets are published, the preset screen shows them **instead of** the spec presets. Use them when the client's team curates starting points, with categories and thumbnails, without a deployment.\n- **How many** — with one preset, Phoenix creates the configuration at once and shows no preset screen; with several, users choose. The host can narrow the list to presets with matching `tags` through its `presetTags` property; a single match also skips the screen.\n- **Preset or recipe** — a preset is a whole starting configuration, created once; a recipe adds or replaces entities inside an open one. Offer the product variants users start from as presets and the parts they add while configuring as recipes.\n\n### Keep a preset valid\n\n- `rootEntityType` names a member of the `RootEntity` alias, and `initialDomainEntities` contains exactly one entity of that type.\n- Each entity has `id`, `type` and its attributes. Name ids `<Type>-<n>` (`Base-1`): an id whose text before the last dash is not the entity's type is an error.\n- Parsing the spec checks the types, the attribute schemas, references and relation cardinalities, and that every entity hangs from the root through `composedOf` relations, with one parent and no cycles.\n- Parsing does not check invariants. A configuration that opens with a `fatal` or `fixable` violation gets one repair pass from the transformers; if it is still invalid, it does not load. Open each preset in the preview; severities and repair are in [Validation and repair](../domain-model/validation-and-repair.md).\n- Display fields are optional plain strings (`$msg` is not accepted): `name`, `description`, `img` (a public path such as `/presets/compact.png` for `public/presets/compact.png`), `imgAlt`, `detailTitle`, `detailDescription`, plus the `tags` list. Without `name` the screen shows a generated label, so always set one.\n\n### Adjust the entities when a preset is chosen\n\n- Default-export `phx.frontend.createOnPresetLoadedHandler(() => ({ handler: async entities => entities }))` from a file in `src/handlers/`. After users pick a preset, spec or Admin, Phoenix migrates its entities to the current model, passes them to `handler` and creates the configuration from the list it returns. Return every entity, valid as a preset must be.\n- The outer function is a React hook that runs above the configuration: published, frontend and backend data and the session are available (`phx.frontend.useFrontendData()`, `phx.frontend.useSession()`), configuration hooks are not.\n- Use it for values known only at runtime, such as the host's region or the session's role. Differences known in advance belong in separate presets.\n\n### Route back to the preset screen\n\n- `phx.frontend.useConfiguratorRouting()` (beta) returns the routing service: `goToIndex()` leaves the configuration for the preset screen, `goToConfigurationDetail(configurationId, accessToken?)` opens another configuration.\n- A project layout's \"Start over\" or \"Other products\" action calls `goToIndex()`. Offer it only with more than one preset (the `presetCategories` of `phx.frontend.usePresetSelection()`). Saving is debounced by three seconds, so outside read mode save first, as the built-in back button does: take `configurationPersistSystem` from `phx.frontend.useDomainApplication()` and await its `save()`.\n- `phx.frontend.createOnGoToIndexHandler(() => ({ handler: ({ next }) => { … } }))`, default-exported from `src/handlers/`, intercepts every `goToIndex()`: the built-in back and previous-step buttons and a change of `presetTags` included. Call `next()` to continue; return without calling it to stay. Use it to confirm leaving or to send users to the host's product page instead. Its hook runs in the routing provider, outside the configuration.",example:t,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/application-states.mdx`, section Presets — the basic YAML shape and `tags`.\n- `docs/phoenix/integration/preset-tags-external.mdx` — narrowing presets from the host.\n- `docs/ux-guidelines/presets.mdx` — a flat gallery or categories, and thumbnails.\n- `docs/layouts/preview/auto-presets.mdx` — the preview start screen before the presets, set with the top-level `preview:` and `alwaysExpand:` keys.\n- `docs/phoenix/configurator-interface.mdx` — "Data Handlers": both handler factories.',phxMembers:["frontend.createOnPresetLoadedHandler","frontend.createOnGoToIndexHandler","frontend.useConfiguratorRouting"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Selection and hover: what they drive, making entities selectable, their hooks, selection rules and highlight. */
3
+ export declare const generatePhoenixSelectionFeature: () => PhoenixGuide;
@@ -0,0 +1,35 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`Cabinets are selectable in the scene while configuring, and the project layout shows an inspector for the selected cabinet. Assume a \`Cabinet\` with a numeric \`width\`, composed into a \`Wall\`.
2
+
3
+ \`\`\`yaml
4
+ # spec/domain/cabinet.yaml
5
+ components:
6
+ Cabinet:
7
+ selectable:
8
+ main:
9
+ $filter:
10
+ navigationStates: [configure]
11
+ \`\`\`
12
+
13
+ \`\`\`tsx
14
+ // src/_shared/CabinetInspector.tsx, part of the project layout
15
+ import { Button, Typography } from '@mui/material'
16
+
17
+ export const CabinetInspector = () => {
18
+ const selectedId = phx.frontend.useSelectedDomainEntityId()
19
+ const cabinet = phx.frontend.useSelectedEntity(phx.domain.enhancedModel.$Cabinet)
20
+ const selectWall = phx.frontend.useSelectParent(selectedId)
21
+ const deselect = phx.frontend.useDeselect()
22
+
23
+ if (cabinet === null) {
24
+ return <Typography>Pick a cabinet in the scene to change it.</Typography>
25
+ }
26
+
27
+ return (
28
+ <>
29
+ <Typography variant="h6">Cabinet, {cabinet.width} mm</Typography>
30
+ <Button onClick={selectWall}>Select its wall</Button>
31
+ <Button onClick={deselect}>Done</Button>
32
+ </>
33
+ )
34
+ }
35
+ \`\`\``;export const generatePhoenixSelectionFeature=()=>e({path:"features/application-states/selection.md",title:"Selection and hover",summary:"What selection and hover drive, making entities selectable, the selection and hover hooks, selection rules and highlight; read when users pick parts in the scene or a list, or the UI, camera or highlight should follow the pick.",whenToUse:"Read when users should pick parts of the product, in the scene, from hotspots or from a list, and the controls, filters, camera or highlight should follow the pick.",capabilities:"### What selection drives\n\n- One entity is always selected: \"nothing selected\" means the root entity. A configuration opens with the root selected, and deselecting selects the root again.\n- A project layout reads the selection itself and renders the controls of the selected entity.\n- Filters: `selectedEntityIds` and `hoveredEntityIds` gate components, for example `selectedEntityIds: { $read: id }` for \"while this entity is selected\". Selection hotspots hide once their entity is selected (`showWhen`). A `fitSelectionPerspectiveCamera` or `fitSelectionOrthographicCamera` is active only while its entity is selected.\n- Highlight: by default the scene sets the selected entity, with its composed children, apart and marks the hovered one.\n\n### Make entities selectable\n\n- **In the scene** — add `selectable` to the entity type (`selectable: { main: {} }`). Clicking its geometry selects it; clicking empty canvas deselects. `hoverable: false` keeps the click without hover. Filter it like any component to allow picking only in some states.\n- **Small, hidden or grouped parts** — selection hotspots (`sceneEntitySelectHotspot`): [Scene controls](../domain-controls/scene-controls.md).\n- **From the UI** — a list, an outline or a \"next part\" button calls `phx.frontend.useSelectEntity()`.\n- Phoenix's auto-selection transformer (priority 100) selects a created entity, follows a replaced selection to its replacement and deselects a deleted one. A project transformer with the default priority runs after it.\n\n### Read and change the selection\n\n- `phx.frontend.useSelectedDomainEntityId()` returns the selected id: the root id when nothing is selected.\n- `phx.frontend.useSelectedEntityId(reflection)` returns the id while the selected entity has that type, else `null`; without a reflection it is always `null`.\n- `phx.frontend.useSelectedEntity(reflection)` returns the selected entity with its expressions, or `null` for another type. Pass the enhanced reflection, such as `phx.domain.enhancedModel.$Cabinet`.\n- `phx.frontend.useSelectEntity()` returns `(id) => void`; `phx.frontend.useDeselect()` returns `() => void`, which selects the root.\n- `phx.frontend.useSelectParent(id, fallback?)` returns `() => void`: select the composition parent of `id`, else `fallback`, else nothing.\n- Each call commits immediately, so transformers run on it.\n\n### Hover\n\n- `phx.frontend.useHoveredDomainEntityId()` returns the hovered id, or `null` while nothing is hovered.\n- `phx.frontend.useHoveredEntityId(reflection)` and `phx.frontend.useHoveredEntity(reflection)` narrow by type like their selection twins.\n- In the scene only `selectable` entities report hover. Hover is debounced and never committed: use it for labels and emphasis, not for changes.\n\n### Selection rules\n\n- Write them with `phx.frontend.transformerBuilder` (triggers, registration and order in [Transformers](../domain-model/transformers.md)):\n - open a stage when a part is picked: `when.entity(['Door']).selected().then.navigateTo(state)`;\n - step up the hierarchy on a click into empty canvas: `when.entity(['Console']).deselected({ inFavorOf: ['Room'] }).then.select.ancestorOfType(['ConsoleGroup'])`, with `Room` the root type;\n - deselect on a second click: `when.entity(['Console']).selected({ occurrence: 'repeated' }).then.deselect()`.\n- For drill-down, filter the children's `selectable` or hotspots with `selectedEntityIds` read from an expression that lists their parent, so they become pickable once the parent is selected.\n\n### Highlight\n\n- One `canvasConfig` component configures it: `highlightingDisabled: true` turns the built-in highlight off, `enableFastHighlight: true` swaps it for a cheaper emissive one. `highlightingDisabled: true` on an object of `sceneEntityObjectProperties` exempts that object.\n- Outlines: turn the built-in highlight off, name an element in `canvasCustomEnvironment`, register it with `phx.frontend.createCustomPhoenixLayoutElement`, and render `SelectionOutline` and `HoverOutline` inside `Postprocessing` there, all three from `@salsita-ai/sdk/configurator`.\n- An effect of your own: `phx.frontend.useUpdateEntityObjectSelection(filter, selection)` keeps a postprocessing selection (any object with `set(objects)`) filled with the 3D objects of `filter.entityIds` and empties it on unmount. The other filter flags (`entityRoots`, `entityObjects`, `descendantEntities`, `recursiveObjects`, `objectInstanceNames`) choose which objects. It needs the canvas context, so call it only inside the canvas, such as in that environment element.",example:t,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/selection-and-highlight/canvas.mdx`, `docs/selection-and-highlight/hotspots.mdx`, `docs/selection-and-highlight/group-highlighting.mdx` — `selectable`, selection hotspots and composed groups.\n- `docs/other-features/transformers.mdx` — the selection rules above with working examples; `docs/selection-and-highlight/hierarchy.mdx` — a selection hierarchy built from them.\n- `docs/selection-and-highlight/disable-highlight.mdx`, `docs/selection-and-highlight/disable-highlight-per-object.mdx`, `docs/selection-and-highlight/fast-emissive-highlight.mdx` — the built-in highlight.\n- `docs/selection-and-highlight/effects/outline.mdx`, `docs/selection-and-highlight/effects/overlay.mdx` — outline and overlay effects. Their Usage snippet passes the canvas settings to `buildConfig`; in a project use `canvasConfig` and `canvasCustomEnvironment` as above and as their Complete Implementation does.\n- `docs/3d-scene/cameras/fit-selection.mdx` — framing the selected entity.\n- `docs/phoenix/configurator-interface.mdx` — "Selection & Hover": the selection and hover hooks with a sample call each.',phxMembers:["frontend.useSelectedEntity","frontend.useSelectedEntityId","frontend.useSelectedDomainEntityId","frontend.useSelectEntity","frontend.useDeselect","frontend.useSelectParent","frontend.useHoveredEntity","frontend.useHoveredEntityId","frontend.useHoveredDomainEntityId","frontend.useUpdateEntityObjectSelection"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** View states for how the scene is shown and tool states for interaction modes, and how each is switched. */
3
+ export declare const generatePhoenixViewsAndToolsFeature: () => PhoenixGuide;
@@ -0,0 +1,61 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`A table with a close-up view and a dimensions tool: the toolbar switches tools, a camera keyed to the view frames the edge, and the length options exist only in the dimensions tool. \`Table\` is the root entity type.
2
+
3
+ \`\`\`yaml
4
+ # spec/application.yaml
5
+ viewStates: [overview, edge]
6
+ toolStates: [Default, Dimensions]
7
+ \`\`\`
8
+
9
+ \`\`\`yaml
10
+ # spec/domain/table.yaml
11
+ components:
12
+ Table:
13
+ toolControls:
14
+ main:
15
+ items:
16
+ - { label: Finish, value: Default, icon: Palette }
17
+ - { label: Dimensions, value: Dimensions, icon: SlidersHorizontal }
18
+ fitRootPerspectiveCamera:
19
+ main:
20
+ priority: 1
21
+ distance: 5000
22
+ edge:
23
+ priority: 2
24
+ distance: 2000
25
+ azimuthAngle: 0.5
26
+ $filter:
27
+ viewStates: [edge]
28
+ distanceDimensionSelect:
29
+ length:
30
+ $filter:
31
+ toolStates: [Dimensions]
32
+ value:
33
+ $bind: length
34
+ options:
35
+ - value: 1600
36
+ - value: 2000
37
+ \`\`\`
38
+
39
+ The project layout draws its own view switch:
40
+
41
+ \`\`\`tsx
42
+ // src/_shared/ViewSwitch.tsx
43
+ import { Button } from '@mui/material'
44
+
45
+ const LABELS = { overview: 'Whole table', edge: 'Edge close-up' } as const satisfies Record<ViewState, string>
46
+
47
+ export const ViewSwitch = () => {
48
+ const activeView = phx.frontend.useActiveViewState()
49
+ const setViewState = phx.frontend.useSetViewState()
50
+
51
+ return (
52
+ <>
53
+ {phx.applicationTypes.ViewState.values().map(view => (
54
+ <Button key={view} aria-pressed={view === activeView} onClick={() => setViewState(view)}>
55
+ {LABELS[view]}
56
+ </Button>
57
+ ))}
58
+ </>
59
+ )
60
+ }
61
+ \`\`\``;export const generatePhoenixViewsAndToolsFeature=()=>e({path:"features/application-states/views-and-tools.md",title:"View and tool states",summary:"View states for how the scene is shown, tool states for interaction modes, switching each and the cameras and filters keyed to them; read when adding camera views, scene presentations or modes such as dimensions, sketching or focus.",whenToUse:"Read when users switch how the scene is shown (a front or top view, a close-up, a room style) or which mode it is in (dimensions, sketching, editing one part), independently of the stage of the flow.",capabilities:"### Choose the kind of state\n\n- **Navigation state** — where users are in the flow; it changes controls and pages: [Navigation states](navigation.md).\n- **View state** — how the scene is presented: a camera, an environment, a close-up. The controls stay as they are.\n- **Tool state** — what users are doing in the scene: setting dimensions, sketching, a focus mode for editing one part. It swaps the in-scene controls.\n- The three lists are independent: one value of each is active, and a filter can combine them. A tool state does not change the selection, nor the selection the tool.\n\n### Declare them\n\n- `viewStates:` and `toolStates:` follow the rules of navigation states: identifier values, each list in one file, the first value active when a configuration opens, a single `Default` when undeclared.\n- `phx.applicationTypes.ViewState` and `phx.applicationTypes.ToolState` are their runtime enums (`ToolState.Dimensions === 'Dimensions'`, `.values()`, `.is(value)`); the global types `ViewState` and `ToolState` are the unions.\n\n### Switch the view\n\n- `phx.frontend.useActiveViewState()` returns the active view; `phx.frontend.useSetViewState()` returns `(state) => void`, which commits immediately.\n- Built-in switch: a `viewControls` component on the root entity, `items: [{ label, value, icon }]` with a view state as `value` and a PhxIcon name as `icon`. The built-in layout shows the first one. A project layout mounts `LayoutSlots.DesktopViewControls` or `MobileViewControls` ([Layout slots](../custom-layout/slots.md)), or draws its own buttons with the two hooks, which need no component.\n- Cameras: filter camera components with `viewStates`. Of the cameras whose filters pass, the highest `priority` (default 1) wins, so keep an unfiltered camera with the lowest priority as the default.\n- Transformers: `when.viewChanged({ from, to })` reacts to a switch, and `.then.changeView(state)` switches as a side effect.\n\n### Switch the tool\n\n- `phx.frontend.useActiveToolState()` returns the active tool. No hook sets it; switch tools with:\n - a `toolControls` component on the root entity (`items: [{ label, value, icon }]`, `value` a tool state), shown by the built-in layout, or by `LayoutSlots.DesktopToolControls` and `MobileToolControls` in a project layout;\n - the tool menu `toolMenuFab` in the scene ([Scene controls](../domain-controls/scene-controls.md)) and the exit button `exitToolModeFab` with `exitTo` in the call-to-action slot ([Layout slots](../custom-layout/slots.md));\n - own UI: take `storeSystem` and `navigationSystem` from `phx.frontend.useDomain()` and call `storeSystem.stageAndCommit([navigationSystem.getToolUpdate(phx.applicationTypes.ToolState.Dimensions)])`, as the SDK's own controls do.\n- Filter each tool's controls with `toolStates`, and give the default tool controls of its own, so every mode offers something to do. A focus mode also hides navigation, tool and view controls and offers a labeled exit.\n- `when.toolChanged({ from, to })` reacts to a switch; the transformer builder has no action that changes the tool.",example:t,documentation:"Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/application-states.mdx`, sections View States and Tool States — the declarations, filters, `viewControls` and `toolControls`.\n- `docs/layouts/view-controls.mdx` — one camera per view and the built-in view switch.\n- `docs/complex-use-cases/focus-mode.mdx` — a tool state entered from `toolMenuFab` and left with `exitToolModeFab`.\n- `docs/complex-use-cases/sketching.mdx` — tool states switching between drawing and selecting.\n- `docs/ux-guidelines/interaction-modes.mdx` — what each mode shows and hides.\n- `docs/phoenix/layout-slots.mdx` — the view and tool control slots.",phxMembers:["applicationTypes.ViewState","applicationTypes.ToolState","frontend.useActiveViewState","frontend.useSetViewState","frontend.useActiveToolState"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The custom project layout index followed by its guides: one per page-level feature of a project layout. */
3
+ export declare const generatePhoenixCustomLayoutGuides: () => readonly PhoenixGuide[];
@@ -0,0 +1,7 @@
1
+ import{createPhoenixIndexGuide as e}from"../../guide.js";import{generatePhoenixFinalizationActionsFeature as o}from"./finalization-actions.js";import{generatePhoenixMessagesFeature as t}from"./messages.js";import{generatePhoenixProjectPagesFeature as s}from"./pages.js";import{generatePhoenixSceneAndSafeAreaFeature as a}from"./scene-and-safe-area.js";import{generatePhoenixLayoutSlotsFeature as r}from"./slots.js";import{generatePhoenixTabsAndStepsFeature as n}from"./tabs-and-steps.js";import{generatePhoenixToolbarActionsFeature as i}from"./toolbar-actions.js";import{generatePhoenixViewModeFeature as d}from"./view-mode.js";let l=`A layout element registered as \`ConfiguratorLayout\` replaces everything Phoenix renders for a loaded configuration, in owner and in read mode, finalization included. It shows only what it composes.
2
+
3
+ - YAML keeps the domain and the structure the layout reads: control components, in-scene anchors, tabs, steps, toolbar entries and finalize actions. The layout reads them through \`phx.frontend\` hooks, or mounts a built-in slot that reads them.
4
+ - The spec does not describe the page: the layout draws its own panels and renders the project's control elements in them.
5
+ - Start every layout from the skeleton in [Scene and safe area](scene-and-safe-area.md), then read only the guides for the features it offers.
6
+ - Each feature is either a built-in slot ([Layout slots](slots.md)) or the layout's own UI over hooks, which the other guides cover. No hook enforces read mode, so [View mode](view-mode.md) applies to all of them.
7
+ - The controls inside the layout's panels and on the product, their YAML components and React elements, belong to [Domain controls](../domain-controls/index.md).`;export const generatePhoenixCustomLayoutGuides=()=>{let m=[a(),r(),n(),i(),t(),o(),d(),s()];return[e({path:"features/custom-layout/index.md",title:"Custom project layout",summary:"The project's page-level UI: the `ConfiguratorLayout` element with its canvas, built-in slots, tabs and steps, toolbar, messages, finalization and read mode, and the preset screen, loader and error pages; read when creating or changing a project layout or one of these pages.",intro:l,guides:m,notes:[]}),...m]};
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The spec's `finalizeAction` components in a project layout: handlers, rendering, pending and error states. */
3
+ export declare const generatePhoenixFinalizationActionsFeature: () => PhoenixGuide;
@@ -0,0 +1,79 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let n=`A secondary action that copies a read-only link next to the primary quote, both rendered by the layout and hidden for viewers.
2
+
3
+ \`\`\`yaml
4
+ components:
5
+ Desk:
6
+ finalizeAction:
7
+ quote:
8
+ variant: primary
9
+ label:
10
+ $msg: Request a quote
11
+ title:
12
+ $msg: Send the configuration to the shop
13
+ icon: PaperPlaneTilt
14
+ handler: requestQuote
15
+ link:
16
+ variant: secondary
17
+ label:
18
+ $msg: Copy a link
19
+ title:
20
+ $msg: Copy a read-only link to this configuration
21
+ icon: CopySimpleBold
22
+ handler: copyLink
23
+ \`\`\`
24
+
25
+ \`\`\`ts
26
+ // src/handlers/copy-link.ts
27
+ import { useCallback } from 'react'
28
+
29
+ export default phx.frontend.createPhoenixHandler('copyLink', () => {
30
+ // The factory runs as a hook beside the layout: call hooks here, not inside \`handler\`
31
+ const generateShareLink = phx.frontend.useGenerateShareLink()
32
+
33
+ return {
34
+ handler: useCallback(async () => {
35
+ // Saves first; a rejection becomes the action's \`error\`
36
+ const { link } = await generateShareLink({ access: 'rr' })
37
+ await navigator.clipboard.writeText(link)
38
+ }, [generateShareLink]),
39
+ }
40
+ })
41
+ \`\`\`
42
+
43
+ \`\`\`tsx
44
+ // Part of a ConfiguratorLayout
45
+ export const Finalize = () => {
46
+ const { accessInfo } = phx.frontend.useAccessService()
47
+ const { primary, secondary, hints } = phx.frontend.useFinalizeActions()
48
+
49
+ if (accessInfo.viewMode || primary === null) {
50
+ return null
51
+ }
52
+
53
+ const actions = [primary, ...secondary]
54
+ const failed = actions.find(action => action.error !== null)
55
+
56
+ return (
57
+ <div>
58
+ {actions.map(action => (
59
+ <button
60
+ key={action.key}
61
+ type="button"
62
+ title={action.disabled ? hints : action.title}
63
+ disabled={action.disabled || action.isPending}
64
+ onClick={() => void action.run()}
65
+ >
66
+ {action.isPending ? 'Working…' : action.label}
67
+ </button>
68
+ ))}
69
+ {failed?.error && (
70
+ <p role="alert">
71
+ {failed.label}: {failed.error.message}
72
+ </p>
73
+ )}
74
+ </div>
75
+ )
76
+ }
77
+ \`\`\`
78
+
79
+ \`requestQuote\` is registered the same way; the quote's server side follows the finalization process.`;export const generatePhoenixFinalizationActionsFeature=()=>e({path:"features/custom-layout/finalization-actions.md",title:"Finalization actions",summary:"The spec's `finalizeAction` components with their handlers, rendered by the layout with pending, error and disabled states, and hidden for viewers; read when a project layout offers quote, order, PDF, email, save or share buttons.",whenToUse:"Read when a project layout offers the buttons that complete a configuration, or when such a button does nothing, stays disabled or fails silently. [Finalization](../../processes/finalization.md) owns agreeing what completing means and the server side.",capabilities:"### Declare an action and its handler\n\n- Declare each completion as a `finalizeAction` component on the root entity, with `variant` (`primary` or `secondary`), `label`, `title`, `icon` (a PhxIcon name) and `handler`, all required.\n- Register the handler in a `src/handlers/` file as its default export, one or an array: `phx.frontend.createPhoenixHandler(name, () => ({ handler }))`.\n- The factory is a hook. Call hooks in it and return `{ handler }`, an async function without arguments wrapped in `useCallback`.\n- The YAML `handler` must equal the registered name. An unknown name only logs \"PhoenixHandler … not found\" to the console and resolves, so the button seems to do nothing.\n- Throw or reject to report a failure; the action's `error` then holds it.\n- A handler that finalizes on the server calls `finalize` and `waitForFinalizationToComplete` of `phx.frontend.useAuthorizedClient()`; [Finalization](../../processes/finalization.md) owns that side and the agreed journey.\n- `finalizePage` and `finalizeButton` are legacy, declared only in TypeScript; do not use them.\n\n### Render them with `useFinalizeActions`\n\n- `phx.frontend.useFinalizeActions()` returns `{ actions, primary, secondary, disabled, hints }`.\n- `actions` lists every active `finalizeAction` in spec order. `primary` is the first `'primary'` one, else the first, else `null`; `secondary` holds the others.\n- Each action is `{ key, handler, variant, label, title, icon, run, isPending, error, disabled }`, with `label` and `title` resolved.\n- `run()` pushes the finalize analytics event and runs the handler. It does nothing while `disabled` or `isPending`, and its promise never rejects.\n- `error` is what the last run rejected with, as an `Error`, cleared on the next run. No snackbar is raised: show it.\n- `disabled` is `true` while a `warning` or worse holds, a save failed or the handler failed to load. Show `hints` beside a disabled button; [Violations](../state/violations.md) owns the gating.\n- Call the hook anywhere in the layout and in dialogs it opens, as often as needed. `isPending` and `error` survive unmounts, such as a panel hidden by fullscreen during a run.\n\n### Handlers run outside the layout\n\n- The configurator runs the handlers itself, beside the layout, whenever a configuration is open, read mode included.\n- A handler can use what the configurator provides, such as every `phx.frontend` hook and opening dialogs, but not a provider the layout adds. Such a handler fails to load and shows as the action's `error`.\n\n### Other ways to run them\n\n- `phx.frontend.useFinalizeAction(handlerName)` runs one known action in the layout and returns `{ run, isPending, error, disabled, hints }`.\n- It calls the handler factory's hooks, so call it once per component, never in a loop or conditionally. Wrap that component in `<PhoenixHandlerBoundary name={handlerName}>` from `@salsita-ai/sdk/react`, so an edited handler takes effect without a reload.\n- Its `isPending` and `error` belong to the mounted component and are lost when it unmounts.\n- `<FinalizeActions />` from `@salsita-ai/sdk/configurator` mounts the built-in buttons, the primary one and a menu of the others. It raises a snackbar on failure, so mount a snackbar root ([Messages](messages.md)).\n\n### Read mode and pending runs\n\n- Neither hook checks read mode. Hide finalization while `accessInfo.viewMode` is `true` ([View mode](view-mode.md)), or filter the components with `$filter.modes: [owner]` so they disappear in every layout.\n- While an action is pending, disable what changes the configuration, such as Back or undo, so it cannot change under the running request.",example:n,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/configurator-interface.mdx` — the "Finalize" paragraph of "Hooks for a Project Layout".\n- `docs/layouts/custom-layout.mdx` — "Request a quote": a review step, a pending button and the handler.\n- `docs/phoenix/finalization.mdx` — the server side, finalize data and result.\n- `docs/layouts/phoenix-handlers.mdx` — handler patterns, such as opening a dialog, each the default export of a file in `src/handlers/`.',phxMembers:["frontend.useFinalizeAction","frontend.useFinalizeActions","frontend.createPhoenixHandler"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** Showing a project layout's messages: violations, hints, errors and save failures, and where snackbars render. */
3
+ export declare const generatePhoenixMessagesFeature: () => PhoenixGuide;
@@ -0,0 +1,52 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`The layout's own toast in place of \`LayoutSlots.Services\`. A rejected change also reports the notices already present, so the toast keeps the most severe message while it shows.
2
+
3
+ \`\`\`tsx
4
+ // Part of a ConfiguratorLayout, placed in the free area with pointerEvents: 'auto'
5
+ import { Alert } from '@mui/material'
6
+ import { useEffect, useState } from 'react'
7
+
8
+ type Severity = 'error' | 'warning' | 'info'
9
+
10
+ const VIOLATION_SEVERITY = { fatal: 'error', fixable: 'error', warning: 'warning', notice: 'info' } as const
11
+ const RANK: Readonly<Record<Severity, number>> = { info: 0, warning: 1, error: 2 }
12
+
13
+ interface Shown {
14
+ readonly text: string
15
+ readonly severity: Severity
16
+ }
17
+
18
+ export const MessageToast = () => {
19
+ const [shown, setShown] = useState<Shown | null>(null)
20
+
21
+ phx.frontend.useConfiguratorMessages(message => {
22
+ const severity: Severity =
23
+ message.kind === 'violation'
24
+ ? VIOLATION_SEVERITY[message.violation.severity]
25
+ : message.kind === 'error' || message.kind === 'saveError'
26
+ ? 'error'
27
+ : 'info'
28
+
29
+ setShown(current =>
30
+ current !== null && RANK[current.severity] > RANK[severity] ? current : { text: message.text, severity }
31
+ )
32
+ })
33
+
34
+ useEffect(() => {
35
+ if (shown === null) {
36
+ return
37
+ }
38
+
39
+ const timeout = setTimeout(() => setShown(null), 6000)
40
+
41
+ return () => clearTimeout(timeout)
42
+ }, [shown])
43
+
44
+ return shown === null ? null : (
45
+ <Alert severity={shown.severity} onClose={() => setShown(null)}>
46
+ {shown.text}
47
+ </Alert>
48
+ )
49
+ }
50
+ \`\`\`
51
+
52
+ A failed save shows as an error and stays only six seconds here; a layout that must keep it visible reads \`useConfigurationSaveState().failure\` as well.`;export const generatePhoenixMessagesFeature=()=>e({path:"features/custom-layout/messages.md",title:"Messages",summary:"Showing rejected changes, side-effect hints, validation errors and failed saves with the built-in snackbars or the layout's own UI, the save status, and where snackbars render; read when composing a project layout or when its messages are missing, doubled or outside the configurator.",whenToUse:"Read when composing a project layout: it shows messages only through one of the two routes below. Read also when snackbars appear twice, unstyled or outside the configurator.",capabilities:"### Choose one route\n\n- **Built-in snackbars** — mount `LayoutSlots.Services`. It shows the violations of a rejected change, side-effect hints, validation errors, a failed save (persistent, with **Dismiss**) and \"Configuration updated\" once saving works again.\n- **The layout's own UI** — call `phx.frontend.useConfiguratorMessages(onMessage)` and show each message as a toast, a banner or inline text.\n- Mount one of the two, never both, or every message shows twice.\n- A layout with neither shows no reason for a rejected change and no sign of a failed save.\n\n### Message kinds\n\n`onMessage` is called once per message, with `text` resolved to the current language. It may be a new function on every render.\n\n- **`violation`** — `{ entityId, violation, text }`, one per violation of the rejected state, including notices and warnings already present. `violation.severity` `fixable` or `fatal` is the reason for the rejection, so keep the most severe message while one shows.\n- **`sideEffect`** — `{ text }`, the hint a committed update carried, for example from a transformer.\n- **`error`** — `{ error, text }`, an error thrown while a change was validated; `text` is a generic \"Oops, something went wrong\".\n- **`saveError`** — `{ error, text }`, each failed save. The configurator keeps saving later changes.\n- **`saveRecovery`** — `{ text }`, the first successful save after a failure.\n- A violation's `text` is its `message`, or its `type` without one. On `phx.frontend` the message is typed by the project, so `violation.type` narrows to its violation types.\n- Hints committed and saves failed before the hook mounted are not delivered; the most recent rejected change is delivered again on mount.\n- What the violations mean and how controls show them belongs to [Violations](../state/violations.md).\n\n### Save status\n\n- `phx.frontend.useConfigurationSaveState()` returns `{ revisionId, isSaving, failure }` for a save indicator.\n- `failure` is `{ error, timestamp }` of the latest failed save, and `null` once a later save succeeds or another configuration loads.\n- An editable configuration saves every committed change about three seconds after the last one. A read-only one never saves.\n- The messages of a failed save still come from the route above; finalizing is blocked while the failure stands.\n\n### Snackbar roots\n\n- Snackbars render into the snackbar root the layout mounts. Without one they render into the page's `document.body`, outside the configurator and its theme.\n- Mount a root whenever the layout mounts `LayoutSlots.Services` or a built-in piece with actions, such as the toolbar or `FinalizeActions`. Their failures are snackbars even when the layout uses `useConfiguratorMessages`.\n- A layout drawn only from hooks, with `useConfiguratorMessages` and `useFinalizeActions`, raises no snackbars and needs no root.\n- `LayoutSlots.DesktopSnackbarsRoot` is a zero-height element the snackbars stack upward from, at most 320 px wide: place it where their bottom edge belongs.\n- `LayoutSlots.MobileSnackbarsRoot` leaves them fixed to the viewport's edge wherever it is mounted.\n- The preset screen renders before any layout; a project preset screen mounts its own root ([Project pages](pages.md)).\n- The theme restyles every snackbar under `components.PhxSnackbar`.",example:t,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/phoenix/configurator-interface.mdx` — the messages paragraph of "Loaded Configuration UI" and the "Violations" table of "Hooks for a Project Layout".\n- `docs/phoenix/layout-slots.mdx` — "Canvas and services" and "Styling the snackbars": the services, the roots and the `PhxSnackbar` theme slots.\n- `docs/layouts/custom-layout.mdx` — "Show messages", the toast this example follows.\n- `docs/other-features/side-effects.mdx`, `docs/other-features/violation-messages.mdx` — where hints and violation texts come from.',phxMembers:["frontend.useConfiguratorMessages","frontend.useConfigurationSaveState"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The project's pages outside the loaded configuration: preset screen, loader, failure pages and assistant form elements. */
3
+ export declare const generatePhoenixProjectPagesFeature: () => PhoenixGuide;
@@ -0,0 +1,49 @@
1
+ import{createPhoenixFeatureGuide as e}from"../../guide.js";let t=`A branded preset screen that keeps the preview branch, shows creation progress and errors, and mounts its snackbar root.
2
+
3
+ \`\`\`tsx
4
+ // src/elements/PresetScreen.tsx
5
+ import { PresetPreviewLayout, PresetSnackbarsRoot } from '@salsita-ai/sdk/configurator'
6
+ import { useResourceUrl } from '@salsita-ai/sdk/react'
7
+
8
+ const PresetScreen = () => {
9
+ const { isPreview } = phx.frontend.usePreview()
10
+ const { presetCategories, selectPreset, creatingPresetId, selectionError } = phx.frontend.usePresetSelection()
11
+ const resolve = phx.frontend.useResolveLocalizable()
12
+ const { getResourceUrl } = useResourceUrl()
13
+
14
+ // A phone embed with \`preview: auto\` starts here; the button expands it
15
+ if (isPreview) {
16
+ return <PresetPreviewLayout title="Design your sofa" startButtonLabel="Start designing" />
17
+ }
18
+
19
+ const presets = presetCategories.flatMap(category => category.presets)
20
+
21
+ return (
22
+ <main style={{ height: '100%', overflowY: 'auto', padding: 32 }}>
23
+ <h1>Choose a starting sofa</h1>
24
+ {selectionError !== null && <p role="alert">This sofa could not be opened. Try again.</p>}
25
+ <div style={{ display: 'grid', gap: 24, gridTemplateColumns: 'repeat(auto-fill, minmax(240px, 1fr))' }}>
26
+ {presets.map(preset => (
27
+ <button
28
+ key={preset.id}
29
+ type="button"
30
+ aria-busy={creatingPresetId === preset.id}
31
+ disabled={creatingPresetId !== null}
32
+ onClick={() => selectPreset(preset.id)}
33
+ >
34
+ {preset.img !== undefined && (
35
+ <img src={getResourceUrl(preset.img)} alt={resolve(preset.imgAlt ?? preset.name)} width="100%" />
36
+ )}
37
+ {resolve(preset.name)}
38
+ </button>
39
+ ))}
40
+ </div>
41
+ <PresetSnackbarsRoot />
42
+ </main>
43
+ )
44
+ }
45
+
46
+ export default phx.frontend.createPresetUi(PresetScreen)
47
+ \`\`\`
48
+
49
+ The app loader is as short: \`export default phx.frontend.createAppLoader(({ phases }) => <span role="status">{phases[0]?.label ?? 'Loading…'}</span>)\`.`;export const generatePhoenixProjectPagesFeature=()=>e({path:"features/custom-layout/pages.md",title:"Project pages",summary:"Replacing the preset screen and its action and overlay, the app loader, the not-authenticated, not-found and error pages, and the assistant's form elements; read when branding the first moments or the failure pages, or when the assistant needs a project form element.",whenToUse:"Read when a page outside the loaded configuration should carry the brand, such as the preset screen, the loader or a failure page, or when the assistant should offer a form element of the project.",capabilities:"Each page below is an element: default-export its registration from a file in `src/elements/`.\n\n### Preset screen\n\n- The preset screen shows at the start when there is more than one preset; with a single preset the configuration starts at once.\n- `phx.frontend.createPresetUi(Component)` replaces the whole screen. The built-in screen's categories, close button, action, overlay and empty state go with it.\n- Inside it, `phx.frontend.usePresetSelection()` returns `{ presetCategories, hasMultiplePresets, selectPreset, creatingPresetId, selectionError }`.\n- A category is `{ id, name, description?, img?, imgAlt?, presets }`; a preset is `{ id, name, description?, img?, imgAlt?, detailTitle?, detailDescription? }`. Texts are `Localizable`: resolve them with `phx.frontend.useResolveLocalizable()`.\n- `img` is a resource path: turn it into a URL with `useResourceUrl().getResourceUrl(img)` from `@salsita-ai/sdk/react`, as the built-in screen does.\n- `selectPreset(id)` creates the configuration and opens it. While `creatingPresetId` is set, mark that card busy and disable the others.\n- `selectionError` is the last failed creation: show it. In production with several presets the failure is also a snackbar, so mount `PresetSnackbarsRoot` from `@salsita-ai/sdk/configurator`, or it renders outside the configurator.\n- Keep the preview branch. While `phx.frontend.usePreview().isPreview` is `true`, return `PresetPreviewLayout` from `@salsita-ai/sdk/configurator` with `title` and `startButtonLabel`. Without it, a phone embed with `preview: auto` never expands and shows the whole screen in the collapsed preview.\n- With no categories, for example when the host's `presetTags` match none, the built-in screen shows the not-found page; a replacement decides itself.\n- What a preset is and how to declare one belongs to [Presets](../application-states/presets.md).\n\n### Preset action and overlay\n\nThese fill the built-in preset screen only; a `createPresetUi` screen renders its own instead.\n\n- `phx.frontend.createPresetPageAction(Component)` adds content below the cards, such as a link to request an unlisted product.\n- `phx.frontend.createPresetDeviceNotSupported(Component)` adds an overlay, such as a notice that the configurator works best on a larger screen.\n- The overlay renders as the last child of the screen, not over the cards, and at every width: make it a dialog or position it, and gate it on the condition it is for.\n\n### App loader\n\n- `phx.frontend.createAppLoader(({ phases }) => …)` replaces what the loading overlay shows. Phoenix keeps the overlay, its place over the safe area and its fade.\n- `phases` are the running loading phases, each `{ id, label?, progress? }` with `progress` from 0 to 1. The list can be empty while the loader waits for the scene.\n- The loader covers the session, the data, the configuration and the scene; it waits for the scene only when the layout mounts `LayoutSlots.SharedCanvas` ([Scene and safe area](scene-and-safe-area.md)).\n- `phx.frontend.useLoadingStateValue()` returns `{ isLoading, hasError, phases, expectedPhaseIds }` for loader content that needs more than `phases`.\n- `phx.frontend.useLoadingState()` returns `{ startPhase, endPhase }`, or `null` outside the loader's host. `startPhase({ id, label, progress })` holds the overlay for the project's own loading step; calling it again with the same `id` updates it.\n- End every started phase with `endPhase(id)`, on failure and on unmount too, or the overlay never leaves.\n- A top-level `appLoader: legacy` in the spec turns the overlay off.\n\n### Failure pages\n\n- `phx.frontend.createNotAuthenticatedPage(Component)` — shown when session authentication fails, and to an anonymous visitor of the start page when `acl.canCreate` excludes `anonymous`. It gets no props. Its default renders the not-found page, so a project not-found page shows there too.\n- `phx.frontend.createConfigurationNotFoundPage(({ onBack }) => …)` — shown when a configuration fails to load, is opened without a valid access key, or a signed-in role may not create one. Offer a way back only when the optional `onBack` is set.\n- `phx.frontend.createConfiguratorErrorPage(({ reason, onRetry }) => …)` — the production error page. `reason` is `'uncaughtError'` or `'presetCreationFailed'` (the single preset failed to start); `onRetry` renders again or reloads.\n- Development shows detailed error pages instead, so check the error page in a production build. A page that throws falls back to the built-in one.\n- Use these helpers rather than `createCustomPhoenixLayoutElement` with the element's name: only the helpers type the props.\n\n### Assistant form elements\n\n- Declare an element under `assistant.formElements.<name>` with `description` (what the model reads), `role` (`group`, `choice`, `choices`, `option` or `input`), optional scalar `attributes` and `required`. Names are lowercase, such as `ralcolor`.\n- Implement it in one file: `export default phx.frontend.createAssistantFormElement('name', Component)`.\n- The name types the props by role through the global `AssistantFormElementProps<'name', STATE>`. Every element gets `attributes`, `label` and `disabled`; an option reports with `onSelect(answer)`, an input with `onChange(state, answer)`, and a container renders `children`.\n- A declared element without a registration, one registered twice, or a registration without a declaration stops the application with an implementation error, at start and on hot reload.",example:t,documentation:'Read with `pnpm phoenix docs -r <path>`:\n\n- `docs/layouts/presets/custom.mdx` — the complete branded preset screen with search and the preview branch.\n- `docs/layouts/presets/action-and-overlay.mdx` — the action and the overlay of the built-in screen.\n- `docs/phoenix/configurator-interface.mdx` — "Preset UI", "Configuration Not Found Page", "Configurator Error Page" and "App Loader".\n- `docs/other-features/not-found-404.mdx`, `docs/other-features/error-5xx.mdx` — worked failure pages.\n- `docs/ux-guidelines/presets.mdx` — what a good preset screen offers.',phxMembers:["frontend.createPresetUi","frontend.usePresetSelection","frontend.createPresetPageAction","frontend.createPresetDeviceNotSupported","frontend.createAppLoader","frontend.useLoadingState","frontend.useLoadingStateValue","frontend.createNotAuthenticatedPage","frontend.createConfigurationNotFoundPage","frontend.createConfiguratorErrorPage","frontend.createAssistantFormElement"]});
@@ -0,0 +1,3 @@
1
+ import { type PhoenixGuide } from '../../guide.js';
2
+ /** The layout element's registration, its canvas, the scene's safe area and the desktop/phone switch. */
3
+ export declare const generatePhoenixSceneAndSafeAreaFeature: () => PhoenixGuide;