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

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 (1171) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  28. package/dist/application-spec/core/index.d.ts +2 -0
  29. package/dist/application-spec/core/index.js +1 -1
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  32. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  33. package/dist/application-spec/enhanced-json/index.js +1 -0
  34. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  36. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  38. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  40. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  42. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  44. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  46. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  47. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  48. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  49. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  50. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  52. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  53. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  54. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  56. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  57. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  58. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  59. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  60. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  61. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  63. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  65. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  67. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  68. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  90. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  91. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  93. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  94. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  95. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  99. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  100. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  101. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  102. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  104. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  106. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  114. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +31 -14
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -4
  116. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  126. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  128. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  130. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  132. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  134. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  135. package/dist/application-spec/generate-application/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/index.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  138. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  142. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  143. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  145. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  149. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  158. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  162. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  163. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  165. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  167. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  169. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  170. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  172. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  174. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  176. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  177. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  183. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  185. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  189. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  191. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  193. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  195. package/dist/application-spec/index.d.ts +1 -0
  196. package/dist/application-spec/index.js +1 -1
  197. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  199. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  203. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  212. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  231. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  233. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  235. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  237. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  240. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  243. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  245. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/phoenix-api.d.ts +463 -0
  280. package/dist/configurator/ConfiguratorApp.js +1 -1
  281. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  282. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  283. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  284. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  285. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  286. package/dist/configurator/app-loader-content/index.js +1 -0
  287. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  288. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  289. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  290. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  291. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  292. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  294. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  296. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  297. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  301. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  302. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  303. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  304. package/dist/configurator/common/configurator-interface.d.ts +141 -4
  305. package/dist/configurator/common/configurator-interface.js +1 -1
  306. package/dist/configurator/common/index.d.ts +3 -1
  307. package/dist/configurator/common/index.js +1 -1
  308. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  309. package/dist/configurator/common/use-reset-camera.js +1 -0
  310. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  311. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  312. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  313. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  314. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  315. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  316. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  317. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  318. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  319. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  320. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  321. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  322. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  323. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  324. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  325. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  326. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  327. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  328. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  329. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  330. package/dist/configurator/configurator-error-page/index.js +1 -0
  331. package/dist/configurator/index.d.ts +3 -0
  332. package/dist/configurator/index.js +1 -1
  333. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  334. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  335. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  336. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  337. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  338. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  339. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  340. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  341. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  342. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  343. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  344. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  345. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  346. package/dist/configurator/pages/RootPage.js +1 -1
  347. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  348. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  349. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  350. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  351. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  352. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  353. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  354. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  355. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  356. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  357. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  358. package/dist/configurator/pages/default-elements/index.js +1 -0
  359. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  360. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  361. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  362. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  363. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  364. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  365. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  366. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  367. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  368. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  369. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  370. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  371. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  372. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  373. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  374. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  375. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  376. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  377. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  378. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  379. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  380. package/dist/configurator/pages/index.d.ts +1 -0
  381. package/dist/configurator/pages/index.js +1 -1
  382. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  383. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  384. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  385. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  386. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  387. package/dist/configurator/preset-screen-elements/index.js +1 -0
  388. package/dist/configurator/scene/index.d.ts +1 -0
  389. package/dist/configurator/scene/index.js +1 -1
  390. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  391. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  392. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  393. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  394. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  395. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  396. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  397. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  398. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  399. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  400. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  401. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  402. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  403. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  404. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  405. package/dist/configurator/toolbar-actions/index.js +1 -0
  406. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  407. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  408. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  409. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  410. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  411. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  412. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  413. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  414. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  415. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  416. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  417. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  418. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  419. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  420. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  421. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  422. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  423. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  424. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  425. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  426. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  427. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  428. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  429. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  430. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  431. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  432. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  433. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  434. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  435. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  436. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  437. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  438. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +12 -0
  439. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  440. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  441. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  442. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  443. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  444. package/dist/configurator/ui/assistant/form/form-model.d.ts +39 -0
  445. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  446. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  447. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  448. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  449. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  450. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  451. package/dist/configurator/ui/assistant/form/index.js +1 -0
  452. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  453. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  454. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  455. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  456. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  457. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  458. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  459. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  460. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  461. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  462. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  463. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  464. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  465. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  466. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  467. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  468. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  469. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  470. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  471. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  472. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  473. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  474. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  475. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  476. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  477. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  478. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  479. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  480. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  481. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  482. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  483. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  484. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  485. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  486. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  487. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  488. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  489. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  490. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  491. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  492. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  493. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  494. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  495. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  496. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  497. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  498. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  499. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  500. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  501. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  502. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  503. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  504. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  505. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  506. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  507. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  508. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  509. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  510. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  511. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  512. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  513. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  514. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  515. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  516. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  517. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  518. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  519. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  520. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  521. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  522. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  523. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  524. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  525. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  526. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  527. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  528. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  529. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  530. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  531. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  532. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  533. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  534. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  535. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  536. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  537. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  538. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  539. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  540. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  541. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  542. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  543. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  544. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  545. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  546. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  547. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  548. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  549. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  550. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  551. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  552. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  553. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  554. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  555. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  556. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  557. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  558. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  559. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  560. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  561. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  562. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  563. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  564. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  565. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  566. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  567. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  568. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  569. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  570. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  571. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  572. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  573. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  574. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  575. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  576. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  577. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  578. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  579. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  580. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  581. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  582. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  583. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  584. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  585. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  586. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  587. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  588. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  589. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  590. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  591. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  592. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  593. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  594. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  595. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  596. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  597. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  598. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  599. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  600. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  601. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  602. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  603. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  604. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  605. package/dist/docs/fabs/basic.mdx +6 -2
  606. package/dist/docs/index.json +42 -1
  607. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  608. package/dist/docs/layouts/custom-layout.mdx +2437 -0
  609. package/dist/docs/layouts/header/fixed.mdx +2 -2
  610. package/dist/docs/layouts/header/floating.mdx +2 -2
  611. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  612. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  613. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  614. package/dist/docs/other-features/error-5xx.mdx +1 -1
  615. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  616. package/dist/docs/other-features/not-found-404.mdx +1 -1
  617. package/dist/docs/other-features/side-effects.mdx +8 -11
  618. package/dist/docs/other-features/transformers.mdx +4 -0
  619. package/dist/docs/other-features/violation-messages.mdx +52 -56
  620. package/dist/docs/phoenix/application-states.mdx +9 -7
  621. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  622. package/dist/docs/phoenix/components.mdx +6 -0
  623. package/dist/docs/phoenix/configurator-interface.mdx +400 -81
  624. package/dist/docs/phoenix/deployments.mdx +2 -6
  625. package/dist/docs/phoenix/domain-model.mdx +6 -0
  626. package/dist/docs/phoenix/finalization.mdx +1 -1
  627. package/dist/docs/phoenix/getting-started.mdx +7 -4
  628. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  629. package/dist/docs/phoenix/localization.mdx +10 -6
  630. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  631. package/dist/docs/phoenix/phoenix-cli.mdx +88 -44
  632. package/dist/docs/phoenix/project-structure.mdx +80 -36
  633. package/dist/docs/phoenix/quickstart.mdx +9 -9
  634. package/dist/docs/phoenix/sdk-builder-workflow.mdx +9 -9
  635. package/dist/docs/phoenix/testing.mdx +148 -0
  636. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  637. package/dist/docs/phoenix/webhooks.mdx +23 -6
  638. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  639. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  640. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  641. package/dist/domain/admin-domain/index.js +1 -1
  642. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  643. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  644. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  645. package/dist/domain/application/application-config.d.ts +8 -5
  646. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  647. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  648. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  649. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  650. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  651. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  652. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  653. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  654. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  655. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  656. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +163 -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/get-assistant-form-value-attribute.d.ts +6 -0
  661. package/dist/domain/application/assistant/form/get-assistant-form-value-attribute.js +1 -0
  662. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  663. package/dist/domain/application/assistant/form/index.js +1 -0
  664. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  665. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  666. package/dist/domain/application/assistant/index.d.ts +7 -1
  667. package/dist/domain/application/assistant/index.js +1 -1
  668. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  669. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  670. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  671. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  672. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  673. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  674. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  675. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  676. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  677. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  678. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  679. package/dist/domain/application/configurator-builder.d.ts +5 -2
  680. package/dist/domain/application/configurator-builder.js +1 -1
  681. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  682. package/dist/domain/application/index.d.ts +0 -4
  683. package/dist/domain/application/index.js +1 -1
  684. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  685. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  686. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  687. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  688. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  689. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  690. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  691. package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
  692. package/dist/domain/core/component/domain-component-optic.js +2 -2
  693. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  694. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  695. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  696. package/dist/domain/core/expression/constant-expressions.js +1 -1
  697. package/dist/domain/core/expression/custom-expression.d.ts +17 -4
  698. package/dist/domain/core/expression/custom-expression.js +1 -1
  699. package/dist/domain/core/expression/expression.d.ts +1 -2
  700. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  701. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  702. package/dist/domain/core/invariant/violation.d.ts +50 -2
  703. package/dist/domain/core/invariant/violation.js +1 -1
  704. package/dist/domain/core/model/model.d.ts +1 -1
  705. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  706. package/dist/domain/core/recipe/recipes.js +1 -1
  707. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  708. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  709. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  710. package/dist/domain/core/relation/index.d.ts +0 -1
  711. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  712. package/dist/domain/core/relation/indirect-relation.js +1 -1
  713. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  714. package/dist/domain/core/relation/relation-factory.js +1 -1
  715. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  716. package/dist/domain/core/state/migrations.d.ts +14 -45
  717. package/dist/domain/core/state/migrations.js +1 -1
  718. package/dist/domain/core/state/state.d.ts +1 -1
  719. package/dist/domain/domain-builder.d.ts +1 -1
  720. package/dist/domain/domain-builder.js +1 -1
  721. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -1
  722. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  723. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  724. package/dist/domain/domain-context/action-system/index.js +1 -0
  725. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  726. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  727. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  728. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  729. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  730. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  731. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  732. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  733. package/dist/domain/domain-context/index.d.ts +8 -17
  734. package/dist/domain/domain-context/index.js +1 -1
  735. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  736. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  737. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  738. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  739. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  740. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  741. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  742. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  743. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  744. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  745. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  746. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  747. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  748. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  749. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  750. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  751. package/dist/domain/domain-context/store-system/index.js +1 -0
  752. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  753. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -3
  754. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  755. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  756. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  757. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  758. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  759. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  760. package/dist/domain/domain-context/transformers/context.d.ts +1 -1
  761. package/dist/domain/domain-context/transformers/context.js +1 -1
  762. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  763. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  764. package/dist/domain/domain-context/transformers/index.js +1 -1
  765. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  766. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  767. package/dist/domain/domain-context/undo-system.d.ts +29 -2
  768. package/dist/domain/domain-context/undo-system.js +1 -1
  769. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  770. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  771. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  772. package/dist/domain/domain-runtime/access/types.js +1 -1
  773. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  774. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +17 -22
  775. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  776. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  777. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -60
  778. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  779. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  780. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  781. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  782. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  783. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  784. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  785. package/dist/domain/domain-runtime/errors/index.js +1 -0
  786. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  787. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  788. package/dist/domain/domain-runtime/index.d.ts +1 -0
  789. package/dist/domain/domain-runtime/index.js +1 -1
  790. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  791. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  792. package/dist/domain/domain-runtime/spec/index.d.ts +2 -5
  793. package/dist/domain/domain-runtime/spec/index.js +1 -1
  794. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  795. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  796. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  797. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  798. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  799. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  800. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  801. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  802. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -1
  803. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  804. package/dist/domain/domain-runtime/spec/{resolve-action-modules.d.ts → module-checks/resolve-action-modules.d.ts} +2 -2
  805. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  806. package/dist/domain/domain-runtime/spec/{resolve-component-optic-modules.d.ts → module-checks/resolve-component-optic-modules.d.ts} +2 -2
  807. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  808. package/dist/domain/domain-runtime/spec/{resolve-expression-modules.d.ts → module-checks/resolve-expression-modules.d.ts} +2 -2
  809. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  810. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  811. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  812. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  813. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  814. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  815. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  816. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  817. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  818. package/dist/domain/extensions/attribute-switch.js +1 -1
  819. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  820. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  821. package/dist/domain/extensions/client-side-image.js +1 -1
  822. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  823. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  824. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  825. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  826. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  827. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  828. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  829. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  830. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  831. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  832. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  833. package/dist/domain/extensions/offset-indicator.js +1 -1
  834. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  835. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  836. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  837. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  838. package/dist/domain/index.d.ts +0 -1
  839. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  840. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  841. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  842. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  843. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  844. package/dist/domain/mocks/create-mock-domain.js +1 -1
  845. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  846. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  847. package/dist/domain/mocks/create-test-application-config.js +1 -0
  848. package/dist/domain/mocks/index.d.ts +1 -0
  849. package/dist/domain/mocks/index.js +1 -1
  850. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  851. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  852. package/dist/domain/projections/collision-projections.d.ts +1 -1
  853. package/dist/domain/projections/composition-projections.d.ts +1 -1
  854. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  855. package/dist/domain/projections/position-projections.d.ts +1 -1
  856. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  857. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  858. package/dist/domain/projections/validation-projections.d.ts +2 -2
  859. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  860. package/dist/domain/system-components/application-config.d.ts +2 -2
  861. package/dist/domain/system-components/child-entity-selection.js +1 -1
  862. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  863. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  864. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  865. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  866. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  867. package/dist/domain/system-components/common/recipes.js +1 -1
  868. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  869. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  870. package/dist/domain/system-components/constraint.d.ts +10 -23
  871. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  872. package/dist/domain/system-components/drag-handle.js +1 -1
  873. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  874. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  875. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  876. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  877. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  878. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  879. package/dist/domain/system-components/material-swatch.js +1 -1
  880. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  881. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  882. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  883. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  884. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  885. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  886. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  887. package/dist/domain/utils/eval-cache.d.ts +1 -1
  888. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  889. package/dist/editor/Editor.d.ts +7 -0
  890. package/dist/editor/Editor.js +1 -1
  891. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  892. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  893. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  894. package/dist/editor/mocks/EditorMockContext.js +1 -1
  895. package/dist/globals/index.d.ts +2 -0
  896. package/dist/i18n/locales/cs/messages.js +1 -1
  897. package/dist/i18n/locales/da/messages.js +1 -1
  898. package/dist/i18n/locales/de/messages.js +1 -1
  899. package/dist/i18n/locales/de-AT/messages.js +1 -1
  900. package/dist/i18n/locales/en/messages.js +1 -1
  901. package/dist/i18n/locales/en-AU/messages.js +1 -1
  902. package/dist/i18n/locales/en-GB/messages.js +1 -1
  903. package/dist/i18n/locales/es/messages.js +1 -1
  904. package/dist/i18n/locales/fr/messages.js +1 -1
  905. package/dist/i18n/locales/hu/messages.js +1 -1
  906. package/dist/i18n/locales/it/messages.js +1 -1
  907. package/dist/i18n/locales/nl/messages.js +1 -1
  908. package/dist/i18n/locales/pl/messages.js +1 -1
  909. package/dist/i18n/locales/pt/messages.js +1 -1
  910. package/dist/i18n/locales/ro/messages.js +1 -1
  911. package/dist/i18n/locales/sk/messages.js +1 -1
  912. package/dist/i18n/locales/tr/messages.js +1 -1
  913. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  914. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  915. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  916. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  917. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  918. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  919. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  920. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  921. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  922. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  923. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  924. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  925. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  926. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  927. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  928. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  929. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  930. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  931. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  932. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  933. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  934. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  935. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  936. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  937. package/dist/phoenix/application-spec/project-files.js +1 -1
  938. package/dist/phoenix/bin.d.ts +2 -0
  939. package/dist/phoenix/bin.js +2 -0
  940. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  941. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  942. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  943. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  944. package/dist/phoenix/check-configs/index.d.ts +8 -0
  945. package/dist/phoenix/check-configs/index.js +1 -0
  946. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  947. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  948. package/dist/phoenix/cli.d.ts +0 -1
  949. package/dist/phoenix/cli.js +1 -2
  950. package/dist/phoenix/commands/build.js +1 -1
  951. package/dist/phoenix/commands/check.js +1 -1
  952. package/dist/phoenix/commands/clean.js +1 -1
  953. package/dist/phoenix/commands/deploy.js +2 -2
  954. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  955. package/dist/phoenix/commands/deps/deps.js +3 -0
  956. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  957. package/dist/phoenix/commands/deps/index.js +1 -0
  958. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  959. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  960. package/dist/phoenix/commands/dev.js +5 -5
  961. package/dist/phoenix/commands/fix.js +1 -1
  962. package/dist/phoenix/commands/index.d.ts +1 -0
  963. package/dist/phoenix/commands/index.js +1 -1
  964. package/dist/phoenix/commands/init.d.ts +17 -5
  965. package/dist/phoenix/commands/init.js +1 -1
  966. package/dist/phoenix/commands/link.js +1 -1
  967. package/dist/phoenix/commands/prettier.js +1 -1
  968. package/dist/phoenix/commands/sync.js +1 -1
  969. package/dist/phoenix/commands/unlink.js +1 -1
  970. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  971. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  972. package/dist/phoenix/services/lingui.d.ts +8 -0
  973. package/dist/phoenix/services/lingui.js +1 -1
  974. package/dist/phoenix/services/source-archive.d.ts +1 -0
  975. package/dist/phoenix/services/source-archive.js +1 -1
  976. package/dist/phoenix/services/swc.js +1 -1
  977. package/dist/phoenix/services/vite-config.js +1 -1
  978. package/dist/phoenix/utils/git/index.d.ts +1 -0
  979. package/dist/phoenix/utils/git/index.js +1 -0
  980. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  981. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  982. package/dist/phoenix/utils/index.d.ts +5 -2
  983. package/dist/phoenix/utils/index.js +1 -1
  984. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  985. package/dist/phoenix/utils/node-version/index.js +1 -0
  986. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  987. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  988. package/dist/phoenix/utils/package-info.d.ts +0 -9
  989. package/dist/phoenix/utils/package-info.js +1 -1
  990. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  991. package/dist/phoenix/utils/package-manager/index.js +1 -0
  992. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  993. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  994. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  995. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  996. package/dist/phoenix/utils/run-command.d.ts +11 -0
  997. package/dist/phoenix/utils/run-command.js +1 -1
  998. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  999. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1000. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1001. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1002. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1003. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1004. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1005. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1006. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  1007. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1008. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1009. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  1010. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1011. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1012. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  1013. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1014. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1015. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1016. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  1017. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1018. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1019. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1020. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1021. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1022. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1023. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1024. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  1025. package/dist/react-sdk/domain-context/index.js +1 -1
  1026. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1027. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1028. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1029. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1030. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1031. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1032. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1033. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1034. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1035. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1036. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1037. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1038. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1039. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1040. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1041. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1042. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1043. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1044. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1045. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  1046. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  1047. package/dist/react-sdk/elements/index.d.ts +1 -0
  1048. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1049. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1050. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1051. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1052. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1053. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1054. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1055. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1056. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1057. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1058. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1059. package/dist/react-sdk/handlers/index.js +1 -1
  1060. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1061. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1062. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1063. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1064. package/dist/react-sdk/index.d.ts +2 -0
  1065. package/dist/react-sdk/index.js +1 -1
  1066. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  1067. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  1068. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  1069. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  1070. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  1071. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  1072. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  1073. package/dist/react-sdk/responsive-state/index.js +1 -0
  1074. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  1075. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  1076. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  1077. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  1078. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  1079. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  1080. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1081. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1082. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1083. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1084. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1085. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1086. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1087. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1088. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1089. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1090. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1091. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1092. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1093. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1094. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1095. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1096. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1097. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1098. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1099. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1100. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1101. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1102. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1103. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1104. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1105. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1106. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1107. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1108. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1109. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1110. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1111. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1112. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1113. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1114. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1115. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1116. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  1117. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1118. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1119. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1120. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1121. package/dist/webhook/builders/webhook-builder.js +1 -1
  1122. package/package.json +48 -36
  1123. package/schema/domain-spec.json +1201 -217
  1124. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1125. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1126. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1127. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -94
  1128. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1129. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1130. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1131. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1132. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1133. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1134. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1135. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1136. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1137. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1138. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1139. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1140. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1141. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1142. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1143. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1144. package/dist/configurator/common/frontend-analytics.js +0 -1
  1145. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1146. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1147. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1148. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1149. package/dist/domain/application/element-registration.js +0 -1
  1150. package/dist/domain/application/handler-registration.js +0 -1
  1151. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1152. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1153. package/dist/domain/application/resource-builder.d.ts +0 -13
  1154. package/dist/domain/application/resource-builder.js +0 -1
  1155. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1156. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -61
  1157. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1158. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +0 -1
  1159. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +0 -1
  1160. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +0 -1
  1161. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +0 -6
  1162. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +0 -1
  1163. package/dist/domain/project-modules/index.d.ts +0 -1
  1164. package/dist/domain/project-modules/index.js +0 -1
  1165. package/dist/domain/project-modules/project-modules.js +0 -1
  1166. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1167. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1168. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1169. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1170. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1171. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -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';
@@ -0,0 +1 @@
1
+ export{useMeasurements}from"./use-measurements.js";export{useAssistantPanel}from"./use-assistant-panel.js";export{useToolbarActions}from"./use-toolbar-actions.js";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * What a project layout needs to open and close the assistant panel.
3
+ * - `available`: whether the spec has an `assistant`; the built-in assistant button renders nothing otherwise.
4
+ * - `open` and `setOpen`: whether the panel is open, and a function that opens or closes it.
5
+ * - `hasUnreadReply`: whether the assistant replied while the panel was closed.
6
+ */
7
+ export interface UseAssistantPanelResult {
8
+ readonly available: boolean;
9
+ readonly open: boolean;
10
+ readonly hasUnreadReply: boolean;
11
+ readonly setOpen: (open: boolean) => void;
12
+ }
13
+ export type UseAssistantPanel = () => UseAssistantPanelResult;
14
+ /**
15
+ * Hook to open and close the assistant panel, as the built-in toolbar's assistant button does. The panel itself
16
+ * renders only inside `LayoutSlots.DesktopSidebar`, so a layout without it has no panel to open.
17
+ */
18
+ export declare const useAssistantPanel: UseAssistantPanel;
@@ -0,0 +1 @@
1
+ import{useMemo as e}from"react";import{useEagerObservableValue as t,useSpecAssistant as a}from"#package/react-sdk";import{useConfigurator as r}from"../application-runtime/index.js";export const useAssistantPanel=()=>{let{assistantSystem:n}=r(),p=a(),{open:i,hasUnreadReply:o}=t(n.panel$);return e(()=>({available:null!=p,open:i,hasUnreadReply:o,setOpen:n.setOpen}),[p,i,o,n])};
@@ -0,0 +1,35 @@
1
+ import { type DimensionUnit } from '#package/domain';
2
+ export interface UseMeasurementsOptions {
3
+ /**
4
+ * Whether the dimension-indicator switch is offered, overriding `applicationConfig.indicatorSwitch`; the
5
+ * `showIndicatorSwitch` prop of the built-in measurements button
6
+ */
7
+ readonly showIndicatorSwitch?: boolean;
8
+ }
9
+ /**
10
+ * What a project layout needs to offer the measurement settings.
11
+ * - `units`: the units the spec's dimension configuration offers; with one there is nothing to choose.
12
+ * - `unit` and `setUnit`: the unit dimensions are shown in, and a function that changes it and pushes the
13
+ * analytics event of the built-in unit buttons.
14
+ * - `hasIndicatorSwitch`: whether the dimension indicators can be switched on and off (`showIndicatorSwitch`,
15
+ * else `applicationConfig.indicatorSwitch`, else `true`).
16
+ * - `indicatorsShown` and `toggleIndicators`: whether the dimension indicators show in the scene, and a function
17
+ * that switches them and pushes the analytics event of the built-in switch.
18
+ * - `available`: whether there is anything to set, more than one unit or the indicator switch; the built-in
19
+ * measurements button renders nothing otherwise.
20
+ */
21
+ export interface UseMeasurementsResult {
22
+ readonly units: readonly DimensionUnit[];
23
+ readonly unit: DimensionUnit;
24
+ readonly setUnit: (unit: DimensionUnit) => void;
25
+ readonly hasIndicatorSwitch: boolean;
26
+ readonly indicatorsShown: boolean;
27
+ readonly toggleIndicators: () => void;
28
+ readonly available: boolean;
29
+ }
30
+ export type UseMeasurements = (options?: UseMeasurementsOptions) => UseMeasurementsResult;
31
+ /**
32
+ * Hook to read and change the measurement settings, the unit of dimensions and the dimension indicators in the
33
+ * scene, as the built-in toolbar's measurements button does. It does not check read mode.
34
+ */
35
+ export declare const useMeasurements: UseMeasurements;
@@ -0,0 +1 @@
1
+ import{useObservableEagerState as o}from"observable-hooks";import{useCallback as i,useMemo as t}from"react";import{applicationConfigComponent as e}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as r,useDimensionConfig as a,useDimensionState as s,useDimensions as m,useFirstRootComponent as c}from"#package/react-sdk";import{useConfigurator as p}from"../application-runtime/index.js";export const useMeasurements=(l={})=>{let{showIndicatorSwitch:d}=l,u=r(),{canvasSystem:g}=p(),h=c(e),{availableDimensions:f}=a(),{unit:k}=s(),{setGlobalUnit:b}=m(),D=o(g.dimensionIndicatorShown$),I=d??h?.state.indicatorSwitch??!0,v=i(o=>{u.push(n.GlobalDimensionsButtonClicked(o)),b(o)},[u,b]),w=i(()=>{u.push(n.DimensionIndicatorsToggled()),g.toggleDimensionIndicator()},[u,g]);return t(()=>({units:f,unit:k,setUnit:v,hasIndicatorSwitch:I,indicatorsShown:D,toggleIndicators:w,available:f.length>1||I}),[f,k,v,I,D,w])};
@@ -0,0 +1,100 @@
1
+ import { type ComponentType } from 'react';
2
+ import type { DimensionUnit } from '#package/domain';
3
+ import { type UseLocaleSwitchResult } from '#package/react-sdk';
4
+ import { type UseAssistantPanelResult } from './use-assistant-panel.js';
5
+ import { type UseMeasurementsResult } from './use-measurements.js';
6
+ /** Which of the spec's toolbar lists to read: `toolbar.desktop`, `toolbar.mobile` or `toolbar.mobileMenu`. */
7
+ export type ToolbarPlacement = 'desktop' | 'mobile' | 'mobileMenu';
8
+ interface ToolbarEntryBase {
9
+ /** Stable for the entry's placement, group and position, to key the rendered list */
10
+ readonly key: string;
11
+ /** The element's `icon` prop, when its kind has one and the spec sets it */
12
+ readonly icon: string | undefined;
13
+ /**
14
+ * The element's `showTitle` prop, else the built-in button's default: `true` for the assistant, else `false`. The
15
+ * built-in assistant button also hides its title on a phone or tablet-sized layout; the layout decides that here.
16
+ */
17
+ readonly showTitle: boolean;
18
+ /** The built-in button's title in the current language, such as "Undo" or "Share"; a custom entry's `name` */
19
+ readonly label: string;
20
+ }
21
+ /**
22
+ * One entry of the toolbar, by `kind`:
23
+ * - `undo`, `redo`: `run` undoes or redoes as `useUndoRedo` does; `disabled` while there is nothing to undo or redo.
24
+ * - `fullscreen`: `active` is the fullscreen flag, `run` toggles it and pushes the built-in button's analytics event.
25
+ * - `resetCamera`: `run` resets the camera as `useResetCamera` does.
26
+ * - `share`: the layout opens its own share dialog, which calls `useShareLinks`.
27
+ * - `measurements`: the layout opens its own settings over `measurements`, the result of `useMeasurements` with the
28
+ * element's `showIndicatorSwitch` applied; `icons` is the element's icon per unit, when the spec sets it.
29
+ * - `language`: the layout opens its own language list over `language`, the result of `useLocaleSwitch`.
30
+ * - `help`: `Content` renders the help, the element's children or else the help registered with
31
+ * `createToolbarHelp`, for the layout's own dialog. The built-in menu action falls back to nothing instead.
32
+ * - `assistant`: `run` opens or closes the assistant panel; `assistant` is the result of `useAssistantPanel`.
33
+ * - `custom`: `Element` renders the project element the spec's `customLayoutElement` names.
34
+ */
35
+ export type ToolbarAction = (ToolbarEntryBase & {
36
+ readonly kind: 'undo';
37
+ readonly disabled: boolean;
38
+ readonly run: () => void;
39
+ }) | (ToolbarEntryBase & {
40
+ readonly kind: 'redo';
41
+ readonly disabled: boolean;
42
+ readonly run: () => void;
43
+ }) | (ToolbarEntryBase & {
44
+ readonly kind: 'fullscreen';
45
+ readonly active: boolean;
46
+ readonly run: () => void;
47
+ }) | (ToolbarEntryBase & {
48
+ readonly kind: 'resetCamera';
49
+ readonly run: () => void;
50
+ }) | (ToolbarEntryBase & {
51
+ readonly kind: 'share';
52
+ }) | (ToolbarEntryBase & {
53
+ readonly kind: 'measurements';
54
+ readonly measurements: UseMeasurementsResult;
55
+ readonly icons: Partial<Record<DimensionUnit, string>> | undefined;
56
+ }) | (ToolbarEntryBase & {
57
+ readonly kind: 'language';
58
+ readonly language: UseLocaleSwitchResult;
59
+ }) | (ToolbarEntryBase & {
60
+ readonly kind: 'help';
61
+ readonly Content: ComponentType;
62
+ }) | (ToolbarEntryBase & {
63
+ readonly kind: 'assistant';
64
+ readonly assistant: UseAssistantPanelResult;
65
+ readonly run: () => void;
66
+ }) | (ToolbarEntryBase & {
67
+ readonly kind: 'custom';
68
+ readonly name: string;
69
+ readonly Element: ComponentType;
70
+ });
71
+ export interface UseToolbarActionsResult {
72
+ /**
73
+ * The spec's groups (`toolbarButtonGroup`), each a list of entries; an entry outside a group is a group of one, and
74
+ * a group nested in a group is flattened into it, where the built-in toolbar nests it
75
+ */
76
+ readonly groups: readonly (readonly ToolbarAction[])[];
77
+ /** The same entries, flattened */
78
+ readonly actions: readonly ToolbarAction[];
79
+ }
80
+ export type UseToolbarActions = (placement?: ToolbarPlacement) => UseToolbarActionsResult;
81
+ /**
82
+ * Hook to build a project layout's toolbar from the spec's `toolbar`, as the built-in `LayoutSlots.DesktopToolbar`,
83
+ * `LayoutSlots.MobileToolbar` and `LayoutSlots.MobileHamburgerMenu` do, as runnable entries instead of buttons.
84
+ * - It reads the first active root `toolbar` component's list for `placement` (`'desktop'` by default). Without
85
+ * one, it reads the default toolbar, which follows fullscreen and, for a viewer, leaves out share, undo and redo.
86
+ * - It leaves out an entry with nothing to offer: share when sharing is disabled, measurements or language with
87
+ * nothing to choose, help without content, the assistant without one in the spec. It leaves out an element that is
88
+ * not a toolbar entry, with a warning in development.
89
+ * - A project element registered under a built-in kind, such as `undoToolbarButton`, replaces that button in the
90
+ * built-in toolbar but not here: the entry stays the built-in action.
91
+ * - It differs from the built-in toolbar in four ways: the entries keep the spec's order for every placement, where
92
+ * `LayoutSlots.MobileToolbar` renders the `mobile` list reversed; a group nested in a group is flattened into it;
93
+ * the assistant's `showTitle` is the spec's, where the built-in button also hides its title on a phone or
94
+ * tablet-sized layout; and a `helpMenuAction` without children shows the registered help.
95
+ *
96
+ * The actions push the analytics events of the built-in buttons. Opening and closing the layout's own dialogs and
97
+ * popovers push none; the layout pushes its own through `useAnalytics`.
98
+ */
99
+ export declare const useToolbarActions: UseToolbarActions;
100
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useCallback as t,useEffect as n,useMemo as a,useRef as o}from"react";import{P as r,match as s}from"ts-pattern";import{FrontendAnalyticsFactory as l,PhoenixLayoutElementWithChildren as i,PhoenixLayoutElements as u,useAnalyticsService as d,useIsDev as m,useIsFullscreenActive as p,useLocaleSwitch as b,useResolveLocalizable as c,useSetFullscreen as g,useShareLinks as h,useStoreSelector as k,useUndoRedo as T}from"#package/react-sdk";import{useConfigurator as B}from"../application-runtime/index.js";import{useAssistantPanel as f}from"./use-assistant-panel.js";import{useMeasurements as w}from"./use-measurements.js";import{useToolbarHelp as A}from"./use-toolbar-help.js";let v={undo:{id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"},redo:{id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"},enterFullscreen:{id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"},exitFullscreen:{id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"},resetCamera:{id:"sdk.toolbar.camera.reset.label",message:"Reset camera"},shareToolbarButton:{id:"sdk.toolbar.share.open.label",message:"Share"},shareMenuAction:{id:"sdk.layout.menu.hamburger.share.label",message:"Share configuration"},measurementsToolbarButton:{id:"sdk.measurements",message:"Change measure"},measurementsMenuAction:{id:"sdk.layout.menu.measurements.label",message:"Change measure"},languageToolbarButton:{id:"sdk.toolbar.language.title",message:"Switch language"},languageMenuAction:{id:"sdk.layout.hamburgerMenu.language.label",message:"Change Language"},helpToolbarButton:{id:"sdk.toolbar.help.label",message:"Help"},helpMenuAction:{id:"sdk.layout.menu.hamburger.help.label",message:"Show help"},assistant:{id:"sdk.assistant.toolbarButton.label",message:"Assistant"}},C=(e,t,n=!1)=>({key:e,icon:t?.icon,showTitle:t?.showTitle??n});export const useToolbarActions=(M="desktop")=>{let{layoutSystem:P,cameraControlSystem:x}=B(),S=k(e=>P.getToolbarState(e.state),[P])[M],y=d(),$=c(),F=m(),R=T(),j=p(),L=g(),E=h({enabled:!1}),G=w(),D=b(),I=f(),O=A(),U=t(()=>{y.push(l.FullScreenModeToggled()),L(!j)},[y,L,j]),H=t(()=>{x.resetCamera()},[x]),W=t(()=>{I.setOpen(!I.open)},[I]),q=o(new WeakMap),z=t((e,t)=>{let n=q.current.get(e);if(n)return n;let a=()=>t();return q.current.set(e,a),a},[]),J=a(()=>{let t=[],n=(n,a)=>s(n).returnType().with({kind:"undoToolbarButton"},e=>({...C(a,e.props),kind:"undo",label:$(v.undo),disabled:!R.canUndo,run:R.undo})).with({kind:"redoToolbarButton"},e=>({...C(a,e.props),kind:"redo",label:$(v.redo),disabled:!R.canRedo,run:R.redo})).with({kind:r.union("enterFullscreenToolbarButton","exitFullscreenToolbarButton")},e=>({...C(a,e.props),kind:"fullscreen",label:$(j?v.exitFullscreen:v.enterFullscreen),active:j,run:U})).with({kind:"resetCameraToolbarButton"},e=>({...C(a,e.props),kind:"resetCamera",label:$(v.resetCamera),run:H})).with({kind:r.union("shareToolbarButton","shareMenuAction")},e=>E.available?{...C(a,e.props),kind:"share",label:$(v[e.kind])}:null).with({kind:r.union("measurementsToolbarButton","measurementsMenuAction")},e=>{let t=e.props?.showIndicatorSwitch??G.hasIndicatorSwitch,n=G.units.length>1||t;return n?{...C(a,void 0),kind:"measurements",label:$(v[e.kind]),measurements:{...G,hasIndicatorSwitch:t,available:n},icons:e.props?.icons}:null}).with({kind:r.union("languageToolbarButton","languageMenuAction")},e=>D.available?{...C(a,void 0),kind:"language",label:$(v[e.kind]),language:D}:null).with({kind:r.union("helpToolbarButton","helpMenuAction")},t=>{let{children:n}=t,o=void 0!==n?z(t,()=>e(u,{elements:n})):O;return o?{...C(a,t.props),kind:"help",label:$(v[t.kind]),Content:o}:null}).with({kind:"assistantToolbarButton"},e=>I.available?{...C(a,e.props,!0),kind:"assistant",label:$(v.assistant),assistant:I,run:W}:null).with({kind:"customLayoutElement"},t=>({...C(a,void 0),kind:"custom",label:t.props.name,name:t.props.name,Element:z(t,()=>e(i,{kind:t.kind,elementProps:t.props,children:t.children}))})).with({kind:r.union("toolbarButtonGroup","adminConnectedResourcePage","adminDataTableActions","adminDataTablePage","adminPresetActions","adminPresetCategoryActions","adminPresetCategoryPage","adminPresetListPage","adminRecipeActions","adminRecipeCollectionPage","enterSummaryButton","footerPrice","mainFooterActions","nextStepButton","otherActions","previousStepButton","saveTemplateButton","stepLabel","stepProgress")},e=>(t.push(e.kind),null)).exhaustive(),a=(e,t)=>{if("toolbarButtonGroup"!==e.kind){let a=n(e,`${t}-0`);return a?[a]:[]}return(e.children??[]).flatMap((e,o)=>"toolbarButtonGroup"===e.kind?a(e,`${t}-${o}`):n(e,`${t}-${o}`)??[])},o=(S??[]).map((e,t)=>a(e,`${M}-${t}`)).filter(e=>e.length>0);return{groups:o,actions:o.flat(),unsupported:t}},[S,M,$,R,j,U,H,E.available,G,D,I,W,O,z]),K=J.unsupported.join(", ");return n(()=>{F&&K&&console.warn(`useToolbarActions('${M}') leaves out elements that are not toolbar entries: ${K}.`)},[F,M,K]),a(()=>({groups:J.groups,actions:J.actions}),[J])};
@@ -0,0 +1,7 @@
1
+ import type { ComponentType } from 'react';
2
+ export type UseToolbarHelp = () => ComponentType | null;
3
+ /**
4
+ * Internal to `useToolbarActions`, not public: the help the project registers with the deprecated
5
+ * `createToolbarHelp`, which the default toolbar's help button shows, as a component, or `null` without one.
6
+ */
7
+ export declare const useToolbarHelp: UseToolbarHelp;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{PhoenixLayoutElement as t,usePhoenixLayoutElementExists as o}from"#package/react-sdk";import{toolbarHelpElementName as r}from"../application-runtime/index.js";let l=()=>e(t,{name:r,elementProps:{},defaultSlot:()=>null});export const useToolbarHelp=()=>o(r)?l:null;
@@ -3,9 +3,15 @@ export interface AssistantToolChipsProps {
3
3
  readonly tools: readonly AssistantToolItem[];
4
4
  /** True while the reply runs and this row is its newest block: the assistant is at work on it. */
5
5
  readonly isActive: boolean;
6
+ /** True when the row offers Undo: no reply runs, and the step of the undo history the configuration is at is one of its changes. */
7
+ readonly canUndo: boolean;
8
+ /** Undoes the changes of the given tool calls while one of them is the step the configuration is at. */
9
+ readonly onUndo: (toolCallIds: ReadonlySet<string>) => void;
6
10
  }
7
11
  /**
8
12
  * A row of notes on what the assistant did in a reply, one per tool call. A click on a note logs
9
- * the input and the result of its call to the console.
13
+ * the input and the result of its call to the console. While one of the row's changes is the step
14
+ * of the undo history the configuration is at, an Undo after the notes takes the row's changes
15
+ * back, up to a change the user made in between.
10
16
  */
11
- export declare const AssistantToolChips: import("react").MemoExoticComponent<({ tools, isActive }: AssistantToolChipsProps) => import("react/jsx-runtime").JSX.Element>;
17
+ export declare const AssistantToolChips: import("react").MemoExoticComponent<({ tools, isActive, canUndo, onUndo }: AssistantToolChipsProps) => import("react/jsx-runtime").JSX.Element>;