@salsita-ai/sdk 0.50.0-develop.70dc8d05b6 → 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 (1009) 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/relation-expression-params.js +1 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +15 -1
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  67. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  68. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  69. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  70. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  71. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  72. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  73. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  74. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  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 +59 -63
  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-presets.js +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  91. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  93. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  94. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  95. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  99. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  100. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  101. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  102. package/dist/application-spec/generate-application/code/templates/globals.js +24 -44
  103. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  104. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  106. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  107. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  108. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  109. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  110. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  114. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
  115. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  116. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  117. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -7
  118. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  119. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  126. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  127. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  128. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  129. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  130. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  131. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  132. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  133. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  134. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  135. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  136. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  137. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  138. package/dist/application-spec/generate-application/index.d.ts +2 -0
  139. package/dist/application-spec/generate-application/index.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  142. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  143. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  145. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  146. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  149. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  150. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  151. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  152. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  157. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  158. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  159. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  161. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  162. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  163. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  164. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  165. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  166. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  168. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  169. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  170. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  172. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  173. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  174. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  175. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  176. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  177. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  178. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  179. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  180. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  183. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  184. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  185. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  187. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  189. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  190. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  191. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  192. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  193. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  194. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  195. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  196. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  197. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  198. package/dist/application-spec/index.d.ts +1 -0
  199. package/dist/application-spec/index.js +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  201. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  203. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  204. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  205. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  206. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +33 -3
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  209. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  212. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  225. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  231. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  233. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  235. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  237. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  239. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  243. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  245. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  247. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  255. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  257. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  262. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  264. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  271. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  273. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  274. package/dist/client/phoenix-api.d.ts +463 -0
  275. package/dist/configurator/ConfiguratorApp.js +1 -1
  276. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  277. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  278. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  279. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  280. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  281. package/dist/configurator/app-loader-content/index.js +1 -0
  282. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  283. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +36 -1
  284. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  285. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +19 -3
  286. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  287. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  288. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  289. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  290. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  291. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  292. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  293. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  294. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  296. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  297. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +52 -5
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  301. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  302. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  303. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  304. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  305. package/dist/configurator/common/configurator-interface.d.ts +137 -4
  306. package/dist/configurator/common/configurator-interface.js +1 -1
  307. package/dist/configurator/common/index.d.ts +3 -1
  308. package/dist/configurator/common/index.js +1 -1
  309. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  310. package/dist/configurator/common/use-reset-camera.js +1 -0
  311. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  312. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  313. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  314. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  315. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  316. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  317. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  318. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  319. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  320. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  321. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  322. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  323. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  324. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  325. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  326. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  327. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  328. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  329. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  330. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  331. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  332. package/dist/configurator/configurator-error-page/index.js +1 -0
  333. package/dist/configurator/index.d.ts +3 -0
  334. package/dist/configurator/index.js +1 -1
  335. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  336. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  337. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  338. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  339. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  340. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  341. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  342. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  343. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  344. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  345. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  346. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  347. package/dist/configurator/pages/RootPage.js +1 -1
  348. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  349. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  350. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  351. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  352. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  353. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  354. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  355. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  356. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  357. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  358. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  359. package/dist/configurator/pages/default-elements/index.js +1 -0
  360. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  361. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  362. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  363. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  364. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  365. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  366. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  367. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  368. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  369. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  370. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  371. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  372. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  373. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  374. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  375. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  376. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  377. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  378. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  379. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  380. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  381. package/dist/configurator/pages/index.d.ts +1 -0
  382. package/dist/configurator/pages/index.js +1 -1
  383. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  384. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  385. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  386. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  387. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  388. package/dist/configurator/preset-screen-elements/index.js +1 -0
  389. package/dist/configurator/scene/index.d.ts +1 -0
  390. package/dist/configurator/scene/index.js +1 -1
  391. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  392. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  393. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  394. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  395. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  396. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  397. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  398. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  399. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  400. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  401. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  402. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  403. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  404. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  405. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  406. package/dist/configurator/toolbar-actions/index.js +1 -0
  407. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  408. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  409. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  410. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  411. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  412. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  413. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  414. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  415. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  416. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  417. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  418. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  419. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  420. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  421. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  422. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  423. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  424. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  425. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  426. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  427. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  428. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  429. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  430. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  431. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  432. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  433. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  434. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  435. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  436. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  437. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  438. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  439. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  440. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  441. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  442. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  443. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  444. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  445. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  446. package/dist/configurator/ui/assistant/form/index.js +1 -0
  447. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  448. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  449. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  450. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  451. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  452. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  453. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  454. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  455. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  456. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  457. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  458. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  459. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  460. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  461. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  462. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  463. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  464. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  465. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  466. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  467. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  468. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  469. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  470. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  471. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  472. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  473. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  474. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  475. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  476. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  477. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  478. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  479. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  480. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  481. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  482. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  483. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  484. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  485. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  486. package/dist/configurator/ui/assistant/index.js +1 -1
  487. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  488. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  489. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  490. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  491. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  492. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  493. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  494. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  495. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  496. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  497. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  498. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  499. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  500. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  501. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  502. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  503. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  504. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  505. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  506. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  507. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  508. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  509. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  510. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  511. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  512. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  513. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  514. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  515. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  516. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  517. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  518. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  519. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  520. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  521. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  522. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  523. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  524. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  525. package/dist/configurator/ui/configurator-layout/{universal → slots/desktop-sidebar}/DesktopSidebar.d.ts +23 -14
  526. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  527. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  528. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  529. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  530. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  531. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  532. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  533. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  534. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  535. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  536. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  537. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  538. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  539. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  540. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -1
  541. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +2 -2
  542. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  543. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  544. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  545. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  546. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  547. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  548. package/dist/configurator/ui/index.d.ts +1 -0
  549. package/dist/configurator/ui/index.js +1 -1
  550. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  551. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  552. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  553. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  554. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  555. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  556. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  557. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  558. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  559. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  560. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  561. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  562. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  563. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  564. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  565. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  566. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  567. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  568. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  569. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  570. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  571. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  572. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  573. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  574. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  575. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  576. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  577. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  578. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  579. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  580. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  581. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  582. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  583. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  584. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  585. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  586. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  587. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  588. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  589. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  590. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  591. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  592. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  593. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  594. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  595. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  596. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  597. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  598. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  599. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  600. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  601. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  602. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  603. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  604. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  605. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  606. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  607. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  608. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  609. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  610. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  611. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  612. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  613. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  614. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  615. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  616. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  617. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  618. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  619. package/dist/docs/fabs/basic.mdx +6 -2
  620. package/dist/docs/index.json +49 -1
  621. package/dist/docs/layouts/custom-layout.mdx +1640 -184
  622. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  623. package/dist/docs/layouts/header/fixed.mdx +2 -2
  624. package/dist/docs/layouts/header/floating.mdx +2 -2
  625. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  626. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  627. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  628. package/dist/docs/other-features/error-5xx.mdx +1 -1
  629. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  630. package/dist/docs/other-features/not-found-404.mdx +1 -1
  631. package/dist/docs/other-features/transformers.mdx +4 -0
  632. package/dist/docs/phoenix/application-states.mdx +9 -7
  633. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  634. package/dist/docs/phoenix/components.mdx +6 -0
  635. package/dist/docs/phoenix/configurator-interface.mdx +302 -23
  636. package/dist/docs/phoenix/deployments.mdx +2 -6
  637. package/dist/docs/phoenix/domain-model.mdx +2 -0
  638. package/dist/docs/phoenix/finalization.mdx +1 -1
  639. package/dist/docs/phoenix/getting-started.mdx +6 -3
  640. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  641. package/dist/docs/phoenix/localization.mdx +10 -6
  642. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  643. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  644. package/dist/docs/phoenix/project-structure.mdx +72 -34
  645. package/dist/docs/phoenix/quickstart.mdx +7 -7
  646. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  647. package/dist/docs/phoenix/testing.mdx +148 -0
  648. package/dist/docs/phoenix/webhooks.mdx +21 -4
  649. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  650. package/dist/domain/application/application-config.d.ts +3 -1
  651. package/dist/domain/application/assistant/assistant-manifest.d.ts +16 -1
  652. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +8 -1
  653. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  654. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  655. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  656. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  657. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  658. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  659. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  660. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  661. package/dist/domain/application/assistant/form/index.js +1 -0
  662. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  663. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  664. package/dist/domain/application/assistant/index.d.ts +2 -1
  665. package/dist/domain/application/assistant/index.js +1 -1
  666. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  667. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +2 -0
  668. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -1
  669. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  670. package/dist/domain/application/configurator-builder.d.ts +4 -1
  671. package/dist/domain/application/configurator-builder.js +1 -1
  672. package/dist/domain/available-system-components.d.ts +1 -1
  673. package/dist/domain/available-system-components.js +1 -1
  674. package/dist/domain/core/invariant/violation.d.ts +50 -2
  675. package/dist/domain/core/invariant/violation.js +1 -1
  676. package/dist/domain/core/model/model.d.ts +1 -1
  677. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  678. package/dist/domain/domain-context/index.d.ts +1 -1
  679. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  680. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  681. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  682. package/dist/domain/domain-context/undo-system.js +1 -1
  683. package/dist/domain/domain-runtime/domain-runtime.d.ts +4 -0
  684. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  685. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  686. package/dist/domain/domain-runtime/spec/index.js +1 -1
  687. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  688. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  689. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  690. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  691. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  692. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  693. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +2 -1
  694. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  695. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  696. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  697. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  698. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  699. package/dist/domain/extensions/attribute-switch.js +1 -1
  700. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  701. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  702. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  703. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  704. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  705. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  706. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  707. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  708. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  709. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  710. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  711. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  712. package/dist/domain/extensions/export-images/index.js +1 -0
  713. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  714. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  715. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  716. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  717. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  718. package/dist/domain/extensions/index.d.ts +1 -2
  719. package/dist/domain/extensions/index.js +1 -1
  720. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  721. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  722. package/dist/domain/extensions/offset-indicator.js +1 -1
  723. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  724. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  725. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +2 -0
  726. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  727. package/dist/domain/mocks/create-test-application-config.js +1 -0
  728. package/dist/domain/mocks/index.d.ts +1 -0
  729. package/dist/domain/mocks/index.js +1 -1
  730. package/dist/domain/system-components/application-config.d.ts +2 -2
  731. package/dist/domain/system-components/child-entity-selection.js +1 -1
  732. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  733. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  734. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  735. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  736. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  737. package/dist/domain/system-components/common/recipes.js +1 -1
  738. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  739. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  740. package/dist/domain/system-components/constraint.d.ts +10 -23
  741. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  742. package/dist/domain/system-components/drag-handle.js +1 -1
  743. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  744. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  745. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  746. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  747. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  748. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  749. package/dist/domain/system-components/material-swatch.js +1 -1
  750. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  751. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  752. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  753. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  754. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  755. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  756. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  757. package/dist/editor/Editor.d.ts +7 -0
  758. package/dist/editor/Editor.js +1 -1
  759. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  760. package/dist/editor/domain-editors/apply-spec-update.d.ts +8 -1
  761. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  762. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  763. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  764. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  765. package/dist/editor/mocks/EditorMockContext.js +1 -1
  766. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  767. package/dist/globals/index.d.ts +2 -0
  768. package/dist/i18n/locales/cs/messages.js +1 -1
  769. package/dist/i18n/locales/da/messages.js +1 -1
  770. package/dist/i18n/locales/de/messages.js +1 -1
  771. package/dist/i18n/locales/de-AT/messages.js +1 -1
  772. package/dist/i18n/locales/en/messages.js +1 -1
  773. package/dist/i18n/locales/en-AU/messages.js +1 -1
  774. package/dist/i18n/locales/en-GB/messages.js +1 -1
  775. package/dist/i18n/locales/es/messages.js +1 -1
  776. package/dist/i18n/locales/fr/messages.js +1 -1
  777. package/dist/i18n/locales/hu/messages.js +1 -1
  778. package/dist/i18n/locales/it/messages.js +1 -1
  779. package/dist/i18n/locales/nl/messages.js +1 -1
  780. package/dist/i18n/locales/pl/messages.js +1 -1
  781. package/dist/i18n/locales/pt/messages.js +1 -1
  782. package/dist/i18n/locales/ro/messages.js +1 -1
  783. package/dist/i18n/locales/sk/messages.js +1 -1
  784. package/dist/i18n/locales/tr/messages.js +1 -1
  785. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  786. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  787. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  788. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  789. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  790. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  791. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  792. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  793. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  794. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  795. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  796. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  797. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  798. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  799. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  800. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  801. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  802. package/dist/phoenix/application-spec/project-files.js +1 -1
  803. package/dist/phoenix/bin.d.ts +2 -0
  804. package/dist/phoenix/bin.js +2 -0
  805. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  806. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  807. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  808. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  809. package/dist/phoenix/check-configs/index.d.ts +8 -0
  810. package/dist/phoenix/check-configs/index.js +1 -0
  811. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  812. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  813. package/dist/phoenix/cli.d.ts +0 -1
  814. package/dist/phoenix/cli.js +1 -2
  815. package/dist/phoenix/commands/build.js +1 -1
  816. package/dist/phoenix/commands/check.js +1 -1
  817. package/dist/phoenix/commands/clean.js +1 -1
  818. package/dist/phoenix/commands/deploy.js +2 -2
  819. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  820. package/dist/phoenix/commands/deps/deps.js +3 -0
  821. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  822. package/dist/phoenix/commands/deps/index.js +1 -0
  823. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  824. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  825. package/dist/phoenix/commands/dev.js +5 -5
  826. package/dist/phoenix/commands/fix.js +1 -1
  827. package/dist/phoenix/commands/index.d.ts +1 -0
  828. package/dist/phoenix/commands/index.js +1 -1
  829. package/dist/phoenix/commands/init.d.ts +17 -5
  830. package/dist/phoenix/commands/init.js +1 -1
  831. package/dist/phoenix/commands/link.js +1 -1
  832. package/dist/phoenix/commands/prettier.js +1 -1
  833. package/dist/phoenix/commands/sync.js +1 -1
  834. package/dist/phoenix/commands/unlink.js +1 -1
  835. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  836. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  837. package/dist/phoenix/services/lingui.d.ts +8 -0
  838. package/dist/phoenix/services/lingui.js +1 -1
  839. package/dist/phoenix/services/source-archive.d.ts +1 -0
  840. package/dist/phoenix/services/source-archive.js +1 -1
  841. package/dist/phoenix/services/swc.js +1 -1
  842. package/dist/phoenix/services/vite-config.js +1 -1
  843. package/dist/phoenix/utils/index.d.ts +4 -2
  844. package/dist/phoenix/utils/index.js +1 -1
  845. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  846. package/dist/phoenix/utils/node-version/index.js +1 -0
  847. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  848. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  849. package/dist/phoenix/utils/package-info.d.ts +0 -9
  850. package/dist/phoenix/utils/package-info.js +1 -1
  851. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  852. package/dist/phoenix/utils/package-manager/index.js +1 -0
  853. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  854. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  855. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  856. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  857. package/dist/phoenix/utils/run-command.d.ts +11 -0
  858. package/dist/phoenix/utils/run-command.js +1 -1
  859. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  860. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  861. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  862. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  863. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  864. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  865. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  866. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  867. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  868. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  869. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  870. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -0
  871. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  872. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  873. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  874. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  875. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  876. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  877. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  878. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  879. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  880. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  881. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  882. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  883. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  884. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  885. package/dist/react-sdk/domain-context/index.js +1 -1
  886. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  887. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  888. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  889. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  890. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  891. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  892. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  893. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  894. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  895. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  896. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  897. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  898. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  899. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  900. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  901. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  902. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  903. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  904. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  905. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  906. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  907. package/dist/react-sdk/elements/index.d.ts +1 -0
  908. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  909. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  910. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  911. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  912. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  913. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  914. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  915. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  916. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  917. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  918. package/dist/react-sdk/handlers/index.d.ts +6 -0
  919. package/dist/react-sdk/handlers/index.js +1 -1
  920. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  921. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  922. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  923. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  924. package/dist/react-sdk/index.d.ts +2 -0
  925. package/dist/react-sdk/index.js +1 -1
  926. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  927. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  928. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  929. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  930. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  931. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  932. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  933. package/dist/react-sdk/responsive-state/index.js +1 -0
  934. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  935. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  936. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  937. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  938. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  939. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  940. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  941. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  942. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  943. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  944. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  945. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  946. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  947. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  948. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  949. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  950. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  951. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  952. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  953. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  954. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  955. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  956. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  957. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  958. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  959. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  960. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  961. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  962. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  963. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  964. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  965. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  966. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  967. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  968. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  969. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  970. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  971. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  972. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  973. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  974. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  975. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  976. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  977. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  978. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  979. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  980. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  981. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  982. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  983. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  984. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  985. package/dist/ui-sdk/theme/types.d.ts +5 -1
  986. package/package.json +48 -36
  987. package/schema/domain-spec.json +1341 -217
  988. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  989. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  990. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  991. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  992. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  993. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  994. package/dist/configurator/common/frontend-analytics.js +0 -1
  995. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +0 -16
  996. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  997. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  998. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  999. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1000. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1001. package/dist/domain/extensions/client-side-image.js +0 -1
  1002. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1003. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1004. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1005. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1006. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1007. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1008. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1009. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -1 +1 @@
1
- import{jsx as o,jsxs as r}from"react/jsx-runtime";import e from"mui-modal-provider";import{memo as i,useCallback as n,useEffect as t}from"react";import{InvalidAccessKeyError as a}from"#package/client";import{BuiltInLoadingPhase as d,CommonAnalyticsFactory as s,DomainLifecycleBoundary as l,LoadedDataProvider as u,PhoenixLayoutElement as c,useAccessService as f,useAnalyticsService as m,useAuthorizedClient as g,useConfiguratorDomainFactory as p,useConfiguratorLoadStatus as v,useConfiguratorRawLoadedData as I,useExpectPhase as C,useLoadedDataActions as h,useLoadingError as j,useLoadingPhase as k,useLogger as w,useRoutingService as y,useSpecAssistant as b}from"#package/react-sdk";import{useConfigurator as x}from"../application-runtime/index.js";import{IntegrationSubscription as E,OnConfiguratorReadyProvider as L,ViewportStateSync as D}from"../configurator-context/index.js";import{ConfiguratorNotFoundPage as M}from"./ConfiguratorNotFoundPage.js";import{DefaultConfiguratorLayout as F}from"./DefaultConfiguratorLayout.js";import{DevContextFallback as S}from"./error-boundaries/DevContextFallback.js";import{DevLoadingFallback as T}from"./error-boundaries/DevLoadingFallback.js";import{LoadingErrorBoundary as A}from"./error-boundaries/LoadingErrorBoundary.js";import{useLoad as P}from"./use-load.js";let R=i(()=>((()=>{let{assistantSystem:o}=x(),r=null!=b();t(()=>{if(r)return o.activate()},[o,r])})(),o(e,{children:o(L,{children:o(c,{name:"ConfiguratorLayout",defaultSlot:F})})})));export const LoadedConfiguratorDetailPage=()=>{C(d.SceneAssets);let{configurationId:e,accessInfo:i}=f(),t=g(),c=y(),b=w(),x=m(),{startConfiguratorLoad:L,completeConfiguratorLoad:F,failConfiguratorLoad:V,resetConfiguratorLoad:q}=h(),{isLoading:B,isError:G}=v(),N=I(),z=p(),H=n(()=>i.viewMode&&void 0!==i.revisionId?t.getConfigurationRevision(e,i.revisionId):t.getConfiguration(e),[i.revisionId,i.viewMode,t,e]),J=n(()=>{L()},[L]),K=n(o=>{F({initialRevisionId:o.revisionId,initialEntities:o.data,modelVersion:o.modelVersion,rootEntityType:o.rootEntityType,schemaIdentity:z}),x.push(s.ConfigurationLoaded(o.configurationId,o.revisionId,i.viewMode?"read":"owner")),b.appendToGlobalContext({configurationId:o.configurationId,revisionId:o.revisionId,mode:i.viewMode}),b.info("Configuration loaded.")},[i.viewMode,x,F,z,b]),O=n(o=>{if(V(o),o instanceof a)return void c.rejectAccessToken(e,i.raw);let r=o instanceof Error?o:Error("Configuration loading failed with an unknown error.",{cause:o});b.error("Configuration loading failed because the API request did not succeed. Verify the configuration ID and access token.",{configurationId:e},r)},[i.raw,e,V,b,c]),Q=n(()=>{q()},[q]);return(P({key:[t,e,i.revisionId,i.viewMode],load:H,onStart:J,onSuccess:K,onError:O,onCleanup:Q}),k({id:d.DataFetch,label:"Loading configuration…"},B),j(G),G)?o(M,{}):null===N?null:o(u,{value:N,children:o(A,{fallbackRender:r=>o(T,{...r}),children:o(l,{type:"configurator",children:o(A,{FallbackComponent:S,children:r(E,{children:[o(D,{}),o(R,{})]})})})})})};
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import i from"mui-modal-provider";import{memo as e,useCallback as n,useEffect as t,useState as a}from"react";import{InvalidAccessKeyError as d}from"#package/client";import{BuiltInLoadingPhase as l,CommonAnalyticsFactory as s,DomainLifecycleBoundary as c,FinalizeActionsHost as u,FinalizeActionsProvider as f,LoadedDataProvider as m,PhoenixLayoutElement as g,useAccessService as p,useAnalyticsService as v,useAuthorizedClient as I,useConfiguratorDomainFactory as h,useConfiguratorLoadStatus as j,useConfiguratorRawLoadedData as C,useLoadedDataActions as k,useLoadingError as w,useLoadingPhase as y,useLogger as b,useRoutingService as x,useSpecAssistant as M}from"#package/react-sdk";import{useConfigurator as E}from"../application-runtime/index.js";import{IntegrationSubscription as L,OnConfiguratorReadyProvider as D,ViewportStateSync as F}from"../configurator-context/index.js";import{ConfiguratorNotFoundPage as T}from"./ConfiguratorNotFoundPage.js";import{ConfiguratorLayoutName as P}from"./configurator-layout-name.js";import{DevContextFallback as R}from"./error-boundaries/DevContextFallback.js";import{DevLoadingFallback as V}from"./error-boundaries/DevLoadingFallback.js";import{LoadingErrorBoundary as A}from"./error-boundaries/LoadingErrorBoundary.js";import{useLoad as S}from"./use-load.js";let q=({onMount:o})=>(t(()=>{o()},[o]),null),B=e(({onLayoutMount:e})=>((()=>{let{assistantSystem:o}=E(),r=null!=M();t(()=>{if(r)return o.activate()},[o,r])})(),o(f,{children:o(i,{children:r(D,{children:[o(u,{}),o(g,{name:P}),o(q,{onMount:e})]})})})));export const LoadedConfiguratorDetailPage=()=>{let[i,e]=a(!1),t=n(()=>{e(!0)},[]),{configurationId:u,accessInfo:f}=p(),g=I(),M=x(),E=b(),D=v(),{startConfiguratorLoad:P,completeConfiguratorLoad:q,failConfiguratorLoad:G,resetConfiguratorLoad:N}=k(),{isLoading:z,isError:H}=j(),J=C(),K=h(),O=n(()=>f.viewMode&&void 0!==f.revisionId?g.getConfigurationRevision(u,f.revisionId):g.getConfiguration(u),[f.revisionId,f.viewMode,g,u]),Q=n(()=>{P()},[P]),U=n(o=>{q({initialRevisionId:o.revisionId,initialEntities:o.data,modelVersion:o.modelVersion,rootEntityType:o.rootEntityType,schemaIdentity:K}),D.push(s.ConfigurationLoaded(o.configurationId,o.revisionId,f.viewMode?"read":"owner")),E.appendToGlobalContext({configurationId:o.configurationId,revisionId:o.revisionId,mode:f.viewMode}),E.info("Configuration loaded.")},[f.viewMode,D,q,K,E]),W=n(o=>{if(G(o),o instanceof d)return void M.rejectAccessToken(u,f.raw);let r=o instanceof Error?o:Error("Configuration loading failed with an unknown error.",{cause:o});E.error("Configuration loading failed because the API request did not succeed. Verify the configuration ID and access token.",{configurationId:u},r)},[f.raw,u,G,E,M]),X=n(()=>{N()},[N]);return(S({key:[g,u,f.revisionId,f.viewMode],load:O,onStart:Q,onSuccess:U,onError:W,onCleanup:X}),y({id:l.DataFetch,label:"Loading configuration…"},z||!H&&!i),w(H),H)?o(T,{}):null===J?null:o(m,{value:J,children:o(A,{fallbackRender:r=>o(V,{...r}),children:o(c,{type:"configurator",children:o(A,{FallbackComponent:R,children:r(L,{children:[o(F,{}),o(B,{onLayoutMount:t})]})})})})})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useEffect as e}from"react";import{assertExistence as o}from"@salsita-ai/common/utils";import{AnalyticsEventFactory as r}from"#package/domain";import{useAnalyticsService as a,useIsDev as i,useLogger as n,useOnMount as d}from"#package/react-sdk";import{usePresetSelection as m}from"../configurator-context/index.js";import{PresetUi as s}from"../ui/preset-layout/PresetUi.js";import{PresetCreationErrorPage as l}from"./PresetCreationErrorPage.js";let p=t=>{let{id:e}=t,o=n(),{selectPreset:r}=m();return d(()=>{o.debug("Only single preset available, creating configuration automatically."),r(e)}),null};export const NewConfiguratorPage=()=>{let d=n(),g=a(),u=i(),{presetCategories:f,selectionError:c}=m();e(()=>{g.push(r.DataLoadedEvent({configurationId:"notYetLoaded",revisionId:"notYetLoaded",mode:"notYetLoaded"})),d.appendToGlobalContext({navigationState:"NewConfiguratorPage",revisionId:"notYetLoaded",mode:"notYetLoaded"})},[g,d]);let x=f.flatMap(t=>t.presets),L=1===x.length;return c&&(u||L)?t(l,{error:c}):L?t(p,{id:o(x[0]).id}):t(s,{})};
1
+ import{jsx as o}from"react/jsx-runtime";import{useEffect as t}from"react";import{assertExistence as e}from"@salsita-ai/common/utils";import{AnalyticsEventFactory as r}from"#package/domain";import{useAnalyticsService as a,useIsDev as i,useLogger as n,useOnMount as d}from"#package/react-sdk";import{usePresetSelection as m}from"../configurator-context/index.js";import{PresetUi as s}from"../ui/index.js";import{PresetCreationErrorPage as l}from"./PresetCreationErrorPage.js";let p=o=>{let{id:t}=o,e=n(),{selectPreset:r}=m();return d(()=>{e.debug("Only single preset available, creating configuration automatically."),r(t)}),null};export const NewConfiguratorPage=()=>{let d=n(),g=a(),f=i(),{presetCategories:u,selectionError:c}=m();t(()=>{g.push(r.DataLoadedEvent({configurationId:"notYetLoaded",revisionId:"notYetLoaded",mode:"notYetLoaded"})),d.appendToGlobalContext({navigationState:"NewConfiguratorPage",revisionId:"notYetLoaded",mode:"notYetLoaded"})},[g,d]);let x=u.flatMap(o=>o.presets),L=1===x.length;return c&&(f||L)?o(l,{error:c}):L?o(p,{id:e(x[0]).id}):o(s,{})};
@@ -4,7 +4,7 @@ interface PresetCreationErrorPageProps {
4
4
  /**
5
5
  * Page shown when creating a configuration from a preset fails. Renders the
6
6
  * detailed `DevErrorPage` in development (with extra guidance for known errors)
7
- * and the generic `ErrorPage` in production. The action reloads the page rather
7
+ * and the `ConfiguratorErrorPage` element in production. The action reloads the page rather
8
8
  * than retrying, since the common causes are not resolved by a retry.
9
9
  */
10
10
  export declare const PresetCreationErrorPage: (props: PresetCreationErrorPageProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Box as r,Typography as o}from"@mui/material";import{useCallback as a}from"react";import{isConfigurationSchemaMismatchError as i}from"#package/client";import{isStateMigrationError as n}from"#package/domain";import{useIsDev as s}from"#package/react-sdk";import{DevErrorPage as d,ErrorPage as l}from"#package/ui-sdk";let m=a=>{let{heading:i,details:n}=a;return t(r,{component:"div",sx:{p:2,backgroundColor:"#ffebee",borderRadius:1,borderLeft:"4px solid #f44336"},children:[e(o,{variant:"subtitle2",sx:{fontWeight:600,mb:1,color:"error.main"},children:i}),e(o,{variant:"body2",sx:{mb:1},children:"Update the preset data to match the current model, or re-register/redeploy the schema. Details:"}),e(r,{component:"pre",sx:{m:0,p:1.5,backgroundColor:"#fff",borderRadius:1,border:"1px solid #e0e0e0",fontFamily:"monospace",fontSize:"0.75rem",whiteSpace:"pre-wrap",overflowX:"auto"},children:n})]})};export const PresetCreationErrorPage=t=>{let{error:r}=t,o=s(),c=a(()=>{window.location.reload()},[]);if(!o)return e(l,{title:"Whoops, something went wrong!",message:"We couldn't start configuring from this preset. Please reload the page and try again.",buttonLabel:"Reload page",onButtonClick:c});let p=i(r)?{title:"Preset does not match the registered schema (Dev Mode)",heading:"⚠️ Preset data rejected by the configuration schema on the server",details:r.details}:n(r)?{title:"Preset could not be migrated to the current model (Dev Mode)",heading:"⚠️ Preset data is invalid for the current domain model",details:r.message}:null;return e(d,{title:p?.title??"Failed to create configuration (Dev Mode)",subtitle:"Creating a configuration from the preset failed. This detailed view is only visible in development mode.",errorName:r.name,errorMessage:r.message,errorStack:p?null:r.stack,error:r,onReset:c,resetLabel:"Reload page",children:p&&e(m,{heading:p.heading,details:p.details})})};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Box as t,Typography as o}from"@mui/material";import{useCallback as a}from"react";import{isConfigurationSchemaMismatchError as i}from"#package/client";import{isStateMigrationError as n}from"#package/domain";import{useIsDev as d}from"#package/react-sdk";import{DevErrorPage as s}from"#package/ui-sdk";import{ConfiguratorErrorPageElement as l}from"../configurator-error-page/index.js";let m=a=>{let{heading:i,details:n}=a;return r(t,{component:"div",sx:{p:2,backgroundColor:"#ffebee",borderRadius:1,borderLeft:"4px solid #f44336"},children:[e(o,{variant:"subtitle2",sx:{fontWeight:600,mb:1,color:"error.main"},children:i}),e(o,{variant:"body2",sx:{mb:1},children:"Update the preset data to match the current model, or re-register/redeploy the schema. Details:"}),e(t,{component:"pre",sx:{m:0,p:1.5,backgroundColor:"#fff",borderRadius:1,border:"1px solid #e0e0e0",fontFamily:"monospace",fontSize:"0.75rem",whiteSpace:"pre-wrap",overflowX:"auto"},children:n})]})};export const PresetCreationErrorPage=r=>{let{error:t}=r,o=d(),c=a(()=>{window.location.reload()},[]);if(!o)return e(l,{reason:"presetCreationFailed",onRetry:c});let p=i(t)?{title:"Preset does not match the registered schema (Dev Mode)",heading:"⚠️ Preset data rejected by the configuration schema on the server",details:t.details}:n(t)?{title:"Preset could not be migrated to the current model (Dev Mode)",heading:"⚠️ Preset data is invalid for the current domain model",details:t.message}:null;return e(s,{title:p?.title??"Failed to create configuration (Dev Mode)",subtitle:"Creating a configuration from the preset failed. This detailed view is only visible in development mode.",errorName:t.name,errorMessage:t.message,errorStack:p?null:t.stack,error:t,onReset:c,resetLabel:"Reload page",children:p&&e(m,{heading:p.heading,details:p.details})})};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{match as t}from"ts-pattern";import{SessionRole as r}from"@salsita-ai/contracts/api";import{ApplicationRoutes as e,ConfigurationNotFoundPage as i,NotAuthenticatedPage as a,useRoutingState as n,useSession as s,useSpecCanCreate as m}from"#package/react-sdk";import{ConfiguratorRoot as c}from"./ConfiguratorRoot.js";import{NewConfiguratorPage as u}from"./NewConfiguratorPage.js";export const RootPage=()=>{let f=m(),p=n(),{sessionPayload:g}=s(),d=g?.role??r.Anonymous,x=f.includes(d);return t(p).with({route:e.Index},()=>x?o(u,{}):d===r.Anonymous?o(a,{}):o(i,{})).with({route:e.Configuration},t=>o(c,{configurationId:t.configurationId,accessToken:t.accessToken})).exhaustive()};
1
+ import{jsx as o}from"react/jsx-runtime";import{match as t}from"ts-pattern";import{SessionRole as r}from"@salsita-ai/contracts/api";import{ApplicationRoutes as i,NotAuthenticatedPage as n,useRoutingState as e,useSession as a,useSpecCanCreate as s}from"#package/react-sdk";import{ConfigurationNotFoundPageElement as m}from"../configuration-not-found-page/index.js";import{ConfiguratorRoot as u}from"./ConfiguratorRoot.js";import{NewConfiguratorPage as c}from"./NewConfiguratorPage.js";export const RootPage=()=>{let f=s(),p=e(),{sessionPayload:g}=a(),d=g?.role??r.Anonymous,x=f.includes(d);return t(p).with({route:i.Index},()=>x?o(c,{}):d===r.Anonymous?o(n,{}):o(m,{})).with({route:i.Configuration},t=>o(u,{configurationId:t.configurationId,accessToken:t.accessToken})).exhaustive()};
@@ -0,0 +1,2 @@
1
+ /** The name a project registers a layout element under to replace the UI of a loaded configuration. */
2
+ export declare const ConfiguratorLayoutName = "ConfiguratorLayout";
@@ -0,0 +1 @@
1
+ export const ConfiguratorLayoutName="ConfiguratorLayout";
@@ -0,0 +1,13 @@
1
+ import { type ElementRegistration } from '#package/domain';
2
+ /**
3
+ * The configurator's default element registrations, passed to `withDefaultElements`. A project
4
+ * element registered under the same name replaces one: `ConfiguratorLayout` is the built-in UI of a
5
+ * loaded configuration, `ConfigurationNotFoundPage` the page shown when a configuration cannot be
6
+ * loaded or opened, `NotAuthenticatedPage` the page shown when session authentication fails or an
7
+ * anonymous visitor who may not create a configuration opens the start page, `PresetUi` the preset
8
+ * screen, `ConfiguratorErrorPage` the production error page, `AppLoaderContent` what the app loader
9
+ * overlay shows, `AddEntityFab`, `DeleteEntityFab`, `SelectionHotspot`, `NavigationHotspot` and
10
+ * `ToolMenuFab` the in-scene entity controls, and the others are the built-in controls, toolbar
11
+ * buttons, menu actions and sidebar-footer pieces under the spec kinds that YAML names.
12
+ */
13
+ export declare const defaultConfiguratorElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{ConfigurationNotFoundPage as r,createNotAuthenticatedPage as t}from"#package/react-sdk";import{AppLoaderContentName as e,DefaultAppLoaderContent as i}from"../app-loader-content/index.js";import{createConfigurationNotFoundPage as m}from"../configuration-not-found-page/index.js";import{BuiltInConfiguratorErrorPage as a,createConfiguratorErrorPage as f}from"../configurator-error-page/index.js";import{createPresetUi as n}from"../ui/index.js";import{DefaultConfiguratorLayout as p}from"./DefaultConfiguratorLayout.js";import{DefaultNotAuthenticatedPage as u}from"./DefaultNotAuthenticatedPage.js";import{DefaultPresetUi as s}from"./DefaultPresetUi.js";import{ConfiguratorLayoutName as d}from"./configurator-layout-name.js";import{domainControlElements as g,recipePanelElements as c,sceneControlElements as j,sidebarFooterElements as l,toolbarElements as x}from"./default-elements/index.js";export const defaultConfiguratorElements=[o(d,p),m(r),t(u),n(s),f(a),o(e,i),...g,...c,...j,...x,...l];
@@ -0,0 +1,10 @@
1
+ import { type PhoenixEntityElementDefinition, type PhoenixEntityElementRegistration } from '#package/domain';
2
+ /**
3
+ * Registers a built-in entity element under the `kind` of its schema, with the component that the
4
+ * element's module exports. The schema type argument ties the schema and the
5
+ * component's props together, as in `createPhoenixEntityElement`.
6
+ */
7
+ export declare const builtInEntityElement: <SCHEMA extends {
8
+ kind: string;
9
+ props?: Record<string, unknown>;
10
+ } = never>(schema: PhoenixEntityElementDefinition<SCHEMA>['schema'], component: PhoenixEntityElementDefinition<SCHEMA>['component']) => PhoenixEntityElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixEntityElement as t}from"#package/domain";export const builtInEntityElement=(e,n)=>t(e.properties.kind.enum[0],n);
@@ -0,0 +1,10 @@
1
+ import { type PhoenixLayoutElementDefinition, type PhoenixLayoutElementRegistration } from '#package/domain';
2
+ /**
3
+ * Registers a built-in layout element under the `kind` of its schema, with the component that the
4
+ * element's module exports. The schema type argument ties the schema and the
5
+ * component's props together, as in `createPhoenixLayoutElement`.
6
+ */
7
+ export declare const builtInLayoutElement: <SCHEMA extends {
8
+ kind: string;
9
+ props?: Record<string, unknown>;
10
+ } = never>(schema: PhoenixLayoutElementDefinition<SCHEMA>['schema'], component: PhoenixLayoutElementDefinition<SCHEMA>['component']) => PhoenixLayoutElementRegistration;
@@ -0,0 +1 @@
1
+ import{createCustomPhoenixLayoutElement as e}from"#package/domain";export const builtInLayoutElement=(o,t)=>e(o.properties.kind.enum[0],t);
@@ -0,0 +1,6 @@
1
+ import { type ElementRegistration } from '#package/domain';
2
+ /**
3
+ * The property-page controls of `react-sdk` and the two adapters that forward to a project element,
4
+ * registered under their spec kinds.
5
+ */
6
+ export declare const domainControlElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{attributeCardSelectorSchema as t,attributeListSelectorSchema as o,attributeSelectSchema as e,attributeSwitchSelectorSchema as m,attributeToggleSelectorSchema as i,childEntityCardSelectorSchema as r,childEntityListSelectorSchema as n,childEntityToggleSelectorSchema as a,colorPickerInputSchema as l,customElementSchema as p,customLayoutElementSchema as s,deleteEntityButtonSchema as c,dimensionListSelectorSchema as f,dimensionToggleSelectorSchema as d,distanceDimensionInputSchema as k,distanceDimensionSliderSchema as u,entityChildActionDeleteSchema as b,entityChildActionSelectSchema as g,entityChildrenListSchema as j,genericDimensionInputSchema as y,genericDimensionSliderSchema as x,horizontalGroupRecipePanelSchema as C,materialSwatchSelectorSchema as E,propertyContainerGroupSchema as h,propertyContainerItemSchema as q,replaceEntityDropdownSchema as v,simpleRecipePanelSchema as w,verticalGroupRecipePanelSchema as z}from"#package/domain";import{AttributeCardSelector as A,AttributeListSelector as B,AttributeSelect as D,AttributeSwitchSelector as F,AttributeToggleSelector as G,ChildEntityCardSelector as H,ChildEntityListSelector as I,ChildEntityToggleSelector as J,ColorPickerInput as K,CustomElement as L,CustomLayoutElement as M,DeleteEntityButton as N,DimensionListSelector as O,DimensionToggleSelector as P,DistanceDimensionInput as Q,DistanceDimensionSlider as R,EntityChildActionDelete as S,EntityChildActionSelect as T,GenericDimensionInput as U,GenericDimensionSlider as V,HorizontalGroupRecipePanel as W,MaterialSwatchSelector as X,PropertyContainerGroup as Y,PropertyContainerItem as Z,PropertyPageEntityChildrenList as $,ReplaceEntityDropdown as _,SimpleRecipePanel as tt,VerticalGroupRecipePanel as to}from"#package/react-sdk";import{builtInEntityElement as te}from"./built-in-entity-element.js";import{builtInLayoutElement as tm}from"./built-in-layout-element.js";export const domainControlElements=[te(t,A),te(o,B),te(e,D),te(m,F),te(i,G),te(r,H),te(n,I),te(a,J),te(l,K),te(p,L),tm(s,M),te(c,N),te(f,O),te(d,P),te(k,Q),te(u,R),te(b,S),te(g,T),te(j,$),te(y,U),te(x,V),te(C,W),te(E,X),te(h,Y),te(q,Z),te(v,_),te(w,tt),te(z,to)];
@@ -0,0 +1,5 @@
1
+ export { domainControlElements } from './domain-control-elements.js';
2
+ export { recipePanelElements } from './recipe-panel-elements.js';
3
+ export { sidebarFooterElements } from './sidebar-footer-elements.js';
4
+ export { toolbarElements } from './toolbar-elements.js';
5
+ export { BuiltInAddEntityFab, BuiltInDeleteEntityFab, BuiltInNavigationHotspot, BuiltInSelectionHotspot, BuiltInToolMenuFab, sceneControlElements, } from './scene-controls/index.js';
@@ -0,0 +1 @@
1
+ export{domainControlElements}from"./domain-control-elements.js";export{recipePanelElements}from"./recipe-panel-elements.js";export{sidebarFooterElements}from"./sidebar-footer-elements.js";export{toolbarElements}from"./toolbar-elements.js";export{BuiltInAddEntityFab,BuiltInDeleteEntityFab,BuiltInNavigationHotspot,BuiltInSelectionHotspot,BuiltInToolMenuFab,sceneControlElements}from"./scene-controls/index.js";
@@ -0,0 +1,3 @@
1
+ import { type ElementRegistration } from '#package/domain';
2
+ /** The configurator's recipe panels and the buttons that open them, registered under their spec kinds. */
3
+ export declare const recipePanelElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{groupedRecipeButtonSchema as e,groupedRecipePanelSchema as i,replaceEntityPanelButtonSchema as t,replaceEntityPanelSchema as m}from"#package/domain";import{GroupedRecipeButton as o,GroupedRecipePanel as n,ReplaceEntityPanel as r,ReplaceEntityPanelButton as p}from"../../ui/index.js";import{builtInEntityElement as a}from"./built-in-entity-element.js";export const recipePanelElements=[a(e,o),a(i,n),a(m,r),a(t,p)];
@@ -0,0 +1,3 @@
1
+ import type { AddEntityFabElementProps } from '#package/react-sdk';
2
+ /** The default of the `AddEntityFab` element: the SDK's add-entity FAB with its recipe menu. */
3
+ export declare const BuiltInAddEntityFab: (props: AddEntityFabElementProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as i}from"react/jsx-runtime";import{PhxIcon as e}from"#package/ui-sdk";import{AddEntityFab as t}from"../../../scene/index.js";export const BuiltInAddEntityFab=n=>{let{entityId:o,instanceNames:a,fixableViolations:r,icon:s,label:l,title:m,tooltipVisibility:p,skipMenuWhenOnlyOne:d,hideWhenNone:c}=n;return i(t,{parentEntityId:o,instanceNames:a,fixableViolations:r,icon:s?i(e,{name:s}):void 0,title:m,tooltipVisibility:p,label:l,skipMenuWhenOnlyOne:d,hideWhenNone:c})};
@@ -0,0 +1,3 @@
1
+ import { type DeleteEntityFabElementProps } from '#package/react-sdk';
2
+ /** The default of the `DeleteEntityFab` element: the SDK's delete-entity FAB. */
3
+ export declare const BuiltInDeleteEntityFab: (props: DeleteEntityFabElementProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{LocalizableMessage as i}from"#package/react-sdk";import{PhxIcon as t,DeleteEntityFab as o}from"#package/ui-sdk";import{useSceneControlTooltip as r}from"../../../scene/index.js";export const BuiltInDeleteEntityFab=a=>{let{icon:n,label:l,title:s,tooltipVisibility:d,onDelete:c,disabled:m,disabledHint:p,trace:b}=a,{tooltipOpen:k}=r(d);return e(o,{label:l?e(i,{children:l}):void 0,title:s?e(i,{children:s}):void 0,icon:n?e(t,{name:n}):void 0,disabled:m,disabledMessage:p,tooltipOpen:k,onClick:c,onDebugClick:b})};
@@ -0,0 +1,3 @@
1
+ import type { NavigationHotspotElementProps } from '#package/react-sdk';
2
+ /** The default of the `NavigationHotspot` element: the SDK's hotspot dot. */
3
+ export declare const BuiltInNavigationHotspot: (props: NavigationHotspotElementProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{SceneHotspot as i}from"../../../scene/index.js";export const BuiltInNavigationHotspot=o=>{let{title:e,tooltipVisibility:r,onNavigate:n}=o;return t(i,{onClick:n,title:e,tooltipVisibility:r})};
@@ -0,0 +1,3 @@
1
+ import type { SelectionHotspotElementProps } from '#package/react-sdk';
2
+ /** The default of the `SelectionHotspot` element: the SDK's hotspot dot. */
3
+ export declare const BuiltInSelectionHotspot: (props: SelectionHotspotElementProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{SceneHotspot as i}from"../../../scene/index.js";export const BuiltInSelectionHotspot=o=>{let{title:e,tooltipVisibility:r,onSelect:n}=o;return t(i,{onClick:n,title:e,tooltipVisibility:r})};
@@ -0,0 +1,3 @@
1
+ import type { ToolMenuFabElementProps } from '#package/react-sdk';
2
+ /** The default of the `ToolMenuFab` element: the SDK's FAB with its menu of tools. */
3
+ export declare const BuiltInToolMenuFab: (props: ToolMenuFabElementProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{ToolMenuFab as t}from"../../../scene/index.js";export const BuiltInToolMenuFab=i=>{let{options:e,icon:n,title:r,tooltipVisibility:l,onSelectTool:s}=i;return o(t,{options:e,icon:n,title:r,tooltipVisibility:l,onSelectTool:s})};
@@ -0,0 +1,6 @@
1
+ export { BuiltInAddEntityFab } from './BuiltInAddEntityFab.js';
2
+ export { BuiltInDeleteEntityFab } from './BuiltInDeleteEntityFab.js';
3
+ export { BuiltInNavigationHotspot } from './BuiltInNavigationHotspot.js';
4
+ export { BuiltInSelectionHotspot } from './BuiltInSelectionHotspot.js';
5
+ export { BuiltInToolMenuFab } from './BuiltInToolMenuFab.js';
6
+ export { sceneControlElements } from './scene-control-elements.js';
@@ -0,0 +1 @@
1
+ export{BuiltInAddEntityFab}from"./BuiltInAddEntityFab.js";export{BuiltInDeleteEntityFab}from"./BuiltInDeleteEntityFab.js";export{BuiltInNavigationHotspot}from"./BuiltInNavigationHotspot.js";export{BuiltInSelectionHotspot}from"./BuiltInSelectionHotspot.js";export{BuiltInToolMenuFab}from"./BuiltInToolMenuFab.js";export{sceneControlElements}from"./scene-control-elements.js";
@@ -0,0 +1,6 @@
1
+ import type { ElementRegistration } from '#package/domain';
2
+ /**
3
+ * The SDK's in-scene entity controls, registered under the element names the scene renders them by:
4
+ * `AddEntityFab`, `DeleteEntityFab`, `SelectionHotspot`, `NavigationHotspot` and `ToolMenuFab`.
5
+ */
6
+ export declare const sceneControlElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{createAddEntityFab as t,createDeleteEntityFab as o,createNavigationHotspot as i,createSelectionHotspot as r,createToolMenuFab as n}from"#package/react-sdk";import{BuiltInAddEntityFab as e}from"./BuiltInAddEntityFab.js";import{BuiltInDeleteEntityFab as m}from"./BuiltInDeleteEntityFab.js";import{BuiltInNavigationHotspot as s}from"./BuiltInNavigationHotspot.js";import{BuiltInSelectionHotspot as l}from"./BuiltInSelectionHotspot.js";import{BuiltInToolMenuFab as p}from"./BuiltInToolMenuFab.js";export const sceneControlElements=[t(e),o(m),r(l),i(s),n(p)];
@@ -0,0 +1,7 @@
1
+ import { type ElementRegistration } from '#package/domain';
2
+ /**
3
+ * The pieces of the configurator's sidebar footer, registered under their spec kinds. The built-in
4
+ * footers render these components directly, so a project element of the same name reaches only a
5
+ * `customSidebarFooter`.
6
+ */
7
+ export declare const sidebarFooterElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{enterSummaryButtonSchema as o,footerPriceSchema as e,mainFooterActionsSchema as t,nextStepButtonSchema as i,otherActionsSchema as m,previousStepButtonSchema as r,saveTemplateButtonSchema as n,stepLabelSchema as a,stepProgressSchema as p}from"#package/domain";import{EnterSummaryButton as s,FooterPrice as l,MainFooterActions as d,NextStepButton as f,OtherActions as u,PreviousStepButton as b,SaveTemplateButton as c,StepLabel as j,StepProgress as x}from"../../ui/index.js";import{builtInLayoutElement as g}from"./built-in-layout-element.js";export const sidebarFooterElements=[g(o,s),g(e,l),g(t,d),g(i,f),g(m,u),g(r,b),g(n,c),g(a,j),g(p,x)];
@@ -0,0 +1,7 @@
1
+ import { type ElementRegistration } from '#package/domain';
2
+ /**
3
+ * The configurator's toolbar buttons and mobile menu actions, registered under their spec kinds.
4
+ * `ToolbarHelp` is not among them: the toolbar shows its help button only when a project registers
5
+ * that name.
6
+ */
7
+ export declare const toolbarElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{assistantToolbarButtonSchema as o,enterFullscreenToolbarButtonSchema as t,exitFullscreenToolbarButtonSchema as m,helpMenuActionSchema as e,helpToolbarButtonSchema as i,languageMenuActionSchema as r,languageToolbarButtonSchema as n,measurementsMenuActionSchema as a,measurementsToolbarButtonSchema as l,redoToolbarButtonSchema as p,resetCameraToolbarButtonSchema as s,shareMenuActionSchema as f,shareToolbarButtonSchema as u,toolbarButtonGroupSchema as b,undoToolbarButtonSchema as c}from"#package/domain";import{AssistantToolbarButton as d,EnterFullscreenToolbarButton as j,ExitFullscreenToolbarButton as x,HelpMenuAction as g,HelpToolbarButton as k,LanguageMenuAction as y,LanguageToolbarButton as E,MeasurementsMenuAction as h,MeasurementsToolbarButton as q,RedoToolbarButton as v,ResetCameraToolbarButton as w,ShareMenuAction as z,ShareToolbarButton as A,ToolbarButtonGroup as B,UndoToolbarButton as C}from"../../ui/index.js";import{builtInLayoutElement as D}from"./built-in-layout-element.js";export const toolbarElements=[D(o,d),D(t,j),D(m,x),D(e,g),D(i,k),D(r,y),D(n,E),D(a,h),D(l,q),D(p,v),D(s,w),D(f,z),D(u,A),D(b,B),D(c,C)];
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Box as r,Stack as n,Typography as i}from"@mui/material";import{useApplicationRuntime as o,useIsDev as a}from"#package/react-sdk";import{DevErrorPage as l,ErrorPage as s}from"#package/ui-sdk";import{useResetOnEditorHotReload as c}from"./use-reset-on-editor-hot-reload.js";let d=()=>{let a=o();try{let o=a.selectors.domainContext.configurator;if(!o.getInitializationState().isCurrent)return null;let{storeSystem:l}=o.getDomainSystems(),s=l.stateSlices.committed.value,c=l.stateSlices.potentiallyInvalid.value,d=c.validity.valid||"uncaught"===c.validity.severity?[]:c.validity.entityViolations,m=d.length>0,p="reset"!==s.kind?s.updates:[];if(!m&&0===p.length)return null;return t(r,{component:"div",sx:{p:2,backgroundColor:m?"#ffebee":"#e3f2fd",borderRadius:1,borderLeft:m?"4px solid #f44336":"4px solid #2196f3"},children:[e(i,{variant:"subtitle2",sx:{fontWeight:600,mb:1,color:m?"error.main":"primary.main"},children:m?"⚠️ Error likely caused by invariant violations":"\uD83D\uDD04 Last state changes before error"}),m&&t(r,{component:"div",sx:{mb:2},children:[e(i,{variant:"body2",sx:{mb:1},children:"The following invariant violations were detected:"}),e(n,{component:"div",spacing:.5,children:d.map((e,r)=>t(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2},children:["• Entity ",String(e.entityId),": ",JSON.stringify(e.violation)]},r))})]}),p.length>0&&t(r,{component:"div",children:[t(i,{variant:"body2",sx:{mb:1},children:[p.length," update",1!==p.length?"s":""," applied just before the error:"]}),t(n,{component:"div",spacing:.5,children:[p.slice(0,5).map((e,r)=>{let n="";return"createDomainEntity"===e.kind?n=` (${e.entity.type})`:"deleteEntity"===e.kind||"modifyDomainEntity"===e.kind||"replaceDomainEntity"===e.kind?n=` (${e.entityId})`:("createEphemeralRecord"===e.kind||"modifyEphemeralRecord"===e.kind||"deleteEphemeralRecord"===e.kind)&&(n=` (${e.componentInstance.entityId})`),t(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2},children:["• ",e.kind,n]},r)}),p.length>5&&t(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2,fontStyle:"italic"},children:["... and ",p.length-5," more"]})]})]})]})}catch{return null}};export const DevGeneralErrorFallback=t=>{let{error:r,resetErrorBoundary:n}=t;return c(n),e(l,{title:"Application Error (Dev Mode)",subtitle:"An uncaught error occurred in the application. This detailed view is only visible in development mode.",errorName:r instanceof Error?r.name:"Error",errorMessage:r instanceof Error?r.message:String(r),errorStack:r instanceof Error?r.stack:null,error:r,onReset:n,resetLabel:"Try Again",children:e(d,{})})};export const ProdGeneralErrorFallback=t=>{let{resetErrorBoundary:r}=t;return e(s,{title:"Whoops, something went wrong!",message:"We're experiencing some technical difficulties right now. Please try again in a few minutes. Thank you for your patience!",buttonLabel:"Try Again",onButtonClick:r})};export const GeneralErrorFallback=t=>a()?e(DevGeneralErrorFallback,{...t}):e(ProdGeneralErrorFallback,{...t});
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Box as t,Stack as n,Typography as i}from"@mui/material";import{useApplicationRuntime as o,useIsDev as a}from"#package/react-sdk";import{DevErrorPage as l}from"#package/ui-sdk";import{ConfiguratorErrorPageElement as c}from"../../configurator-error-page/index.js";import{useResetOnEditorHotReload as d}from"./use-reset-on-editor-hot-reload.js";let s=()=>{let a=o();try{let o=a.selectors.domainContext.configurator;if(!o.getInitializationState().isCurrent)return null;let{storeSystem:l}=o.getDomainSystems(),c=l.stateSlices.committed.value,d=l.stateSlices.potentiallyInvalid.value,s=d.validity.valid||"uncaught"===d.validity.severity?[]:d.validity.entityViolations,m=s.length>0,p="reset"!==c.kind?c.updates:[];if(!m&&0===p.length)return null;return r(t,{component:"div",sx:{p:2,backgroundColor:m?"#ffebee":"#e3f2fd",borderRadius:1,borderLeft:m?"4px solid #f44336":"4px solid #2196f3"},children:[e(i,{variant:"subtitle2",sx:{fontWeight:600,mb:1,color:m?"error.main":"primary.main"},children:m?"⚠️ Error likely caused by invariant violations":"\uD83D\uDD04 Last state changes before error"}),m&&r(t,{component:"div",sx:{mb:2},children:[e(i,{variant:"body2",sx:{mb:1},children:"The following invariant violations were detected:"}),e(n,{component:"div",spacing:.5,children:s.map((e,t)=>r(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2},children:["• Entity ",String(e.entityId),": ",JSON.stringify(e.violation)]},t))})]}),p.length>0&&r(t,{component:"div",children:[r(i,{variant:"body2",sx:{mb:1},children:[p.length," update",1!==p.length?"s":""," applied just before the error:"]}),r(n,{component:"div",spacing:.5,children:[p.slice(0,5).map((e,t)=>{let n="";return"createDomainEntity"===e.kind?n=` (${e.entity.type})`:"deleteEntity"===e.kind||"modifyDomainEntity"===e.kind||"replaceDomainEntity"===e.kind?n=` (${e.entityId})`:("createEphemeralRecord"===e.kind||"modifyEphemeralRecord"===e.kind||"deleteEphemeralRecord"===e.kind)&&(n=` (${e.componentInstance.entityId})`),r(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2},children:["• ",e.kind,n]},t)}),p.length>5&&r(i,{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.75rem",display:"block",pl:2,fontStyle:"italic"},children:["... and ",p.length-5," more"]})]})]})]})}catch{return null}};export const DevGeneralErrorFallback=r=>{let{error:t,resetErrorBoundary:n}=r;return d(n),e(l,{title:"Application Error (Dev Mode)",subtitle:"An uncaught error occurred in the application. This detailed view is only visible in development mode.",errorName:t instanceof Error?t.name:"Error",errorMessage:t instanceof Error?t.message:String(t),errorStack:t instanceof Error?t.stack:null,error:t,onReset:n,resetLabel:"Try Again",children:e(s,{})})};export const ProdGeneralErrorFallback=r=>{let{resetErrorBoundary:t}=r;return e(c,{reason:"uncaughtError",onRetry:t})};export const GeneralErrorFallback=r=>a()?e(DevGeneralErrorFallback,{...r}):e(ProdGeneralErrorFallback,{...r});
@@ -4,6 +4,7 @@ export { RootPage } from './RootPage.js';
4
4
  export { NewConfiguratorPage } from './NewConfiguratorPage.js';
5
5
  export { ConfiguratorRootErrorPage } from './ConfiguratorErrorPage.js';
6
6
  export { ConfiguratorNotFoundPage } from './ConfiguratorNotFoundPage.js';
7
+ export { defaultConfiguratorElements } from './default-configurator-elements.js';
7
8
  export { DevContextFallback } from './error-boundaries/DevContextFallback.js';
8
9
  export { DevLoadingFallback } from './error-boundaries/DevLoadingFallback.js';
9
10
  export { GeneralErrorFallback, DevGeneralErrorFallback, ProdGeneralErrorFallback } from './error-boundaries/index.js';
@@ -1 +1 @@
1
- export{ConfiguratorRoot}from"./ConfiguratorRoot.js";export{LoadedConfiguratorDetailPage}from"./LoadedConfiguratorDetailPage.js";export{RootPage}from"./RootPage.js";export{NewConfiguratorPage}from"./NewConfiguratorPage.js";export{ConfiguratorRootErrorPage}from"./ConfiguratorErrorPage.js";export{ConfiguratorNotFoundPage}from"./ConfiguratorNotFoundPage.js";export{DevContextFallback}from"./error-boundaries/DevContextFallback.js";export{DevLoadingFallback}from"./error-boundaries/DevLoadingFallback.js";export{GeneralErrorFallback,DevGeneralErrorFallback,ProdGeneralErrorFallback}from"./error-boundaries/index.js";export{LoadingErrorBoundary}from"./error-boundaries/LoadingErrorBoundary.js";
1
+ export{ConfiguratorRoot}from"./ConfiguratorRoot.js";export{LoadedConfiguratorDetailPage}from"./LoadedConfiguratorDetailPage.js";export{RootPage}from"./RootPage.js";export{NewConfiguratorPage}from"./NewConfiguratorPage.js";export{ConfiguratorRootErrorPage}from"./ConfiguratorErrorPage.js";export{ConfiguratorNotFoundPage}from"./ConfiguratorNotFoundPage.js";export{defaultConfiguratorElements}from"./default-configurator-elements.js";export{DevContextFallback}from"./error-boundaries/DevContextFallback.js";export{DevLoadingFallback}from"./error-boundaries/DevLoadingFallback.js";export{GeneralErrorFallback,DevGeneralErrorFallback,ProdGeneralErrorFallback}from"./error-boundaries/index.js";export{LoadingErrorBoundary}from"./error-boundaries/LoadingErrorBoundary.js";
@@ -0,0 +1,4 @@
1
+ /** The name a project registers a layout element under to add an overlay to the preset screen. */
2
+ export declare const PresetDeviceNotSupportedName = "PresetDeviceNotSupported";
3
+ /** Renders the `PresetDeviceNotSupported` element, which the built-in preset screen shows as its overlay. */
4
+ export declare const PresetDeviceNotSupportedElement: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{PhoenixLayoutElement as t}from"#package/react-sdk";export const PresetDeviceNotSupportedName="PresetDeviceNotSupported";let o=()=>null;export const PresetDeviceNotSupportedElement=()=>e(t,{name:"PresetDeviceNotSupported",elementProps:{},defaultSlot:o});
@@ -0,0 +1,4 @@
1
+ /** The name a project registers a layout element under to add an action below the preset cards. */
2
+ export declare const PresetPageActionName = "PresetPageAction";
3
+ /** Renders the `PresetPageAction` element, which the built-in preset screen shows below its cards. */
4
+ export declare const PresetPageActionElement: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{PhoenixLayoutElement as t}from"#package/react-sdk";export const PresetPageActionName="PresetPageAction";let o=()=>null;export const PresetPageActionElement=()=>e(t,{name:"PresetPageAction",elementProps:{},defaultSlot:o});
@@ -0,0 +1,2 @@
1
+ export { PresetDeviceNotSupportedElement, PresetDeviceNotSupportedName } from './PresetDeviceNotSupportedElement.js';
2
+ export { PresetPageActionElement, PresetPageActionName } from './PresetPageActionElement.js';
@@ -0,0 +1 @@
1
+ export{PresetDeviceNotSupportedElement,PresetDeviceNotSupportedName}from"./PresetDeviceNotSupportedElement.js";export{PresetPageActionElement,PresetPageActionName}from"./PresetPageActionElement.js";
@@ -32,6 +32,7 @@ export { usePixelWorldSize } from './three/use-pixel-world-size.js';
32
32
  export { addSceneDebugNode } from './SceneDebugNodes.js';
33
33
  export * from './scene-html/index.js';
34
34
  export * from './scene-controls/index.js';
35
+ export { createAddEntityFab, createDeleteEntityFab, createNavigationHotspot, createSelectionHotspot, createToolMenuFab, type AddEntityFabElementProps, type CreateAddEntityFab, type CreateDeleteEntityFab, type CreateNavigationHotspot, type CreateSelectionHotspot, type CreateToolMenuFab, type DeleteEntityFabElementProps, type NavigationHotspotElementProps, type SelectionHotspotElementProps, type ToolMenuFabElementProps, } from '#package/react-sdk';
35
36
  export * from './postprocessing/index.js';
36
37
  export * from './sketching/index.js';
37
38
  export * from './export/index.js';
@@ -1 +1 @@
1
- export{Scene}from"./Scene.js";export{SceneEnvironment}from"./SceneEnvironment.js";export{CameraControls}from"./cameras/CameraControls.js";export{CameraPadding}from"./cameras/CameraPadding.js";export{useEntityCameraDrivenOpacity}from"./cameras/use-entity-camera-driven-opacity.js";export{Animations}from"./animations/Animations.js";export{SceneEntityDimensionIndicators}from"./scene-entity/dimension-indicators/SceneEntityDimensionIndicators.js";export{DimensionIndicator}from"./scene-entity/dimension-indicators/DimensionIndicator.js";export{SceneEntityHtmlHotspots}from"./scene-entity/scene-controls/SceneEntityHtmlHotspots.js";export{SceneEntityControls}from"./scene-entity/scene-controls/SceneEntityControls.js";export{SceneEntity}from"./scene-entity/SceneEntity.js";export{SceneEntityHighlightedObject}from"./scene-entity/objects/SceneEntityHighlightedObject.js";export{SceneEntityObject}from"./scene-entity/objects/SceneEntityObject.js";export{SceneEntityObjectClip}from"./scene-entity/objects/SceneEntityObjectClip.js";export{SceneEntityObjectDecal}from"./scene-entity/objects/SceneEntityObjectDecal.js";export{SceneEntityObjectTextDecal}from"./scene-entity/objects/SceneEntityObjectTextDecal.js";export{SceneEntityPrimitiveObject}from"./scene-entity/objects/SceneEntityPrimitiveObject.js";export{SceneEntityRemoteObject}from"./scene-entity/objects/SceneEntityRemoteObject.js";export{SceneRootEntity}from"./scene-entity/SceneRootEntity.js";export{SceneEntityObjectTransformer}from"./scene-entity/objects/SceneEntityObjectTransformer.js";export{SceneEntityObjectMaterials}from"./scene-entity/materials/SceneEntityObjectMaterials.js";export{ReplacedMaterialTransition}from"./scene-entity/materials/ReplacedMaterialTransition.js";export{ReplacedMaterialTransformer}from"./scene-entity/materials/ReplacedMaterialTransformer.js";export{useSceneEntityHighlight}from"./scene-entity/entity-hooks/use-scene-entity-highlight.js";export{useSceneEntityObjectMorphing}from"./scene-entity/entity-hooks/use-scene-entity-object-morphing.js";export{useSceneEntityRemoteObject}from"./scene-entity/entity-hooks/use-scene-entity-remote-object.js";export{useSceneEntityInteractions}from"./scene-entity/drag-and-drop/use-scene-entity-interactions.js";export{useRotateHandle}from"./scene-entity/drag-and-drop/use-rotate-handle.js";export{isStandardMaterial,isWithMaterial}from"./three/with-material.js";export{usePixelWorldSize}from"./three/use-pixel-world-size.js";export{addSceneDebugNode}from"./SceneDebugNodes.js";export*from"./scene-html/index.js";export*from"./scene-controls/index.js";export*from"./postprocessing/index.js";export*from"./sketching/index.js";export*from"./export/index.js";export*from"./resources/index.js";export*from"./cameras/index.js";export*from"./scene-entity/index.js";
1
+ export{Scene}from"./Scene.js";export{SceneEnvironment}from"./SceneEnvironment.js";export{CameraControls}from"./cameras/CameraControls.js";export{CameraPadding}from"./cameras/CameraPadding.js";export{useEntityCameraDrivenOpacity}from"./cameras/use-entity-camera-driven-opacity.js";export{Animations}from"./animations/Animations.js";export{SceneEntityDimensionIndicators}from"./scene-entity/dimension-indicators/SceneEntityDimensionIndicators.js";export{DimensionIndicator}from"./scene-entity/dimension-indicators/DimensionIndicator.js";export{SceneEntityHtmlHotspots}from"./scene-entity/scene-controls/SceneEntityHtmlHotspots.js";export{SceneEntityControls}from"./scene-entity/scene-controls/SceneEntityControls.js";export{SceneEntity}from"./scene-entity/SceneEntity.js";export{SceneEntityHighlightedObject}from"./scene-entity/objects/SceneEntityHighlightedObject.js";export{SceneEntityObject}from"./scene-entity/objects/SceneEntityObject.js";export{SceneEntityObjectClip}from"./scene-entity/objects/SceneEntityObjectClip.js";export{SceneEntityObjectDecal}from"./scene-entity/objects/SceneEntityObjectDecal.js";export{SceneEntityObjectTextDecal}from"./scene-entity/objects/SceneEntityObjectTextDecal.js";export{SceneEntityPrimitiveObject}from"./scene-entity/objects/SceneEntityPrimitiveObject.js";export{SceneEntityRemoteObject}from"./scene-entity/objects/SceneEntityRemoteObject.js";export{SceneRootEntity}from"./scene-entity/SceneRootEntity.js";export{SceneEntityObjectTransformer}from"./scene-entity/objects/SceneEntityObjectTransformer.js";export{SceneEntityObjectMaterials}from"./scene-entity/materials/SceneEntityObjectMaterials.js";export{ReplacedMaterialTransition}from"./scene-entity/materials/ReplacedMaterialTransition.js";export{ReplacedMaterialTransformer}from"./scene-entity/materials/ReplacedMaterialTransformer.js";export{useSceneEntityHighlight}from"./scene-entity/entity-hooks/use-scene-entity-highlight.js";export{useSceneEntityObjectMorphing}from"./scene-entity/entity-hooks/use-scene-entity-object-morphing.js";export{useSceneEntityRemoteObject}from"./scene-entity/entity-hooks/use-scene-entity-remote-object.js";export{useSceneEntityInteractions}from"./scene-entity/drag-and-drop/use-scene-entity-interactions.js";export{useRotateHandle}from"./scene-entity/drag-and-drop/use-rotate-handle.js";export{isStandardMaterial,isWithMaterial}from"./three/with-material.js";export{usePixelWorldSize}from"./three/use-pixel-world-size.js";export{addSceneDebugNode}from"./SceneDebugNodes.js";export*from"./scene-html/index.js";export*from"./scene-controls/index.js";export{createAddEntityFab,createDeleteEntityFab,createNavigationHotspot,createSelectionHotspot,createToolMenuFab}from"#package/react-sdk";export*from"./postprocessing/index.js";export*from"./sketching/index.js";export*from"./export/index.js";export*from"./resources/index.js";export*from"./cameras/index.js";export*from"./scene-entity/index.js";
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as o}from"react";import{LocalizableMessage as i,useDeletedEntity as r}from"#package/react-sdk";import{DeleteEntityFab as l}from"#package/ui-sdk";import{FrontendAnalyticsFactory as n}from"../../common/frontend-analytics.js";import{useSceneControlTooltip as a}from"./use-scene-control-tooltip.js";export const DeleteEntityFab=t(t=>{let{entityId:s,fixableViolations:c,label:m,title:p,tooltipVisibility:d="on-hover",...f}=t,{tooltipOpen:k}=a(d),b=o(()=>n.EntityDeleteHotspotClicked(s),[s]),{disabled:u,hints:g,remove:j,trace:y}=r(s,c,b);return e(l,{label:m?e(i,{children:m}):void 0,title:p?e(i,{children:p}):void 0,...f,disabled:u,disabledMessage:g,tooltipOpen:k,onClick:j,onDebugClick:y})});
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as o}from"react";import{FrontendAnalyticsFactory as i,LocalizableMessage as r,useDeletedEntity as l}from"#package/react-sdk";import{DeleteEntityFab as a}from"#package/ui-sdk";import{useSceneControlTooltip as s}from"./use-scene-control-tooltip.js";export const DeleteEntityFab=t(t=>{let{entityId:n,fixableViolations:c,label:p,title:d,tooltipVisibility:m="on-hover",...k}=t,{tooltipOpen:b}=s(m),f=o(()=>i.EntityDeleteHotspotClicked(n),[n]),{disabled:u,hints:g,remove:D,trace:h}=l(n,c,f);return e(a,{label:p?e(r,{children:p}):void 0,title:d?e(r,{children:d}):void 0,...k,disabled:u,disabledMessage:g,tooltipOpen:b,onClick:D,onDebugClick:h})});
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useCallback as t}from"react";import{useSelectEntity as r}from"#package/react-sdk";import{FrontendAnalyticsFactory as e}from"../../common/frontend-analytics.js";import{SceneHotspot as i}from"./SceneHotspot.js";export const SelectionHotspot=m=>{let{id:n,title:p,tooltipVisibility:s="on-hover"}=m,c=r(e.SelectionHotspotClicked);return o(i,{onClick:t(o=>{o.stopPropagation(),c(n)},[n,c]),title:p,tooltipVisibility:s})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useCallback as o}from"react";import{FrontendAnalyticsFactory as e,useSelectEntity as r}from"#package/react-sdk";import{SceneHotspot as i}from"./SceneHotspot.js";export const SelectionHotspot=p=>{let{id:s,title:c,tooltipVisibility:m="on-hover"}=p,n=r(e.SelectionHotspotClicked);return t(i,{onClick:o(t=>{t.stopPropagation(),n(s)},[s,n]),title:c,tooltipVisibility:m})};
@@ -3,5 +3,9 @@ import { type SceneFabProps } from './SceneFab.js';
3
3
  export interface ToolMenuFabProps extends Pick<SceneFabProps, 'title' | 'tooltipVisibility'> {
4
4
  readonly options: readonly ToolMenuFabOption[];
5
5
  readonly icon?: string;
6
+ /**
7
+ * Switches to the tool state of the chosen option. Without it, the menu switches the tool itself.
8
+ */
9
+ readonly onSelectTool?: (toolState: string) => void;
6
10
  }
7
11
  export declare const ToolMenuFab: (props: ToolMenuFabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{ListItemIcon as i,ListSubheader as n,MenuItem as l,menuClasses as a}from"@mui/material";import{memo as c,useCallback as m,useState as s}from"react";import{LocalizableMessage as p,useDomain as g}from"#package/react-sdk";import{PhxIcon as d,ResponsiveMenu as h}from"#package/ui-sdk";import{SceneFab as u}from"./SceneFab.js";let f=c(r=>{let{options:c,title:s,open:u,anchorEl:f,onClose:k}=r,{navigationSystem:b,storeSystem:C}=g(),x=m(e=>{C.stageAndCommit([b.getToolUpdate(e.toolState)]),k()},[b,C,k]);return o(h,{closeLabel:e(t,{id:"sdk.controls.tool.close.label",message:"Close"}),open:u,anchorEl:f,onClose:k,menuProps:{anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},sx:{[`.${a.paper}`]:{minInlineSize:220,marginLeft:2,marginRight:1}}},children:[e(n,{children:e(p,{children:s})}),c.map(r=>o(l,{onClick:()=>{x(r)},children:[e(i,{children:r.icon&&e(d,{name:r.icon})}),e(p,{children:r.label})]},r.toolState))]})});export const ToolMenuFab=t=>{let{options:i,icon:n,title:l,tooltipVisibility:a}=t,[c,p]=s(null),g=null!==c,h=m(e=>{p(e.currentTarget),e.stopPropagation()},[]),k=m(()=>{p(null)},[]);return o(r,{children:[e(u,{title:l,icon:e(d,{name:n??"PencilSimpleBold"}),tooltipVisibility:a,onClick:h}),g&&e(f,{anchorEl:c,open:g,onClose:k,options:i,title:l})]})};
1
+ import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{ListItemIcon as l,ListSubheader as i,MenuItem as n,menuClasses as a}from"@mui/material";import{memo as c,useCallback as m,useState as s}from"react";import{LocalizableMessage as p,useDomain as g}from"#package/react-sdk";import{PhxIcon as d,ResponsiveMenu as h}from"#package/ui-sdk";import{SceneFab as u}from"./SceneFab.js";let f=c(t=>{let{options:c,title:s,open:u,anchorEl:f,onClose:k,onSelectTool:S}=t,{navigationSystem:b,storeSystem:C}=g(),x=m(e=>{S?S(e.toolState):C.stageAndCommit([b.getToolUpdate(e.toolState)]),k()},[b,C,k,S]);return o(h,{closeLabel:e(r,{id:"sdk.controls.tool.close.label",message:"Close"}),open:u,anchorEl:f,onClose:k,menuProps:{anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},sx:{[`.${a.paper}`]:{minInlineSize:220,marginLeft:2,marginRight:1}}},children:[e(i,{children:e(p,{children:s})}),c.map(t=>o(n,{onClick:()=>{x(t)},children:[e(l,{children:t.icon&&e(d,{name:t.icon})}),e(p,{children:t.label})]},t.toolState))]})});export const ToolMenuFab=r=>{let{options:l,icon:i,title:n,tooltipVisibility:a,onSelectTool:c}=r,[p,g]=s(null),h=null!==p,k=m(e=>{g(e.currentTarget),e.stopPropagation()},[]),S=m(()=>{g(null)},[]);return o(t,{children:[e(u,{title:n,icon:e(d,{name:i??"PencilSimpleBold"}),tooltipVisibility:a,onClick:k}),h&&e(f,{anchorEl:p,open:h,onClose:S,options:l,title:n,onSelectTool:c})]})};
@@ -2,7 +2,7 @@ import type { DraggableSurface } from '#package/domain';
2
2
  import { HotspotDragHandleVariant } from '#package/domain';
3
3
  import type { SceneEntitySpecificProps, SceneHtmlOpacityProps, SceneHtmlPositionProps, SceneHtmlVisibilityProps } from '../../scene-html/index.js';
4
4
  export interface HotspotDragHandleProps extends SceneHtmlOpacityProps, SceneHtmlVisibilityProps, SceneHtmlPositionProps, SceneEntitySpecificProps {
5
- readonly surfaces: DraggableSurface[];
5
+ readonly surfaces: readonly DraggableSurface[];
6
6
  readonly instanceName: string;
7
7
  readonly handleSize?: number;
8
8
  readonly variant?: HotspotDragHandleVariant;
@@ -3,7 +3,7 @@ import { type DraggableSurface } from '#package/domain';
3
3
  import { type SceneEntitySpecificProps, type SceneHtmlOpacityProps, type SceneHtmlPositionProps, type SceneHtmlVisibilityProps } from '../../scene-html/index.js';
4
4
  export declare const useHotspotHovered: () => boolean;
5
5
  export interface HotspotDragSceneHandleProps extends SceneHtmlOpacityProps, SceneHtmlVisibilityProps, SceneHtmlPositionProps, SceneEntitySpecificProps {
6
- readonly surfaces: DraggableSurface[];
6
+ readonly surfaces: readonly DraggableSurface[];
7
7
  readonly instanceName: string;
8
8
  readonly children: ReactNode;
9
9
  readonly handleSize?: number;
@@ -1,4 +1,5 @@
1
- export type SceneControlTooltipVisibility = 'on-hover' | 'forced' | 'forced-when-still' | 'hidden';
1
+ import type { SceneControlTooltipVisibility } from '#package/react-sdk';
2
+ export type { SceneControlTooltipVisibility };
2
3
  export interface SceneControlTooltip {
3
4
  /**
4
5
  * Whether tooltip is open (undefined = uncontrolled hover behavior)
@@ -37,7 +37,7 @@ export interface DimensionIndicatorProps {
37
37
  readonly labelDirection?: 'auto' | 'ltr' | 'rtl';
38
38
  readonly labelFillOpacity?: number;
39
39
  readonly labelFontStyle?: 'normal' | 'italic';
40
- readonly labelFontWeight?: number | 'normal' | 'bold';
40
+ readonly labelFontWeight?: number | string;
41
41
  readonly labelLetterSpacing?: number;
42
42
  readonly labelLineHeight?: number;
43
43
  readonly labelMaxWidth?: number;
@@ -76,7 +76,7 @@ interface DimensionIndicatorProps {
76
76
  /** Font style. See https://protectwise.github.io/troika/troika-three-text/ */
77
77
  labelFontStyle?: 'normal' | 'italic';
78
78
  /** Font weight. See https://protectwise.github.io/troika/troika-three-text/ */
79
- labelFontWeight?: number | 'normal' | 'bold';
79
+ labelFontWeight?: number | string;
80
80
  /** Spacing between letters. See https://protectwise.github.io/troika/troika-three-text/ */
81
81
  labelLetterSpacing?: number;
82
82
  /** Line height as a multiple of the font size. See https://protectwise.github.io/troika/troika-three-text/ */
@@ -1,6 +1,6 @@
1
1
  import { type Size } from '@react-three/fiber';
2
2
  import { type Camera, Vector2, Vector3 } from 'three';
3
- import type { DraggableSurface } from '#package/domain';
3
+ import type { DraggableSurface, RotatableSurface } from '#package/domain';
4
4
  /**
5
5
  * Converts mouse coordinates to normalized device coordinates
6
6
  */
@@ -20,7 +20,7 @@ export declare const findSurfaceClosestToPoint: (worldPoint: Vector3, surfaces:
20
20
  * Projects the cursor ray onto a single specified surface. Returns null if the
21
21
  * ray is parallel to or points away from the plane.
22
22
  */
23
- export declare const projectMouseOntoSurface: (mouse: Vector2, surface: DraggableSurface, camera: Camera) => Vector3 | null;
23
+ export declare const projectMouseOntoSurface: (mouse: Vector2, surface: DraggableSurface | RotatableSurface, camera: Camera) => Vector3 | null;
24
24
  /**
25
25
  * Among the camera-facing surfaces the cursor ray actually hits, picks the
26
26
  * intersection closest to the world origin. Used during multi-surface drag-move
@@ -1,7 +1,7 @@
1
1
  import { type Object3D } from 'three';
2
2
  import { type DomainEntityId, type DraggableSurface } from '#package/domain';
3
3
  interface DragHandle {
4
- surfaces: DraggableSurface[];
4
+ surfaces: readonly DraggableSurface[];
5
5
  instanceName: string;
6
6
  }
7
7
  export declare const useDragObject: (entityId: DomainEntityId<string>, object: Object3D | null, dragHandle: DragHandle | undefined, onUpdate: () => void, onDragStart?: () => void, onDragEnd?: () => void) => {
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import s from"lodash-es/isNumber.js";import{memo as r,useEffect as n,useMemo as i}from"react";import{Color as o,RepeatWrapping as l}from"three";import{isRemoteMaterialOverrideComponent as c}from"#package/domain";import{useResourceUrl as p}from"#package/react-sdk";import{useCombinedQueries as M,usePhxGltf as m,useResourceQueryFactories as d}from"../../resources/index.js";import{isPhysicalMaterial as h,isStandardMaterial as u,isWithColor as U}from"../../three/with-material.js";import{ReplacedMaterialTransformations as v}from"./ReplacedMaterialTransformer.js";import{ReplacedMaterialTransitions as g}from"./ReplacedMaterialTransition.js";export const applyRemoteMaterialOverride=(e,t,a,r)=>{let n=t=>{let{offsetX:a,offsetY:r,rotation:n,rotationCenterX:i,rotationCenterY:o,repeatX:c,repeatY:p}=e.state,M=s(a)||s(r),m=s(n),d=s(c)||s(p);return M&&t.offset.set(a??0,r??0),m&&(t.rotation=n,t.center.set(i??0,o??0)),d&&(t.repeat.set(c??1,p??1),t.wrapS=l,t.wrapT=l),t},i=(e,t)=>{if(null===e)t(null);else if(e){let s=r[a.findIndex(t=>t===e)];s&&t(n(s))}};if((u(t)||h(t))&&(i(e.state.textureUrl,e=>{t.map=e}),e.state.color&&t.color.set(new o(e.state.color)),i(e.state.roughnessMapUrl,e=>{t.roughnessMap=e}),s(e.state.roughness)&&(t.roughness=e.state.roughness),i(e.state.bumpMapUrl,e=>{t.bumpMap=e}),s(e.state.bumpScale)&&(t.bumpScale=e.state.bumpScale),i(e.state.metalnessMapUrl,e=>{t.metalnessMap=e}),s(e.state.metalness)&&(t.metalness=e.state.metalness),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),void 0!==e.state.toneMapped&&(t.toneMapped=e.state.toneMapped),void 0!==e.state.emissive&&t.emissive.set(new o(e.state.emissive)),void 0!==e.state.emissiveIntensity&&(t.emissiveIntensity=e.state.emissiveIntensity),i(e.state.alphaMapUrl,e=>{t.alphaMap=e}),void 0!==e.state.transparent&&(t.transparent=e.state.transparent),s(e.state.opacity)&&(t.opacity=e.state.opacity),i(e.state.aoMapUrl,e=>{t.aoMap=e}),s(e.state.aoMapIntensity)&&(t.aoMapIntensity=e.state.aoMapIntensity),i(e.state.displacementMapUrl,e=>{t.displacementMap=e}),s(e.state.displacementScale)&&(t.displacementScale=e.state.displacementScale),i(e.state.lightMapUrl,e=>{t.lightMap=e}),s(e.state.lightMapIntensity)&&(t.lightMapIntensity=e.state.lightMapIntensity),i(e.state.envMapUrl,e=>{t.envMap=e}),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),s(e.state.blendingMode)&&(t.blending=e.state.blendingMode),i(e.state.normalMapUrl,e=>{t.normalMap=e}),s(e.state.normalScale)&&t.normalScale.set(e.state.normalScale,e.state.normalScale),void 0!==e.state.wireframe&&(t.wireframe=e.state.wireframe)),h(t)&&(void 0!==e.state.clearcoat&&(t.clearcoat=e.state.clearcoat),void 0!==e.state.clearcoatRoughness&&(t.clearcoatRoughness=e.state.clearcoatRoughness),void 0!==e.state.iridescence&&(t.iridescence=e.state.iridescence),void 0!==e.state.iridescenceIor&&(t.iridescenceIOR=e.state.iridescenceIor),s(e.state.sheen)&&(t.sheen=e.state.sheen),void 0!==e.state.sheenColor&&U(t)&&t.sheenColor.set(new o(e.state.sheenColor)),s(e.state.sheenRoughness)&&(t.sheenRoughness=e.state.sheenRoughness),i(e.state.anisotropyMapUrl,e=>{t.anisotropyMap=e}),s(e.state.anisotropyStrength)&&(t.anisotropy=e.state.anisotropyStrength),s(e.state.anisotropyRotation)&&(t.anisotropyRotation=e.state.anisotropyRotation),s(e.state.ior)&&(t.ior=e.state.ior),s(e.state.reflectivity)&&(t.reflectivity=e.state.reflectivity),s(e.state.transmission)&&(t.transmission=e.state.transmission),s(e.state.thickness)&&(t.thickness=e.state.thickness),s(e.state.attenuationDistance)&&(t.attenuationDistance=e.state.attenuationDistance),void 0!==e.state.attenuationColor&&t.attenuationColor.set(new o(e.state.attenuationColor)),s(e.state.specularIntensity)&&(t.specularIntensity=e.state.specularIntensity),void 0!==e.state.specularColor&&t.specularColor.set(new o(e.state.specularColor)),i(e.state.specularIntensityMapUrl,e=>{t.specularIntensityMap=e}),i(e.state.specularColorMapUrl,e=>{t.specularColorMap=e}),i(e.state.clearcoatNormalMapUrl,e=>{t.clearcoatNormalMap=e}),s(e.state.clearcoatNormalScale)&&t.clearcoatNormalScale.set(e.state.clearcoatNormalScale,e.state.clearcoatNormalScale),i(e.state.clearcoatMapUrl,e=>{t.clearcoatMap=e}),i(e.state.clearcoatRoughnessMapUrl,e=>{t.clearcoatRoughnessMap=e}),i(e.state.iridescenceMapUrl,e=>{t.iridescenceMap=e}),void 0!==e.state.iridescenceThicknessRange&&(t.iridescenceThicknessRange=e.state.iridescenceThicknessRange),i(e.state.iridescenceThicknessMapUrl,e=>{t.iridescenceThicknessMap=e}),i(e.state.sheenColorMapUrl,e=>{t.sheenColorMap=e}),i(e.state.sheenRoughnessMapUrl,e=>{t.sheenRoughnessMap=e}),i(e.state.transmissionMapUrl,e=>{t.transmissionMap=e}),i(e.state.thicknessMapUrl,e=>{t.thicknessMap=e})),u(t)&&!h(t)){let a=[void 0!==e.state.clearcoat?"clearcoat":"",void 0!==e.state.clearcoatRoughness?"clearcoatRoughness":"",void 0!==e.state.iridescence?"iridescence":"",void 0!==e.state.iridescenceIor?"iridescenceIor":"",void 0!==e.state.sheen?"sheen":"",void 0!==e.state.sheenColor?"sheenColor":"",void 0!==e.state.sheenRoughness?"sheenRoughness":"",void 0!==e.state.anisotropyMapUrl?"anisotropyMapUrl":"",void 0!==e.state.anisotropyStrength?"anisotropyStrength":"",void 0!==e.state.anisotropyRotation?"anisotropyRotation":"",void 0!==e.state.ior?"ior":"",void 0!==e.state.reflectivity?"reflectivity":"",void 0!==e.state.transmission?"transmission":"",void 0!==e.state.thickness?"thickness":"",void 0!==e.state.attenuationDistance?"attenuationDistance":"",void 0!==e.state.attenuationColor?"attenuationColor":"",void 0!==e.state.specularIntensity?"specularIntensity":"",void 0!==e.state.specularColor?"specularColor":"",void 0!==e.state.specularIntensityMapUrl?"specularIntensityMapUrl":"",void 0!==e.state.specularColorMapUrl?"specularColorMapUrl":"",void 0!==e.state.clearcoatNormalMapUrl?"clearcoatNormalMapUrl":"",void 0!==e.state.clearcoatNormalScale?"clearcoatNormalScale":"",void 0!==e.state.clearcoatMapUrl?"clearcoatMapUrl":"",void 0!==e.state.clearcoatRoughnessMapUrl?"clearcoatRoughnessMapUrl":"",void 0!==e.state.iridescenceMapUrl?"iridescenceMapUrl":"",void 0!==e.state.iridescenceThicknessRange?"iridescenceThicknessRange":"",void 0!==e.state.iridescenceThicknessMapUrl?"iridescenceThicknessMapUrl":"",void 0!==e.state.sheenColorMapUrl?"sheenColorMapUrl":"",void 0!==e.state.sheenRoughnessMapUrl?"sheenRoughnessMapUrl":"",void 0!==e.state.transmissionMapUrl?"transmissionMapUrl":"",void 0!==e.state.thicknessMapUrl?"thicknessMapUrl":""].filter(Boolean);a.length>0&&console.warn(`[Phoenix] Material override properties [${a.join(", ")}] were ignored because the target material "${t.name}" is a MeshStandardMaterial, not a MeshPhysicalMaterial. These properties require MeshPhysicalMaterial. Ensure the source material in the override file uses a physical property (e.g. clearcoat) to trigger MeshPhysicalMaterial.`)}};let y=["textureUrl","roughnessMapUrl","bumpMapUrl","metalnessMapUrl","anisotropyMapUrl","normalMapUrl","alphaMapUrl","aoMapUrl","displacementMapUrl","lightMapUrl","envMapUrl","specularIntensityMapUrl","specularColorMapUrl","clearcoatNormalMapUrl","clearcoatMapUrl","clearcoatRoughnessMapUrl","iridescenceMapUrl","iridescenceThicknessMapUrl","sheenColorMapUrl","sheenRoughnessMapUrl","transmissionMapUrl","thicknessMapUrl"];export const getMaterialOverrideTextureNames=e=>y.flatMap(t=>{let a=e.state[t];return"string"==typeof a&&""!==a?[a]:[]});export const RemoteReplacedMaterial=r(s=>{let{overrideComponent:r,original:o,object:l}=s,{getResourceUrl:h}=p(),u=i(()=>[r].reduce((e,t)=>(c(t)&&e.push(t.state.fileUrl),e),[]),[r]),U=i(()=>getMaterialOverrideTextureNames(r),[r]),y=m(u.map(h)),{createTextureQuery:R}=d(),f=M(U.map(R)),I=i(()=>f.map(e=>e.clone()),[f]),C=i(()=>{let e=y[u.findIndex(e=>e===r.state.fileUrl)],t=e?.materials[r.state.materialName];if(null==t)throw Error(`Material with name '${r.state.materialName}' not found in '${r.state.fileUrl}'`);let a=t.clone();return applyRemoteMaterialOverride(r,a,U,I),a},[r,u,y,U,I]);return n(()=>(l.material=C,l.material.name=o.name,()=>{l.material=o}),[l,o,C]),t(a,{children:[e(v,{material:C,instanceName:r.componentInstance.instanceName}),e(g,{material:C,instanceName:r.componentInstance.instanceName})]})});
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import s from"lodash-es/isNumber.js";import{memo as r,useEffect as n,useMemo as o}from"react";import{Color as i,RepeatWrapping as l}from"three";import{isRemoteMaterialOverrideComponent as c}from"#package/domain";import{useResourceUrl as p}from"#package/react-sdk";import{useCombinedQueries as M,usePhxGltf as m,useResourceQueryFactories as d}from"../../resources/index.js";import{isPhysicalMaterial as h,isStandardMaterial as u,isWithColor as v}from"../../three/with-material.js";import{ReplacedMaterialTransformations as U}from"./ReplacedMaterialTransformer.js";import{ReplacedMaterialTransitions as y}from"./ReplacedMaterialTransition.js";export const applyRemoteMaterialOverride=(e,t,a,r)=>{let n=t=>{let{offsetX:a,offsetY:r,rotation:n,rotationCenterX:o,rotationCenterY:i,repeatX:c,repeatY:p}=e.state,M=s(a)||s(r),m=s(n),d=s(c)||s(p);return M&&t.offset.set(a??0,r??0),m&&(t.rotation=n,t.center.set(o??0,i??0)),d&&(t.repeat.set(c??1,p??1),t.wrapS=l,t.wrapT=l),t},o=(e,t)=>{if(null===e)t(null);else if(e){let s=r[a.findIndex(t=>t===e)];s&&t(n(s))}};if((u(t)||h(t))&&(o(e.state.textureUrl,e=>{t.map=e}),e.state.color&&t.color.set(new i(e.state.color)),o(e.state.roughnessMapUrl,e=>{t.roughnessMap=e}),s(e.state.roughness)&&(t.roughness=e.state.roughness),o(e.state.bumpMapUrl,e=>{t.bumpMap=e}),s(e.state.bumpScale)&&(t.bumpScale=e.state.bumpScale),o(e.state.metalnessMapUrl,e=>{t.metalnessMap=e}),s(e.state.metalness)&&(t.metalness=e.state.metalness),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),void 0!==e.state.toneMapped&&(t.toneMapped=e.state.toneMapped),void 0!==e.state.emissive&&t.emissive.set(new i(e.state.emissive)),void 0!==e.state.emissiveIntensity&&(t.emissiveIntensity=e.state.emissiveIntensity),o(e.state.alphaMapUrl,e=>{t.alphaMap=e}),void 0!==e.state.transparent&&(t.transparent=e.state.transparent),s(e.state.opacity)&&(t.opacity=e.state.opacity),o(e.state.aoMapUrl,e=>{t.aoMap=e}),s(e.state.aoMapIntensity)&&(t.aoMapIntensity=e.state.aoMapIntensity),o(e.state.displacementMapUrl,e=>{t.displacementMap=e}),s(e.state.displacementScale)&&(t.displacementScale=e.state.displacementScale),o(e.state.lightMapUrl,e=>{t.lightMap=e}),s(e.state.lightMapIntensity)&&(t.lightMapIntensity=e.state.lightMapIntensity),o(e.state.envMapUrl,e=>{t.envMap=e}),s(e.state.envMapIntensity)&&(t.envMapIntensity=e.state.envMapIntensity),s(e.state.blendingMode)&&(t.blending=e.state.blendingMode),o(e.state.normalMapUrl,e=>{t.normalMap=e}),s(e.state.normalScale)&&t.normalScale.set(e.state.normalScale,e.state.normalScale),void 0!==e.state.wireframe&&(t.wireframe=e.state.wireframe)),h(t)){void 0!==e.state.clearcoat&&(t.clearcoat=e.state.clearcoat),void 0!==e.state.clearcoatRoughness&&(t.clearcoatRoughness=e.state.clearcoatRoughness),void 0!==e.state.iridescence&&(t.iridescence=e.state.iridescence),void 0!==e.state.iridescenceIor&&(t.iridescenceIOR=e.state.iridescenceIor),s(e.state.sheen)&&(t.sheen=e.state.sheen),void 0!==e.state.sheenColor&&v(t)&&t.sheenColor.set(new i(e.state.sheenColor)),s(e.state.sheenRoughness)&&(t.sheenRoughness=e.state.sheenRoughness),o(e.state.anisotropyMapUrl,e=>{t.anisotropyMap=e}),s(e.state.anisotropyStrength)&&(t.anisotropy=e.state.anisotropyStrength),s(e.state.anisotropyRotation)&&(t.anisotropyRotation=e.state.anisotropyRotation),s(e.state.ior)&&(t.ior=e.state.ior),s(e.state.reflectivity)&&(t.reflectivity=e.state.reflectivity),s(e.state.transmission)&&(t.transmission=e.state.transmission),s(e.state.thickness)&&(t.thickness=e.state.thickness),s(e.state.attenuationDistance)&&(t.attenuationDistance=e.state.attenuationDistance),void 0!==e.state.attenuationColor&&t.attenuationColor.set(new i(e.state.attenuationColor)),s(e.state.specularIntensity)&&(t.specularIntensity=e.state.specularIntensity),void 0!==e.state.specularColor&&t.specularColor.set(new i(e.state.specularColor)),o(e.state.specularIntensityMapUrl,e=>{t.specularIntensityMap=e}),o(e.state.specularColorMapUrl,e=>{t.specularColorMap=e}),o(e.state.clearcoatNormalMapUrl,e=>{t.clearcoatNormalMap=e}),s(e.state.clearcoatNormalScale)&&t.clearcoatNormalScale.set(e.state.clearcoatNormalScale,e.state.clearcoatNormalScale),o(e.state.clearcoatMapUrl,e=>{t.clearcoatMap=e}),o(e.state.clearcoatRoughnessMapUrl,e=>{t.clearcoatRoughnessMap=e}),o(e.state.iridescenceMapUrl,e=>{t.iridescenceMap=e});let[a,r]=e.state.iridescenceThicknessRange??[];void 0!==a&&void 0!==r&&(t.iridescenceThicknessRange=[a,r]),o(e.state.iridescenceThicknessMapUrl,e=>{t.iridescenceThicknessMap=e}),o(e.state.sheenColorMapUrl,e=>{t.sheenColorMap=e}),o(e.state.sheenRoughnessMapUrl,e=>{t.sheenRoughnessMap=e}),o(e.state.transmissionMapUrl,e=>{t.transmissionMap=e}),o(e.state.thicknessMapUrl,e=>{t.thicknessMap=e})}if(u(t)&&!h(t)){let a=[void 0!==e.state.clearcoat?"clearcoat":"",void 0!==e.state.clearcoatRoughness?"clearcoatRoughness":"",void 0!==e.state.iridescence?"iridescence":"",void 0!==e.state.iridescenceIor?"iridescenceIor":"",void 0!==e.state.sheen?"sheen":"",void 0!==e.state.sheenColor?"sheenColor":"",void 0!==e.state.sheenRoughness?"sheenRoughness":"",void 0!==e.state.anisotropyMapUrl?"anisotropyMapUrl":"",void 0!==e.state.anisotropyStrength?"anisotropyStrength":"",void 0!==e.state.anisotropyRotation?"anisotropyRotation":"",void 0!==e.state.ior?"ior":"",void 0!==e.state.reflectivity?"reflectivity":"",void 0!==e.state.transmission?"transmission":"",void 0!==e.state.thickness?"thickness":"",void 0!==e.state.attenuationDistance?"attenuationDistance":"",void 0!==e.state.attenuationColor?"attenuationColor":"",void 0!==e.state.specularIntensity?"specularIntensity":"",void 0!==e.state.specularColor?"specularColor":"",void 0!==e.state.specularIntensityMapUrl?"specularIntensityMapUrl":"",void 0!==e.state.specularColorMapUrl?"specularColorMapUrl":"",void 0!==e.state.clearcoatNormalMapUrl?"clearcoatNormalMapUrl":"",void 0!==e.state.clearcoatNormalScale?"clearcoatNormalScale":"",void 0!==e.state.clearcoatMapUrl?"clearcoatMapUrl":"",void 0!==e.state.clearcoatRoughnessMapUrl?"clearcoatRoughnessMapUrl":"",void 0!==e.state.iridescenceMapUrl?"iridescenceMapUrl":"",void 0!==e.state.iridescenceThicknessRange?"iridescenceThicknessRange":"",void 0!==e.state.iridescenceThicknessMapUrl?"iridescenceThicknessMapUrl":"",void 0!==e.state.sheenColorMapUrl?"sheenColorMapUrl":"",void 0!==e.state.sheenRoughnessMapUrl?"sheenRoughnessMapUrl":"",void 0!==e.state.transmissionMapUrl?"transmissionMapUrl":"",void 0!==e.state.thicknessMapUrl?"thicknessMapUrl":""].filter(Boolean);a.length>0&&console.warn(`[Phoenix] Material override properties [${a.join(", ")}] were ignored because the target material "${t.name}" is a MeshStandardMaterial, not a MeshPhysicalMaterial. These properties require MeshPhysicalMaterial. Ensure the source material in the override file uses a physical property (e.g. clearcoat) to trigger MeshPhysicalMaterial.`)}};let g=["textureUrl","roughnessMapUrl","bumpMapUrl","metalnessMapUrl","anisotropyMapUrl","normalMapUrl","alphaMapUrl","aoMapUrl","displacementMapUrl","lightMapUrl","envMapUrl","specularIntensityMapUrl","specularColorMapUrl","clearcoatNormalMapUrl","clearcoatMapUrl","clearcoatRoughnessMapUrl","iridescenceMapUrl","iridescenceThicknessMapUrl","sheenColorMapUrl","sheenRoughnessMapUrl","transmissionMapUrl","thicknessMapUrl"];export const getMaterialOverrideTextureNames=e=>g.flatMap(t=>{let a=e.state[t];return"string"==typeof a&&""!==a?[a]:[]});export const RemoteReplacedMaterial=r(s=>{let{overrideComponent:r,original:i,object:l}=s,{getResourceUrl:h}=p(),u=o(()=>[r].reduce((e,t)=>(c(t)&&e.push(t.state.fileUrl),e),[]),[r]),v=o(()=>getMaterialOverrideTextureNames(r),[r]),g=m(u.map(h)),{createTextureQuery:f}=d(),R=M(v.map(f)),I=o(()=>R.map(e=>e.clone()),[R]),C=o(()=>{let e=g[u.findIndex(e=>e===r.state.fileUrl)],t=e?.materials[r.state.materialName];if(null==t)throw Error(`Material with name '${r.state.materialName}' not found in '${r.state.fileUrl}'`);let a=t.clone();return applyRemoteMaterialOverride(r,a,v,I),a},[r,u,g,v,I]);return n(()=>(l.material=C,l.material.name=i.name,()=>{l.material=i}),[l,i,C]),t(a,{children:[e(U,{material:C,instanceName:r.componentInstance.instanceName}),e(y,{material:C,instanceName:r.componentInstance.instanceName})]})});
@@ -29,7 +29,7 @@ export interface SceneEntityTextDecalV2Props {
29
29
  text: string;
30
30
  textureUrl?: string | undefined;
31
31
  roughnessMapUrl?: string | undefined;
32
- preloadFonts?: string[] | undefined;
32
+ preloadFonts?: readonly string[] | undefined;
33
33
  invertedBump?: boolean | undefined;
34
34
  }
35
35
  export interface SceneEntityObjectTextDecalProps {
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{memo as o}from"react";import{match as i}from"ts-pattern";import{htmlHotspotComponent as s,isHtmlHotspotComponentSnapshot as a,isSceneEntityAddFabComponentSnapshot as c,isSceneEntityDeleteFabComponentSnapshot as l,isSceneEntityNavigationHotspotComponentSnapshot as r,isSceneEntitySelectHotspotComponentSnapshot as p,isToolMenuFabComponentSnapshot as m,sceneEntityAddFabComponent as h,sceneEntityDeleteFabComponent as d,sceneEntityNavigationHotspotComponent as f,sceneEntitySelectHotspotComponent as y,toolMenuFabComponent as u}from"#package/domain";import{PhoenixEntityElementWithChildren as w,useRenderedComponents as I}from"#package/react-sdk";import{PhxIcon as W}from"#package/ui-sdk";import{AddEntityFab as b,DeleteEntityFab as g,NavigationHotspot as V,SelectionHotspot as k,ToolMenuFab as v}from"../../scene-controls/index.js";import{SceneEntityHtml as O}from"../../scene-html/index.js";import{SuspendedBoundary as $}from"../SuspendedBoundary.js";export const SceneEntityHtmlHotspots=o(o=>{let{id:H}=o;return t(n,{children:I({entityIds:[H],componentTypes:[h,s,d,y,u,f]}).map(n=>{let o={entityId:H,showWhen:n.state.showWhen},s={offsetX:n.state.offsetX,offsetY:n.state.offsetY,offsetZ:n.state.offsetZ,screenOffsetHorizontal:n.state.screenOffsetHorizontal,screenOffsetVertical:n.state.screenOffsetVertical},h={polarAngleLimits:n.state.polarAngleLimits,azimuthAngleLimits:n.state.azimuthAngleLimits,distanceLimits:n.state.distanceLimits,minInteractiveOpacity:n.state.minInteractiveOpacity},d={hideWhileDragging:n.state.hideWhileDragging,occlude:n.state.occlude};return i(n).when(c,e=>t($,{children:t(O,{...o,...s,...h,...d,showWhen:e.state.showWhen??["selected"],controlHotspot:!0,children:t(b,{parentEntityId:H,instanceNames:e.state.instanceNames,fixableViolations:e.state.hiddenViolations,icon:e.state.icon?t(W,{name:e.state.icon}):void 0,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover",label:e.state.label,skipMenuWhenOnlyOne:e.state.skipMenuWhenOnlyOne,hideWhenNone:e.state.hideWhenNone})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(l,e=>t($,{children:t(O,{...o,...s,...h,...d,showWhen:e.state.showWhen??["selected"],controlHotspot:!0,children:t(g,{entityId:H,fixableViolations:e.state.hiddenViolations,icon:e.state.icon?t(W,{name:e.state.icon}):void 0,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover",label:e.state.label})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(p,e=>t($,{children:t(O,{...o,...s,...h,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(k,{id:H,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(r,e=>t($,{children:t(O,{...o,...s,...h,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(V,{navigationState:e.state.navigationState,pushToStack:e.state.pushToStack,canStackOnto:e.state.canStackOnto,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(m,e=>t($,{children:t(O,{...o,...s,...h,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(v,{options:e.state.options,icon:e.state.icon,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(a,n=>t($,{children:e(O,{...o,...s,...h,...d,controlHotspot:n.state.controlHotspot,pointerEvents:n.state.inert?"none":"auto",children:[n.state.node,n.state.name&&t(w,{kind:n.state.name,entityId:H})]})},`${n.componentInstance.componentType.name}-${n.componentInstance.instanceName}`)).otherwise(()=>null)})})});
1
+ import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{memo as o}from"react";import{match as i}from"ts-pattern";import{htmlHotspotComponent as s,isHtmlHotspotComponentSnapshot as a,isSceneEntityAddFabComponentSnapshot as c,isSceneEntityDeleteFabComponentSnapshot as l,isSceneEntityNavigationHotspotComponentSnapshot as p,isSceneEntitySelectHotspotComponentSnapshot as r,isToolMenuFabComponentSnapshot as h,sceneEntityAddFabComponent as m,sceneEntityDeleteFabComponent as d,sceneEntityNavigationHotspotComponent as y,sceneEntitySelectHotspotComponent as f,toolMenuFabComponent as I}from"#package/domain";import{AddEntityFabElement as w,DeleteEntityFabElement as u,NavigationHotspotElement as W,PhoenixEntityElementWithChildren as b,SelectionHotspotElement as V,ToolMenuFabElement as g,useRenderedComponents as O}from"#package/react-sdk";import{SceneEntityHtml as $}from"../../scene-html/index.js";import{SuspendedBoundary as H}from"../SuspendedBoundary.js";export const SceneEntityHtmlHotspots=o(o=>{let{id:k}=o;return t(n,{children:O({entityIds:[k],componentTypes:[m,s,d,f,I,y]}).map(n=>{let o={entityId:k,showWhen:n.state.showWhen},s={offsetX:n.state.offsetX,offsetY:n.state.offsetY,offsetZ:n.state.offsetZ,screenOffsetHorizontal:n.state.screenOffsetHorizontal,screenOffsetVertical:n.state.screenOffsetVertical},m={polarAngleLimits:n.state.polarAngleLimits,azimuthAngleLimits:n.state.azimuthAngleLimits,distanceLimits:n.state.distanceLimits,minInteractiveOpacity:n.state.minInteractiveOpacity},d={hideWhileDragging:n.state.hideWhileDragging,occlude:n.state.occlude};return i(n).when(c,e=>t(H,{children:t($,{...o,...s,...m,...d,showWhen:e.state.showWhen??["selected"],controlHotspot:!0,children:t(w,{entityId:k,instanceNames:e.state.instanceNames,fixableViolations:e.state.hiddenViolations,icon:e.state.icon,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover",label:e.state.label,skipMenuWhenOnlyOne:e.state.skipMenuWhenOnlyOne,hideWhenNone:e.state.hideWhenNone})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(l,e=>t(H,{children:t($,{...o,...s,...m,...d,showWhen:e.state.showWhen??["selected"],controlHotspot:!0,children:t(u,{entityId:k,fixableViolations:e.state.hiddenViolations,icon:e.state.icon,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover",label:e.state.label})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(r,e=>t(H,{children:t($,{...o,...s,...m,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(V,{entityId:k,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(p,e=>t(H,{children:t($,{...o,...s,...m,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(W,{entityId:k,navigationState:e.state.navigationState,pushToStack:e.state.pushToStack,canStackOnto:e.state.canStackOnto,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(h,e=>t(H,{children:t($,{...o,...s,...m,...d,showWhen:e.state.showWhen??["unselected"],controlHotspot:!1,children:t(g,{entityId:k,options:e.state.options,icon:e.state.icon,title:e.state.title,tooltipVisibility:e.state.tooltipVisibility??"on-hover"})})},`${e.componentInstance.componentType.name}-${e.componentInstance.instanceName}`)).when(a,n=>t(H,{children:e($,{...o,...s,...m,...d,controlHotspot:n.state.controlHotspot,pointerEvents:n.state.inert?"none":"auto",children:[n.state.node,n.state.name&&t(b,{kind:n.state.name,entityId:k})]})},`${n.componentInstance.componentType.name}-${n.componentInstance.instanceName}`)).otherwise(()=>null)})})});
@@ -0,0 +1,3 @@
1
+ export { useMeasurements, type UseMeasurements, type UseMeasurementsOptions, type UseMeasurementsResult, } from './use-measurements.js';
2
+ export { useAssistantPanel, type UseAssistantPanel, type UseAssistantPanelResult } from './use-assistant-panel.js';
3
+ export { useToolbarActions, type UseToolbarActions, type UseToolbarActionsResult, type ToolbarAction, type ToolbarPlacement, } from './use-toolbar-actions.js';