@salsita-ai/sdk 0.50.0-develop.71209819cd → 0.50.0-develop.780177b115

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 (1244) 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 +23 -0
  47. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  48. package/dist/application-spec/errors/diagnostic-messages.d.ts +27 -1
  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/application-types.js +6 -6
  66. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  67. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  69. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  70. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  71. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  72. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  73. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  95. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  96. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  97. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  98. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  99. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  100. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  101. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  102. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  103. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  104. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  105. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  106. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  107. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  108. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  109. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  111. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  112. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  113. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  114. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  115. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  117. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  118. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  119. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  120. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  121. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  122. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +32 -14
  123. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -4
  124. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  126. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  127. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  128. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  129. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  130. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  131. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  132. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  133. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  134. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  135. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  136. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  137. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  138. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  139. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  140. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  141. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  142. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  143. package/dist/application-spec/generate-application/index.d.ts +2 -0
  144. package/dist/application-spec/generate-application/index.js +1 -1
  145. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  146. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  147. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  148. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  149. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  150. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  151. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  152. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  153. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  154. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  155. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  156. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  157. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  158. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  160. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  162. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  163. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  164. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  165. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  166. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  167. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  168. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  169. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  170. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  171. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  172. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  173. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  174. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  175. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  176. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  177. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  178. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  179. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  180. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  181. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  182. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  183. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  184. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  185. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  186. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  187. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  188. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  189. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  190. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  191. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  192. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  193. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  194. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  195. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  196. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  197. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  198. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  199. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  200. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  201. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  202. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  203. package/dist/application-spec/index.d.ts +1 -0
  204. package/dist/application-spec/index.js +1 -1
  205. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  206. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  207. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  208. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  209. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  210. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  211. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  212. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  213. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  214. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +47 -4
  215. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  216. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  217. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  218. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  219. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  225. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  226. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  228. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  229. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  230. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  231. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  232. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  233. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  234. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  235. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  236. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  238. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  240. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  242. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  243. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  244. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  245. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  246. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  247. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  248. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  249. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  250. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  251. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  252. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  253. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  254. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  256. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  257. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  258. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  259. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  260. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  261. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  262. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  263. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  264. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  265. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  266. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  269. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  270. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  271. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  272. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  273. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  274. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  275. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  277. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  278. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  279. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  280. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  281. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  282. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  283. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  284. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  285. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  286. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  287. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  288. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  289. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  290. package/dist/client/phoenix-api.d.ts +463 -0
  291. package/dist/configurator/ConfiguratorApp.js +1 -1
  292. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  293. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  294. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  295. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  296. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  297. package/dist/configurator/app-loader-content/index.js +1 -0
  298. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  299. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  300. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  301. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  302. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  303. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +19 -3
  304. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  305. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  306. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  307. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  308. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  309. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  310. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  311. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  312. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  313. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  314. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  315. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  316. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  317. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +64 -7
  318. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  319. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  320. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  321. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  322. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  323. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  324. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  325. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  326. package/dist/configurator/common/configurator-interface.d.ts +141 -4
  327. package/dist/configurator/common/configurator-interface.js +1 -1
  328. package/dist/configurator/common/index.d.ts +3 -1
  329. package/dist/configurator/common/index.js +1 -1
  330. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  331. package/dist/configurator/common/use-reset-camera.js +1 -0
  332. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  333. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  334. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  335. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  336. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  337. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  338. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  339. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  340. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  341. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  342. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  343. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  344. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  345. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  346. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  347. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  348. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  349. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  350. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  351. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  352. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  353. package/dist/configurator/configurator-error-page/index.js +1 -0
  354. package/dist/configurator/index.d.ts +3 -0
  355. package/dist/configurator/index.js +1 -1
  356. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  357. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  358. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  359. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  360. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  361. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  362. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  363. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  364. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  365. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  366. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  367. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  368. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  369. package/dist/configurator/pages/RootPage.js +1 -1
  370. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  371. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  372. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  373. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  374. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  375. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  376. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  377. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  378. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  379. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  380. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  381. package/dist/configurator/pages/default-elements/index.js +1 -0
  382. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  383. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  384. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  385. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  386. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  387. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  388. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  389. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  390. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  391. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  392. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  393. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  394. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  395. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  396. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  397. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  398. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  399. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  400. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  401. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  402. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  403. package/dist/configurator/pages/index.d.ts +1 -0
  404. package/dist/configurator/pages/index.js +1 -1
  405. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  406. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  407. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  408. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  409. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  410. package/dist/configurator/preset-screen-elements/index.js +1 -0
  411. package/dist/configurator/scene/index.d.ts +1 -0
  412. package/dist/configurator/scene/index.js +1 -1
  413. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  414. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  415. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  416. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  417. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  418. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  419. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  420. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  421. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  422. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  423. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  424. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  425. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  426. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  427. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  428. package/dist/configurator/toolbar-actions/index.js +1 -0
  429. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  430. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  431. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  432. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  433. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  434. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  435. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  436. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  437. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  438. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  439. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  440. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  441. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  442. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  443. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  444. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  445. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  446. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  447. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  448. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  449. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  450. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  451. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  452. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  453. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  454. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  455. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  456. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  457. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  458. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  459. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  460. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  461. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  462. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  463. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  464. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  465. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  466. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  467. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  468. package/dist/configurator/ui/assistant/form/index.js +1 -0
  469. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  470. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  471. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  472. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  473. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  474. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  475. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  476. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  477. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  478. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  479. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  480. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  481. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  482. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  483. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  484. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  485. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  486. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  487. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  488. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  489. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  490. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  491. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  492. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  493. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  494. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  495. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  496. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  497. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  498. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  499. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  500. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  501. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  502. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  503. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  504. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  505. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  506. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  507. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  508. package/dist/configurator/ui/assistant/index.js +1 -1
  509. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  510. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  511. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  512. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  513. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  514. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  515. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  516. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  517. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  518. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  519. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  520. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  521. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  522. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  523. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  524. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  525. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  526. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  527. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  528. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  529. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  530. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  531. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  532. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  533. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  534. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  535. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  536. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  537. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  538. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  539. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  540. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  541. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  542. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  543. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  544. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  545. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  546. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  547. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  548. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  549. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  550. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  551. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  552. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  553. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  554. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  555. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  556. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  557. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  558. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  559. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  560. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  561. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  562. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  563. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  564. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  565. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  566. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  567. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  568. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  569. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  570. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  571. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  572. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  573. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  574. package/dist/configurator/ui/index.d.ts +1 -0
  575. package/dist/configurator/ui/index.js +1 -1
  576. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  577. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  578. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  579. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  580. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  581. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  582. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  583. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  584. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  585. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  586. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  587. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  588. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  589. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  590. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  591. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  592. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  593. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  594. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  595. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  596. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  597. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  598. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  599. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  600. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  601. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  602. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  603. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  604. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  605. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  606. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  607. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  608. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  609. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  610. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  611. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  612. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  613. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  614. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  615. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  616. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  617. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  618. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  619. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  620. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  621. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  622. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  623. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  624. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  625. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  626. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  627. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  628. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  629. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  630. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  631. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  632. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  633. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  634. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  635. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  636. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  637. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  638. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  639. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  640. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  641. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  642. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  643. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  644. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  645. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  646. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  647. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  648. package/dist/docs/fabs/basic.mdx +6 -2
  649. package/dist/docs/index.json +59 -1
  650. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  651. package/dist/docs/layouts/custom-layout.mdx +2437 -0
  652. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  653. package/dist/docs/layouts/header/fixed.mdx +2 -2
  654. package/dist/docs/layouts/header/floating.mdx +2 -2
  655. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  656. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  657. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  658. package/dist/docs/other-features/error-5xx.mdx +1 -1
  659. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  660. package/dist/docs/other-features/not-found-404.mdx +1 -1
  661. package/dist/docs/other-features/side-effects.mdx +8 -11
  662. package/dist/docs/other-features/transformers.mdx +4 -0
  663. package/dist/docs/other-features/violation-messages.mdx +52 -56
  664. package/dist/docs/phoenix/application-states.mdx +9 -7
  665. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  666. package/dist/docs/phoenix/components.mdx +6 -0
  667. package/dist/docs/phoenix/configurator-interface.mdx +400 -81
  668. package/dist/docs/phoenix/deployments.mdx +2 -6
  669. package/dist/docs/phoenix/domain-model.mdx +6 -0
  670. package/dist/docs/phoenix/finalization.mdx +1 -1
  671. package/dist/docs/phoenix/getting-started.mdx +7 -4
  672. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  673. package/dist/docs/phoenix/localization.mdx +10 -6
  674. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  675. package/dist/docs/phoenix/phoenix-cli.mdx +88 -44
  676. package/dist/docs/phoenix/project-structure.mdx +80 -36
  677. package/dist/docs/phoenix/quickstart.mdx +9 -9
  678. package/dist/docs/phoenix/sdk-builder-workflow.mdx +9 -9
  679. package/dist/docs/phoenix/testing.mdx +148 -0
  680. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  681. package/dist/docs/phoenix/webhooks.mdx +23 -6
  682. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  683. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  684. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  685. package/dist/domain/admin-domain/index.js +1 -1
  686. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  687. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  688. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  689. package/dist/domain/application/application-config.d.ts +8 -5
  690. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  691. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  692. package/dist/domain/application/assistant/assistant-manifest.d.ts +25 -2
  693. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +46 -3
  694. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  695. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  696. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  697. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  698. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  699. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  700. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  701. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  702. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  703. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  704. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  705. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  706. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  707. package/dist/domain/application/assistant/form/index.js +1 -0
  708. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  709. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  710. package/dist/domain/application/assistant/index.d.ts +8 -2
  711. package/dist/domain/application/assistant/index.js +1 -1
  712. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  713. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  714. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  715. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  716. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +50 -0
  717. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  718. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  719. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  720. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  721. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  722. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  723. package/dist/domain/application/configurator-builder.d.ts +5 -2
  724. package/dist/domain/application/configurator-builder.js +1 -1
  725. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  726. package/dist/domain/application/index.d.ts +0 -4
  727. package/dist/domain/application/index.js +1 -1
  728. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  729. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  730. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  731. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  732. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  733. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  734. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  735. package/dist/domain/available-system-components.d.ts +1 -1
  736. package/dist/domain/available-system-components.js +1 -1
  737. package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
  738. package/dist/domain/core/component/domain-component-optic.js +2 -2
  739. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  740. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  741. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  742. package/dist/domain/core/expression/constant-expressions.js +1 -1
  743. package/dist/domain/core/expression/custom-expression.d.ts +17 -4
  744. package/dist/domain/core/expression/custom-expression.js +1 -1
  745. package/dist/domain/core/expression/expression.d.ts +1 -2
  746. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  747. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  748. package/dist/domain/core/invariant/violation.d.ts +50 -2
  749. package/dist/domain/core/invariant/violation.js +1 -1
  750. package/dist/domain/core/model/model.d.ts +1 -1
  751. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  752. package/dist/domain/core/recipe/recipes.js +1 -1
  753. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  754. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  755. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  756. package/dist/domain/core/relation/index.d.ts +0 -1
  757. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  758. package/dist/domain/core/relation/indirect-relation.js +1 -1
  759. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  760. package/dist/domain/core/relation/relation-factory.js +1 -1
  761. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  762. package/dist/domain/core/state/migrations.d.ts +14 -45
  763. package/dist/domain/core/state/migrations.js +1 -1
  764. package/dist/domain/core/state/state.d.ts +1 -1
  765. package/dist/domain/domain-builder.d.ts +1 -1
  766. package/dist/domain/domain-builder.js +1 -1
  767. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -1
  768. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  769. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  770. package/dist/domain/domain-context/action-system/index.js +1 -0
  771. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  772. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  773. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  774. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  775. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  776. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  777. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  778. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  779. package/dist/domain/domain-context/index.d.ts +8 -17
  780. package/dist/domain/domain-context/index.js +1 -1
  781. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  782. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  783. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  784. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  785. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  786. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  787. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  788. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  789. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  790. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  791. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  792. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  793. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  794. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  795. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  796. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  797. package/dist/domain/domain-context/store-system/index.js +1 -0
  798. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  799. package/dist/domain/domain-context/store-system/store-system.d.ts +6 -3
  800. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  801. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  802. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  803. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  804. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  805. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  806. package/dist/domain/domain-context/transformers/context.d.ts +1 -1
  807. package/dist/domain/domain-context/transformers/context.js +1 -1
  808. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  809. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  810. package/dist/domain/domain-context/transformers/index.js +1 -1
  811. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  812. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  813. package/dist/domain/domain-context/undo-system.d.ts +29 -2
  814. package/dist/domain/domain-context/undo-system.js +1 -1
  815. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  816. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  817. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  818. package/dist/domain/domain-runtime/access/types.js +1 -1
  819. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  820. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +17 -22
  821. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  822. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  823. package/dist/domain/domain-runtime/domain-runtime.d.ts +80 -60
  824. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  825. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  826. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  827. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  828. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  829. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  830. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  831. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  832. package/dist/domain/domain-runtime/errors/index.js +1 -0
  833. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  834. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  835. package/dist/domain/domain-runtime/index.d.ts +1 -0
  836. package/dist/domain/domain-runtime/index.js +1 -1
  837. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  838. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  839. package/dist/domain/domain-runtime/spec/index.d.ts +2 -5
  840. package/dist/domain/domain-runtime/spec/index.js +1 -1
  841. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  842. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  843. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +29 -14
  844. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  845. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  846. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  847. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  848. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  849. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +9 -0
  850. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  851. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -1
  852. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  853. package/dist/domain/domain-runtime/spec/{resolve-action-modules.d.ts → module-checks/resolve-action-modules.d.ts} +2 -2
  854. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  855. package/dist/domain/domain-runtime/spec/{resolve-component-optic-modules.d.ts → module-checks/resolve-component-optic-modules.d.ts} +2 -2
  856. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  857. package/dist/domain/domain-runtime/spec/{resolve-expression-modules.d.ts → module-checks/resolve-expression-modules.d.ts} +2 -2
  858. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  859. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  860. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  861. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  862. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  863. package/dist/domain/domain-runtime/spec/selectors.d.ts +8 -7
  864. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  865. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  866. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  867. package/dist/domain/extensions/attribute-switch.js +1 -1
  868. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  869. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  870. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  871. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  872. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  873. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  874. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  875. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  876. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  877. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  878. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  879. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  880. package/dist/domain/extensions/export-images/index.js +1 -0
  881. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  882. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  883. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  884. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  885. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  886. package/dist/domain/extensions/index.d.ts +1 -2
  887. package/dist/domain/extensions/index.js +1 -1
  888. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  889. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  890. package/dist/domain/extensions/offset-indicator.js +1 -1
  891. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  892. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  893. package/dist/domain/index.d.ts +0 -1
  894. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  895. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  896. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +30 -19
  897. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  898. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  899. package/dist/domain/mocks/create-mock-domain.js +1 -1
  900. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  901. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  902. package/dist/domain/mocks/create-test-application-config.js +1 -0
  903. package/dist/domain/mocks/index.d.ts +1 -0
  904. package/dist/domain/mocks/index.js +1 -1
  905. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  906. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  907. package/dist/domain/projections/collision-projections.d.ts +1 -1
  908. package/dist/domain/projections/composition-projections.d.ts +1 -1
  909. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  910. package/dist/domain/projections/position-projections.d.ts +1 -1
  911. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  912. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  913. package/dist/domain/projections/validation-projections.d.ts +2 -2
  914. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  915. package/dist/domain/system-components/application-config.d.ts +2 -2
  916. package/dist/domain/system-components/child-entity-selection.js +1 -1
  917. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  918. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  919. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  920. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  921. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  922. package/dist/domain/system-components/common/recipes.js +1 -1
  923. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  924. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  925. package/dist/domain/system-components/constraint.d.ts +10 -23
  926. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  927. package/dist/domain/system-components/drag-handle.js +1 -1
  928. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  929. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  930. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  931. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  932. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  933. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  934. package/dist/domain/system-components/material-swatch.js +1 -1
  935. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  936. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  937. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  938. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  939. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  940. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  941. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  942. package/dist/domain/utils/eval-cache.d.ts +1 -1
  943. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  944. package/dist/editor/Editor.d.ts +7 -0
  945. package/dist/editor/Editor.js +1 -1
  946. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  947. package/dist/editor/domain-editors/apply-spec-update.d.ts +8 -1
  948. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  949. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  950. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  951. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  952. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  953. package/dist/editor/mocks/EditorMockContext.js +1 -1
  954. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  955. package/dist/globals/index.d.ts +2 -0
  956. package/dist/i18n/locales/cs/messages.js +1 -1
  957. package/dist/i18n/locales/da/messages.js +1 -1
  958. package/dist/i18n/locales/de/messages.js +1 -1
  959. package/dist/i18n/locales/de-AT/messages.js +1 -1
  960. package/dist/i18n/locales/en/messages.js +1 -1
  961. package/dist/i18n/locales/en-AU/messages.js +1 -1
  962. package/dist/i18n/locales/en-GB/messages.js +1 -1
  963. package/dist/i18n/locales/es/messages.js +1 -1
  964. package/dist/i18n/locales/fr/messages.js +1 -1
  965. package/dist/i18n/locales/hu/messages.js +1 -1
  966. package/dist/i18n/locales/it/messages.js +1 -1
  967. package/dist/i18n/locales/nl/messages.js +1 -1
  968. package/dist/i18n/locales/pl/messages.js +1 -1
  969. package/dist/i18n/locales/pt/messages.js +1 -1
  970. package/dist/i18n/locales/ro/messages.js +1 -1
  971. package/dist/i18n/locales/sk/messages.js +1 -1
  972. package/dist/i18n/locales/tr/messages.js +1 -1
  973. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  974. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  975. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  976. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  977. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  978. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  979. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  980. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  981. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  982. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  983. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  984. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  985. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  986. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  987. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  988. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  989. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  990. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  991. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  992. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  993. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  994. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  995. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  996. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  997. package/dist/phoenix/application-spec/project-files.js +1 -1
  998. package/dist/phoenix/bin.d.ts +2 -0
  999. package/dist/phoenix/bin.js +2 -0
  1000. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1001. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1002. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1003. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1004. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1005. package/dist/phoenix/check-configs/index.js +1 -0
  1006. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1007. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1008. package/dist/phoenix/cli.d.ts +0 -1
  1009. package/dist/phoenix/cli.js +1 -2
  1010. package/dist/phoenix/commands/build.js +1 -1
  1011. package/dist/phoenix/commands/check.js +1 -1
  1012. package/dist/phoenix/commands/clean.js +1 -1
  1013. package/dist/phoenix/commands/deploy.js +2 -2
  1014. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1015. package/dist/phoenix/commands/deps/deps.js +3 -0
  1016. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1017. package/dist/phoenix/commands/deps/index.js +1 -0
  1018. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1019. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1020. package/dist/phoenix/commands/dev.js +5 -5
  1021. package/dist/phoenix/commands/fix.js +1 -1
  1022. package/dist/phoenix/commands/index.d.ts +1 -0
  1023. package/dist/phoenix/commands/index.js +1 -1
  1024. package/dist/phoenix/commands/init.d.ts +17 -5
  1025. package/dist/phoenix/commands/init.js +1 -1
  1026. package/dist/phoenix/commands/link.js +1 -1
  1027. package/dist/phoenix/commands/prettier.js +1 -1
  1028. package/dist/phoenix/commands/sync.js +1 -1
  1029. package/dist/phoenix/commands/unlink.js +1 -1
  1030. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1031. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1032. package/dist/phoenix/services/lingui.d.ts +8 -0
  1033. package/dist/phoenix/services/lingui.js +1 -1
  1034. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1035. package/dist/phoenix/services/source-archive.js +1 -1
  1036. package/dist/phoenix/services/swc.js +1 -1
  1037. package/dist/phoenix/services/vite-config.js +1 -1
  1038. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1039. package/dist/phoenix/utils/git/index.js +1 -0
  1040. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1041. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1042. package/dist/phoenix/utils/index.d.ts +5 -2
  1043. package/dist/phoenix/utils/index.js +1 -1
  1044. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1045. package/dist/phoenix/utils/node-version/index.js +1 -0
  1046. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1047. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1048. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1049. package/dist/phoenix/utils/package-info.js +1 -1
  1050. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1051. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1052. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1053. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1054. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1055. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1056. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1057. package/dist/phoenix/utils/run-command.js +1 -1
  1058. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1059. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1060. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1061. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1062. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1063. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1064. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1065. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1066. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1067. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1068. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1069. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1070. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1071. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1072. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +57 -36
  1073. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1074. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1075. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  1076. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1077. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1078. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1079. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1080. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1081. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1082. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1083. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1084. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1085. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1086. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1087. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  1088. package/dist/react-sdk/domain-context/index.js +1 -1
  1089. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1090. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1091. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1092. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1093. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1094. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1095. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1096. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1097. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1098. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1099. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1100. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1101. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1102. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1103. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1104. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1105. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1106. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1107. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1108. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  1109. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  1110. package/dist/react-sdk/elements/index.d.ts +1 -0
  1111. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1112. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1113. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1114. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1115. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1116. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1117. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1118. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1119. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1120. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1121. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1122. package/dist/react-sdk/handlers/index.js +1 -1
  1123. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1124. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1125. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1126. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1127. package/dist/react-sdk/index.d.ts +2 -0
  1128. package/dist/react-sdk/index.js +1 -1
  1129. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  1130. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  1131. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  1132. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  1133. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  1134. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  1135. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  1136. package/dist/react-sdk/responsive-state/index.js +1 -0
  1137. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  1138. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  1139. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  1140. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  1141. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  1142. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  1143. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1144. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1145. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1146. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1147. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1148. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1149. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1150. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1151. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1152. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1153. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1154. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1155. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1156. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1157. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1158. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1159. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1160. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1161. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1162. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1163. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1164. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1165. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1166. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1167. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1168. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1169. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1170. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1171. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1172. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1173. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1174. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1175. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1176. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1177. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1178. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1179. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1180. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1181. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1182. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1183. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1184. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  1185. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1186. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1187. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1188. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1189. package/dist/webhook/builders/webhook-builder.js +1 -1
  1190. package/package.json +48 -36
  1191. package/schema/domain-spec.json +1341 -217
  1192. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1193. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1194. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1195. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -94
  1196. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1197. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1198. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1199. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1200. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1201. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1202. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1203. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1204. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1205. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1206. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1207. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1208. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1209. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1210. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1211. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1212. package/dist/configurator/common/frontend-analytics.js +0 -1
  1213. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1214. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1215. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1216. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1217. package/dist/domain/application/element-registration.js +0 -1
  1218. package/dist/domain/application/handler-registration.js +0 -1
  1219. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1220. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1221. package/dist/domain/application/resource-builder.d.ts +0 -13
  1222. package/dist/domain/application/resource-builder.js +0 -1
  1223. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1224. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -61
  1225. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1226. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +0 -1
  1227. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +0 -1
  1228. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +0 -1
  1229. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +0 -6
  1230. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +0 -1
  1231. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1232. package/dist/domain/extensions/client-side-image.js +0 -1
  1233. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1234. package/dist/domain/project-modules/index.d.ts +0 -1
  1235. package/dist/domain/project-modules/index.js +0 -1
  1236. package/dist/domain/project-modules/project-modules.js +0 -1
  1237. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1238. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1239. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1240. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1241. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1242. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1243. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1244. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -1,8 +1,9 @@
1
1
  import type { EffectComposer } from 'postprocessing';
2
2
  import { Color, OrthographicCamera, PerspectiveCamera } from 'three';
3
3
  import type { AuthorizedPhoenixApiClient } from '#package/client';
4
- import type { ClientSideImageComponent, ComponentSnapshot, DomainContextSelectors, DomainEntity, DomainServicesSelectors, DomainState, SaveTemplateThumbnailComponent } from '#package/domain';
4
+ import type { AgentScreenshotComponent, ClientSideImageComponent, ComponentSnapshot, DomainContextSelectors, DomainEntity, DomainServicesSelectors, DomainState, SaveTemplateThumbnailComponent } from '#package/domain';
5
5
  import type { ConfiguratorExtensionSelectors } from '../../selectors.js';
6
+ import type { ExportRunOptions } from '../export-system/export-system.js';
6
7
  import type { ImageRenderConfig, ImageRenderer, RenderConfig } from './image-renderer.js';
7
8
  /**
8
9
  * Constructor context of an `ImageRenderingSystem`. Same-layer configurator peers are reached
@@ -20,6 +21,8 @@ export interface ClientSideImageRenderingOptions {
20
21
  /** Opens rendered images in new browser tabs instead of uploading them. */
21
22
  readonly debug?: boolean;
22
23
  }
24
+ /** A component that declares an image the export renders: its state says how, its entity what. */
25
+ type ImageComponentSnapshot = ComponentSnapshot<ClientSideImageComponent> | ComponentSnapshot<SaveTemplateThumbnailComponent> | ComponentSnapshot<AgentScreenshotComponent>;
23
26
  /** ImageRenderingSystem with its entity types erased — how the runtime selectors expose the instance. */
24
27
  export type AnyImageRenderingSystem = ImageRenderingSystem<any>;
25
28
  export declare class ImageRenderingSystem<ENTITIES extends DomainEntity<string>> {
@@ -94,7 +97,7 @@ export declare class ImageRenderingSystem<ENTITIES extends DomainEntity<string>>
94
97
  generateAndUploadDeclaredClientSideImages(state: DomainState<ENTITIES>, finalizationUuid: string, options?: ClientSideImageRenderingOptions): Promise<readonly {
95
98
  name: string;
96
99
  blob: Blob;
97
- imageComponent: ComponentSnapshot<ClientSideImageComponent> | ComponentSnapshot<SaveTemplateThumbnailComponent>;
100
+ imageComponent: ImageComponentSnapshot;
98
101
  }[]>;
99
102
  /**
100
103
  * Generates client side images from declarative clientSideImage components without uploading them.
@@ -102,12 +105,18 @@ export declare class ImageRenderingSystem<ENTITIES extends DomainEntity<string>>
102
105
  generateDeclaredClientSideImages(state: DomainState<ENTITIES>, options?: ClientSideImageRenderingOptions): Promise<readonly {
103
106
  name: string;
104
107
  blob: Blob;
105
- imageComponent: ComponentSnapshot<ClientSideImageComponent> | ComponentSnapshot<SaveTemplateThumbnailComponent>;
108
+ imageComponent: ImageComponentSnapshot;
106
109
  }[]>;
107
- generateImagesFromComponents(imageComponents: ReadonlyArray<ComponentSnapshot<ClientSideImageComponent> | ComponentSnapshot<SaveTemplateThumbnailComponent>>, sourceState: DomainState<ENTITIES>, options?: ClientSideImageRenderingOptions): Promise<ReadonlyArray<{
110
+ /**
111
+ * Renders the image components from the given state in one export run. With `awaitSettledState`,
112
+ * the run waits until the user is not in the middle of a change, as the assistant's screenshots do.
113
+ */
114
+ generateImagesFromComponents(imageComponents: ReadonlyArray<ImageComponentSnapshot>, sourceState: DomainState<ENTITIES>, options?: ClientSideImageRenderingOptions, runOptions?: ExportRunOptions): Promise<ReadonlyArray<{
108
115
  name: string;
109
116
  blob: Blob;
110
- imageComponent: ComponentSnapshot<ClientSideImageComponent> | ComponentSnapshot<SaveTemplateThumbnailComponent>;
117
+ imageComponent: ImageComponentSnapshot;
111
118
  }>>;
119
+ private _generateImagesFromComponents;
112
120
  initialize: () => void;
113
121
  }
122
+ export {};
@@ -1 +1 @@
1
- import{Color as e,HalfFloatType as t,NoToneMapping as r,OrthographicCamera as a,PerspectiveCamera as n,WebGLRenderTarget as o}from"three";import{preloadFont as i}from"troika-three-text";import{match as s}from"ts-pattern";import{clientSideImageComponent as l,dimensionIndicatorComponent as c,domainEntityTypeFromId as m,editableDistanceDimensionIndicatorComponent as g,isDomainEntityId as d,isVirtualEntityId as h,sketchingEditComponent as u}from"#package/domain";import{createCameraControls as f}from"../camera-control-system/create-camera-controls.js";import{createCanvasFreezeFrame as p}from"./canvas-freeze-frame.js";import{ExportCapturePass as w,readTargetToBlob as C,resolveExportBackground as _}from"./export-image-capture.js";export class ImageRenderingSystem{_context;_renderer=null;_effectComposer=null;_generation=null;_debugObjectUrls=new Set;_canvasFreeze=null;constructor(e){this._context=e}_captureGenerationAssertion=()=>{let e=this._generation,t=()=>{if(!e?.active)throw Error("Image rendering generation ended while images were being rendered! The configurator context was reinitialized before the renderer finished, so the results belong to a configuration that is no longer active. Await the render before leaving the configuration, or discard the rejection.")};return t(),t};_captureGenerationGuard=()=>{let e=this._captureGenerationAssertion();return{assertActive:e,waitFor:async t=>{let r=await t;return e(),r},runEffect:t=>(e(),t())}};register(e){return this._renderer=e,()=>{this._renderer===e&&(this._renderer=null)}}registerEffectComposer(e){return this._effectComposer=e,()=>{this._effectComposer===e&&(this._effectComposer=null)}}_openDebugImage=e=>{let t=URL.createObjectURL(e);this._debugObjectUrls.add(t),window.open(t,"_blank")};_getRenderer=async()=>{let e=this._generation,t=Date.now(),r=()=>{if(!e?.active)throw Error("Image rendering generation ended while waiting for the renderer! The configurator context was reinitialized before the renderer arrived, so the render would target a scene that is gone. Await the render before leaving the configuration, or discard the rejection.")};r();let a=this._renderer;for(;null===a;){if(await new Promise(e=>setTimeout(e,50)),r(),Date.now()-t>1e4)throw Error("Renderer could not be retrieved! Reached timeout.");a=this._renderer}return a};generateImageUsingOriginalCanvas=async(e,t,r=!1)=>{let a=this._captureGenerationGuard(),n=await a.waitFor(this._getRenderer());if(r){let{blob:e}=await a.waitFor(a.runEffect(()=>n.renderUsingOriginalCanvas(t)));a.runEffect(()=>this._openDebugImage(e));return}let o=await Promise.all([t].map(async e=>{let{blob:t}=await a.waitFor(a.runEffect(()=>n.renderUsingOriginalCanvas(e)));return{blob:t,name:e.name}})),i=await a.waitFor(a.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,[t.name])));await Promise.all(i.map(async e=>{let t=o.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(i.map(async e=>{await a.waitFor(a.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))};async generateImagesUsingOriginalCanvas(e,t,r=!1){let a=this._captureGenerationGuard(),n=await a.waitFor(this._getRenderer()),o=Array.isArray(t)?t:[t],i=await o.reduce(async(e,t)=>[...await e,await a.waitFor(a.runEffect(()=>n.renderUsingOriginalCanvas(t)))],Promise.resolve([]));if(r){for(let e of i)a.runEffect(()=>this._openDebugImage(e.blob)),await a.waitFor(new Promise(e=>setTimeout(e,100)));return}let s=o.map(e=>e.name),l=await a.waitFor(a.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,s)));await Promise.all(l.map(async e=>{let t=i.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(l.map(async e=>{await a.waitFor(a.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))}async generateImages(e,t,r=!1){let a=this._captureGenerationGuard(),n=await a.waitFor(this._getRenderer()),o=t.map(e=>e.name);if(r)return void await Promise.all(t.map(async e=>{let t=await a.waitFor(a.runEffect(()=>n.renderImage(e)));a.runEffect(()=>this._openDebugImage(t))}));let i=await Promise.all(t.map(async e=>({blob:await a.waitFor(a.runEffect(()=>n.renderImage(e))),name:e.name}))),s=await a.waitFor(a.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,o)));await Promise.all(s.map(async e=>{let t=i.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(s.map(async e=>{await a.waitFor(a.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))}async getGeneratedImages(e,t=!1){let r=this._captureGenerationAssertion(),a=await this._getRenderer();return(r(),t)?(await Promise.all(e.map(async e=>{let t=await a.renderImage(e);r(),this._openDebugImage(t)})),[]):Promise.all(e.map(async e=>{let t=await a.renderImage(e);return r(),{blob:t,name:e.name}}))}_renderCurrentView=e=>{let{gl:t,scene:r,camera:a}=e.get();null!==this._effectComposer?this._effectComposer.render():t.render(r,a)};_freezeCanvas=e=>{this._canvasFreeze?.handle===e?this._canvasFreeze.holders+=1:(this._canvasFreeze?.remove(),this._canvasFreeze={handle:e,remove:p(e.get().gl.domElement,()=>this._renderCurrentView(e)),resumeFrameloop:this._context.configuratorExtensionSelectors.getExportSystem().pauseFrameloop(e),holders:1});let t=this._canvasFreeze,r=!1;return async()=>{if(!r&&(r=!0,t.holders-=1,!(t.holders>0)))try{let r=this._context.configuratorExtensionSelectors.getCanvasSystem();r.r3fHandle$.value===e&&await r.waitForFlush(),r.r3fHandle$.value===e&&0===t.holders&&this._renderCurrentView(e)}catch{}finally{0===t.holders&&(t.remove(),t.resumeFrameloop(),this._canvasFreeze===t&&(this._canvasFreeze=null))}}};async renderImage(a){let n=this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value;if(null===n)throw Error("R3F state not ready");let{gl:i,scene:s,camera:l,size:c,advance:m}=n.get(),g=i.getRenderTarget(),d=i.getClearColor(new e),h=i.getClearAlpha(),u=i.autoClearColor,f=e=>new w(a.width,a.height,e,i.outputColorSpace),p={composer:null,pass:null},y=null,b=null,x=e=>{let t=p.pass??f(r);return p.pass=t,p.composer===e&&e.passes.at(-1)===t||(p.composer?.removePass(t),e.addPass(t),p.composer=e),t},v=async()=>{if(await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush(),this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value!==n)throw Error("Canvas was remounted while an image was being rendered! The export borrowed a canvas that is gone, so it cannot capture the image. Retry the export once the configurator has settled.")},E=this._freezeCanvas(n);try{n.set({size:{height:a.height,width:a.width,top:0,left:0,updateStyle:!1}}),n.set({camera:a.camera}),await v(),null!==this._effectComposer&&x(this._effectComposer),m(void 0),await v();let r="JPEG"===a.fileFormat?"image/jpeg":"image/png",l=_({sceneBackground:s.background,backgroundColor:a.backgroundColor,fileFormat:a.fileFormat,outputColorSpace:i.outputColorSpace});if(null!==this._effectComposer){i.setRenderTarget(null),"JPEG"===a.fileFormat?i.setClearColor(a.backgroundColor??0xffffff):a.backgroundColor?i.setClearColor(a.backgroundColor):i.setClearAlpha(0),i.autoClearColor=!0;let e=x(this._effectComposer);return this._effectComposer.render(),await C(i,e.renderTarget,l,r)}y=f(i.toneMapping),b=new o(a.width,a.height,{samples:4,type:t,stencilBuffer:i.getContextAttributes().stencil??!1});let c=s.background;c instanceof e&&(s.background=null);try{i.setClearColor(0,0),i.setRenderTarget(b),i.clear(),i.render(s,a.camera)}finally{s.background=c}return y.render(i,b),await C(i,y.renderTarget,l,r)}finally{null!==p.pass&&(p.composer?.removePass(p.pass),p.pass.dispose()),y?.dispose(),b?.dispose(),this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value===n&&(i.setClearColor(d,h),i.autoClearColor=u,i.setRenderTarget(g),n.set({camera:l,size:{...c,updateStyle:!1}})),await E()}}async generateAndUploadDeclaredClientSideImages(e,t,r={}){let a=this._captureGenerationGuard(),n=await a.waitFor(this.generateDeclaredClientSideImages(e,r));if(r.debug)return n;let o=new Map((await a.waitFor(a.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),t,n.map(e=>e.name))))).map(e=>[e.name,e.url]));return await Promise.all(n.map(async e=>{let t=o.get(e.name);if(!t)throw Error(`Presigned link for image ${e.name} not found!`);await a.waitFor(a.runEffect(()=>fetch(t,{method:"PUT",body:e.blob})))})),n}generateDeclaredClientSideImages(e,t={}){let r=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[l]},e);return this.generateImagesFromComponents(r,e,t)}async generateImagesFromComponents(t,r,o={}){let l=this._captureGenerationGuard(),p=this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value;if(null===p)throw Error("R3F state not ready");let w=!1,C=this._context.domainContextSelectors.getExportStates(),_=t.map(t=>{if(!C.includes(t.state.exportState)){let e=d(t.componentInstance.entityId)?m(t.componentInstance.entityId):"unknown entity",r=t.componentInstance.componentType.name,a=t.componentInstance.instanceName;throw Error(`Export state ${t.state.exportState} declared in component ${r}/${a} on ${e} is not a valid export state. Expected one of: ${C.join(", ")}`)}let p=t.componentInstance.entityId;if(h(p))throw Error("Virtual entities cannot be used for export");return this._context.configuratorExtensionSelectors.getExportSystem().createExportJob(r,{exportState:t.state.exportState,exportedEntityId:p,toolState:t.state.toolState,viewState:t.state.viewState,navigationState:t.state.navigationState,selectedEntityId:r.rootEntityId},async r=>{let m=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[c,g,u]},r.state);!w&&m.length>0&&(await new Promise(e=>{i({font:void 0,characters:void 0},e)}),w=!0,await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush());let d=this._context.configuratorExtensionSelectors.getCameraSystem().getActiveCameraConfig(r.state);if(null==d)throw Error(`No camera config is attached for export state ${t.state.exportState} and exported entity ${p}. Whenever using a client-side image component, you need to attach a camera configuration to the export state defined on that componentin the domain spec. This camera will be used to render the image.`);let h=s(d.typeSpecificConfig.cameraType).with("perspective",()=>new n(45,t.state.width/t.state.height,1,1e4)).with("orthographic",()=>new a(0,0,1e4,0,1,1e4)).exhaustive(),C=f(h);await this._context.configuratorExtensionSelectors.getCameraSystem().applyConfig(d,C,!1,{width:t.state.width,height:t.state.height,padding:{top:0,right:0,bottom:0,left:0}}),C.update(1e6),await new Promise(e=>setTimeout(e,100));let _=await l.waitFor(l.runEffect(()=>this.renderImage({width:t.state.width,height:t.state.height,fileFormat:t.state.fileFormat,backgroundColor:t.state.backgroundColor?new e(t.state.backgroundColor):void 0,camera:h})));return o.debug&&l.runEffect(()=>this._openDebugImage(_)),{blob:_,imageComponent:t,name:`${t.componentInstance.componentType.name}-${t.componentInstance.entityId}-${t.componentInstance.instanceName}`}})});if(0===_.length)return this._context.configuratorExtensionSelectors.getExportSystem().runExportJobs(_);let y=this._freezeCanvas(p);try{return await this._context.configuratorExtensionSelectors.getExportSystem().runExportJobs(_)}finally{await y()}}initialize=()=>{for(let e of(null!==this._generation&&(this._generation.active=!1),this._debugObjectUrls))URL.revokeObjectURL(e);this._debugObjectUrls.clear(),this._generation={active:!0}}}
1
+ import{Color as e,HalfFloatType as t,NoToneMapping as a,OrthographicCamera as r,PerspectiveCamera as n,WebGLRenderTarget as o}from"three";import{preloadFont as i}from"troika-three-text";import{match as s}from"ts-pattern";import{clientSideImageComponent as l,dimensionIndicatorComponent as c,domainEntityTypeFromId as m,editableDistanceDimensionIndicatorComponent as g,isDomainEntityId as d,isVirtualEntityId as h,sketchingEditComponent as u}from"#package/domain";import{createCameraControls as f}from"../camera-control-system/create-camera-controls.js";import{createCanvasFreezeFrame as p}from"./canvas-freeze-frame.js";import{ExportCapturePass as w,readTargetToBlob as C,resolveExportBackground as _}from"./export-image-capture.js";export class ImageRenderingSystem{_context;_renderer=null;_effectComposer=null;_generation=null;_debugObjectUrls=new Set;_canvasFreeze=null;constructor(e){this._context=e}_captureGenerationAssertion=()=>{let e=this._generation,t=()=>{if(!e?.active)throw Error("Image rendering generation ended while images were being rendered! The configurator context was reinitialized before the renderer finished, so the results belong to a configuration that is no longer active. Await the render before leaving the configuration, or discard the rejection.")};return t(),t};_captureGenerationGuard=()=>{let e=this._captureGenerationAssertion();return{assertActive:e,waitFor:async t=>{let a=await t;return e(),a},runEffect:t=>(e(),t())}};register(e){return this._renderer=e,()=>{this._renderer===e&&(this._renderer=null)}}registerEffectComposer(e){return this._effectComposer=e,()=>{this._effectComposer===e&&(this._effectComposer=null)}}_openDebugImage=e=>{let t=URL.createObjectURL(e);this._debugObjectUrls.add(t),window.open(t,"_blank")};_getRenderer=async()=>{let e=this._generation,t=Date.now(),a=()=>{if(!e?.active)throw Error("Image rendering generation ended while waiting for the renderer! The configurator context was reinitialized before the renderer arrived, so the render would target a scene that is gone. Await the render before leaving the configuration, or discard the rejection.")};a();let r=this._renderer;for(;null===r;){if(await new Promise(e=>setTimeout(e,50)),a(),Date.now()-t>1e4)throw Error("Renderer could not be retrieved! Reached timeout.");r=this._renderer}return r};generateImageUsingOriginalCanvas=async(e,t,a=!1)=>{let r=this._captureGenerationGuard(),n=await r.waitFor(this._getRenderer());if(a){let{blob:e}=await r.waitFor(r.runEffect(()=>n.renderUsingOriginalCanvas(t)));r.runEffect(()=>this._openDebugImage(e));return}let o=await Promise.all([t].map(async e=>{let{blob:t}=await r.waitFor(r.runEffect(()=>n.renderUsingOriginalCanvas(e)));return{blob:t,name:e.name}})),i=await r.waitFor(r.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,[t.name])));await Promise.all(i.map(async e=>{let t=o.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(i.map(async e=>{await r.waitFor(r.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))};async generateImagesUsingOriginalCanvas(e,t,a=!1){let r=this._captureGenerationGuard(),n=await r.waitFor(this._getRenderer()),o=Array.isArray(t)?t:[t],i=await o.reduce(async(e,t)=>[...await e,await r.waitFor(r.runEffect(()=>n.renderUsingOriginalCanvas(t)))],Promise.resolve([]));if(a){for(let e of i)r.runEffect(()=>this._openDebugImage(e.blob)),await r.waitFor(new Promise(e=>setTimeout(e,100)));return}let s=o.map(e=>e.name),l=await r.waitFor(r.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,s)));await Promise.all(l.map(async e=>{let t=i.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(l.map(async e=>{await r.waitFor(r.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))}async generateImages(e,t,a=!1){let r=this._captureGenerationGuard(),n=await r.waitFor(this._getRenderer()),o=t.map(e=>e.name);if(a)return void await Promise.all(t.map(async e=>{let t=await r.waitFor(r.runEffect(()=>n.renderImage(e)));r.runEffect(()=>this._openDebugImage(t))}));let i=await Promise.all(t.map(async e=>({blob:await r.waitFor(r.runEffect(()=>n.renderImage(e))),name:e.name}))),s=await r.waitFor(r.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),e,o)));await Promise.all(s.map(async e=>{let t=i.find(t=>t.name===e.name);if(null==t)throw Error("Blob not found!");await Promise.all(s.map(async e=>{await r.waitFor(r.runEffect(()=>fetch(e.url,{method:"PUT",body:t.blob,headers:{"Content-Type":"image/png","Content-Length":t.blob.size.toString()}})))}))}))}async getGeneratedImages(e,t=!1){let a=this._captureGenerationAssertion(),r=await this._getRenderer();return(a(),t)?(await Promise.all(e.map(async e=>{let t=await r.renderImage(e);a(),this._openDebugImage(t)})),[]):Promise.all(e.map(async e=>{let t=await r.renderImage(e);return a(),{blob:t,name:e.name}}))}_renderCurrentView=e=>{let{gl:t,scene:a,camera:r}=e.get();null!==this._effectComposer?this._effectComposer.render():t.render(a,r)};_freezeCanvas=e=>{this._canvasFreeze?.handle===e?this._canvasFreeze.holders+=1:(this._canvasFreeze?.remove(),this._canvasFreeze={handle:e,remove:p(e.get().gl.domElement,()=>this._renderCurrentView(e)),resumeFrameloop:this._context.configuratorExtensionSelectors.getExportSystem().pauseFrameloop(e),holders:1});let t=this._canvasFreeze,a=!1;return async()=>{if(!a&&(a=!0,t.holders-=1,!(t.holders>0)))try{let a=this._context.configuratorExtensionSelectors.getCanvasSystem();a.r3fHandle$.value===e&&await a.waitForFlush(),a.r3fHandle$.value===e&&0===t.holders&&this._renderCurrentView(e)}catch{}finally{0===t.holders&&(t.remove(),t.resumeFrameloop(),this._canvasFreeze===t&&(this._canvasFreeze=null))}}};async renderImage(r){let n=this._context.configuratorExtensionSelectors.getCanvasSystem(),i=n.r3fHandle$.value??await n.waitForCanvas(),{gl:s,scene:l,camera:c,size:m,advance:g}=i.get(),d=s.getRenderTarget(),h=s.getClearColor(new e),u=s.getClearAlpha(),f=s.autoClearColor,p=e=>new w(r.width,r.height,e,s.outputColorSpace),y={composer:null,pass:null},b=null,x=null,v=e=>{let t=y.pass??p(a);return y.pass=t,y.composer===e&&e.passes.at(-1)===t||(y.composer?.removePass(t),e.addPass(t),y.composer=e),t},E=async()=>{if(await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush(),this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value!==i)throw Error("Canvas was remounted while an image was being rendered! The export borrowed a canvas that is gone, so it cannot capture the image. Retry the export once the configurator has settled.")},S=this._freezeCanvas(i);try{i.set({size:{height:r.height,width:r.width,top:0,left:0,updateStyle:!1}}),i.set({camera:r.camera}),await E(),null!==this._effectComposer&&v(this._effectComposer),g(void 0),await E();let a="JPEG"===r.fileFormat?"image/jpeg":"image/png",n=_({sceneBackground:l.background,backgroundColor:r.backgroundColor,fileFormat:r.fileFormat,outputColorSpace:s.outputColorSpace});if(null!==this._effectComposer){s.setRenderTarget(null),"JPEG"===r.fileFormat?s.setClearColor(r.backgroundColor??0xffffff):r.backgroundColor?s.setClearColor(r.backgroundColor):s.setClearAlpha(0),s.autoClearColor=!0;let e=v(this._effectComposer);return this._effectComposer.render(),await C(s,e.renderTarget,n,a)}b=p(s.toneMapping),x=new o(r.width,r.height,{samples:4,type:t,stencilBuffer:s.getContextAttributes().stencil??!1});let c=l.background;c instanceof e&&(l.background=null);try{s.setClearColor(0,0),s.setRenderTarget(x),s.clear(),s.render(l,r.camera)}finally{l.background=c}return b.render(s,x),await C(s,b.renderTarget,n,a)}finally{null!==y.pass&&(y.composer?.removePass(y.pass),y.pass.dispose()),b?.dispose(),x?.dispose(),this._context.configuratorExtensionSelectors.getCanvasSystem().r3fHandle$.value===i&&(s.setClearColor(h,u),s.autoClearColor=f,s.setRenderTarget(d),i.set({camera:c,size:{...m,updateStyle:!1}})),await S()}}async generateAndUploadDeclaredClientSideImages(e,t,a={}){let r=this._captureGenerationGuard(),n=await r.waitFor(this.generateDeclaredClientSideImages(e,a));if(a.debug)return n;let o=new Map((await r.waitFor(r.runEffect(()=>this._context.getAuthorizedClient().generateUploadLinks(this._context.getConfigurationId(),t,n.map(e=>e.name))))).map(e=>[e.name,e.url]));return await Promise.all(n.map(async e=>{let t=o.get(e.name);if(!t)throw Error(`Presigned link for image ${e.name} not found!`);await r.waitFor(r.runEffect(()=>fetch(t,{method:"PUT",body:e.blob})))})),n}generateDeclaredClientSideImages(e,t={}){let a=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[l]},e);return this.generateImagesFromComponents(a,e,t)}generateImagesFromComponents(e,t,a={},r={}){return this._generateImagesFromComponents(e,t,a,r)}async _generateImagesFromComponents(t,a,o,l){let p=this._captureGenerationGuard(),w=!1,C=this._context.domainContextSelectors.getExportStates(),_=t.map(t=>{if(!C.includes(t.state.exportState)){let e=d(t.componentInstance.entityId)?m(t.componentInstance.entityId):"unknown entity",a=t.componentInstance.componentType.name,r=t.componentInstance.instanceName;throw Error(`Export state ${t.state.exportState} declared in component ${a}/${r} on ${e} is not a valid export state. Expected one of: ${C.join(", ")}`)}let l=t.componentInstance.entityId;if(h(l))throw Error("Virtual entities cannot be used for export");return this._context.configuratorExtensionSelectors.getExportSystem().createExportJob(a,{exportState:t.state.exportState,exportedEntityId:l,toolState:t.state.toolState,viewState:t.state.viewState,navigationState:t.state.navigationState,selectedEntityId:a.rootEntityId},async a=>{let m=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[c,g,u]},a.state);!w&&m.length>0&&(await new Promise(e=>{i({font:void 0,characters:void 0},e)}),w=!0,await this._context.configuratorExtensionSelectors.getCanvasSystem().waitForFlush());let d=this._context.configuratorExtensionSelectors.getCameraSystem().getActiveCameraConfig(a.state);if(null==d)throw Error(`No camera config is attached for export state ${t.state.exportState} and exported entity ${l}. Whenever using a client-side image component, you need to attach a camera configuration to the export state defined on that componentin the domain spec. This camera will be used to render the image.`);let h=s(d.typeSpecificConfig.cameraType).with("perspective",()=>new n(45,t.state.width/t.state.height,1,1e4)).with("orthographic",()=>new r(0,0,1e4,0,1,1e4)).exhaustive(),C=f(h);await this._context.configuratorExtensionSelectors.getCameraSystem().applyConfig(d,C,!1,{width:t.state.width,height:t.state.height,padding:{top:0,right:0,bottom:0,left:0}}),C.update(1e6),await new Promise(e=>setTimeout(e,100));let _=await p.waitFor(p.runEffect(()=>this.renderImage({width:t.state.width,height:t.state.height,fileFormat:t.state.fileFormat,backgroundColor:t.state.backgroundColor?new e(t.state.backgroundColor):void 0,camera:h})));return o.debug&&p.runEffect(()=>this._openDebugImage(_)),{blob:_,imageComponent:t,name:`${t.componentInstance.componentType.name}-${t.componentInstance.entityId}-${t.componentInstance.instanceName}`}})});if(0===_.length)return this._context.configuratorExtensionSelectors.getExportSystem().runExportJobs(_,l);let y=this._context.configuratorExtensionSelectors.getCanvasSystem(),b=y.r3fHandle$.value??await p.waitFor(y.waitForCanvas().catch(e=>{throw p.assertActive(),e})),x=this._freezeCanvas(b);try{return await this._context.configuratorExtensionSelectors.getExportSystem().runExportJobs(_,l)}finally{await x()}}initialize=()=>{for(let e of(null!==this._generation&&(this._generation.active=!1),this._debugObjectUrls))URL.revokeObjectURL(e);this._debugObjectUrls.clear(),this._generation={active:!0}}}
@@ -6,7 +6,7 @@ export { createCameraControls } from './camera-control-system/create-camera-cont
6
6
  export { type AnyCanvasSystem, CanvasSystem, type EntityObjectFilter, type FlushToken } from './canvas-system.js';
7
7
  export { type AnyDragAndDropSystem, DragAndDropSystem, type DragAndDropSystemContext, type DraggableState, type DraggingState, type RotationDraggingState, } from './drag-and-drop-system/drag-and-drop-system.js';
8
8
  export { type AnyExportSystem, ExportSystem, type ExportSystemContext } from './export-system/export-system.js';
9
- export { type GraphQLExecution, type GraphQLOperation, GraphQLSystem, type GraphQLSystemContext, type PreparedOperation, } from './graphql-system/graphql-system.js';
9
+ export { type GraphQLExecution, type GraphQLScreenshot, type GraphQLOperation, GraphQLSystem, type GraphQLSystemContext, type PreparedOperation, } from './graphql-system/graphql-system.js';
10
10
  export type * from './image-rendering-system/image-renderer.js';
11
11
  export { type AnyImageRenderingSystem, ImageRenderingSystem, type ImageRenderingSystemContext, } from './image-rendering-system/image-rendering-system.js';
12
12
  export { type AnyLayoutSystem, LayoutSystem, type LayoutSystemContext } from './layout-system/layout-system.js';
@@ -36,7 +36,7 @@ export declare class LayoutSystem<ENTITIES extends DomainEntity<string>> {
36
36
  splitSidebar: boolean;
37
37
  showSelectionBackButton: boolean;
38
38
  shareDisabled: boolean;
39
- availableLocales: string[];
39
+ availableLocales: readonly string[];
40
40
  indicatorSwitch: boolean;
41
41
  };
42
42
  getSidebarSummaryPage: (state: DomainState<ENTITIES>) => {
@@ -71,5 +71,5 @@ export declare class LayoutSystem<ENTITIES extends DomainEntity<string>> {
71
71
  hasSplitSidebar: boolean;
72
72
  };
73
73
  getToolbarState: (state: DomainState<ENTITIES>) => ToolbarComponentState;
74
- getNavigationSteps: (state: DomainState<ENTITIES>) => import("#package/domain").NavigationStep[];
74
+ getNavigationSteps: (state: DomainState<ENTITIES>) => readonly import("#package/domain").NavigationStep[];
75
75
  }
@@ -1 +1 @@
1
- import{P as t,match as e}from"ts-pattern";import{SystemState as o,applicationConfigComponent as n,customSummaryPageComponent as a,entityHeaderComponent as i,navigationStepsComponent as r,propertyPageComponent as s,sidebarTabsComponent as l,simpleSummaryComponent as d,toolbarComponent as c}from"#package/domain";import{layoutStateComponent as g}from"./layout-state.js";import{toolbarHelpElementName as u}from"./toolbar-help-element.js";export class LayoutSystem{_context;_toolbarCache=new WeakMap;state;constructor(t){this._context=t,this.state=new o({...this._context,selectors:this._context.domainContextSelectors,componentType:g,getInitialState:()=>({propertyPageStates:{}})})}get _toolbarHelpExists(){return void 0!==this._context.specSelectors.getElementSlots().layoutElements[u]}get _hasAssistant(){return void 0!==this._context.specSelectors.getAssistant()}initialize=()=>{this.state.initialize()};getCleanUpPropertyPageStateUpdates=(t,e)=>this.state.getUpdates(e=>{if(!e.propertyPageStates[t])return null;let o={...e.propertyPageStates};return delete o[t],{...e,propertyPageStates:o}},e);getLayoutConfig=t=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[n]},t),o=e?.state.shareDisabled??!1,a=o||(e?.state.shareOwnerLinkDisabled??!1),i=o||(e?.state.shareReadRevisionLinkDisabled??!1);return{layout:e?.state.layout??"universal",ignoreSelectionInSidebar:e?.state.ignoreSelectionInSidebar??!1,miniSidebar:e?.state.miniSidebar??!1,splitSidebar:e?.state.splitSidebar??!1,showSelectionBackButton:e?.state.showSelectionBackButton??!0,shareDisabled:a&&i,availableLocales:e?.state.availableLocales??["en"],indicatorSwitch:e?.state.indicatorSwitch??!0}};getSidebarSummaryPage=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getActiveNavigationState(t),o=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[a,d]},t),n=e===o?.state.summaryNavigationState,i=o?.state.summaryNavigationState;return{page:o,isSummaryActive:n,summaryNavigationState:i}};getEnterSidebarSummaryUpdates=t=>{let{summaryNavigationState:e}=this.getSidebarSummaryPage(t);return e?[this._context.domainContextSelectors.getNavigationSystem().getPushNavigationUpdate(e,t)]:[]};getLeaveSidebarSummaryUpdates=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getPopNavigationUpdate(t);if(e)return[e];let o=this._context.domainContextSelectors.getNavigationStates().at(0);return o?(this._context.domainServicesSelectors.getLogger().error("There is no navigation state to pop, falling back to the initial navigation state. Check whether the history stack is not broken by some custom navigation logic."),[this._context.domainContextSelectors.getNavigationSystem().getNavigationUpdate(o)]):(this._context.domainServicesSelectors.getLogger().error("There is no navigation state to pop and no initial navigation state to fallback to, this should not happen"),[])};getPushSidebarStackPageUpdates=(t,e,o,n)=>this.state.getUpdates(n=>{let a=n.propertyPageStates[t]??{customState:{},stackPages:[]};return{...n,propertyPageStates:{...n.propertyPageStates,[t]:{...a,stackPages:[...a.stackPages,{props:o,component:e}]}}}},n);getPopSidebarStackPageUpdates=(t,e)=>this.state.getUpdates(e=>{let o=e.propertyPageStates[t]??{customState:{},stackPages:[]};return{...e,propertyPageStates:{...e.propertyPageStates,[t]:{...o,stackPages:o.stackPages.slice(0,-1)}}}},e);getSidebarBackUpdates=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getHasStackToPop(t),o=this._context.domainContextSelectors.getNavigationSystem().getIsRootSelected(t),{renderedStackedPage:n,summaryPage:a,activePropertyPageId:i}=this.getSidebarContent(t);if(a)return this.getLeaveSidebarSummaryUpdates(t);if(n&&i)return this.getPopSidebarStackPageUpdates(i,t);if(e){let e=this._context.domainContextSelectors.getNavigationSystem().getPopNavigationUpdate(t);return e?[e]:[]}return o?[]:[this._context.domainContextSelectors.getNavigationSystem().getDeselectUpdate()]};getSidebarContent=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getActiveSelectionState(t),o=this.state.get(t),n=this.getLayoutConfig(t),a=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[l],entityIds:[e]},t).some(t=>t.state.tabs.length>0),r=n.miniSidebar&&!a;r&&a&&this._context.domainServicesSelectors.getLogger().warn("Mini sidebar is not active because the layout contains tabs. Only layouts without tabs can have mini sidebar.");let d=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[s]},t),{isSummaryActive:c,page:g}=this.getSidebarSummaryPage(t),u=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[i]},t),p=this._context.domainContextSelectors.getCompositionProjections().getTree(t).map.get(e);if(!p)throw Error(`Selected entity ${e} not found in composition tree`);let m=this._context.domainContextSelectors.getCompositionProjections().getTree(t).map.get(t.rootEntityId);if(!m)throw Error(`Root entity ${t.rootEntityId} not found in composition tree`);let h=(n.ignoreSelectionInSidebar?[m]:[p,...p.ancestors()]).map(t=>{let e=n.ignoreSelectionInSidebar?d:d.filter(e=>e.componentInstance.entityId===t.id),o=u.filter(e=>e.componentInstance.entityId===t.id);return{id:t.id,propertyPages:e,header:o[0]??null}}),S=h[0]?.id,b=(S?o.propertyPageStates[S]?.stackPages??[]:[]).at(-1)??null,k=this._context.domainContextSelectors.getNavigationSystem().getHasStackToPop(t),x=this._context.domainContextSelectors.getNavigationSystem().getIsRootSelected(t),y=c&&k||k||!!b||!x&&n.showSelectionBackButton&&!n.ignoreSelectionInSidebar;return c?{summaryPage:g,propertyPages:[],isBackAvailable:y,hasMiniSidebar:r,hasSplitSidebar:n.splitSidebar}:{summaryPage:null,propertyPages:h,renderedStackedPage:b,activePropertyPageId:S,isBackAvailable:y,hasMiniSidebar:r,hasSplitSidebar:n.splitSidebar}};getToolbarState=o=>{let n=this._toolbarHelpExists,a=this._hasAssistant,i=this._toolbarCache.get(o);if(i&&i.toolbarHelpExists===n&&i.hasAssistant===a)return i.result;let r=this._context.domainContextSelectors.getExpressionContext(),s=this._context.domainContextSelectors.getNavigationSystem().getActiveFullscreenState(o),l="read"===r.mode,d=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[c]},o),g=this._context.domainContextSelectors.getDimensionSystem().getDimensionConfig(o),u=this.getLayoutConfig(o),p="read"===this._context.domainContextSelectors.getExpressionContext().mode,m=u.availableLocales.length>1,h=!p&&!u.shareDisabled,S=u.indicatorSwitch,b=g.availableDimensions.length>1||S,k=a?[{kind:"toolbarButtonGroup",children:[{kind:"assistantToolbarButton"}]}]:[],x=e(d).returnType().with(t.nonNullable,t=>t.state).with(t.nullish,()=>e([s,l]).returnType().with([!1,!1],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},...m?[{kind:"toolbarButtonGroup",children:[{kind:"languageToolbarButton"}]}]:[],...h||b?[{kind:"toolbarButtonGroup",children:[...h?[{kind:"shareToolbarButton"}]:[],...b?[{kind:"measurementsToolbarButton"}]:[],...n?[{kind:"helpToolbarButton"}]:[]]}]:[],{kind:"toolbarButtonGroup",children:[{kind:"undoToolbarButton"},{kind:"redoToolbarButton"}]},...k],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"undoToolbarButton"},{kind:"redoToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},...k],mobileMenu:[...h?[{kind:"shareMenuAction"}]:[],...b?[{kind:"measurementsMenuAction"}]:[],...m?[{kind:"languageMenuAction"}]:[],...n?[{kind:"helpMenuAction"}]:[]]})).with([!0,!1],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobileMenu:[]})).with([!1,!0],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},...m?[{kind:"toolbarButtonGroup",children:[{kind:"languageToolbarButton"}]}]:[],...b?[{kind:"toolbarButtonGroup",children:[...b?[{kind:"measurementsToolbarButton"}]:[]]}]:[],...n?[{kind:"helpToolbarButton"}]:[],...k],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},...k],mobileMenu:[...b?[{kind:"measurementsMenuAction"}]:[],...m?[{kind:"languageMenuAction"}]:[],...n?[{kind:"helpMenuAction"}]:[]]})).with([!0,!0],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobileMenu:[]})).exhaustive()).exhaustive();return this._toolbarCache.set(o,{toolbarHelpExists:n,hasAssistant:a,result:x}),x};getNavigationSteps=t=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[r]},t);return e?.state.steps??[]}}
1
+ import{P as t,match as e}from"ts-pattern";import{SystemState as o,applicationConfigComponent as n,customSummaryPageComponent as a,entityHeaderComponent as i,navigationStepsComponent as r,propertyPageComponent as s,sidebarTabsComponent as l,simpleSummaryComponent as d,toolbarComponent as c}from"#package/domain";import{layoutStateComponent as g}from"./layout-state.js";import{toolbarHelpElementName as u}from"./toolbar-help-element.js";export class LayoutSystem{_context;_toolbarCache=new WeakMap;state;constructor(t){this._context=t,this.state=new o({...this._context,selectors:this._context.domainContextSelectors,componentType:g,getInitialState:()=>({propertyPageStates:{}})})}get _toolbarHelpExists(){return void 0!==this._context.specSelectors.getElementSlots().layoutElements[u]}get _hasAssistant(){return null!=this._context.specSelectors.getAssistant()}initialize=()=>{this.state.initialize()};getCleanUpPropertyPageStateUpdates=(t,e)=>this.state.getUpdates(e=>{if(!e.propertyPageStates[t])return null;let o={...e.propertyPageStates};return delete o[t],{...e,propertyPageStates:o}},e);getLayoutConfig=t=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[n]},t),o=e?.state.shareDisabled??!1,a=o||(e?.state.shareOwnerLinkDisabled??!1),i=o||(e?.state.shareReadRevisionLinkDisabled??!1);return{layout:e?.state.layout??"universal",ignoreSelectionInSidebar:e?.state.ignoreSelectionInSidebar??!1,miniSidebar:e?.state.miniSidebar??!1,splitSidebar:e?.state.splitSidebar??!1,showSelectionBackButton:e?.state.showSelectionBackButton??!0,shareDisabled:a&&i,availableLocales:e?.state.availableLocales??["en"],indicatorSwitch:e?.state.indicatorSwitch??!0}};getSidebarSummaryPage=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getActiveNavigationState(t),o=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[a,d]},t),n=e===o?.state.summaryNavigationState,i=o?.state.summaryNavigationState;return{page:o,isSummaryActive:n,summaryNavigationState:i}};getEnterSidebarSummaryUpdates=t=>{let{summaryNavigationState:e}=this.getSidebarSummaryPage(t);return e?[this._context.domainContextSelectors.getNavigationSystem().getPushNavigationUpdate(e,t)]:[]};getLeaveSidebarSummaryUpdates=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getPopNavigationUpdate(t);if(e)return[e];let o=this._context.domainContextSelectors.getNavigationStates().at(0);return o?(this._context.domainServicesSelectors.getLogger().error("There is no navigation state to pop, falling back to the initial navigation state. Check whether the history stack is not broken by some custom navigation logic."),[this._context.domainContextSelectors.getNavigationSystem().getNavigationUpdate(o)]):(this._context.domainServicesSelectors.getLogger().error("There is no navigation state to pop and no initial navigation state to fallback to, this should not happen"),[])};getPushSidebarStackPageUpdates=(t,e,o,n)=>this.state.getUpdates(n=>{let a=n.propertyPageStates[t]??{customState:{},stackPages:[]};return{...n,propertyPageStates:{...n.propertyPageStates,[t]:{...a,stackPages:[...a.stackPages,{props:o,component:e}]}}}},n);getPopSidebarStackPageUpdates=(t,e)=>this.state.getUpdates(e=>{let o=e.propertyPageStates[t]??{customState:{},stackPages:[]};return{...e,propertyPageStates:{...e.propertyPageStates,[t]:{...o,stackPages:o.stackPages.slice(0,-1)}}}},e);getSidebarBackUpdates=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getHasStackToPop(t),o=this._context.domainContextSelectors.getNavigationSystem().getIsRootSelected(t),{renderedStackedPage:n,summaryPage:a,activePropertyPageId:i}=this.getSidebarContent(t);if(a)return this.getLeaveSidebarSummaryUpdates(t);if(n&&i)return this.getPopSidebarStackPageUpdates(i,t);if(e){let e=this._context.domainContextSelectors.getNavigationSystem().getPopNavigationUpdate(t);return e?[e]:[]}return o?[]:[this._context.domainContextSelectors.getNavigationSystem().getDeselectUpdate()]};getSidebarContent=t=>{let e=this._context.domainContextSelectors.getNavigationSystem().getActiveSelectionState(t),o=this.state.get(t),n=this.getLayoutConfig(t),a=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[l],entityIds:[e]},t).some(t=>t.state.tabs.length>0),r=n.miniSidebar&&!a;r&&a&&this._context.domainServicesSelectors.getLogger().warn("Mini sidebar is not active because the layout contains tabs. Only layouts without tabs can have mini sidebar.");let d=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[s]},t),{isSummaryActive:c,page:g}=this.getSidebarSummaryPage(t),u=this._context.domainContextSelectors.getComponentReader().readManyComponents({componentTypes:[i]},t),p=this._context.domainContextSelectors.getCompositionProjections().getTree(t).map.get(e);if(!p)throw Error(`Selected entity ${e} not found in composition tree`);let m=this._context.domainContextSelectors.getCompositionProjections().getTree(t).map.get(t.rootEntityId);if(!m)throw Error(`Root entity ${t.rootEntityId} not found in composition tree`);let h=(n.ignoreSelectionInSidebar?[m]:[p,...p.ancestors()]).map(t=>{let e=n.ignoreSelectionInSidebar?d:d.filter(e=>e.componentInstance.entityId===t.id),o=u.filter(e=>e.componentInstance.entityId===t.id);return{id:t.id,propertyPages:e,header:o[0]??null}}),S=h[0]?.id,b=(S?o.propertyPageStates[S]?.stackPages??[]:[]).at(-1)??null,k=this._context.domainContextSelectors.getNavigationSystem().getHasStackToPop(t),x=this._context.domainContextSelectors.getNavigationSystem().getIsRootSelected(t),y=c&&k||k||!!b||!x&&n.showSelectionBackButton&&!n.ignoreSelectionInSidebar;return c?{summaryPage:g,propertyPages:[],isBackAvailable:y,hasMiniSidebar:r,hasSplitSidebar:n.splitSidebar}:{summaryPage:null,propertyPages:h,renderedStackedPage:b,activePropertyPageId:S,isBackAvailable:y,hasMiniSidebar:r,hasSplitSidebar:n.splitSidebar}};getToolbarState=o=>{let n=this._toolbarHelpExists,a=this._hasAssistant,i=this._toolbarCache.get(o);if(i&&i.toolbarHelpExists===n&&i.hasAssistant===a)return i.result;let r=this._context.domainContextSelectors.getExpressionContext(),s=this._context.domainContextSelectors.getNavigationSystem().getActiveFullscreenState(o),l="read"===r.mode,d=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[c]},o),g=this._context.domainContextSelectors.getDimensionSystem().getDimensionConfig(o),u=this.getLayoutConfig(o),p="read"===this._context.domainContextSelectors.getExpressionContext().mode,m=u.availableLocales.length>1,h=!p&&!u.shareDisabled,S=u.indicatorSwitch,b=g.availableDimensions.length>1||S,k=a?[{kind:"toolbarButtonGroup",children:[{kind:"assistantToolbarButton"}]}]:[],x=e(d).returnType().with(t.nonNullable,t=>t.state).with(t.nullish,()=>e([s,l]).returnType().with([!1,!1],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},...m?[{kind:"toolbarButtonGroup",children:[{kind:"languageToolbarButton"}]}]:[],...h||b?[{kind:"toolbarButtonGroup",children:[...h?[{kind:"shareToolbarButton"}]:[],...b?[{kind:"measurementsToolbarButton"}]:[],...n?[{kind:"helpToolbarButton"}]:[]]}]:[],{kind:"toolbarButtonGroup",children:[{kind:"undoToolbarButton"},{kind:"redoToolbarButton"}]},...k],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"undoToolbarButton"},{kind:"redoToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},...k],mobileMenu:[...h?[{kind:"shareMenuAction"}]:[],...b?[{kind:"measurementsMenuAction"}]:[],...m?[{kind:"languageMenuAction"}]:[],...n?[{kind:"helpMenuAction"}]:[]]})).with([!0,!1],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobileMenu:[]})).with([!1,!0],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},...m?[{kind:"toolbarButtonGroup",children:[{kind:"languageToolbarButton"}]}]:[],...b?[{kind:"toolbarButtonGroup",children:[...b?[{kind:"measurementsToolbarButton"}]:[]]}]:[],...n?[{kind:"helpToolbarButton"}]:[],...k],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"resetCameraToolbarButton"}]},{kind:"toolbarButtonGroup",children:[{kind:"enterFullscreenToolbarButton"}]},...k],mobileMenu:[...b?[{kind:"measurementsMenuAction"}]:[],...m?[{kind:"languageMenuAction"}]:[],...n?[{kind:"helpMenuAction"}]:[]]})).with([!0,!0],()=>({desktop:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobile:[{kind:"toolbarButtonGroup",children:[{kind:"exitFullscreenToolbarButton"}]}],mobileMenu:[]})).exhaustive()).exhaustive();return this._toolbarCache.set(o,{toolbarHelpExists:n,hasAssistant:a,result:x}),x};getNavigationSteps=t=>{let e=this._context.domainContextSelectors.getComponentReader().readFirstRootComponent({componentTypes:[r]},t);return e?.state.steps??[]}}
@@ -1,13 +1,17 @@
1
1
  import { type $DomainEntity, type ConfiguratorBuilder, type CreateCustomPhoenixEntityElement, type CreateCustomPhoenixLayoutElement, type CreateGetThemeHandler, type CreateGetWebComponentOptionsHandler, type CreatePhoenixHandler, type DomainEntity, type IsCreateRecipeUpdate, type IsReplaceRecipeUpdate, type TransformerBuilder, type TransformerFactory, type UpdateFactory, getIdSequence } from '#package/domain';
2
- import { type CreateCollectFrontendDataHandler, type CreateFilterPublishedChunksHandler, type CreateNotAuthenticatedPage, type IsAngleDimensionUpdate, type IsAttributeSelectionUpdate, type IsAttributeSwitchUpdate, type IsDeleteEntityUpdate, type IsDistanceDimensionUpdate, type IsGenericDimensionUpdate, type IsSwatchSelectionUpdate, type IsTextValueUpdate, type UseAccessService, type UseActiveNavigationState, type UseActiveToolState, type UseActiveViewState, type UseAnalyticsService, type UseAngleDimension, type UseAttributeSelection, type UseAttributeSwitch, type UseAuthenticatedClient, type UseAuthorizedClient, type UseBackendData, type UseChildEntitySelection, type UseComponent, type UseComponents, type UseComposition, type UseConfigurationId, type UseControlViolations, type UseCookRecipes, type UseCookReplaceRecipes, type UseCookedRecipes, type UseCookedReplaceRecipes, type UseCreateAuthorizedClient, type UseDeleteEntity, type UseDeletedEntity, type UseDeselect, type UseDistanceDimension, type UseDistanceDimensionSelection, type UseDomainApplicationContext, type UseDomainApplicationProps, type UseDomainContext, type UseDomainEntityState, type UseEntityPrice, type UseEntitySelector, type UseFinalizeViolations, type UseFirstComponent, type UseFirstRootComponent, type UseFrontendData, type UseGenericDimension, type UseGroupedRecipeOptions, type UseHoveredDomainEntityId, type UseHoveredEntity, type UseHoveredEntityId, type UseIntegrationService, type UseIntegrationState, type UseIsFullscreenActive, type UseLoadedData, type UseLoadingState, type UseMapViolationHints, type UseNavigate, type UsePopNavigate, type UsePresetEmbeddedState, type UsePublishedData, type UsePushNavigate, type UseRecipeEmbeddedState, type UseReplaceEntityRecipeOptions, type UseRootComponents, type UseRootEntityId, type UseRootEntityPrice, type UseRootEntitySelector, type UseRootEntityState, type UseSelectEntity, type UseSelectParent, type UseSelectedDomainEntityId, type UseSelectedEntity, type UseSelectedEntityId, type UseSession, type UseSessionRole, type UseSessionService, type UseSlice, type UseState, type UseStateValidity, type UseSwatchSelection, type UseSynchronizedSelector, type UseSynchronizedSelector$, type UseTextValue, type UseUpdateControl, type UseUpdatedControl, useLoadingStateValue } from '#package/react-sdk';
2
+ import { type CreateAddEntityFab, type CreateCollectFrontendDataHandler, type CreateDeleteEntityFab, type CreateFilterPublishedChunksHandler, type CreateNavigationHotspot, type CreateNotAuthenticatedPage, type CreateSelectionHotspot, type CreateToolMenuFab, type IsAngleDimensionUpdate, type IsAttributeSelectionUpdate, type IsAttributeSwitchUpdate, type IsDeleteEntityUpdate, type IsDistanceDimensionUpdate, type IsGenericDimensionUpdate, type IsSwatchSelectionUpdate, type IsTextValueUpdate, type UseAccessService, type UseActiveNavigationState, type UseActiveToolState, type UseActiveViewState, type UseActiveViewports, type UseAnalyticsService, type UseAngleDimension, type UseAttributeSelection, type UseAttributeSwitch, type UseAuthenticatedClient, type UseAuthorizedClient, type UseBackendData, type UseChildEntitySelection, type UseComponent, type UseComponents, type UseComposition, type UseConfigurationId, type UseConfiguratorMessages, type UseControlViolations, type UseCookRecipes, type UseCookReplaceRecipes, type UseCookedRecipes, type UseCookedReplaceRecipes, type UseCreateAuthorizedClient, type UseDeleteEntity, type UseDeletedEntity, type UseDeselect, type UseDistanceDimension, type UseDistanceDimensionSelection, type UseDomainApplicationContext, type UseDomainApplicationProps, type UseDomainContext, type UseDomainEntityState, type UseEntityPrice, type UseEntitySelector, type UseFinalizeAction, type UseFinalizeActions, type UseFinalizeViolations, type UseFirstComponent, type UseFirstRootComponent, type UseFrontendData, type UseGenericDimension, type UseGroupedRecipeOptions, type UseHoveredDomainEntityId, type UseHoveredEntity, type UseHoveredEntityId, type UseIntegrationService, type UseIntegrationState, type UseIsFullscreenActive, type UseLoadedData, type UseLoadingState, type UseLocaleSwitch, type UseMapViolationHints, type UseNavigate, type UsePopNavigate, type UsePresetEmbeddedState, type UsePublishedData, type UsePushNavigate, type UseRecipeEmbeddedState, type UseReplaceEntityRecipeOptions, type UseRootComponents, type UseRootEntityId, type UseRootEntityPrice, type UseRootEntitySelector, type UseRootEntityState, type UseSelectEntity, type UseSelectParent, type UseSelectedDomainEntityId, type UseSelectedEntity, type UseSelectedEntityId, type UseSession, type UseSessionRole, type UseSessionService, type UseSetFullscreen, type UseSetViewState, type UseShareLinks, type UseSlice, type UseState, type UseStateValidity, type UseStepNavigation, type UseSwatchSelection, type UseSynchronizedSelector, type UseSynchronizedSelector$, type UseTabNavigation, type UseTextValue, type UseUndoRedo, type UseUpdateControl, type UseUpdatedControl, useGenerateShareLink, useLoadingStateValue, useLocalizable, useResolveLocalizable } from '#package/react-sdk';
3
3
  import { type CreatePhoenixIconSet } from '#package/ui-sdk';
4
4
  import { type UseConfiguratorExtensions } from '../application-runtime/index.js';
5
- import { type CreateOnApplicationStartProvider, type CreateOnBackendDataReadyProvider, type CreateOnConfiguratorReadyProvider, type CreateOnFrontendDataReadyProvider, type CreateOnGoToIndexHandler, type CreateOnPresetLoadedHandler, type CreateOnPublishedDataReadyProvider, type CreateOnRoutingReadyProvider, type CreateOnSessionReadyProvider, type UseConfiguratorRouting, type UsePresetSelection, usePropertyPageStack, usePropertyPageState } from '../configurator-context/index.js';
5
+ import { type CreateConfigurationNotFoundPage } from '../configuration-not-found-page/index.js';
6
+ import { type CreateOnApplicationStartProvider, type CreateOnBackendDataReadyProvider, type CreateOnConfiguratorReadyProvider, type CreateOnFrontendDataReadyProvider, type CreateOnGoToIndexHandler, type CreateOnPresetLoadedHandler, type CreateOnPublishedDataReadyProvider, type CreateOnRoutingReadyProvider, type CreateOnSessionReadyProvider, type UseConfiguratorRouting, type UsePresetSelection, usePreview, usePropertyPageStack, usePropertyPageState } from '../configurator-context/index.js';
7
+ import { type CreateConfiguratorErrorPage } from '../configurator-error-page/index.js';
8
+ import { useCloseAction } from '../integration/index.js';
6
9
  import { type CreateGetTextureProcessingMapHandler } from '../scene/index.js';
7
10
  import type { UseUpdateEntityObjectSelection } from '../scene/scene-entity/drag-and-drop/use-updated-selection.js';
8
- import { type CreateAppLoader, type CreateCanvasLoader, type CreateLayoutAdminUi, type CreateLayoutCustomOwnerUi, type CreateLayoutCustomReadUi, type CreateLayoutDialog, type CreateLayoutFooter, type CreateLayoutToolbarDesktop, type CreateLayoutToolbarDesktopFullScreen, type CreateLayoutToolbarReadDesktop, type CreateLayoutToolbarReadDesktopFullScreen, type CreateLayoutUserUi, type CreateToolbarHelp } from '../ui/index.js';
9
- import { useGenerateShareLink } from '../ui/phoenix-layout-elements/share/use-share.js';
11
+ import { type UseAssistantPanel, type UseMeasurements, type UseToolbarActions } from '../toolbar-actions/index.js';
12
+ import { type CreateAppLoader, type CreateCanvasLoader, type CreateLayoutAdminUi, type CreateLayoutCustomOwnerUi, type CreateLayoutCustomReadUi, type CreateLayoutDialog, type CreateLayoutFooter, type CreateLayoutToolbarDesktop, type CreateLayoutToolbarDesktopFullScreen, type CreateLayoutToolbarReadDesktop, type CreateLayoutToolbarReadDesktopFullScreen, type CreateLayoutUserUi, type CreateToolbarHelp, LayoutSlots, useSceneSafeArea } from '../ui/index.js';
10
13
  import { type CreatePresetDeviceNotSupported, type CreatePresetPageAction, type CreatePresetUi } from '../ui/preset-layout/PresetUi.js';
14
+ import { type UseResetCamera } from './use-reset-camera.js';
11
15
  export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, PUBLISHED_DATA extends Record<string, unknown>, SESSION_DATA extends Record<string, unknown>, FRONTEND_DATA extends Record<string, unknown>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string, FINALIZE_DATA extends Record<string, unknown>, FINALIZE_RESULT extends Record<string, unknown>> {
12
16
  /**
13
17
  * Factory for creating update functions for entities.
@@ -179,6 +183,42 @@ export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, AL
179
183
  * Creates a custom page shown when session authentication fails.
180
184
  */
181
185
  createNotAuthenticatedPage: CreateNotAuthenticatedPage;
186
+ /**
187
+ * Creates the page shown when a configuration cannot be loaded or opened, replacing the built-in
188
+ * `ConfigurationNotFoundPage`.
189
+ */
190
+ createConfigurationNotFoundPage: CreateConfigurationNotFoundPage;
191
+ /**
192
+ * Creates the page the configurator shows in production when it cannot go on, replacing the built-in
193
+ * `ConfiguratorErrorPage`.
194
+ */
195
+ createConfiguratorErrorPage: CreateConfiguratorErrorPage;
196
+ /**
197
+ * Creates the in-scene FAB that adds child entities (`sceneEntityAddFab`), replacing the built-in
198
+ * `AddEntityFab` element. It receives the component's settings and reads the recipes it offers
199
+ * with `useGroupedRecipeOptions(entityId, instanceNames, fixableViolations)`.
200
+ */
201
+ createAddEntityFab: CreateAddEntityFab;
202
+ /**
203
+ * Creates the in-scene FAB that deletes an entity (`sceneEntityDeleteFab`), replacing the built-in
204
+ * `DeleteEntityFab` element. It receives `onDelete`, `disabled` and `disabledHint`.
205
+ */
206
+ createDeleteEntityFab: CreateDeleteEntityFab;
207
+ /**
208
+ * Creates the in-scene hotspot that selects an entity (`sceneEntitySelectHotspot`), replacing the
209
+ * built-in `SelectionHotspot` element. It receives `onSelect`.
210
+ */
211
+ createSelectionHotspot: CreateSelectionHotspot;
212
+ /**
213
+ * Creates the in-scene hotspot that goes to a navigation state (`sceneEntityNavigationHotspot`),
214
+ * replacing the built-in `NavigationHotspot` element. It receives `onNavigate`.
215
+ */
216
+ createNavigationHotspot: CreateNavigationHotspot;
217
+ /**
218
+ * Creates the in-scene FAB that switches tools (`toolMenuFab`), replacing the built-in `ToolMenuFab`
219
+ * element. It receives the tool `options` and `onSelectTool`.
220
+ */
221
+ createToolMenuFab: CreateToolMenuFab;
182
222
  /**
183
223
  * Factory for creating transformers for entities.
184
224
  * @deprecated Use {@link #transformerBuilder} instead.
@@ -341,6 +381,22 @@ export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, AL
341
381
  * Returns finalize properties based on the validity of the provided emission used for dry running finalize button
342
382
  */
343
383
  useFinalizeViolations: UseFinalizeViolations<ENTITIES, $MAP>;
384
+ /**
385
+ * Calls the given function once for every violation, side-effect hint and validation error: the violations of a
386
+ * rejected change, the hints of a committed change and an error thrown while a change was validated, with the
387
+ * text resolved
388
+ */
389
+ useConfiguratorMessages: UseConfiguratorMessages<ENTITIES, $MAP>;
390
+ /**
391
+ * Runs the project handler a `finalizeAction` component names, with its pending state, its error and the
392
+ * finalize violations; call it once per component, wrapped in `PhoenixHandlerBoundary`
393
+ */
394
+ useFinalizeAction: UseFinalizeAction;
395
+ /**
396
+ * The spec's finalize actions, each with its resolved texts and its own `run`, `isPending` and `error`, the
397
+ * primary one picked as the built-in footer picks it; call it anywhere and render the actions in a loop
398
+ */
399
+ useFinalizeActions: UseFinalizeActions;
344
400
  /**
345
401
  * Returns component based on a filter specified
346
402
  */
@@ -458,6 +514,10 @@ export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, AL
458
514
  * Get the currently active view state
459
515
  */
460
516
  useActiveViewState: UseActiveViewState<VIEW_STATES>;
517
+ /**
518
+ * Make the given view state the active one
519
+ */
520
+ useSetViewState: UseSetViewState<VIEW_STATES>;
461
521
  /**
462
522
  * Get the currently active tool state
463
523
  */
@@ -466,6 +526,83 @@ export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, AL
466
526
  * Get the currently active fullscreen state
467
527
  */
468
528
  useIsFullscreenActive: UseIsFullscreenActive;
529
+ /**
530
+ * Turn the fullscreen state on or off. The state is a flag the layout reads with `useIsFullscreenActive`
531
+ */
532
+ useSetFullscreen: UseSetFullscreen;
533
+ /**
534
+ * Move the camera back to the framing of the active camera configuration, as the toolbar's reset button does
535
+ */
536
+ useResetCamera: UseResetCamera;
537
+ /**
538
+ * Undo and redo changes of the configuration, with whether each is possible, as the toolbar's undo and redo
539
+ * buttons do
540
+ */
541
+ useUndoRedo: UseUndoRedo;
542
+ /**
543
+ * The spec's tabs (`sidebarTabs` or `horizontalTabs`) with the active one, and switching between them, as the
544
+ * built-in tabs do
545
+ */
546
+ useTabNavigation: UseTabNavigation<NAVIGATION_STATES>;
547
+ /**
548
+ * The spec's steps (`navigationSteps`) with the active one, and moving between them, as the built-in step buttons
549
+ * and the header's stepper do
550
+ */
551
+ useStepNavigation: UseStepNavigation<NAVIGATION_STATES>;
552
+ /**
553
+ * Tell the camera which part of the canvas a project layout leaves free for the scene. Attach `containerRef` to the
554
+ * element that covers the whole canvas and `safeAreaRef` to the region the scene should stay visible in
555
+ */
556
+ useSceneSafeArea: typeof useSceneSafeArea;
557
+ /**
558
+ * Get the responsive breakpoints the configurator's container satisfies, or `null` before it is measured
559
+ */
560
+ useActiveViewports: UseActiveViewports;
561
+ /**
562
+ * Get the preview state: whether the layout shows a preview start screen, and functions that enter and leave it
563
+ */
564
+ usePreview: typeof usePreview;
565
+ /**
566
+ * Get the host's close action, or `null` when the integration mode offers none
567
+ */
568
+ useCloseAction: typeof useCloseAction;
569
+ /**
570
+ * Whether a viewer of a configuration shared for viewing may clone it to edit: the application config sets
571
+ * `shareCloneToEdit` and the session's role may create configurations
572
+ */
573
+ useIsCloningAllowed: typeof LayoutSlots.useIsCloningAllowed;
574
+ /**
575
+ * Returns a function that turns a localizable text of the spec into a string in the current language
576
+ */
577
+ useResolveLocalizable: typeof useResolveLocalizable;
578
+ /**
579
+ * Turn one localizable text of the spec into a string in the current language
580
+ */
581
+ useLocalizable: typeof useLocalizable;
582
+ /**
583
+ * The spec's toolbar for a placement as runnable entries, grouped as the spec groups them, for a layout's own
584
+ * toolbar
585
+ */
586
+ useToolbarActions: UseToolbarActions;
587
+ /**
588
+ * The unit of dimensions and the dimension indicators, with functions that change them, as the toolbar's
589
+ * measurements button does
590
+ */
591
+ useMeasurements: UseMeasurements;
592
+ /**
593
+ * The languages the configurator offers and the active one, with a function that switches it, as the toolbar's
594
+ * language button does
595
+ */
596
+ useLocaleSwitch: UseLocaleSwitch;
597
+ /**
598
+ * Links that share the configuration for editing and for viewing, as the toolbar's share dialog generates them
599
+ */
600
+ useShareLinks: UseShareLinks;
601
+ /**
602
+ * Whether the assistant panel is open, with a function that opens or closes it, as the toolbar's assistant button
603
+ * does
604
+ */
605
+ useAssistantPanel: UseAssistantPanel;
469
606
  /**
470
607
  * Returns composition tree of the domain
471
608
  */
@@ -1 +1 @@
1
- import{createCustomPhoenixEntityElement as e,createCustomPhoenixLayoutElement as t,createGetThemeHandler as r,createGetWebComponentOptionsHandler as o,createPhoenixHandler as i,createTransformer as s,createTransformerBuilder as a,createUpdateFactory as n,getIdSequence as m,isCreateEntityUpdate as p,isReplaceEntityUpdate as u}from"#package/domain";import{createCollectFrontendDataHandler as d,createFilterPublishedChunksHandler as c,createNotAuthenticatedPage as f,isAngleDimensionUpdate as g,isAttributeSelectionUpdate as j,isAttributeSwitchUpdate as l,isDeleteEntityUpdate as x,isDistanceDimensionUpdate as y,isGenericDimensionUpdate as k,isSwatchSelectionUpdate as h,isTextValueUpdate as S,useAccessService as E,useActiveNavigationState as I,useActiveToolState as q,useActiveViewState as A,useAnalyticsService as B,useAngleDimension as C,useAttributeSelection as P,useAttributeSwitch as R,useAuthenticatedClient as U,useAuthorizedClient as b,useBackendData as v,useChildEntitySelection as w,useCommittedSlice as z,useCommittedState as D,useComponent as F,useComponents as G,useComposition as H,useConfigurationId as J,useControlViolations as K,useCookRecipes as L,useCookReplaceRecipes as M,useCookedRecipes as N,useCookedReplaceRecipes as O,useCreateAuthorizedClient as Q,useDeleteEntity as T,useDeletedEntity as V,useDeselect as W,useDistanceDimension as X,useDistanceDimensionSelection as Y,useDomain as Z,useDomainApplication as $,useDomainApplicationProps as _,useDomainEntityRenderedState as ee,useDomainEntityState as et,useEntityPrice as er,useEntitySelector as eo,useFinalizeViolations as ei,useFirstComponent as es,useFirstRenderedComponent as ea,useFirstRootComponent as en,useFirstRootRenderedComponent as em,useFrontendData as ep,useGenericDimension as eu,useGroupedRecipeOptions as ed,useHoveredDomainEntityId as ec,useHoveredEntity as ef,useHoveredEntityId as eg,useIntegrationService as ej,useIntegrationState as el,useIsFullscreenActive as ex,useLoadedData as ey,useLoadingState as ek,useLoadingStateValue as eh,useMapViolationHints as eS,useNavigate as eE,usePopNavigate as eI,usePresetEmbeddedState as eq,usePublishedData as eA,usePushNavigate as eB,useRecipeEmbeddedState as eC,useRenderedComponent as eP,useRenderedComponents as eR,useRenderedEntitySelector as eU,useRenderedRootEntitySelector as eb,useRenderedSelector as ev,useRenderedSelector$ as ew,useRenderedSlice as ez,useRenderedState as eD,useReplaceEntityRecipeOptions as eF,useRootComponents as eG,useRootEntityId as eH,useRootEntityPrice as eJ,useRootEntityRenderedId as eK,useRootEntityRenderedState as eL,useRootEntitySelector as eM,useRootEntityState as eN,useRootRenderedComponents as eO,useSelectEntity as eQ,useSelectParent as eT,useSelectedDomainEntityId as eV,useSelectedEntity as eW,useSelectedEntityId as eX,useSession as eY,useSessionRole as eZ,useSessionService as e$,useStateValidity as e_,useStoreSelector as e0,useStoreSelector$ as e1,useSwatchSelection as e2,useTextValue as e3,useUpdateControl as e4,useUpdatedControl as e5}from"#package/react-sdk";import{createPhoenixIconSet as e6}from"#package/ui-sdk";import{useConfigurator as e7}from"../application-runtime/index.js";import{createOnApplicationStartProvider as e8,createOnBackendDataReadyProvider as e9,createOnConfiguratorReadyProvider as te,createOnFrontendDataReadyProvider as tt,createOnGoToIndexHandler as tr,createOnPresetLoadedHandler as to,createOnPublishedDataReadyProvider as ti,createOnRoutingReadyProvider as ts,createOnSessionReadyProvider as ta,useConfiguratorRouting as tn,usePresetSelection as tm,usePropertyPageStack as tp,usePropertyPageState as tu}from"../configurator-context/index.js";import{createGetTextureProcessingMapHandler as td}from"../scene/index.js";import{useUpdateEntityObjectSelection as tc}from"../scene/scene-entity/drag-and-drop/use-updated-selection.js";import{createAppLoader as tf,createCanvasLoader as tg,createLayoutAdminUi as tj,createLayoutCustomOwnerUi as tl,createLayoutCustomReadUi as tx,createLayoutDialog as ty,createLayoutFooter as tk,createLayoutToolbarDesktop as th,createLayoutToolbarDesktopFullScreen as tS,createLayoutToolbarReadDesktop as tE,createLayoutToolbarReadDesktopFullScreen as tI,createLayoutUserUi as tq,createToolbarHelp as tA}from"../ui/index.js";import{useGenerateShareLink as tB}from"../ui/phoenix-layout-elements/share/use-share.js";import{createPresetDeviceNotSupported as tC,createPresetPageAction as tP,createPresetUi as tR}from"../ui/preset-layout/PresetUi.js";export const createConfiguratorInterface=tU=>({updates:n(),getIdSequence:m,createGetWebComponentOptionsHandler:o,createGetThemeHandler:r,createPhoenixHandler:i,createCustomPhoenixEntityElement:e,createCustomPhoenixLayoutElement:t,createPhoenixIconSet:e6,createGetTextureProcessingMapHandler:td,createCollectFrontendDataHandler:d,createFilterPublishedChunksHandler:c,createOnGoToIndexHandler:tr,createOnApplicationStartProvider:e8,createOnSessionReadyProvider:ta,createOnPublishedDataReadyProvider:ti,createOnFrontendDataReadyProvider:tt,createOnBackendDataReadyProvider:e9,createOnRoutingReadyProvider:ts,createOnConfiguratorReadyProvider:te,createOnPresetLoadedHandler:to,createPresetUi:tR,createPresetPageAction:tP,createPresetDeviceNotSupported:tC,createLayoutFooter:tk,createAppLoader:tf,createCanvasLoader:tg,createLayoutDialog:ty,createLayoutToolbarDesktop:th,createLayoutToolbarDesktopFullScreen:tS,createLayoutToolbarReadDesktop:tE,createLayoutToolbarReadDesktopFullScreen:tI,createLayoutCustomOwnerUi:tl,createLayoutCustomReadUi:tx,createLayoutAdminUi:tj,createLayoutUserUi:tq,createToolbarHelp:tA,createNotAuthenticatedPage:f,createTransformer:s,transformerBuilder:a(),useAnalytics:B,useAuthenticatedClient:U,useAuthorizedClient:b,useCreateAuthorizedClient:Q,useAccessService:E,useConfigurationId:J,useSession:eY,useSessionRole:eZ,useSessionService:e$,useDomain:Z,useDomainApplication:$,useConfigurator:e7,useConfiguratorRouting:tn,usePresetSelection:tm,usePublishedData:eA,useFrontendData:ep,useBackendData:v,useDomainApplicationProps:_,useLoadedData:ey,useIntegrationService:ej,useIntegrationState:el,usePresetEmbeddedState:eq,useRecipeEmbeddedState:eC,useCommittedSlice:z,useRenderedSlice:ez,useCommittedState:D,useRenderedState:eD,useStoreSelector:e0,useRenderedSelector:ev,useStoreSelector$:e1,useRenderedSelector$:ew,useEntitySelector:eo,useRenderedEntitySelector:eU,useRootEntitySelector:eM,useRenderedRootEntitySelector:eb,useStateValidity:e_,useMapViolationHints:eS,useNavigate:eE,usePopNavigate:eI,usePushNavigate:eB,useControlViolations:K,useFinalizeViolations:ei,useComponent:F,useRenderedComponent:eP,useComponents:G,useRenderedComponents:eR,useFirstComponent:es,useFirstRenderedComponent:ea,useRootComponents:eG,useRootRenderedComponents:eO,useFirstRootComponent:en,useFirstRootRenderedComponent:em,useEntityState:et,useEntityRenderedState:ee,useRootEntityState:eN,useRootEntityRenderedState:eL,useRootEntityId:eH,useRootEntityRenderedId:eK,useEntityPrice:er,useRootEntityPrice:eJ,useSelectedEntity:eW,useSelectedEntityId:eX,useSelectedDomainEntityId:eV,useSelectEntity:eQ,useDeselect:W,useSelectParent:eT,useHoveredEntity:ef,useHoveredEntityId:eg,useHoveredDomainEntityId:ec,useActiveNavigationState:I,useActiveViewState:A,useActiveToolState:q,useIsFullscreenActive:ex,useComposition:H,useUpdateControl:e4,useUpdatedControl:e5,useCookRecipes:L,useCookedRecipes:N,useCookReplaceRecipes:M,useCookedReplaceRecipes:O,useDeleteEntity:T,useDeletedEntity:V,useSwatchSelection:e2,useTextValue:e3,useAttributeSelection:P,useAttributeSwitch:R,useDistanceDimension:X,useDistanceDimensionSelection:Y,useGenericDimension:eu,useAngleDimension:C,useChildEntitySelection:w,useGroupedRecipeOptions:ed,useReplaceEntityRecipeOptions:eF,useUpdateEntityObjectSelection:tc,useGenerateShareLink:tB,useLoadingState:ek,useLoadingStateValue:eh,usePropertyPageStack:tp,usePropertyPageState:tu,isCreateEntityUpdate:p,isReplaceEntityUpdate:u,isDeleteEntityUpdate:x,isAngleDimensionUpdate:g,isDistanceDimensionUpdate:y,isGenericDimensionUpdate:k,isAttributeSelectionUpdate:j,isAttributeSwitchUpdate:l,isTextValueUpdate:S,isSwatchSelectionUpdate:h});
1
+ import{createCustomPhoenixEntityElement as e,createCustomPhoenixLayoutElement as o,createGetThemeHandler as r,createGetWebComponentOptionsHandler as t,createPhoenixHandler as i,createTransformer as n,createTransformerBuilder as s,createUpdateFactory as a,getIdSequence as m,isCreateEntityUpdate as p,isReplaceEntityUpdate as d}from"#package/domain";import{createAddEntityFab as f,createCollectFrontendDataHandler as u,createDeleteEntityFab as c,createFilterPublishedChunksHandler as g,createNavigationHotspot as l,createNotAuthenticatedPage as j,createSelectionHotspot as x,createToolMenuFab as k,isAngleDimensionUpdate as y,isAttributeSelectionUpdate as I,isAttributeSwitchUpdate as A,isDeleteEntityUpdate as C,isDistanceDimensionUpdate as S,isGenericDimensionUpdate as w,isSwatchSelectionUpdate as E,isTextValueUpdate as b,useAccessService as q,useActiveNavigationState as B,useActiveToolState as P,useActiveViewState as R,useActiveViewports as U,useAnalyticsService as h,useAngleDimension as v,useAttributeSelection as z,useAttributeSwitch as D,useAuthenticatedClient as F,useAuthorizedClient as G,useBackendData as H,useChildEntitySelection as J,useCommittedSlice as K,useCommittedState as L,useComponent as M,useComponents as N,useComposition as O,useConfigurationId as Q,useConfiguratorMessages as T,useControlViolations as V,useCookRecipes as W,useCookReplaceRecipes as X,useCookedRecipes as Y,useCookedReplaceRecipes as Z,useCreateAuthorizedClient as $,useDeleteEntity as _,useDeletedEntity as ee,useDeselect as eo,useDistanceDimension as er,useDistanceDimensionSelection as et,useDomain as ei,useDomainApplication as en,useDomainApplicationProps as es,useDomainEntityRenderedState as ea,useDomainEntityState as em,useEntityPrice as ep,useEntitySelector as ed,useFinalizeAction as ef,useFinalizeActions as eu,useFinalizeViolations as ec,useFirstComponent as eg,useFirstRenderedComponent as el,useFirstRootComponent as ej,useFirstRootRenderedComponent as ex,useFrontendData as ek,useGenerateShareLink as ey,useGenericDimension as eI,useGroupedRecipeOptions as eA,useHoveredDomainEntityId as eC,useHoveredEntity as eS,useHoveredEntityId as ew,useIntegrationService as eE,useIntegrationState as eb,useIsFullscreenActive as eq,useLoadedData as eB,useLoadingState as eP,useLoadingStateValue as eR,useLocaleSwitch as eU,useLocalizable as eh,useMapViolationHints as ev,useNavigate as ez,usePopNavigate as eD,usePresetEmbeddedState as eF,usePublishedData as eG,usePushNavigate as eH,useRecipeEmbeddedState as eJ,useRenderedComponent as eK,useRenderedComponents as eL,useRenderedEntitySelector as eM,useRenderedRootEntitySelector as eN,useRenderedSelector as eO,useRenderedSelector$ as eQ,useRenderedSlice as eT,useRenderedState as eV,useReplaceEntityRecipeOptions as eW,useResolveLocalizable as eX,useRootComponents as eY,useRootEntityId as eZ,useRootEntityPrice as e$,useRootEntityRenderedId as e_,useRootEntityRenderedState as e0,useRootEntitySelector as e1,useRootEntityState as e2,useRootRenderedComponents as e3,useSelectEntity as e4,useSelectParent as e5,useSelectedDomainEntityId as e6,useSelectedEntity as e7,useSelectedEntityId as e8,useSession as e9,useSessionRole as oe,useSessionService as oo,useSetFullscreen as or,useSetViewState as ot,useShareLinks as oi,useStateValidity as on,useStepNavigation as os,useStoreSelector as oa,useStoreSelector$ as om,useSwatchSelection as op,useTabNavigation as od,useTextValue as of,useUndoRedo as ou,useUpdateControl as oc,useUpdatedControl as og}from"#package/react-sdk";import{createPhoenixIconSet as ol}from"#package/ui-sdk";import{useConfigurator as oj}from"../application-runtime/index.js";import{createConfigurationNotFoundPage as ox}from"../configuration-not-found-page/index.js";import{createOnApplicationStartProvider as ok,createOnBackendDataReadyProvider as oy,createOnConfiguratorReadyProvider as oI,createOnFrontendDataReadyProvider as oA,createOnGoToIndexHandler as oC,createOnPresetLoadedHandler as oS,createOnPublishedDataReadyProvider as ow,createOnRoutingReadyProvider as oE,createOnSessionReadyProvider as ob,useConfiguratorRouting as oq,usePresetSelection as oB,usePreview as oP,usePropertyPageStack as oR,usePropertyPageState as oU}from"../configurator-context/index.js";import{createConfiguratorErrorPage as oh}from"../configurator-error-page/index.js";import{useCloseAction as ov}from"../integration/index.js";import{createGetTextureProcessingMapHandler as oz}from"../scene/index.js";import{useUpdateEntityObjectSelection as oD}from"../scene/scene-entity/drag-and-drop/use-updated-selection.js";import{useAssistantPanel as oF,useMeasurements as oG,useToolbarActions as oH}from"../toolbar-actions/index.js";import{LayoutSlots as oJ,createAppLoader as oK,createCanvasLoader as oL,createLayoutAdminUi as oM,createLayoutCustomOwnerUi as oN,createLayoutCustomReadUi as oO,createLayoutDialog as oQ,createLayoutFooter as oT,createLayoutToolbarDesktop as oV,createLayoutToolbarDesktopFullScreen as oW,createLayoutToolbarReadDesktop as oX,createLayoutToolbarReadDesktopFullScreen as oY,createLayoutUserUi as oZ,createToolbarHelp as o$,useSceneSafeArea as o_}from"../ui/index.js";import{createPresetDeviceNotSupported as o0,createPresetPageAction as o1,createPresetUi as o2}from"../ui/preset-layout/PresetUi.js";import{useResetCamera as o3}from"./use-reset-camera.js";export const createConfiguratorInterface=o4=>({updates:a(),getIdSequence:m,createGetWebComponentOptionsHandler:t,createGetThemeHandler:r,createPhoenixHandler:i,createCustomPhoenixEntityElement:e,createCustomPhoenixLayoutElement:o,createPhoenixIconSet:ol,createGetTextureProcessingMapHandler:oz,createCollectFrontendDataHandler:u,createFilterPublishedChunksHandler:g,createOnGoToIndexHandler:oC,createOnApplicationStartProvider:ok,createOnSessionReadyProvider:ob,createOnPublishedDataReadyProvider:ow,createOnFrontendDataReadyProvider:oA,createOnBackendDataReadyProvider:oy,createOnRoutingReadyProvider:oE,createOnConfiguratorReadyProvider:oI,createOnPresetLoadedHandler:oS,createPresetUi:o2,createPresetPageAction:o1,createPresetDeviceNotSupported:o0,createLayoutFooter:oT,createAppLoader:oK,createCanvasLoader:oL,createLayoutDialog:oQ,createLayoutToolbarDesktop:oV,createLayoutToolbarDesktopFullScreen:oW,createLayoutToolbarReadDesktop:oX,createLayoutToolbarReadDesktopFullScreen:oY,createLayoutCustomOwnerUi:oN,createLayoutCustomReadUi:oO,createLayoutAdminUi:oM,createLayoutUserUi:oZ,createToolbarHelp:o$,createNotAuthenticatedPage:j,createConfigurationNotFoundPage:ox,createConfiguratorErrorPage:oh,createAddEntityFab:f,createDeleteEntityFab:c,createSelectionHotspot:x,createNavigationHotspot:l,createToolMenuFab:k,createTransformer:n,transformerBuilder:s(),useAnalytics:h,useAuthenticatedClient:F,useAuthorizedClient:G,useCreateAuthorizedClient:$,useAccessService:q,useConfigurationId:Q,useSession:e9,useSessionRole:oe,useSessionService:oo,useDomain:ei,useDomainApplication:en,useConfigurator:oj,useConfiguratorRouting:oq,usePresetSelection:oB,usePublishedData:eG,useFrontendData:ek,useBackendData:H,useDomainApplicationProps:es,useLoadedData:eB,useIntegrationService:eE,useIntegrationState:eb,usePresetEmbeddedState:eF,useRecipeEmbeddedState:eJ,useCommittedSlice:K,useRenderedSlice:eT,useCommittedState:L,useRenderedState:eV,useStoreSelector:oa,useRenderedSelector:eO,useStoreSelector$:om,useRenderedSelector$:eQ,useEntitySelector:ed,useRenderedEntitySelector:eM,useRootEntitySelector:e1,useRenderedRootEntitySelector:eN,useStateValidity:on,useMapViolationHints:ev,useNavigate:ez,usePopNavigate:eD,usePushNavigate:eH,useControlViolations:V,useFinalizeViolations:ec,useConfiguratorMessages:T,useFinalizeAction:ef,useFinalizeActions:eu,useComponent:M,useRenderedComponent:eK,useComponents:N,useRenderedComponents:eL,useFirstComponent:eg,useFirstRenderedComponent:el,useRootComponents:eY,useRootRenderedComponents:e3,useFirstRootComponent:ej,useFirstRootRenderedComponent:ex,useEntityState:em,useEntityRenderedState:ea,useRootEntityState:e2,useRootEntityRenderedState:e0,useRootEntityId:eZ,useRootEntityRenderedId:e_,useEntityPrice:ep,useRootEntityPrice:e$,useSelectedEntity:e7,useSelectedEntityId:e8,useSelectedDomainEntityId:e6,useSelectEntity:e4,useDeselect:eo,useSelectParent:e5,useHoveredEntity:eS,useHoveredEntityId:ew,useHoveredDomainEntityId:eC,useActiveNavigationState:B,useActiveViewState:R,useSetViewState:ot,useActiveToolState:P,useIsFullscreenActive:eq,useSetFullscreen:or,useResetCamera:o3,useUndoRedo:ou,useTabNavigation:od,useStepNavigation:os,useSceneSafeArea:o_,useActiveViewports:U,usePreview:oP,useCloseAction:ov,useIsCloningAllowed:oJ.useIsCloningAllowed,useResolveLocalizable:eX,useLocalizable:eh,useToolbarActions:oH,useMeasurements:oG,useLocaleSwitch:eU,useShareLinks:oi,useAssistantPanel:oF,useComposition:O,useUpdateControl:oc,useUpdatedControl:og,useCookRecipes:W,useCookedRecipes:Y,useCookReplaceRecipes:X,useCookedReplaceRecipes:Z,useDeleteEntity:_,useDeletedEntity:ee,useSwatchSelection:op,useTextValue:of,useAttributeSelection:z,useAttributeSwitch:D,useDistanceDimension:er,useDistanceDimensionSelection:et,useGenericDimension:eI,useAngleDimension:v,useChildEntitySelection:J,useGroupedRecipeOptions:eA,useReplaceEntityRecipeOptions:eW,useUpdateEntityObjectSelection:oD,useGenerateShareLink:ey,useLoadingState:eP,useLoadingStateValue:eR,usePropertyPageStack:oR,usePropertyPageState:oU,isCreateEntityUpdate:p,isReplaceEntityUpdate:d,isDeleteEntityUpdate:C,isAngleDimensionUpdate:y,isDistanceDimensionUpdate:S,isGenericDimensionUpdate:w,isAttributeSelectionUpdate:I,isAttributeSwitchUpdate:A,isTextValueUpdate:b,isSwatchSelectionUpdate:E});
@@ -1,2 +1,4 @@
1
+ export { FrontendAnalyticsFactory } from '#package/react-sdk';
1
2
  export { type ConfiguratorInterface, createConfiguratorInterface } from './configurator-interface.js';
2
- export { FrontendAnalyticsFactory } from './frontend-analytics.js';
3
+ export { type UseFinalizeAction, type UseFinalizeActionResult, useFinalizeAction } from '#package/react-sdk';
4
+ export { type UseResetCamera, useResetCamera } from './use-reset-camera.js';
@@ -1 +1 @@
1
- export{createConfiguratorInterface}from"./configurator-interface.js";export{FrontendAnalyticsFactory}from"./frontend-analytics.js";
1
+ export{FrontendAnalyticsFactory,useFinalizeAction}from"#package/react-sdk";export{createConfiguratorInterface}from"./configurator-interface.js";export{useResetCamera}from"./use-reset-camera.js";
@@ -0,0 +1,6 @@
1
+ export type UseResetCamera = () => () => void;
2
+ /**
3
+ * Hook to move the camera back to the framing of the active camera configuration, undoing what the user orbited,
4
+ * panned or zoomed. It does what the built-in toolbar's reset button does
5
+ */
6
+ export declare const useResetCamera: UseResetCamera;
@@ -0,0 +1 @@
1
+ import{useCallback as e}from"react";import{useConfigurator as r}from"../application-runtime/index.js";export const useResetCamera=()=>{let{cameraControlSystem:t}=r();return e(()=>{t.resetCamera()},[t])};
@@ -0,0 +1,12 @@
1
+ import { type ConfigurationNotFoundPageProps } from '#package/react-sdk';
2
+ /**
3
+ * The name a project registers a layout element under to replace the page shown when a configuration
4
+ * cannot be loaded or opened. Its default, the built-in `ConfigurationNotFoundPage`, is registered in
5
+ * `defaultConfiguratorElements`.
6
+ */
7
+ export declare const ConfigurationNotFoundPageName = "ConfigurationNotFoundPage";
8
+ /**
9
+ * Renders the `ConfigurationNotFoundPage` element. `onBack` is passed only where leaving the page leads
10
+ * somewhere, which is the start of the configurator.
11
+ */
12
+ export declare const ConfigurationNotFoundPageElement: (props: ConfigurationNotFoundPageProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{PhoenixLayoutElement as t}from"#package/react-sdk";export const ConfigurationNotFoundPageName="ConfigurationNotFoundPage";export const ConfigurationNotFoundPageElement=n=>o(t,{name:"ConfigurationNotFoundPage",elementProps:{...n}});
@@ -0,0 +1,9 @@
1
+ import { type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ import type { ConfigurationNotFoundPageProps } from '#package/react-sdk';
3
+ /**
4
+ * Registers a project's "configuration not accessible" page as the `ConfigurationNotFoundPage`
5
+ * element, with its props typed. Registering a layout element under that name with
6
+ * `createCustomPhoenixLayoutElement` works too, but its component is typed as taking only `children`.
7
+ */
8
+ export declare const createConfigurationNotFoundPage: (Element: (props: ConfigurationNotFoundPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
9
+ export type CreateConfigurationNotFoundPage = (Element: (props: ConfigurationNotFoundPageProps) => JSX.Element) => PhoenixLayoutElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{ConfigurationNotFoundPageName as t}from"./ConfigurationNotFoundPageElement.js";export const createConfigurationNotFoundPage=n=>o(t,n);
@@ -0,0 +1,2 @@
1
+ export { ConfigurationNotFoundPageElement, ConfigurationNotFoundPageName } from './ConfigurationNotFoundPageElement.js';
2
+ export { createConfigurationNotFoundPage, type CreateConfigurationNotFoundPage, } from './create-configuration-not-found-page.js';
@@ -0,0 +1 @@
1
+ export{ConfigurationNotFoundPageElement,ConfigurationNotFoundPageName}from"./ConfigurationNotFoundPageElement.js";export{createConfigurationNotFoundPage}from"./create-configuration-not-found-page.js";
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from 'react';
2
+ interface ConfiguratorResponsiveProviderProps {
3
+ readonly children: ReactNode;
4
+ readonly containerZIndex: number;
5
+ }
6
+ /**
7
+ * Gives the configurator its responsive state for as long as it is mounted, and renders the root
8
+ * container that measures itself into that state. The lifecycle reads the state from the runtime
9
+ * provider, the UI through `useResponsive()`.
10
+ */
11
+ export declare const ConfiguratorResponsiveProvider: (props: ConfiguratorResponsiveProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{useState as e}from"react";import{ResponsiveStateManager as o,ResponsiveStateProvider as t}from"#package/react-sdk";import{ResponsiveApplicationProvider as a}from"#package/ui-sdk";export const ConfiguratorResponsiveProvider=i=>{let{children:n,containerZIndex:m}=i,[c]=e(()=>new o);return r(t,{manager:c,children:r(a,{containerZIndex:m,store:c,children:n})})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Button as t}from"@mui/material";import{useMutation as r}from"@tanstack/react-query";import{useSnackbar as i}from"notistack";import{useSubscription as o}from"observable-hooks";import{createContext as s,useCallback as n,useContext as a,useEffect as l,useMemo as m,useState as d}from"react";import{skip as p}from"rxjs";import{match as c}from"ts-pattern";import{AuthorizedClient as g,LocalStorageAuthorizedPhoenixApiClient as u,MemoryAuthorizedPhoenixApiClient as f}from"#package/client";import{SYSTEM_CHUNK_KEY as h,standardWebComponentProperties as y}from"#package/domain";import{ApplicationRoutes as P,useAnalyticsService as v,useAuthenticatedClient as w,useConfiguratorDomainFactory as x,useEagerObservableValue as C,useIsDev as T,useLogger as k,usePersistenceConfig as D,usePublishedData as S,useResolveLocalizable as E,useRoutingSelectors as b,useSessionService as A,useSpecPresetSeed as j,useWebComponentProperty$ as I}from"#package/react-sdk";import{FrontendAnalyticsFactory as V}from"../common/frontend-analytics.js";import{useOnPresetLoadedHandler as $}from"./OnPresetLoadedHandler.js";import{useConfiguratorRouting as F}from"./configurator-routing/index.js";let M={id:"sdk.presets.create.error.message",message:"Could not start configuring from this preset. Please try again."},R={id:"sdk.presets.create.error.dismiss.label",message:"Dismiss"},q="phx-preset-creation-error";export const PresetSelectionContext=s(null);export const usePresetSelection=()=>{let e=a(PresetSelectionContext);if(null===e)throw Error("usePresetSelection must be used within a PresetSelectionProvider!");return e};let z=e=>t=>null===e||void 0!==t.tags&&t.tags.some(t=>e.includes(t));export const PresetSelectionProvider=s=>{let{children:a}=s,[H,L]=d(null),[O,U]=d(null),B=j(),G=w(),J=v(),K=D(),N=x(),Q=T(),W=E(),{requestSessionToken:X}=A(),Y=k(),Z=F(),_=b(),ee=S(),{enqueueSnackbar:et,closeSnackbar:er}=i(),ei=I(y.presetTags),eo=C(ei),es=$();o(m(()=>ei.pipe(p(1)),[ei]),()=>{_.getRoutingState().route!==P.Index&&Z.goToIndex()}),l(()=>{U(null),er(q)},[Q,er]);let{mutate:en}=r({mutationFn:n(async e=>{let{getData:t,name:r}=e,{rootEntityType:i,entities:o,modelVersion:s}=await t(),n=N.validateAndMigrateState(o,s);J.push(V.ProductSelected(i,W(r)));let a=es?await es(n):n;return G.createConfiguration({rootEntityType:i,data:a})},[N,J,W,G,es]),onSuccess:e=>{Z.goToConfigurationDetail(e.configurationId,e.accessToken)},onError:(e,t)=>{Y.error("Failed to create a new configuration from a preset!",{name:t.name},e),U(e)},onSettled:()=>{L(null)}}),ea=m(()=>{let e,t=(e=h in ee?ee[h].presetCategories:ee.presetCategories,{publishedPresetCategories:(e??[]).map(e=>({...e,presets:e.presets.filter(z(eo))})).filter(e=>e.presets.length>0),seedPresets:B.filter(z(eo))});return t.publishedPresetCategories.length>0?t.publishedPresetCategories.map(e=>({id:e.id,name:e.name,description:e.description,img:e.img,imgAlt:e.imgAlt,presets:e.presets.map(e=>({id:e.configurationId,name:e.name,description:e.description,img:e?.img,imgAlt:e?.imgAlt,detailTitle:e?.detailTitle,detailDescription:e?.detailDescription,getData:async()=>{let t=c(K).with({type:"server"},t=>new g(t.serverUrl,()=>e.readToken,X)).with({type:"local-storage"},()=>new u(N.modelVersion)).with({type:"memory"},()=>new f(N.modelVersion)).exhaustive(),r=await t.getConfigurationRevision(e.configurationId,e.revisionId);return{entities:r.data,rootEntityType:r.rootEntityType,modelVersion:r.modelVersion}}}))})):t.seedPresets.length>0?[{id:"Default",name:"Default Category",presets:t.seedPresets.map((e,t)=>({id:`${t}`,name:e.name??`${e.rootEntityType} preset - ${t}`,description:e.description??"",img:e.img,imgAlt:e.imgAlt,detailTitle:e.detailTitle,detailDescription:e.detailDescription,getData:async()=>({entities:e.initialDomainEntities,rootEntityType:e.rootEntityType,modelVersion:N.modelVersion})}))}]:[]},[ee,X,K,N,eo,B]),el=m(()=>ea.flatMap(e=>e.presets),[ea]),em=n(r=>{let i=el.find(e=>e.id===r);if(void 0===i)throw Error(`Preset with id ${r} not found!`);let{getData:o,name:s}=i,n=!Q&&el.length>1;U(null),L(r),en({getData:o,name:s},{onError:()=>{n&&(er(q),et(W(M),{variant:"error",key:q,persist:!0,preventDuplicate:!0,action:r=>e(t,{color:"inherit",size:"small",onClick:()=>{U(null),er(r)},children:W(R)})}))}})},[el,Q,en,et,er,W]),ed=el.length>1,ep=m(()=>({hasMultiplePresets:ed,presetCategories:ea,selectPreset:em,selectionError:O,creatingPresetId:H}),[em,ed,ea,O,H]);return e(PresetSelectionContext.Provider,{value:ep,children:a})};
1
+ import{jsx as e}from"react/jsx-runtime";import{Button as t}from"@mui/material";import{useMutation as r}from"@tanstack/react-query";import{useSnackbar as i}from"notistack";import{useSubscription as o}from"observable-hooks";import{createContext as s,useCallback as n,useContext as a,useEffect as l,useMemo as m,useState as d}from"react";import{skip as p}from"rxjs";import{match as c}from"ts-pattern";import{AuthorizedClient as g,LocalStorageAuthorizedPhoenixApiClient as u,MemoryAuthorizedPhoenixApiClient as f}from"#package/client";import{SYSTEM_CHUNK_KEY as h,standardWebComponentProperties as y}from"#package/domain";import{ApplicationRoutes as P,FrontendAnalyticsFactory as v,useAnalyticsService as w,useAuthenticatedClient as x,useConfiguratorDomainFactory as C,useEagerObservableValue as T,useIsDev as k,useLogger as D,usePersistenceConfig as S,usePublishedData as E,useResolveLocalizable as b,useRoutingSelectors as A,useSessionService as I,useSpecPresetSeed as V,useWebComponentProperty$ as j}from"#package/react-sdk";import{useOnPresetLoadedHandler as $}from"./OnPresetLoadedHandler.js";import{useConfiguratorRouting as F}from"./configurator-routing/index.js";let M={id:"sdk.presets.create.error.message",message:"Could not start configuring from this preset. Please try again."},R={id:"sdk.presets.create.error.dismiss.label",message:"Dismiss"},q="phx-preset-creation-error";export const PresetSelectionContext=s(null);export const usePresetSelection=()=>{let e=a(PresetSelectionContext);if(null===e)throw Error("usePresetSelection must be used within a PresetSelectionProvider!");return e};let z=e=>t=>null===e||void 0!==t.tags&&t.tags.some(t=>e.includes(t));export const PresetSelectionProvider=s=>{let{children:a}=s,[H,L]=d(null),[O,U]=d(null),B=V(),G=x(),J=w(),K=S(),N=C(),Q=k(),W=b(),{requestSessionToken:X}=I(),Y=D(),Z=F(),_=A(),ee=E(),{enqueueSnackbar:et,closeSnackbar:er}=i(),ei=j(y.presetTags),eo=T(ei),es=$();o(m(()=>ei.pipe(p(1)),[ei]),()=>{_.getRoutingState().route!==P.Index&&Z.goToIndex()}),l(()=>{U(null),er(q)},[Q,er]);let{mutate:en}=r({mutationFn:n(async e=>{let{getData:t,name:r}=e,{rootEntityType:i,entities:o,modelVersion:s}=await t(),n=N.validateAndMigrateState(o,s);J.push(v.ProductSelected(i,W(r)));let a=es?await es(n):n;return G.createConfiguration({rootEntityType:i,data:a})},[N,J,W,G,es]),onSuccess:e=>{Z.goToConfigurationDetail(e.configurationId,e.accessToken)},onError:(e,t)=>{Y.error("Failed to create a new configuration from a preset!",{name:t.name},e),U(e)},onSettled:()=>{L(null)}}),ea=m(()=>{let e,t=(e=h in ee?ee[h].presetCategories:ee.presetCategories,{publishedPresetCategories:(e??[]).map(e=>({...e,presets:e.presets.filter(z(eo))})).filter(e=>e.presets.length>0),seedPresets:B.filter(z(eo))});return t.publishedPresetCategories.length>0?t.publishedPresetCategories.map(e=>({id:e.id,name:e.name,description:e.description,img:e.img,imgAlt:e.imgAlt,presets:e.presets.map(e=>({id:e.configurationId,name:e.name,description:e.description,img:e?.img,imgAlt:e?.imgAlt,detailTitle:e?.detailTitle,detailDescription:e?.detailDescription,getData:async()=>{let t=c(K).with({type:"server"},t=>new g(t.serverUrl,()=>e.readToken,X)).with({type:"local-storage"},()=>new u(N.modelVersion)).with({type:"memory"},()=>new f(N.modelVersion)).exhaustive(),r=await t.getConfigurationRevision(e.configurationId,e.revisionId);return{entities:r.data,rootEntityType:r.rootEntityType,modelVersion:r.modelVersion}}}))})):t.seedPresets.length>0?[{id:"Default",name:"Default Category",presets:t.seedPresets.map((e,t)=>({id:`${t}`,name:e.name??`${e.rootEntityType} preset - ${t}`,description:e.description??"",img:e.img,imgAlt:e.imgAlt,detailTitle:e.detailTitle,detailDescription:e.detailDescription,getData:async()=>({entities:e.initialDomainEntities,rootEntityType:e.rootEntityType,modelVersion:N.modelVersion})}))}]:[]},[ee,X,K,N,eo,B]),el=m(()=>ea.flatMap(e=>e.presets),[ea]),em=n(r=>{let i=el.find(e=>e.id===r);if(void 0===i)throw Error(`Preset with id ${r} not found!`);let{getData:o,name:s}=i,n=!Q&&el.length>1;U(null),L(r),en({getData:o,name:s},{onError:()=>{n&&(er(q),et(W(M),{variant:"error",key:q,persist:!0,preventDuplicate:!0,action:r=>e(t,{color:"inherit",size:"small",onClick:()=>{U(null),er(r)},children:W(R)})}))}})},[el,Q,en,et,er,W]),ed=el.length>1,ep=m(()=>({hasMultiplePresets:ed,presetCategories:ea,selectPreset:em,selectionError:O,creatingPresetId:H}),[em,ed,ea,O,H]);return e(PresetSelectionContext.Provider,{value:ep,children:a})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as r,useCallback as t,useContext as o,useEffect as i,useMemo as a,useState as n}from"react";import{match as s}from"ts-pattern";import{standardWebComponentProperties as d}from"#package/domain";import{useWebComponentPropertyState as m,useWebComponentPropertyValue as p}from"#package/react-sdk";import{useResponsive as u}from"#package/ui-sdk";let w=r(null);export const PreviewContextProvider=r=>{let{children:o,preview:h,alwaysExpand:v}=r,[c,f]=n(!0),[x,l]=m(d.expanded),P=p(d.mode),g=p(d.power),{isMobile:k,expand:C,collapse:b,show:j,hide:y}=u(),E=t(()=>{f(!1),(v||k)&&l(!0)},[k,v,l]),q=t(()=>{f(!0),l(!1)},[l]),z=a(()=>!!x||"configurator"===P&&s(h).with("hide",()=>!1).with("never",()=>!1).with("always",()=>!0).with("auto",()=>k).exhaustive(),[h,x,k,P]),A=!x&&z&&c,B="hide"===h&&!x&&"configurator"===P,D=a(()=>({isPreview:A,isExpanded:x,enter:E,leave:q,isPreviewEnabled:z,isHidden:B}),[A,x,E,q,z,B]),F=s(g).with("on",()=>!0).with("standby","off",()=>!1).exhaustive();return i(()=>{x&&F?C():b()},[x,C,b,F]),i(()=>{B?y():j()},[B,y,j]),e(w.Provider,{value:D,children:o})};export const usePreview=()=>{let e=o(w);if(!e)throw Error("Context was not provided - usePreview must be used inside PreviewContext provider");return e};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as r,useCallback as t,useContext as o,useEffect as i,useMemo as a,useState as n}from"react";import{match as s}from"ts-pattern";import{standardWebComponentProperties as d}from"#package/domain";import{useResponsiveState as m,useResponsiveStateManager as p,useWebComponentPropertyState as u,useWebComponentPropertyValue as w}from"#package/react-sdk";let h=r(null);export const PreviewContextProvider=r=>{let{children:o,preview:v,alwaysExpand:c}=r,[f,x]=n(!0),[l,P]=u(d.expanded),g=w(d.mode),k=w(d.power),{isMobile:C}=m(),{expand:b,collapse:j,show:y,hide:E}=p(),q=t(()=>{x(!1),(c||C)&&P(!0)},[C,c,P]),z=t(()=>{x(!0),P(!1)},[P]),A=a(()=>!!l||"configurator"===g&&s(v).with("hide",()=>!1).with("never",()=>!1).with("always",()=>!0).with("auto",()=>C).exhaustive(),[v,l,C,g]),B=!l&&A&&f,D="hide"===v&&!l&&"configurator"===g,F=a(()=>({isPreview:B,isExpanded:l,enter:q,leave:z,isPreviewEnabled:A,isHidden:D}),[B,l,q,z,A,D]),G=s(k).with("on",()=>!0).with("standby","off",()=>!1).exhaustive();return i(()=>{l&&G?b():j()},[l,b,j,G]),i(()=>{D?E():y()},[D,E,y]),e(h.Provider,{value:F,children:o})};export const usePreview=()=>{let e=o(h);if(!e)throw Error("Context was not provided - usePreview must be used inside PreviewContext provider");return e};
@@ -1,6 +1,6 @@
1
1
  import type { Viewport } from '#package/domain';
2
- import { type ResponsiveInfo } from '#package/ui-sdk';
3
- type ViewportFlags = Pick<ResponsiveInfo, 'isPhone' | 'isMobile' | 'isTablet' | 'isDesktop' | 'isLandscape' | 'isPortrait'>;
2
+ import { type ResponsiveState } from '#package/react-sdk';
3
+ type ViewportFlags = Pick<ResponsiveState, 'isPhone' | 'isMobile' | 'isTablet' | 'isDesktop' | 'isLandscape' | 'isPortrait'>;
4
4
  /**
5
5
  * Maps the responsive flags of the configurator container to the viewport classes stored in the domain.
6
6
  */
@@ -1 +1 @@
1
- import{useEffect as t,useRef as e}from"react";import{useDomain as r}from"#package/react-sdk";import{useResponsive as o}from"#package/ui-sdk";let i=[["isPhone","phone"],["isMobile","mobile"],["isTablet","tablet"],["isDesktop","desktop"],["isLandscape","landscape"],["isPortrait","portrait"]];export const getActiveViewports=t=>i.filter(([e])=>t[e]).map(([,t])=>t);export const ViewportStateSync=()=>{let{storeSystem:i,navigationSystem:p}=r(),{isPhone:a,isMobile:l,isTablet:n,isDesktop:s,isLandscape:c,isPortrait:m}=o(),g=e(null);return t(()=>{let t,e=getActiveViewports({isPhone:a,isMobile:l,isTablet:n,isDesktop:s,isLandscape:c,isPortrait:m});0===e.length||(t=g.current,null!==t&&t.length===e.length&&t.every((t,r)=>t===e[r]))||(g.current=e,i.stageAndCommit([p.getViewportUpdate(e)]))},[a,l,n,s,c,m,i,p]),null};
1
+ import{useEffect as t,useRef as e}from"react";import{useDomain as r,useResponsiveState as o}from"#package/react-sdk";let i=[["isPhone","phone"],["isMobile","mobile"],["isTablet","tablet"],["isDesktop","desktop"],["isLandscape","landscape"],["isPortrait","portrait"]];export const getActiveViewports=t=>i.filter(([e])=>t[e]).map(([,t])=>t);export const ViewportStateSync=()=>{let{storeSystem:i,navigationSystem:l}=r(),{isPhone:n,isMobile:p,isTablet:a,isDesktop:s,isLandscape:c,isPortrait:g}=o(),m=e(null);return t(()=>{let t,e=getActiveViewports({isPhone:n,isMobile:p,isTablet:a,isDesktop:s,isLandscape:c,isPortrait:g});0===e.length||(t=m.current,null!==t&&t.length===e.length&&t.every((t,r)=>t===e[r]))||(m.current=e,i.stageAndCommit([l.getViewportUpdate(e)]))},[n,p,a,s,c,g,i,l]),null};