@salsita-ai/sdk 0.50.0-develop.f03b563886 → 0.50.0-develop.f81ab6ac76

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 (975) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  28. package/dist/application-spec/core/index.d.ts +2 -0
  29. package/dist/application-spec/core/index.js +1 -1
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  32. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  33. package/dist/application-spec/enhanced-json/index.js +1 -0
  34. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  36. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  38. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  40. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  42. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  44. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  46. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  47. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  48. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  49. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  50. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  52. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  53. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  54. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  56. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  57. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  58. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  59. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  60. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  61. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  63. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  65. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  67. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  68. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  90. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  91. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  93. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  94. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  95. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  99. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  100. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  101. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  102. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  104. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  106. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  114. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +31 -14
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -4
  116. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  126. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  128. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  130. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  132. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  134. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  135. package/dist/application-spec/generate-application/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/index.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  138. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  142. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  143. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  145. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  149. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  158. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  162. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  163. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  165. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  167. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  169. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  170. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  172. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  174. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  176. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  177. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  183. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  185. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  189. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  191. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  193. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  195. package/dist/application-spec/index.d.ts +1 -0
  196. package/dist/application-spec/index.js +1 -1
  197. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  199. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  203. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  212. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  231. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  233. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  235. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  237. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  240. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  243. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  245. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/phoenix-api.d.ts +463 -0
  280. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  281. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  282. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  283. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  284. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  285. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  286. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  287. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  288. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  289. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  290. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  291. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  292. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  293. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  294. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  295. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  296. package/dist/configurator/common/configurator-interface.d.ts +35 -1
  297. package/dist/configurator/common/configurator-interface.js +1 -1
  298. package/dist/configurator/common/index.d.ts +3 -1
  299. package/dist/configurator/common/index.js +1 -1
  300. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  301. package/dist/configurator/common/use-reset-camera.js +1 -0
  302. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  303. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  304. package/dist/configurator/configuration-not-found-page/index.d.ts +1 -0
  305. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  306. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  307. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  308. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  309. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  310. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  311. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  312. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  313. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  314. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  315. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  316. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  317. package/dist/configurator/pages/RootPage.js +1 -1
  318. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  319. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  320. package/dist/configurator/pages/default-configurator-elements.d.ts +11 -0
  321. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  322. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  323. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  324. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  325. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  326. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  327. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  328. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  329. package/dist/configurator/pages/default-elements/index.js +1 -0
  330. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  331. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  332. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  333. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  334. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  335. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  336. package/dist/configurator/pages/index.d.ts +1 -0
  337. package/dist/configurator/pages/index.js +1 -1
  338. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  339. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  340. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  341. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  342. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  343. package/dist/configurator/preset-screen-elements/index.js +1 -0
  344. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  345. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  346. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  347. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  348. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  349. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  350. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  351. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  352. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  353. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  354. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  355. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  356. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  357. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  358. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  359. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  360. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  361. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  362. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  363. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  364. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  365. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  366. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  367. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  368. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  369. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  370. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  371. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  372. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  373. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  374. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  375. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  376. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  377. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  378. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  379. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  380. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  381. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  382. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  383. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  384. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  385. package/dist/configurator/ui/assistant/form/index.js +1 -0
  386. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  387. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  388. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  389. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  390. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  391. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  392. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  393. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  394. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  395. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  396. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  397. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  398. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  399. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  400. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  401. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  402. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  403. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  404. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  405. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  406. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  407. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  408. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  409. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  410. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  411. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  412. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  413. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  414. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  415. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  416. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  417. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  418. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  419. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  420. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  421. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  422. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  423. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  424. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  425. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  426. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  427. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  428. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  429. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  430. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  431. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  432. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  433. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  434. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  435. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  436. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  437. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  438. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  439. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  440. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  441. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  442. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  443. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  444. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  445. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  446. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  447. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  448. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  449. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  450. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  451. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  452. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  453. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  454. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  455. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  456. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  457. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  458. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  459. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  460. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  461. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  462. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  463. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  464. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  465. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  466. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  467. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  468. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  469. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  470. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  471. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  472. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  473. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  474. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  475. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  476. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  477. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  478. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  479. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  480. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  481. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  482. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  483. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  484. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  485. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  486. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  487. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  488. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  489. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  490. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  491. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  492. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  493. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  494. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  495. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  496. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  497. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  498. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  499. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  500. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  501. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  502. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  503. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  504. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  505. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  506. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  507. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  508. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  509. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  510. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  511. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  512. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  513. package/dist/docs/fabs/basic.mdx +2 -2
  514. package/dist/docs/index.json +42 -1
  515. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  516. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  517. package/dist/docs/layouts/header/fixed.mdx +2 -2
  518. package/dist/docs/layouts/header/floating.mdx +2 -2
  519. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  520. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  521. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  522. package/dist/docs/other-features/not-found-404.mdx +1 -1
  523. package/dist/docs/other-features/side-effects.mdx +8 -11
  524. package/dist/docs/other-features/transformers.mdx +4 -0
  525. package/dist/docs/other-features/violation-messages.mdx +52 -56
  526. package/dist/docs/phoenix/application-states.mdx +9 -7
  527. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  528. package/dist/docs/phoenix/components.mdx +6 -0
  529. package/dist/docs/phoenix/configurator-interface.mdx +267 -81
  530. package/dist/docs/phoenix/deployments.mdx +2 -6
  531. package/dist/docs/phoenix/domain-model.mdx +6 -0
  532. package/dist/docs/phoenix/finalization.mdx +1 -1
  533. package/dist/docs/phoenix/getting-started.mdx +7 -4
  534. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  535. package/dist/docs/phoenix/localization.mdx +10 -6
  536. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  537. package/dist/docs/phoenix/phoenix-cli.mdx +88 -44
  538. package/dist/docs/phoenix/project-structure.mdx +80 -36
  539. package/dist/docs/phoenix/quickstart.mdx +9 -9
  540. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  541. package/dist/docs/phoenix/testing.mdx +148 -0
  542. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  543. package/dist/docs/phoenix/webhooks.mdx +23 -6
  544. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  545. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  546. package/dist/domain/admin-domain/index.js +1 -1
  547. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  548. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  549. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  550. package/dist/domain/application/application-config.d.ts +8 -5
  551. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  552. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  553. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  554. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  555. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  556. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  557. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  558. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  559. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  560. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  561. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  562. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  563. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  564. package/dist/domain/application/assistant/index.d.ts +8 -1
  565. package/dist/domain/application/assistant/index.js +1 -1
  566. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  567. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  568. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  569. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  570. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  571. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  572. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  573. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  574. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  575. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  576. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  577. package/dist/domain/application/configurator-builder.d.ts +5 -2
  578. package/dist/domain/application/configurator-builder.js +1 -1
  579. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  580. package/dist/domain/application/index.d.ts +0 -4
  581. package/dist/domain/application/index.js +1 -1
  582. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  583. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  584. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  585. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  586. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  587. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  588. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  589. package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
  590. package/dist/domain/core/component/domain-component-optic.js +2 -2
  591. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  592. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  593. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  594. package/dist/domain/core/expression/constant-expressions.js +1 -1
  595. package/dist/domain/core/expression/custom-expression.d.ts +17 -4
  596. package/dist/domain/core/expression/custom-expression.js +1 -1
  597. package/dist/domain/core/expression/expression.d.ts +1 -2
  598. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  599. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  600. package/dist/domain/core/invariant/violation.d.ts +50 -2
  601. package/dist/domain/core/invariant/violation.js +1 -1
  602. package/dist/domain/core/model/model.d.ts +1 -1
  603. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  604. package/dist/domain/core/recipe/recipes.js +1 -1
  605. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  606. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  607. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  608. package/dist/domain/core/relation/index.d.ts +0 -1
  609. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  610. package/dist/domain/core/relation/indirect-relation.js +1 -1
  611. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  612. package/dist/domain/core/relation/relation-factory.js +1 -1
  613. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  614. package/dist/domain/core/state/migrations.d.ts +14 -45
  615. package/dist/domain/core/state/migrations.js +1 -1
  616. package/dist/domain/core/state/state.d.ts +1 -1
  617. package/dist/domain/domain-builder.d.ts +1 -1
  618. package/dist/domain/domain-builder.js +1 -1
  619. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -1
  620. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  621. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  622. package/dist/domain/domain-context/action-system/index.js +1 -0
  623. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  624. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  625. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  626. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  627. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  628. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  629. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  630. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  631. package/dist/domain/domain-context/index.d.ts +8 -17
  632. package/dist/domain/domain-context/index.js +1 -1
  633. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  634. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  635. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  636. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  637. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  638. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  639. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  640. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  641. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  642. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  643. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  644. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  645. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  646. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  647. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  648. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  649. package/dist/domain/domain-context/store-system/index.js +1 -0
  650. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  651. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -3
  652. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  653. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  654. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  655. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  656. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  657. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  658. package/dist/domain/domain-context/transformers/context.d.ts +1 -1
  659. package/dist/domain/domain-context/transformers/context.js +1 -1
  660. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  661. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  662. package/dist/domain/domain-context/transformers/index.js +1 -1
  663. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  664. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  665. package/dist/domain/domain-context/undo-system.d.ts +29 -2
  666. package/dist/domain/domain-context/undo-system.js +1 -1
  667. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  668. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  669. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  670. package/dist/domain/domain-runtime/access/types.js +1 -1
  671. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  672. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +17 -22
  673. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  674. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  675. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -60
  676. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  677. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  678. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  679. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  680. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  681. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  682. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  683. package/dist/domain/domain-runtime/errors/index.js +1 -0
  684. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  685. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  686. package/dist/domain/domain-runtime/index.d.ts +1 -0
  687. package/dist/domain/domain-runtime/index.js +1 -1
  688. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  689. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  690. package/dist/domain/domain-runtime/spec/index.d.ts +2 -5
  691. package/dist/domain/domain-runtime/spec/index.js +1 -1
  692. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  693. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  694. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  695. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  696. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  697. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  698. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  699. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  700. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -1
  701. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  702. package/dist/domain/domain-runtime/spec/{resolve-action-modules.d.ts → module-checks/resolve-action-modules.d.ts} +2 -2
  703. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  704. package/dist/domain/domain-runtime/spec/{resolve-component-optic-modules.d.ts → module-checks/resolve-component-optic-modules.d.ts} +2 -2
  705. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  706. package/dist/domain/domain-runtime/spec/{resolve-expression-modules.d.ts → module-checks/resolve-expression-modules.d.ts} +2 -2
  707. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  708. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  709. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  710. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  711. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  712. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  713. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  714. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  715. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  716. package/dist/domain/extensions/attribute-switch.js +1 -1
  717. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  718. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  719. package/dist/domain/extensions/client-side-image.js +1 -1
  720. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  721. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  722. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  723. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  724. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  725. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  726. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  727. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  728. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  729. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  730. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  731. package/dist/domain/extensions/offset-indicator.js +1 -1
  732. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  733. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  734. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  735. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  736. package/dist/domain/index.d.ts +0 -1
  737. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  738. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  739. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  740. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  741. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  742. package/dist/domain/mocks/create-mock-domain.js +1 -1
  743. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  744. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  745. package/dist/domain/mocks/create-test-application-config.js +1 -0
  746. package/dist/domain/mocks/index.d.ts +1 -0
  747. package/dist/domain/mocks/index.js +1 -1
  748. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  749. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  750. package/dist/domain/projections/collision-projections.d.ts +1 -1
  751. package/dist/domain/projections/composition-projections.d.ts +1 -1
  752. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  753. package/dist/domain/projections/position-projections.d.ts +1 -1
  754. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  755. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  756. package/dist/domain/projections/validation-projections.d.ts +2 -2
  757. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  758. package/dist/domain/system-components/application-config.d.ts +2 -2
  759. package/dist/domain/system-components/child-entity-selection.js +1 -1
  760. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  761. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  762. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  763. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  764. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  765. package/dist/domain/system-components/common/recipes.js +1 -1
  766. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  767. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  768. package/dist/domain/system-components/constraint.d.ts +10 -23
  769. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  770. package/dist/domain/system-components/drag-handle.js +1 -1
  771. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  772. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  773. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  774. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  775. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  776. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  777. package/dist/domain/system-components/material-swatch.js +1 -1
  778. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  779. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  780. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  781. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  782. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  783. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  784. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  785. package/dist/domain/utils/eval-cache.d.ts +1 -1
  786. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  787. package/dist/editor/Editor.d.ts +7 -0
  788. package/dist/editor/Editor.js +1 -1
  789. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  790. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  791. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  792. package/dist/editor/mocks/EditorMockContext.js +1 -1
  793. package/dist/globals/index.d.ts +2 -0
  794. package/dist/i18n/locales/cs/messages.js +1 -1
  795. package/dist/i18n/locales/da/messages.js +1 -1
  796. package/dist/i18n/locales/de/messages.js +1 -1
  797. package/dist/i18n/locales/de-AT/messages.js +1 -1
  798. package/dist/i18n/locales/en/messages.js +1 -1
  799. package/dist/i18n/locales/en-AU/messages.js +1 -1
  800. package/dist/i18n/locales/en-GB/messages.js +1 -1
  801. package/dist/i18n/locales/es/messages.js +1 -1
  802. package/dist/i18n/locales/fr/messages.js +1 -1
  803. package/dist/i18n/locales/hu/messages.js +1 -1
  804. package/dist/i18n/locales/it/messages.js +1 -1
  805. package/dist/i18n/locales/nl/messages.js +1 -1
  806. package/dist/i18n/locales/pl/messages.js +1 -1
  807. package/dist/i18n/locales/pt/messages.js +1 -1
  808. package/dist/i18n/locales/ro/messages.js +1 -1
  809. package/dist/i18n/locales/sk/messages.js +1 -1
  810. package/dist/i18n/locales/tr/messages.js +1 -1
  811. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  812. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  813. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  814. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  815. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  816. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  817. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  818. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  819. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  820. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  821. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  822. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  823. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  824. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  825. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  826. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  827. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  828. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  829. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  830. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  831. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  832. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  833. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  834. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  835. package/dist/phoenix/application-spec/project-files.js +1 -1
  836. package/dist/phoenix/bin.d.ts +2 -0
  837. package/dist/phoenix/bin.js +2 -0
  838. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  839. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  840. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  841. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  842. package/dist/phoenix/check-configs/index.d.ts +8 -0
  843. package/dist/phoenix/check-configs/index.js +1 -0
  844. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  845. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  846. package/dist/phoenix/cli.d.ts +0 -1
  847. package/dist/phoenix/cli.js +1 -2
  848. package/dist/phoenix/commands/build.js +1 -1
  849. package/dist/phoenix/commands/check.js +1 -1
  850. package/dist/phoenix/commands/clean.js +1 -1
  851. package/dist/phoenix/commands/deploy.js +2 -2
  852. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  853. package/dist/phoenix/commands/deps/deps.js +3 -0
  854. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  855. package/dist/phoenix/commands/deps/index.js +1 -0
  856. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  857. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  858. package/dist/phoenix/commands/dev.js +5 -5
  859. package/dist/phoenix/commands/fix.js +1 -1
  860. package/dist/phoenix/commands/index.d.ts +1 -0
  861. package/dist/phoenix/commands/index.js +1 -1
  862. package/dist/phoenix/commands/init.d.ts +17 -5
  863. package/dist/phoenix/commands/init.js +1 -1
  864. package/dist/phoenix/commands/link.js +1 -1
  865. package/dist/phoenix/commands/prettier.js +1 -1
  866. package/dist/phoenix/commands/sync.js +1 -1
  867. package/dist/phoenix/commands/unlink.js +1 -1
  868. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  869. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  870. package/dist/phoenix/services/lingui.d.ts +8 -0
  871. package/dist/phoenix/services/lingui.js +1 -1
  872. package/dist/phoenix/services/source-archive.d.ts +1 -0
  873. package/dist/phoenix/services/source-archive.js +1 -1
  874. package/dist/phoenix/services/swc.js +1 -1
  875. package/dist/phoenix/services/vite-config.js +1 -1
  876. package/dist/phoenix/utils/git/index.d.ts +1 -0
  877. package/dist/phoenix/utils/git/index.js +1 -0
  878. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  879. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  880. package/dist/phoenix/utils/index.d.ts +5 -2
  881. package/dist/phoenix/utils/index.js +1 -1
  882. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  883. package/dist/phoenix/utils/node-version/index.js +1 -0
  884. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  885. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  886. package/dist/phoenix/utils/package-info.d.ts +0 -9
  887. package/dist/phoenix/utils/package-info.js +1 -1
  888. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  889. package/dist/phoenix/utils/package-manager/index.js +1 -0
  890. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  891. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  892. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  893. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  894. package/dist/phoenix/utils/run-command.d.ts +11 -0
  895. package/dist/phoenix/utils/run-command.js +1 -1
  896. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  897. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  898. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  899. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  900. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +2 -0
  901. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  902. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  903. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  904. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  905. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  906. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  907. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  908. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  909. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  910. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  911. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  912. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  913. package/dist/react-sdk/domain-context/index.d.ts +4 -1
  914. package/dist/react-sdk/domain-context/index.js +1 -1
  915. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  916. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  917. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  918. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  919. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  920. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  921. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  922. package/dist/react-sdk/handlers/index.d.ts +1 -0
  923. package/dist/react-sdk/handlers/index.js +1 -1
  924. package/dist/react-sdk/handlers/use-finalize-action.d.ts +31 -0
  925. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  926. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  927. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  928. package/dist/ui-sdk/theme/types.d.ts +1 -1
  929. package/dist/webhook/builders/webhook-builder.js +1 -1
  930. package/package.json +48 -36
  931. package/schema/domain-spec.json +1201 -217
  932. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  933. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  934. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  935. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -94
  936. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  937. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  938. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  939. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  940. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  941. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  942. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  943. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  944. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  945. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  946. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  947. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  948. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  949. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  950. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  951. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  952. package/dist/configurator/common/frontend-analytics.js +0 -1
  953. package/dist/domain/application/element-registration.js +0 -1
  954. package/dist/domain/application/handler-registration.js +0 -1
  955. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  956. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  957. package/dist/domain/application/resource-builder.d.ts +0 -13
  958. package/dist/domain/application/resource-builder.js +0 -1
  959. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  960. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -61
  961. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  962. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +0 -1
  963. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +0 -1
  964. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +0 -1
  965. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +0 -6
  966. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +0 -1
  967. package/dist/domain/project-modules/index.d.ts +0 -1
  968. package/dist/domain/project-modules/index.js +0 -1
  969. package/dist/domain/project-modules/project-modules.js +0 -1
  970. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  971. package/dist/phoenix/commands/generate-project-files.js +0 -1
  972. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  973. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  974. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  975. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -145,7 +145,7 @@ interface HorizontalTab {
145
145
  /**
146
146
  * List of navigation states when the tab is active. First one will be used for activation.
147
147
  */
148
- readonly navigationStates: string[]
148
+ readonly navigationStates: readonly string[]
149
149
  }
150
150
  ```
151
151
 
@@ -158,7 +158,7 @@ type HorizontalTabsComponentState = {
158
158
  /**
159
159
  * List of tabs in the horizontal tabs.
160
160
  */
161
- readonly tabs: HorizontalTab[]
161
+ readonly tabs: readonly HorizontalTab[]
162
162
  }
163
163
  ```
164
164
 
@@ -110,11 +110,11 @@ The configuration uses these component types:
110
110
  ```typescript
111
111
  export interface NavigationStep {
112
112
  readonly label: Localizable
113
- readonly navigationStates: string[]
113
+ readonly navigationStates: readonly string[]
114
114
  }
115
115
 
116
116
  export type NavigationStepsComponentState = {
117
- readonly steps: NavigationStep[]
117
+ readonly steps: readonly NavigationStep[]
118
118
  }
119
119
  ```
120
120
 
@@ -0,0 +1,380 @@
1
+ # Sidebar in a Custom Layout
2
+
3
+ - [Use case](#use-case)
4
+ - [Guide](#guide)
5
+ - [Example](#example)
6
+ - [Known gaps](#known-gaps)
7
+ - [Test cases](#test-cases)
8
+ - [Complete Implementation](#complete-implementation)
9
+
10
+ ## Use case
11
+
12
+ A project wants the configurator arranged differently, for example with the sidebar on the left, but the sidebar itself is right as it is: the spec's tabs, property pages and sidebar footer, with their spacing, scrolling and empty states. The project writes its own layout, a `ConfiguratorLayout` element, and places the built-in sidebar in it as one piece, `LayoutSlots.DesktopSidebar`. The spec keeps describing what the sidebar shows; the layout only decides where it goes.
13
+
14
+ Build the sidebar's controls yourself instead when they have to look like the brand's own, as [Custom Layout](?path=/docs/layouts-custom-layout--docs) does; [Configurator Interface → Loaded Configuration UI](?path=/docs/phoenix-configurator-interface--docs#loaded-configuration-ui) lists what a project layout can use. Stay with the built-in layout when its arrangement fits: [Sidebar - General](?path=/docs/layouts-sidebar-general--docs) describes what the spec configures in the sidebar.
15
+
16
+ ## Guide
17
+
18
+ The layout registers itself under the name `ConfiguratorLayout` and mounts the scene, the safe area and the sidebar:
19
+
20
+ ```tsx
21
+ // src/elements/ConfiguratorLayout.tsx
22
+ import { LayoutSlots, useSceneSafeArea } from '@salsita-ai/sdk/configurator'
23
+
24
+ import { phx } from '../../.phoenix/phx.js'
25
+
26
+ const GUTTER = 24
27
+ const SIDEBAR_WIDTH = 380
28
+
29
+ const ConfiguratorLayout = () => {
30
+ const { containerRef, safeAreaRef } = useSceneSafeArea()
31
+ const isFullscreen = phx.frontend.useIsFullscreenActive()
32
+
33
+ return (
34
+ <div ref={containerRef} style={{ position: 'absolute', inset: 0 }}>
35
+ <LayoutSlots.Services />
36
+ <LayoutSlots.SharedCanvas />
37
+
38
+ {!isFullscreen && (
39
+ <aside
40
+ style={{
41
+ position: 'absolute',
42
+ insetBlock: GUTTER,
43
+ insetInlineStart: GUTTER,
44
+ inlineSize: SIDEBAR_WIDTH,
45
+ }}
46
+ >
47
+ <LayoutSlots.DesktopSidebar side="start" />
48
+ </aside>
49
+ )}
50
+
51
+ <div
52
+ ref={safeAreaRef}
53
+ style={{
54
+ position: 'absolute',
55
+ insetBlock: 0,
56
+ insetInlineStart: isFullscreen ? 0 : SIDEBAR_WIDTH + 2 * GUTTER,
57
+ insetInlineEnd: 0,
58
+ pointerEvents: 'none',
59
+ }}
60
+ >
61
+ <div style={{ position: 'absolute', insetBlockEnd: GUTTER, insetInlineStart: GUTTER, pointerEvents: 'auto' }}>
62
+ <LayoutSlots.DesktopToolbar />
63
+ </div>
64
+ </div>
65
+ </div>
66
+ )
67
+ }
68
+
69
+ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout', ConfiguratorLayout)
70
+ ```
71
+
72
+ - **Size the container.** Without `width`, `LayoutSlots.DesktopSidebar` fills the width and height of its container. The layout positions the container above the canvas and gives it a size, here a fixed width and the full height less a gutter. The sidebar's content scrolls inside that height and its footer stays at the bottom.
73
+ - **Say which side it is on.** The sidebar's tabs sit outside it. With `side="start"` they sit on its right, toward the scene; the default, `side="end"`, puts them on its left, as in the built-in layout.
74
+ - **Frame the scene beside it.** `useSceneSafeArea()` measures the free region right of the sidebar, so the camera frames the table there.
75
+ - **Decide what fullscreen does.** In fullscreen the sidebar stays in place, transparent and inert. This layout removes it while `phx.frontend.useIsFullscreenActive()` is set and lets the safe area start at the left edge, so the table is framed in the whole canvas. The toolbar's fullscreen button sets the flag.
76
+ - **Read mode.** The same element renders a configuration shared for viewing. The sidebar handles read mode itself: it applies the spec's `$filter.modes`, so the tabs, which the spec limits to owners, are gone and the footer shows the price only. The banner that offers **Edit configuration** to a viewer is the layout's to mount: the built-in layout shows `LayoutSlots.DesktopReadonlyBanner` in read mode outside fullscreen, and it renders only when the spec sets `shareCloneToEdit` and the viewer's role may create configurations. This spec does not set it, so this layout mounts no banner.
77
+
78
+ `LayoutSlots.DesktopSidebar` takes two optional props:
79
+
80
+ | Prop | Type | Default | Meaning |
81
+ | ------- | -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
82
+ | `width` | CSS width | none | Fixed inline size; the sidebar then takes its content's height unless its container stretches it. Without it the sidebar fills its container's width and height. |
83
+ | `side` | `'start'` \| `'end'` | `'end'` | The side of the layout the sidebar is on; its tabs sit on the other side of it. |
84
+
85
+ Its look follows the theme component `PhxDesktopSidebar`, as in the built-in layout, see [Theming](?path=/docs/phoenix-theming--docs).
86
+
87
+ ## Example
88
+
89
+ The spec is a table with one property, its edge finish, on a **Design** tab and a short text on a **Details** tab, and a price. Nothing in the YAML refers to the layout.
90
+
91
+ ## Known gaps
92
+
93
+ - The footer is the basic sidebar footer, as in the built-in layout when the spec configures none. Its finalize button is disabled unless the spec configures the legacy `finalizeButton` or `finalizePage` components, which are declared only in TypeScript, and a project layout shows a `finalizePage` only if it renders it. New projects finalize over `finalizeAction` components, which the universal sidebar footer offers when the spec configures `universalSidebarFooter`.
94
+ - `LayoutSlots.DesktopSidebar` is the desktop sidebar. At phone width a project layout needs its own arrangement, for example the `Mobile*` members of `LayoutSlots`, listed in [Layout Slots](?path=/docs/phoenix-layout-slots--docs#phone-layout), in a drawer.
95
+ - The tabs overlap the scene beside the sidebar; the safe area in this example does not leave room for them.
96
+ - `miniSidebar` does not shrink the sidebar: the built-in layout does that, and here the sidebar fills its container. A layout that honours it reads `LayoutSlots.useSidebarContent().hasMiniSidebar` and gives the container no fixed height, anchored at the bottom for example, so the sidebar takes its content's height.
97
+
98
+ ## Test cases
99
+
100
+ - The sidebar sits on the left with its tabs on its right; the table is framed in the space right of the sidebar.
101
+ - **Design** shows the edge finishes; choosing one changes the table. **Details** shows the text.
102
+ - The footer shows the price and the finalize button.
103
+ - Fullscreen removes the sidebar and frames the table in the whole canvas; leaving it brings the sidebar back.
104
+ - With the **Read User** mock template the tabs are gone and the footer shows the price only.
105
+
106
+ ## Complete Implementation
107
+
108
+ {/* AUTO-GENERATED SECTION: This section is automatically updated by 'phoenix story build' */}
109
+
110
+ <details>
111
+ <summary>Click to view the complete implementation files</summary>
112
+
113
+ ### ./spec/domain.yaml
114
+
115
+ ```yaml
116
+ model:
117
+ latest:
118
+ entityTypes:
119
+ - Table
120
+ aliases:
121
+ RootEntity:
122
+ - Table
123
+ commonTypes:
124
+ EdgeFinish:
125
+ enum:
126
+ - None
127
+ - Facet
128
+ - Round
129
+ - TreeTrunk
130
+ shapes:
131
+ Table:
132
+ edgeFinish:
133
+ $ref: '#/model/latest/commonTypes/EdgeFinish'
134
+
135
+ presets:
136
+ - rootEntityType: 'Table'
137
+ initialDomainEntities:
138
+ - id: 'Table-1'
139
+ type: 'Table'
140
+ edgeFinish: 'None'
141
+
142
+ navigationStates:
143
+ - design
144
+ - details
145
+
146
+ invariants:
147
+ Table:
148
+ trunkDisabled:
149
+ types:
150
+ - 'trunkDisabled'
151
+
152
+ components:
153
+ Table:
154
+ propertyPage:
155
+ design:
156
+ $filter:
157
+ navigationStates:
158
+ - design
159
+ children:
160
+ - kind: propertyContainerGroup
161
+ props:
162
+ spacing: large
163
+ children:
164
+ - kind: propertyContainerItem
165
+ props:
166
+ title: Edge Finish
167
+ description: Select the edge finish for the table.
168
+ children:
169
+ - kind: attributeCardSelector
170
+ props:
171
+ instanceName: edgeFinish
172
+ details:
173
+ $filter:
174
+ navigationStates:
175
+ - details
176
+ children:
177
+ - kind: propertyContainerItem
178
+ props:
179
+ title: Dimensions
180
+ description: 1600 × 800 mm, 750 mm high. Solid oak top on powder-coated steel legs.
181
+ sidebarTabs:
182
+ main:
183
+ $filter:
184
+ modes:
185
+ - owner
186
+ tabs:
187
+ - label: Design
188
+ navigationStates:
189
+ - design
190
+ - label: Details
191
+ navigationStates:
192
+ - details
193
+ price:
194
+ main:
195
+ price: 1200
196
+ fitRootPerspectiveCamera:
197
+ main:
198
+ priority: 1
199
+ fov: 35
200
+ near: 100
201
+ far: 10000
202
+ minDistance: 1000
203
+ maxDistance: 9000
204
+ distance: 5000
205
+ azimuthAngle: 1.5
206
+ polarAngle: 1.1
207
+ fitMeshChanges: true
208
+ animateOnLoad: true
209
+ sceneEntityRemoteObject:
210
+ top:
211
+ fileUrl: '/models/tables.gltf'
212
+ objectName: RECHTHOEK_RECTANGLE
213
+ dimensionUnit: m
214
+ leg:
215
+ fileUrl: '/models/tables.gltf'
216
+ objectName: AXL_LEG
217
+ dimensionUnit: m
218
+ sceneEntityObjectProperties:
219
+ top:
220
+ offsetY: 820
221
+ morphTargetInfluences:
222
+ Facet:
223
+ value:
224
+ $read: $edgeFinishFacet
225
+ scaleOne: 1
226
+ scaleZero: 0
227
+ Bol:
228
+ value:
229
+ $read: $edgeFinishRound
230
+ scaleOne: 1
231
+ scaleZero: 0
232
+ Boomstamrand:
233
+ value:
234
+ $read: $edgeFinishTreeTrunk
235
+ scaleOne: 1
236
+ scaleZero: 0
237
+ leg:
238
+ morphTargetInfluences:
239
+ Length:
240
+ value: 1000
241
+ scaleOne: 3000
242
+ scaleZero: 1400
243
+ Width:
244
+ value: 700
245
+ scaleOne: 1300
246
+ scaleZero: 600
247
+ Height:
248
+ value: 780
249
+ scaleOne: 780
250
+ scaleZero: 740
251
+ attributeSelection:
252
+ edgeFinish:
253
+ value:
254
+ $bind: edgeFinish
255
+ options:
256
+ $read: $edgeFinishOptions
257
+ ```
258
+
259
+ ### ./src/elements/ConfiguratorLayout.tsx
260
+
261
+ ```tsx
262
+ import { LayoutSlots, useSceneSafeArea } from '@salsita-ai/sdk/configurator'
263
+
264
+ import { phx } from '../../.phoenix/phx.js'
265
+
266
+ const GUTTER = 24
267
+ const SIDEBAR_WIDTH = 380
268
+
269
+ const ConfiguratorLayout = () => {
270
+ const { containerRef, safeAreaRef } = useSceneSafeArea()
271
+ const isFullscreen = phx.frontend.useIsFullscreenActive()
272
+
273
+ return (
274
+ <div ref={containerRef} style={{ position: 'absolute', inset: 0 }}>
275
+ <LayoutSlots.Services />
276
+ <LayoutSlots.SharedCanvas />
277
+
278
+ {!isFullscreen && (
279
+ <aside
280
+ style={{
281
+ position: 'absolute',
282
+ insetBlock: GUTTER,
283
+ insetInlineStart: GUTTER,
284
+ inlineSize: SIDEBAR_WIDTH,
285
+ }}
286
+ >
287
+ <LayoutSlots.DesktopSidebar side="start" />
288
+ </aside>
289
+ )}
290
+
291
+ <div
292
+ ref={safeAreaRef}
293
+ style={{
294
+ position: 'absolute',
295
+ insetBlock: 0,
296
+ insetInlineStart: isFullscreen ? 0 : SIDEBAR_WIDTH + 2 * GUTTER,
297
+ insetInlineEnd: 0,
298
+ pointerEvents: 'none',
299
+ }}
300
+ >
301
+ <div style={{ position: 'absolute', insetBlockEnd: GUTTER, insetInlineStart: GUTTER, pointerEvents: 'auto' }}>
302
+ <LayoutSlots.DesktopToolbar />
303
+ </div>
304
+ </div>
305
+ </div>
306
+ )
307
+ }
308
+
309
+ export default phx.frontend.createCustomPhoenixLayoutElement('ConfiguratorLayout', ConfiguratorLayout)
310
+ ```
311
+
312
+ ### ./src/expressions/expressions.ts
313
+
314
+ ```ts
315
+ import { phx } from '../../.phoenix/phx.js'
316
+
317
+ export default phx.domain.implementCustomExpressions({
318
+ Table: {
319
+ $edgeFinishFacet: s => {
320
+ return s.edgeFinish === 'Facet' ? 1 : 0
321
+ },
322
+ $edgeFinishRound: s => {
323
+ return s.edgeFinish === 'Round' ? 1 : 0
324
+ },
325
+ $edgeFinishTreeTrunk: s => {
326
+ return s.edgeFinish === 'TreeTrunk' ? 1 : 0
327
+ },
328
+ $edgeFinishOptions: () => {
329
+ return [
330
+ {
331
+ label: 'None',
332
+ img: '/images/edge-none.png',
333
+ value: phx.domain.model.EdgeFinish.None,
334
+ },
335
+ {
336
+ label: 'Facet',
337
+ img: '/images/edge-facet.png',
338
+ value: phx.domain.model.EdgeFinish.Facet,
339
+ },
340
+ {
341
+ label: 'Round',
342
+ img: '/images/edge-round.png',
343
+ value: phx.domain.model.EdgeFinish.Round,
344
+ },
345
+ {
346
+ label: 'TreeTrunk',
347
+ img: '/images/edge-tree-trunk.png',
348
+ value: phx.domain.model.EdgeFinish.TreeTrunk,
349
+ },
350
+ ]
351
+ },
352
+ },
353
+ })
354
+ ```
355
+
356
+ ### ./src/invariants/invariants.ts
357
+
358
+ ```ts
359
+ import { phx } from '../../.phoenix/phx.js'
360
+
361
+ export default phx.domain.implementCustomInvariants({
362
+ Table: {
363
+ trunkDisabled: s => {
364
+ if (s.edgeFinish === 'TreeTrunk') {
365
+ return [
366
+ {
367
+ type: 'trunkDisabled',
368
+ severity: 'fatal',
369
+ message: 'TreeTrunk finish is disabled because stuff!',
370
+ },
371
+ ]
372
+ }
373
+
374
+ return []
375
+ },
376
+ },
377
+ })
378
+ ```
379
+
380
+ </details>
@@ -41,11 +41,11 @@ The basic sidebar footer adapts its layout based on what's available. The finali
41
41
 
42
42
  For more control over the sidebar footer, see these related examples:
43
43
 
44
- - **[Phoenix Handlers](../?path=/docs/layouts-phoenix-handlers)**: Learn how to create custom action handlers for sidebar footer buttons
45
- - **[Read Sidebar Footer](../?path=/docs/layouts-sidebar-footer-read)**: Display price in read-only mode without action buttons
46
- - **[Universal Sidebar Footer](../?path=/docs/layouts-sidebar-footer-universal)**: Add custom text and multiple action buttons while keeping the standard layout
47
- - **[Custom Sidebar Footer](../?path=/docs/layouts-sidebar-footer-custom)**: Replace the sidebar footer with your own React components for complete control
48
- - **[Hidden Sidebar Footer](../?path=/docs/layouts-sidebar-footer-hidden)**: Remove the sidebar footer entirely for embedded or immersive experiences
44
+ - **[Phoenix Handlers](?path=/docs/layouts-phoenix-handlers--docs)**: Learn how to create custom action handlers for sidebar footer buttons
45
+ - **[Read Sidebar Footer](?path=/docs/layouts-sidebar-footer-read--docs)**: Display price in read-only mode without action buttons
46
+ - **[Universal Sidebar Footer](?path=/docs/layouts-sidebar-footer-universal--docs)**: Add custom text and multiple action buttons while keeping the standard layout
47
+ - **[Custom Sidebar Footer](?path=/docs/layouts-sidebar-footer-custom--docs)**: Replace the sidebar footer with your own React components for complete control
48
+ - **[Hidden Sidebar Footer](?path=/docs/layouts-sidebar-footer-hidden--docs)**: Remove the sidebar footer entirely for embedded or immersive experiences
49
49
 
50
50
  ## Guide
51
51
 
@@ -98,84 +98,39 @@ This configuration gives you a fully functional sidebar footer with price displa
98
98
 
99
99
  ### Customizing finalize behavior
100
100
 
101
- The sidebar footer's finalize button can be customized using two different component types. These components let you either replace the button itself or define what happens when the user clicks finalize.
101
+ New projects finalize with `finalizeAction` components and the [Universal Sidebar Footer](?path=/docs/layouts-sidebar-footer-universal--docs), which runs the action's handler. The basic sidebar footer's own customization, the `finalizeButton` and `finalizePage` components, is legacy: the spec parser rejects both in YAML, so a project that keeps them declares them in TypeScript.
102
102
 
103
- #### Using finalizeButton component
103
+ The basic sidebar footer checks for them in this order:
104
104
 
105
- The `finalizeButton` component replaces the default finalize button with your custom React component. This gives you complete control over the button's appearance and behavior.
105
+ 1. **finalizeButton**: if configured, its `button` React node is rendered instead of the finalize button, and implements the finalization and the disabled state itself
106
+ 2. **finalizePage**: if no custom button exists, a default button navigates to the first of the component's `finalizeNavigationStates`, and the built-in layout shows its `page` in a dialog while one of those states is active
107
+ 3. **No-op fallback**: if neither component is configured, a disabled button appears with the hint "Finalize feature is not configured"
106
108
 
107
- ```yaml
108
- components:
109
- Scene:
110
- finalizeButton:
111
- customFinalize:
112
- button: <CustomFinalizeButtonComponent />
113
- ```
114
-
115
- **TypeScript Interface**:
116
-
117
- ```typescript
118
- /**
119
- * State for a custom finalize button component.
120
- */
121
- interface FinalizeButtonComponentState {
122
- /**
123
- * Custom React node to render as the finalize button.
124
- * This completely replaces the default finalize button.
125
- */
126
- readonly button: ReactNode
127
- }
128
- ```
109
+ A legacy `finalizePage` is attached in TypeScript, as the [Universal](?path=/docs/layouts-universal--docs) example does in `src/components/components.tsx`:
129
110
 
130
- Your custom button component receives no special props. You must implement all the finalization logic yourself, including calling the appropriate handlers and managing the button's disabled state based on validation errors.
131
-
132
- #### Using finalizePage component
133
-
134
- The `finalizePage` component opens a modal page when the user clicks finalize. This is useful for multi-step checkout flows, order forms, or any scenario where you need to collect additional information before completing the order.
135
-
136
- ```yaml
137
- components:
138
- Scene:
139
- finalizePage:
140
- checkoutFlow:
141
- finalizeNavigationStates: ['checkout', 'payment', 'confirmation']
142
- page: <CheckoutFormComponent />
143
- ```
111
+ ```tsx
112
+ import { finalizePageComponent, memoEval } from '@salsita-ai/sdk/domain'
144
113
 
145
- **TypeScript Interface**:
114
+ // CheckoutPage is the project's own React component
115
+ import { CheckoutPage } from '../_shared/CheckoutPage.js'
146
116
 
147
- ```typescript
148
- /**
149
- * State for a finalize page component that opens a modal.
150
- */
151
- interface FinalizePageComponentState {
152
- /**
153
- * The navigation states that are active when finalization is in progress.
154
- * The first state in this array is used for initial navigation when the
155
- * finalize button is clicked.
156
- */
157
- readonly finalizeNavigationStates: string[]
117
+ // `phx` is a global in an application project; a Storybook example imports it from '../../.phoenix/phx.js'
158
118
 
159
- /**
160
- * React node to render as the page content in the finalize modal.
161
- */
162
- readonly page: ReactNode
163
- }
119
+ export default phx.domain.attachComponent
120
+ .withComponent(finalizePageComponent, 'default')
121
+ .withEntity('Scene')
122
+ .attach(
123
+ memoEval(
124
+ () => [],
125
+ () => ({
126
+ finalizeNavigationStates: [phx.applicationTypes.NavigationState.finalize],
127
+ page: <CheckoutPage />,
128
+ })
129
+ )
130
+ )
164
131
  ```
165
132
 
166
- When the user clicks the finalize button, the system navigates to the first state in `finalizeNavigationStates`. Your page component can then navigate between these states to create a multi-step flow. All states must be defined in your navigation configuration.
167
-
168
- #### Priority and fallback behavior
169
-
170
- The sidebar footer checks for finalize components in this order:
171
-
172
- 1. **finalizeButton**: If configured, this component is rendered as-is with no modifications
173
- 2. **finalizePage**: If no custom button exists, a default button is shown that opens the specified page
174
- 3. **No-op fallback**: If neither component is configured, a disabled button appears with the hint "Finalize feature is not configured"
175
-
176
- This priority system lets you customize either the button appearance or the finalization flow, but not both simultaneously. If you need both, use `finalizeButton` and implement the page navigation logic within your custom component.
177
-
178
- See the [Finalize Page Layout](../?path=/docs/layouts-simple-layout-finalize-page) example for a complete implementation of the finalize page pattern.
133
+ The states in `finalizeNavigationStates` must be listed in the spec's `navigationStates`. The universal sidebar footer never opens a `finalizePage`.
179
134
 
180
135
  ### Navigation steps influence
181
136
 
@@ -278,7 +233,7 @@ Use `simpleSummary` for basic summaries that just need to display a list of conf
278
233
 
279
234
  Both component types require a `summaryNavigationState` that must exist in your navigation configuration. The sidebar footer checks the current navigation state against this property to determine whether the summary is currently active.
280
235
 
281
- See the [Summary Layout](../?path=/docs/layouts-simple-layout-summary) example for a complete summary implementation.
236
+ See the [Sidebar Summary](?path=/docs/layouts-sidebar-summary--docs) example for a complete summary implementation.
282
237
 
283
238
  ### Custom price sidebar footer
284
239
 
@@ -317,11 +272,11 @@ When `customPriceSidebarFooter` is configured:
317
272
  - The sidebar footer layout remains unchanged - only the price display is replaced
318
273
  - Action buttons (finalize, next/previous, etc.) are not affected
319
274
 
320
- This component affects **only** the price display, not the overall sidebar footer structure. If you need to change the entire sidebar footer layout, use the [Universal Sidebar Footer](../?path=/docs/layouts-sidebar-footer-universal) or [Custom Sidebar Footer](../?path=/docs/layouts-sidebar-footer-custom) instead.
275
+ This component affects **only** the price display, not the overall sidebar footer structure. If you need to change the entire sidebar footer layout, use the [Universal Sidebar Footer](?path=/docs/layouts-sidebar-footer-universal--docs) or [Custom Sidebar Footer](?path=/docs/layouts-sidebar-footer-custom--docs) instead.
321
276
 
322
277
  The custom price node receives no special props. You must access price data yourself through the configurator hooks like `useRootEntityPrice()` or by reading entity attributes directly.
323
278
 
324
- See the [Custom Price Sidebar Footer](../?path=/docs/layouts-custom-price) example for implementation details and best practices.
279
+ See the [Custom Price Sidebar Footer](?path=/docs/layouts-custom-price--docs) example for implementation details and best practices.
325
280
 
326
281
  ## Example
327
282
 
@@ -229,7 +229,7 @@ export type ClientSideImageComponentState = {
229
229
  /** Output format: PNG (with transparency) or JPEG */
230
230
  readonly fileFormat: 'PNG' | 'JPEG'
231
231
  /** Optional background color (hex string) */
232
- readonly backgroundColor?: string
232
+ readonly backgroundColor?: HexColor
233
233
 
234
234
  /** Tool state the image is rendered in (pins component filters keyed on tool state) */
235
235
  readonly toolState: string
@@ -12,7 +12,7 @@ Error page that is displayed when the configuration is not accesible.
12
12
 
13
13
  ## Code
14
14
 
15
- The `NotFoundPage` is provided in the default in the `ConfiguratorRoot` and `ConfiguratorApp`.
15
+ The configurator renders the layout element `ConfigurationNotFoundPage`, whose default is the built-in page, `ConfigurationNotFoundPage` from `@salsita-ai/sdk/react`. This example renders that component directly to show it. A project replaces the page by registering a layout element under the name `ConfigurationNotFoundPage`, see [Configurator Interface → Configuration Not Found Page](?path=/docs/phoenix-configurator-interface--docs#configuration-not-found-page), which also lists when the page is shown.
16
16
 
17
17
  ## Example
18
18
 
@@ -32,17 +32,14 @@ finishNotAvailable:
32
32
  ```
33
33
 
34
34
  ```ts
35
- const violationExpressions = invariantBuilder
36
- .withInvariants(
37
- implementCustomInvariants({
38
- Plate: {
39
- finishNotAvailable: s => {
40
- return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
41
- },
42
- },
43
- })
44
- )
45
- .buildViolationExpressions()
35
+ // src/invariants/invariants.ts
36
+ export default phx.domain.implementCustomInvariants({
37
+ Plate: {
38
+ finishNotAvailable: s => {
39
+ return availableMaterials.some(state => state.material === s.material && state.finish === s.finish)
40
+ },
41
+ },
42
+ })
46
43
  ```
47
44
 
48
45
  With following control structure. The top input selects the material, the bottom one selects the finish.
@@ -433,6 +433,10 @@ The following sample application has all the above described transformers active
433
433
  - When the view changes to `Y`, the navigation state is changed to `C`.
434
434
  - When any entity is deselected in view `Z`, the view is changed to `X`.
435
435
 
436
+ The example's own tests under `__tests__/` check these cases with `createMockDomainContext` on the config
437
+ `createTestApplicationConfig` builds from the generated application; [Testing](?path=/docs/phoenix-testing--docs)
438
+ shows how a project's test sets that up.
439
+
436
440
  ## Complete Implementation
437
441
 
438
442
  {/* AUTO-GENERATED SECTION: This section is automatically updated by 'phoenix story build' */}