@salsita-ai/sdk 0.50.0-develop.9ed52379e9 → 0.50.0-develop.9fe72d003e

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 (1567) hide show
  1. package/README.md +20 -15
  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/index.d.ts +1 -0
  13. package/dist/application/index.js +1 -1
  14. package/dist/application/mount-application.d.ts +1 -1
  15. package/dist/application/mount-application.js +1 -1
  16. package/dist/application/mount-configurator.d.ts +19 -0
  17. package/dist/application/mount-configurator.js +1 -0
  18. package/dist/application/mounted-application-runtime.d.ts +4 -0
  19. package/dist/application/mounted-application-runtime.js +1 -0
  20. package/dist/application/register-web-component.d.ts +2 -0
  21. package/dist/application/register-web-component.js +1 -0
  22. package/dist/application-spec/caching/content-diff.js +1 -1
  23. package/dist/application-spec/core/application-file.d.ts +0 -2
  24. package/dist/application-spec/core/application-file.js +1 -1
  25. package/dist/application-spec/core/enhanced-json-value.d.ts +2 -99
  26. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  27. package/dist/application-spec/core/index.d.ts +1 -1
  28. package/dist/application-spec/core/index.js +1 -1
  29. package/dist/application-spec/core/json-schema.d.ts +2 -52
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/core/markers/index.d.ts +1 -1
  32. package/dist/application-spec/core/markers/index.js +1 -1
  33. package/dist/application-spec/core/markers/msg-marker.d.ts +2 -28
  34. package/dist/application-spec/core/markers/msg-marker.js +1 -1
  35. package/dist/application-spec/core/markers/raw-eval-write-marker.d.ts +1 -1
  36. package/dist/application-spec/core/markers/raw-eval-write-marker.js +1 -1
  37. package/dist/application-spec/core/markers/raw-read-write-marker.js +1 -1
  38. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  39. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  40. package/dist/application-spec/enhanced-json/index.js +1 -0
  41. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  42. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  43. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  44. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  45. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  46. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  47. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  48. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  49. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  50. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  51. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  52. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  53. package/dist/application-spec/errors/diagnostic-codes.d.ts +31 -1
  54. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  55. package/dist/application-spec/errors/diagnostic-messages.d.ts +42 -2
  56. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  57. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  58. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  59. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  60. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  61. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  62. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  63. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  65. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  66. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  67. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  68. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  69. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  70. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  72. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  73. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  74. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  75. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  76. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  77. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  78. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  79. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  80. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  96. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  97. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  98. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  99. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  100. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  101. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  102. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  103. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  104. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  105. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  106. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  107. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  108. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  109. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  110. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  111. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  112. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  113. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  114. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  115. package/dist/application-spec/generate-application/code/templates/index.d.ts +5 -10
  116. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  117. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  118. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  119. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  120. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  121. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  122. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  124. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  125. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  126. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  127. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +10 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +7 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  130. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  131. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +33 -7
  132. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  133. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  134. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  135. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  138. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  139. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  140. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  141. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  142. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  143. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  144. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  145. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  146. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  147. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  148. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  149. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  150. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  151. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  152. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  153. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  154. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  155. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  156. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  157. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  158. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  159. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  160. package/dist/application-spec/generate-application/index.d.ts +4 -0
  161. package/dist/application-spec/generate-application/index.js +1 -1
  162. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -5
  163. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +12 -4
  165. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  167. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  168. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  169. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +35 -10
  170. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  172. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  173. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -6
  174. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +12 -7
  176. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  177. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  178. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  180. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  181. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  182. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +42 -0
  183. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  184. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  185. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  186. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  187. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  188. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +15 -0
  189. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  190. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.d.ts +1 -1
  191. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +1 -1
  192. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  193. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  194. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  195. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  196. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  197. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  198. package/dist/application-spec/generate-application/runtime/sections/actions-runtime.d.ts +1 -2
  199. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  200. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  201. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  202. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +3 -2
  203. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  204. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +6 -3
  205. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  206. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  207. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +14 -6
  208. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  209. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +10 -7
  210. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  211. package/dist/application-spec/generate-application/runtime/sections/preset-runtime.d.ts +2 -3
  212. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +4 -2
  213. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  214. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  215. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  216. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  217. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  218. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  219. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  220. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  221. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  222. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  223. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  224. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  225. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  226. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  227. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  228. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  229. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  230. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  231. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +168 -0
  232. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  233. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  234. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  235. package/dist/application-spec/index.d.ts +1 -0
  236. package/dist/application-spec/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  238. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  239. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  240. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  241. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  242. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  243. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  244. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  245. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +13 -4
  246. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/merge/merged-infra.d.ts +4 -11
  248. package/dist/application-spec/parse-application-files/merge/merged-transformers.d.ts +2 -4
  249. package/dist/application-spec/parse-application-files/parse-application-files.js +1 -1
  250. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  251. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.d.ts +2 -2
  252. package/dist/application-spec/parse-application-files/raw-spec/raw-acl.js +1 -1
  253. package/dist/application-spec/parse-application-files/raw-spec/raw-admin-pages.d.ts +3 -24
  254. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +72 -24
  255. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  256. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.d.ts +1 -1
  257. package/dist/application-spec/parse-application-files/raw-spec/raw-expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/raw-spec/raw-resources.d.ts +19 -64
  259. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-pages.d.ts +3 -20
  261. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/application/admin-spec/states.d.ts +3 -5
  263. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/states.d.ts +3 -8
  265. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  266. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  267. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  268. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  269. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  270. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  271. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  272. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  273. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  274. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  275. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  276. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  277. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  278. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  279. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  280. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  281. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  282. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  283. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  284. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  285. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding.d.ts +3 -13
  286. package/dist/application-spec/parse-application-files/spec/components/bindings/write-binding.d.ts +4 -32
  287. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +3 -62
  288. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  289. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  290. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  291. package/dist/application-spec/parse-application-files/spec/components/components.d.ts +3 -4
  292. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  293. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  294. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -2
  295. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  296. package/dist/application-spec/parse-application-files/spec/components/sdk-component-entry.d.ts +1 -1
  297. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  298. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  299. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +8 -3
  300. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  301. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +9 -7
  302. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  303. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  304. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  305. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  306. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  307. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  308. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  309. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +12 -30
  310. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  311. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -2
  312. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  313. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.d.ts +4 -71
  314. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  315. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +5 -3
  316. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  317. package/dist/application-spec/parse-application-files/spec/invariants/invariant.d.ts +5 -21
  318. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +6 -16
  319. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  320. package/dist/application-spec/parse-application-files/spec/model/aliases.d.ts +3 -9
  321. package/dist/application-spec/parse-application-files/spec/model/common-types.d.ts +6 -14
  322. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +6 -26
  323. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  324. package/dist/application-spec/parse-application-files/spec/model/entity-types.d.ts +3 -8
  325. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  326. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  327. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  328. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  329. package/dist/application-spec/parse-application-files/spec/model/model-version-key.d.ts +3 -3
  330. package/dist/application-spec/parse-application-files/spec/model/names/action-name.d.ts +3 -7
  331. package/dist/application-spec/parse-application-files/spec/model/names/alias-name.d.ts +3 -7
  332. package/dist/application-spec/parse-application-files/spec/model/names/entity-or-alias-name.d.ts +3 -8
  333. package/dist/application-spec/parse-application-files/spec/model/names/entity-type-name.d.ts +3 -8
  334. package/dist/application-spec/parse-application-files/spec/model/names/expression-name.d.ts +3 -6
  335. package/dist/application-spec/parse-application-files/spec/model/names/instance-name.d.ts +3 -7
  336. package/dist/application-spec/parse-application-files/spec/model/names/invariant-name.d.ts +3 -3
  337. package/dist/application-spec/parse-application-files/spec/model/names/shape-property-name.d.ts +3 -11
  338. package/dist/application-spec/parse-application-files/spec/model/names/violation-type-name.d.ts +3 -3
  339. package/dist/application-spec/parse-application-files/spec/model/presets.d.ts +6 -29
  340. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  341. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  342. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  343. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  344. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  345. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  346. package/dist/application-spec/parse-application-files/spec/sections/actions.d.ts +6 -23
  347. package/dist/application-spec/parse-application-files/spec/sections/app-metadata.d.ts +3 -18
  348. package/dist/application-spec/parse-application-files/spec/sections/application-version.d.ts +3 -7
  349. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  350. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  351. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  352. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  353. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.js +1 -1
  354. package/dist/application-spec/parse-application-files/spec/sections/data-spec/chunks.d.ts +6 -23
  355. package/dist/application-spec/parse-application-files/spec/sections/data-spec/custom-data-spec.d.ts +1 -16
  356. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-entry-key.d.ts +3 -9
  357. package/dist/application-spec/parse-application-files/spec/sections/data-spec/data-spec.d.ts +1 -10
  358. package/dist/application-spec/parse-application-files/spec/sections/data-spec/swatch-data-spec.d.ts +1 -14
  359. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  360. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  361. package/dist/application-spec/parse-application-files/spec/sections/state-value.d.ts +3 -7
  362. package/dist/application-spec/parse-application-files/spec/sections/theme.d.ts +3 -10
  363. package/dist/application-spec/parse-application-files/spec/sections/transformers.d.ts +4 -11
  364. package/dist/application-spec/parse-application-files/spec/sections/ui.d.ts +3 -12
  365. package/dist/client/authorized-client.d.ts +3 -1
  366. package/dist/client/authorized-client.js +1 -1
  367. package/dist/client/contract.d.ts +17 -0
  368. package/dist/client/index.d.ts +1 -1
  369. package/dist/client/local-authorized-client.d.ts +3 -1
  370. package/dist/client/local-authorized-client.js +1 -1
  371. package/dist/client/memory-authorized-client.d.ts +4 -1
  372. package/dist/client/memory-authorized-client.js +1 -1
  373. package/dist/client/phoenix-api.d.ts +809 -118
  374. package/dist/configurator/ConfiguratorApp.js +1 -1
  375. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  376. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  377. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  378. package/dist/configurator/app-loader-content/index.js +1 -0
  379. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  380. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  381. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  382. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +54 -3
  383. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  384. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +58 -9
  385. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  386. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  387. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  388. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  389. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  390. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  391. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  392. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  393. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  394. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  395. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  396. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +82 -55
  397. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  398. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +85 -7
  399. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  400. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  401. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  402. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.d.ts +40 -0
  403. package/dist/configurator/application-runtime/extensions/systems/graphql-system/violations.js +1 -0
  404. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  405. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  406. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  407. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  408. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  409. package/dist/configurator/common/configurator-interface.d.ts +145 -5
  410. package/dist/configurator/common/configurator-interface.js +1 -1
  411. package/dist/configurator/common/index.d.ts +3 -1
  412. package/dist/configurator/common/index.js +1 -1
  413. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  414. package/dist/configurator/common/use-reset-camera.js +1 -0
  415. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  416. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  417. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  418. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  419. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  420. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  421. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  422. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  423. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  424. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  425. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  426. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  427. package/dist/configurator/configurator-context/configurator-hooks/index.d.ts +0 -1
  428. package/dist/configurator/configurator-context/configurator-hooks/index.js +1 -1
  429. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  430. package/dist/configurator/configurator-context/index.d.ts +0 -4
  431. package/dist/configurator/configurator-context/index.js +1 -1
  432. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  433. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  434. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  435. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  436. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  437. package/dist/configurator/configurator-error-page/index.js +1 -0
  438. package/dist/configurator/index.d.ts +10 -0
  439. package/dist/configurator/index.js +1 -1
  440. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  441. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  442. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  443. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  444. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  445. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  446. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  447. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  448. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  449. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  450. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  451. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  452. package/dist/configurator/pages/RootPage.js +1 -1
  453. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  454. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  455. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  456. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  457. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  458. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  459. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  460. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  461. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  462. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  463. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  464. package/dist/configurator/pages/default-elements/index.js +1 -0
  465. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  466. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  467. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  468. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  469. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  470. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  471. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  472. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  473. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  474. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  475. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  476. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  477. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  478. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  479. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  480. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  481. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  482. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  483. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  484. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  485. package/dist/configurator/pages/error-boundaries/DevContextFallback.js +1 -1
  486. package/dist/configurator/pages/error-boundaries/DevLoadingFallback.js +1 -1
  487. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  488. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  489. package/dist/configurator/pages/index.d.ts +1 -0
  490. package/dist/configurator/pages/index.js +1 -1
  491. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  492. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  493. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  494. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  495. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  496. package/dist/configurator/preset-screen-elements/index.js +1 -0
  497. package/dist/configurator/scene/index.d.ts +1 -0
  498. package/dist/configurator/scene/index.js +1 -1
  499. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  500. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  501. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  502. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  503. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  504. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  505. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  506. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  507. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  508. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  509. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  510. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  511. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  512. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  513. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  514. package/dist/configurator/toolbar-actions/index.js +1 -0
  515. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  516. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  517. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  518. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  519. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  520. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  521. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  522. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  523. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  524. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  525. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  526. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  527. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  528. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  529. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  530. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  531. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  532. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  533. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  534. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  535. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  536. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  537. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  538. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  539. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  540. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  541. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  542. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  543. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  544. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  545. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  546. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  547. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  548. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  549. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  550. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  551. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  552. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  553. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  554. package/dist/configurator/ui/assistant/form/index.js +1 -0
  555. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  556. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  557. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  558. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  559. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  560. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  561. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  562. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  563. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  564. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  565. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  566. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  567. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  568. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  569. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  570. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  571. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  572. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  573. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  574. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  575. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  576. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  577. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  578. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  579. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  580. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  581. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  582. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  583. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  584. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  585. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  586. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  587. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  588. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  589. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  590. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  591. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  592. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  593. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  594. package/dist/configurator/ui/assistant/index.js +1 -1
  595. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  596. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  597. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  598. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  599. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  600. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  601. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  602. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  603. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  604. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  605. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  606. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  607. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  608. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  609. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  610. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  611. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  612. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  613. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  614. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  615. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  616. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  617. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  618. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  619. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +22 -0
  620. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  621. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +8 -0
  622. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -0
  623. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  624. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  625. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  626. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  627. package/dist/configurator/ui/assistant/tool-chip.d.ts +19 -9
  628. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  629. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  630. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  631. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  632. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  633. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  634. package/dist/configurator/ui/configurator-layout/slots/canvas/GPUAccelerationDisabled.js +1 -1
  635. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  636. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  637. package/dist/configurator/ui/configurator-layout/slots/canvas/WebGLNotSupported.js +1 -1
  638. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  639. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  640. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  641. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  642. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  643. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  644. package/dist/configurator/ui/configurator-layout/slots/readonly-banner/CloneToEditDialog.js +1 -1
  645. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  646. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  647. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  648. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  649. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  650. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  651. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  652. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  653. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  654. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  655. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  656. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  657. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  658. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  659. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  660. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  661. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  662. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  663. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  664. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  665. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  666. package/dist/configurator/ui/index.d.ts +1 -0
  667. package/dist/configurator/ui/index.js +1 -1
  668. package/dist/configurator/ui/legacy/chat/MobileChat.js +1 -1
  669. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  670. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  671. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  672. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  673. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  674. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  675. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  676. package/dist/configurator/ui/legacy/layout/simple/SimpleSidebar.js +1 -1
  677. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  678. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  679. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  680. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  681. package/dist/configurator/ui/legacy/layout/steps/StepsSideBar.js +1 -1
  682. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  683. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  684. package/dist/configurator/ui/legacy/layout/tabs/TabsSidebar.js +1 -1
  685. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  686. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  687. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  688. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  689. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  690. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  691. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  692. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  693. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  694. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  695. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  696. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  697. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  698. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  699. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  700. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  701. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  702. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  703. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  704. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  705. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  706. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  707. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  708. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  709. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  710. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  711. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  712. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  713. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  714. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  715. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  716. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  717. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  718. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  719. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  720. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  721. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  722. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  723. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  724. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  725. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  726. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  727. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  728. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  729. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  730. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  731. package/dist/configurator/ui/preset-layout/index.js +1 -1
  732. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  733. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  734. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  735. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  736. package/dist/docs/3d-scene/cameras/custom.mdx +4 -2
  737. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  738. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  739. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  740. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  741. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  742. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  743. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  744. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  745. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  746. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  747. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  748. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  749. package/dist/docs/drag-and-drop/room-planner.mdx +1 -1
  750. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  751. package/dist/docs/fabs/basic.mdx +6 -2
  752. package/dist/docs/index.json +136 -1
  753. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  754. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  755. package/dist/docs/layouts/custom-layout.mdx +2597 -0
  756. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  757. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  758. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  759. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  760. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  761. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  762. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  763. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  764. package/dist/docs/layouts/header/fixed.mdx +2 -2
  765. package/dist/docs/layouts/header/floating.mdx +2 -2
  766. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  767. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  768. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  769. package/dist/docs/other-features/error-5xx.mdx +1 -1
  770. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  771. package/dist/docs/other-features/not-found-404.mdx +1 -1
  772. package/dist/docs/other-features/side-effects.mdx +8 -11
  773. package/dist/docs/other-features/transformers.mdx +4 -0
  774. package/dist/docs/other-features/violation-messages.mdx +52 -56
  775. package/dist/docs/phoenix/application-states.mdx +9 -7
  776. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  777. package/dist/docs/phoenix/components.mdx +6 -0
  778. package/dist/docs/phoenix/configurator-interface.mdx +377 -83
  779. package/dist/docs/phoenix/deployments.mdx +2 -6
  780. package/dist/docs/phoenix/domain-model.mdx +10 -1
  781. package/dist/docs/phoenix/finalization.mdx +1 -1
  782. package/dist/docs/phoenix/getting-started.mdx +6 -3
  783. package/dist/docs/phoenix/layout-slots.mdx +137 -0
  784. package/dist/docs/phoenix/localization.mdx +10 -6
  785. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  786. package/dist/docs/phoenix/phoenix-cli.mdx +101 -48
  787. package/dist/docs/phoenix/project-structure.mdx +83 -37
  788. package/dist/docs/phoenix/quickstart.mdx +9 -9
  789. package/dist/docs/phoenix/sdk-builder-workflow.mdx +15 -13
  790. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  791. package/dist/docs/phoenix/testing.mdx +148 -0
  792. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  793. package/dist/docs/phoenix/webhooks.mdx +27 -6
  794. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  795. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  796. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  797. package/dist/domain/admin-domain/index.js +1 -1
  798. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  799. package/dist/domain/application/application-config.d.ts +13 -27
  800. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  801. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  802. package/dist/domain/application/assistant/assistant-manifest.d.ts +38 -5
  803. package/dist/domain/application/assistant/assistant-manifest.js +1 -1
  804. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +48 -9
  805. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  806. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  807. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  808. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  809. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  810. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  811. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  812. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  813. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  814. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  815. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  816. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  817. package/dist/domain/application/assistant/form/index.js +1 -0
  818. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +3 -0
  819. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  820. package/dist/domain/application/assistant/index.d.ts +8 -2
  821. package/dist/domain/application/assistant/index.js +1 -1
  822. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  823. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  824. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  825. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  826. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  827. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  828. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  829. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  830. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  831. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  832. package/dist/domain/application/assistant-mutations.js +1 -1
  833. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  834. package/dist/domain/application/configurator-builder.d.ts +11 -2
  835. package/dist/domain/application/configurator-builder.js +1 -1
  836. package/dist/domain/application/create-initial-published-data.d.ts +5 -5
  837. package/dist/domain/application/index.d.ts +1 -2
  838. package/dist/domain/application/index.js +1 -1
  839. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  840. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  841. package/dist/domain/application/standard-properties.js +1 -1
  842. package/dist/domain/application/web-component-property.d.ts +3 -1
  843. package/dist/domain/application/web-component-property.js +1 -1
  844. package/dist/domain/available-system-components.d.ts +1 -1
  845. package/dist/domain/available-system-components.js +1 -1
  846. package/dist/domain/core/component/domain-component-optic.d.ts +1 -2
  847. package/dist/domain/core/component/domain-component-optic.js +2 -2
  848. package/dist/domain/core/component/system-component-filter.d.ts +15 -2
  849. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  850. package/dist/domain/core/expression/custom-expression.d.ts +16 -3
  851. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  852. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  853. package/dist/domain/core/invariant/violation.d.ts +50 -2
  854. package/dist/domain/core/invariant/violation.js +1 -1
  855. package/dist/domain/core/model/model.d.ts +1 -1
  856. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  857. package/dist/domain/core/recipe/recipes.js +1 -1
  858. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  859. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  860. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  861. package/dist/domain/core/relation/index.d.ts +0 -1
  862. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  863. package/dist/domain/core/relation/indirect-relation.js +1 -1
  864. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  865. package/dist/domain/core/relation/relation-factory.js +1 -1
  866. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  867. package/dist/domain/core/state/state.d.ts +1 -1
  868. package/dist/domain/domain-builder.d.ts +9 -3
  869. package/dist/domain/domain-builder.js +1 -1
  870. package/dist/domain/domain-context/index.d.ts +1 -1
  871. package/dist/domain/domain-context/store-system/store-system.d.ts +5 -0
  872. package/dist/domain/domain-context/store-system/store-system.js +1 -1
  873. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  874. package/dist/domain/domain-context/undo-system.js +1 -1
  875. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  876. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  877. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  878. package/dist/domain/domain-runtime/access/types.js +1 -1
  879. package/dist/domain/domain-runtime/application.d.ts +39 -0
  880. package/dist/domain/domain-runtime/application.js +1 -0
  881. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +15 -13
  882. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  883. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  884. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -20
  885. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  886. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  887. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  888. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +21 -0
  889. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  890. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  891. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  892. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  893. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  894. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  895. package/dist/domain/domain-runtime/errors/index.js +1 -0
  896. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  897. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  898. package/dist/domain/domain-runtime/index.d.ts +2 -0
  899. package/dist/domain/domain-runtime/index.js +1 -1
  900. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  901. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  902. package/dist/domain/domain-runtime/spec/index.d.ts +2 -2
  903. package/dist/domain/domain-runtime/spec/index.js +1 -1
  904. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  905. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  906. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +27 -12
  907. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  908. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  909. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  910. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +4 -2
  911. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  912. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  913. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  914. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  915. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  916. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  917. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +3 -4
  918. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  919. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +7 -7
  920. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  921. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +2 -2
  922. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  923. package/dist/domain/domain-runtime/spec/selectors.d.ts +3 -1
  924. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  925. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  926. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  927. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  928. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  929. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  930. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  931. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  932. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  933. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  934. package/dist/domain/extensions/attribute-switch.js +1 -1
  935. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  936. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  937. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  938. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  939. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  940. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  941. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  942. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  943. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  944. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  945. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  946. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  947. package/dist/domain/extensions/export-images/index.js +1 -0
  948. package/dist/domain/extensions/{save-template-thumbnail.d.ts → export-images/save-template-thumbnail.d.ts} +4 -4
  949. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  950. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  951. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  952. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  953. package/dist/domain/extensions/index.d.ts +1 -2
  954. package/dist/domain/extensions/index.js +1 -1
  955. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  956. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  957. package/dist/domain/extensions/offset-indicator.js +1 -1
  958. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  959. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  960. package/dist/domain/index.d.ts +1 -0
  961. package/dist/domain/index.js +1 -1
  962. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  963. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +27 -9
  964. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  965. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  966. package/dist/domain/mocks/create-mock-domain.js +1 -1
  967. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  968. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  969. package/dist/domain/mocks/create-test-application-config.js +1 -0
  970. package/dist/domain/mocks/index.d.ts +1 -0
  971. package/dist/domain/mocks/index.js +1 -1
  972. package/dist/domain/projections/blender-projections/camera.d.ts +1 -1
  973. package/dist/domain/spec/application/admin-pages-section.d.ts +29 -0
  974. package/dist/domain/spec/application/admin-pages-section.js +1 -0
  975. package/dist/domain/spec/application/admin-pages.d.ts +26 -0
  976. package/dist/domain/spec/application/admin-pages.js +1 -0
  977. package/dist/domain/spec/application/admin-states.d.ts +5 -0
  978. package/dist/domain/spec/application/admin-states.js +1 -0
  979. package/dist/domain/spec/application/configurator-states.d.ts +8 -0
  980. package/dist/domain/spec/application/configurator-states.js +1 -0
  981. package/dist/domain/spec/application/index.d.ts +5 -0
  982. package/dist/domain/spec/application/index.js +1 -0
  983. package/dist/domain/spec/components/bindings/index.d.ts +2 -0
  984. package/dist/domain/spec/components/bindings/index.js +1 -0
  985. package/dist/domain/spec/components/bindings/read-binding.d.ts +13 -0
  986. package/dist/domain/spec/components/bindings/read-binding.js +1 -0
  987. package/dist/domain/spec/components/bindings/write-binding.d.ts +32 -0
  988. package/dist/domain/spec/components/bindings/write-binding.js +1 -0
  989. package/dist/{application-spec/parse-application-files → domain}/spec/components/component-entry.d.ts +3 -11
  990. package/dist/domain/spec/components/component-entry.js +1 -0
  991. package/dist/domain/spec/components/component-filter.d.ts +54 -0
  992. package/dist/domain/spec/components/component-filter.js +1 -0
  993. package/dist/domain/spec/components/component-filters.d.ts +10 -0
  994. package/dist/domain/spec/components/component-filters.js +1 -0
  995. package/dist/domain/spec/components/components.d.ts +4 -0
  996. package/dist/domain/spec/components/components.js +1 -0
  997. package/dist/domain/spec/components/index.d.ts +6 -0
  998. package/dist/domain/spec/components/index.js +1 -0
  999. package/dist/domain/spec/components/sdk-code-ref.d.ts +9 -0
  1000. package/dist/domain/spec/enhanced-json-value.d.ts +30 -0
  1001. package/dist/domain/spec/enhanced-json-value.js +1 -0
  1002. package/dist/{application-spec/parse-application-files → domain}/spec/expressions/expression.d.ts +9 -30
  1003. package/dist/domain/spec/expressions/expression.js +1 -0
  1004. package/dist/domain/spec/expressions/expressions.d.ts +27 -0
  1005. package/dist/domain/spec/expressions/expressions.js +1 -0
  1006. package/dist/domain/spec/expressions/index.d.ts +5 -0
  1007. package/dist/domain/spec/expressions/index.js +1 -0
  1008. package/dist/domain/spec/expressions/memo-eval-plan.d.ts +70 -0
  1009. package/dist/domain/spec/expressions/memo-eval-plan.js +1 -0
  1010. package/dist/domain/spec/expressions/relation-expression-params.d.ts +11 -0
  1011. package/dist/domain/spec/expressions/relation-expression-params.js +1 -0
  1012. package/dist/domain/spec/expressions/sdk-expression-implementation.d.ts +24 -0
  1013. package/dist/domain/spec/index.d.ts +9 -0
  1014. package/dist/domain/spec/index.js +1 -0
  1015. package/dist/domain/spec/invariants/index.d.ts +2 -0
  1016. package/dist/domain/spec/invariants/index.js +1 -0
  1017. package/dist/domain/spec/invariants/invariant.d.ts +24 -0
  1018. package/dist/domain/spec/invariants/invariant.js +1 -0
  1019. package/dist/domain/spec/invariants/invariants.d.ts +14 -0
  1020. package/dist/domain/spec/invariants/invariants.js +1 -0
  1021. package/dist/domain/spec/json-schema.d.ts +52 -0
  1022. package/dist/domain/spec/json-schema.js +1 -0
  1023. package/dist/domain/spec/markers/index.d.ts +3 -0
  1024. package/dist/domain/spec/markers/index.js +1 -0
  1025. package/dist/domain/spec/markers/msg-marker.d.ts +28 -0
  1026. package/dist/domain/spec/markers/msg-marker.js +1 -0
  1027. package/dist/domain/spec/model/aliases.d.ts +9 -0
  1028. package/dist/domain/spec/model/aliases.js +1 -0
  1029. package/dist/domain/spec/model/common-types.d.ts +15 -0
  1030. package/dist/domain/spec/model/common-types.js +1 -0
  1031. package/dist/domain/spec/model/defaults.d.ts +33 -0
  1032. package/dist/domain/spec/model/defaults.js +1 -0
  1033. package/dist/domain/spec/model/entity-types.d.ts +8 -0
  1034. package/dist/domain/spec/model/entity-types.js +1 -0
  1035. package/dist/domain/spec/model/index.d.ts +7 -0
  1036. package/dist/domain/spec/model/index.js +1 -0
  1037. package/dist/domain/spec/model/model-version-key.d.ts +3 -0
  1038. package/dist/domain/spec/model/model-version-key.js +1 -0
  1039. package/dist/domain/spec/model/names/action-name.d.ts +7 -0
  1040. package/dist/domain/spec/model/names/action-name.js +1 -0
  1041. package/dist/domain/spec/model/names/alias-name.d.ts +7 -0
  1042. package/dist/domain/spec/model/names/alias-name.js +1 -0
  1043. package/dist/domain/spec/model/names/entity-or-alias-name.d.ts +8 -0
  1044. package/dist/domain/spec/model/names/entity-or-alias-name.js +1 -0
  1045. package/dist/domain/spec/model/names/entity-type-name.d.ts +8 -0
  1046. package/dist/domain/spec/model/names/entity-type-name.js +1 -0
  1047. package/dist/domain/spec/model/names/expression-name.d.ts +6 -0
  1048. package/dist/domain/spec/model/names/expression-name.js +1 -0
  1049. package/dist/domain/spec/model/names/index.d.ts +9 -0
  1050. package/dist/domain/spec/model/names/index.js +1 -0
  1051. package/dist/domain/spec/model/names/instance-name.d.ts +7 -0
  1052. package/dist/domain/spec/model/names/instance-name.js +1 -0
  1053. package/dist/domain/spec/model/names/invariant-name.d.ts +3 -0
  1054. package/dist/domain/spec/model/names/invariant-name.js +1 -0
  1055. package/dist/domain/spec/model/names/shape-property-name.d.ts +11 -0
  1056. package/dist/domain/spec/model/names/shape-property-name.js +1 -0
  1057. package/dist/domain/spec/model/names/violation-type-name.d.ts +3 -0
  1058. package/dist/domain/spec/model/names/violation-type-name.js +1 -0
  1059. package/dist/domain/spec/model/presets.d.ts +30 -0
  1060. package/dist/domain/spec/model/presets.js +1 -0
  1061. package/dist/domain/spec/sections/actions.d.ts +23 -0
  1062. package/dist/domain/spec/sections/actions.js +1 -0
  1063. package/dist/domain/spec/sections/app-metadata.d.ts +18 -0
  1064. package/dist/domain/spec/sections/app-metadata.js +1 -0
  1065. package/dist/domain/spec/sections/application-version.d.ts +7 -0
  1066. package/dist/domain/spec/sections/application-version.js +1 -0
  1067. package/dist/domain/spec/sections/data-spec/chunks.d.ts +23 -0
  1068. package/dist/domain/spec/sections/data-spec/chunks.js +1 -0
  1069. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.d.ts +16 -0
  1070. package/dist/domain/spec/sections/data-spec/custom-data-spec-entry.js +1 -0
  1071. package/dist/domain/spec/sections/data-spec/data-entry-key.d.ts +9 -0
  1072. package/dist/domain/spec/sections/data-spec/data-entry-key.js +1 -0
  1073. package/dist/domain/spec/sections/data-spec/index.d.ts +5 -0
  1074. package/dist/domain/spec/sections/data-spec/index.js +1 -0
  1075. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.d.ts +10 -0
  1076. package/dist/domain/spec/sections/data-spec/parsed-data-spec-entries.js +1 -0
  1077. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.d.ts +14 -0
  1078. package/dist/domain/spec/sections/data-spec/swatch-data-spec-entry.js +1 -0
  1079. package/dist/domain/spec/sections/index.d.ts +9 -0
  1080. package/dist/domain/spec/sections/index.js +1 -0
  1081. package/dist/domain/spec/sections/infra/acl.d.ts +12 -0
  1082. package/dist/domain/spec/sections/infra/acl.js +1 -0
  1083. package/dist/domain/spec/sections/infra/index.d.ts +3 -0
  1084. package/dist/domain/spec/sections/infra/index.js +1 -0
  1085. package/dist/domain/spec/sections/infra/resource-entry.d.ts +46 -0
  1086. package/dist/domain/spec/sections/infra/resource-entry.js +1 -0
  1087. package/dist/domain/spec/sections/infra/resources-config.d.ts +10 -0
  1088. package/dist/domain/spec/sections/infra/resources-config.js +1 -0
  1089. package/dist/domain/spec/sections/state-value.d.ts +7 -0
  1090. package/dist/domain/spec/sections/state-value.js +1 -0
  1091. package/dist/domain/spec/sections/theme.d.ts +10 -0
  1092. package/dist/domain/spec/sections/theme.js +1 -0
  1093. package/dist/domain/spec/sections/transformers.d.ts +15 -0
  1094. package/dist/domain/spec/sections/transformers.js +1 -0
  1095. package/dist/domain/spec/sections/ui.d.ts +12 -0
  1096. package/dist/domain/spec/sections/ui.js +1 -0
  1097. package/dist/domain/system-components/application-config.d.ts +2 -2
  1098. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1099. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  1100. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  1101. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  1102. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1103. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  1104. package/dist/domain/system-components/common/recipes.js +1 -1
  1105. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1106. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1107. package/dist/domain/system-components/constraint.d.ts +10 -23
  1108. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1109. package/dist/domain/system-components/drag-handle.js +1 -1
  1110. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1111. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1112. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1113. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1114. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  1115. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1116. package/dist/domain/system-components/material-swatch.js +1 -1
  1117. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1118. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1119. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1120. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1121. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1122. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1123. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1124. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1125. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1126. package/dist/editor/Editor.d.ts +7 -0
  1127. package/dist/editor/Editor.js +1 -1
  1128. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1129. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1130. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1131. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -16
  1132. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1133. package/dist/editor/graphql/GraphQLPanel.js +1 -1
  1134. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1135. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1136. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1137. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1138. package/dist/globals/index.d.ts +2 -0
  1139. package/dist/i18n/locales/cs/messages.js +1 -1
  1140. package/dist/i18n/locales/da/messages.js +1 -1
  1141. package/dist/i18n/locales/de/messages.js +1 -1
  1142. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1143. package/dist/i18n/locales/en/messages.js +1 -1
  1144. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1145. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1146. package/dist/i18n/locales/es/messages.js +1 -1
  1147. package/dist/i18n/locales/fr/messages.js +1 -1
  1148. package/dist/i18n/locales/hu/messages.js +1 -1
  1149. package/dist/i18n/locales/it/messages.js +1 -1
  1150. package/dist/i18n/locales/nl/messages.js +1 -1
  1151. package/dist/i18n/locales/pl/messages.js +1 -1
  1152. package/dist/i18n/locales/pt/messages.js +1 -1
  1153. package/dist/i18n/locales/ro/messages.js +1 -1
  1154. package/dist/i18n/locales/sk/messages.js +1 -1
  1155. package/dist/i18n/locales/tr/messages.js +1 -1
  1156. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1157. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  1158. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1159. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  1160. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1161. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1162. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1163. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  1164. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1165. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1166. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1167. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1168. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -1
  1169. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +15 -13
  1170. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1171. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1172. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1173. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1174. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1175. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1176. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +1 -2
  1177. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1178. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1179. package/dist/phoenix/application-spec/generate-project-files.d.ts +1 -2
  1180. package/dist/phoenix/application-spec/index.d.ts +1 -0
  1181. package/dist/phoenix/application-spec/index.js +1 -1
  1182. package/dist/phoenix/application-spec/project-files.js +1 -1
  1183. package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +11 -0
  1184. package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
  1185. package/dist/phoenix/bin.d.ts +2 -0
  1186. package/dist/phoenix/bin.js +2 -0
  1187. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1188. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1189. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1190. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1191. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1192. package/dist/phoenix/check-configs/index.js +1 -0
  1193. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1194. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1195. package/dist/phoenix/cli.d.ts +0 -1
  1196. package/dist/phoenix/cli.js +1 -2
  1197. package/dist/phoenix/commands/build.js +1 -1
  1198. package/dist/phoenix/commands/check.js +1 -1
  1199. package/dist/phoenix/commands/clean.js +1 -1
  1200. package/dist/phoenix/commands/deploy.js +2 -2
  1201. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1202. package/dist/phoenix/commands/deps/deps.js +3 -0
  1203. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1204. package/dist/phoenix/commands/deps/index.js +1 -0
  1205. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1206. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1207. package/dist/phoenix/commands/dev.js +5 -5
  1208. package/dist/phoenix/commands/fix.js +1 -1
  1209. package/dist/phoenix/commands/generated-env-markers.d.ts +1 -0
  1210. package/dist/phoenix/commands/generated-env-markers.js +1 -1
  1211. package/dist/phoenix/commands/index.d.ts +1 -0
  1212. package/dist/phoenix/commands/index.js +1 -1
  1213. package/dist/phoenix/commands/init.d.ts +17 -5
  1214. package/dist/phoenix/commands/init.js +1 -1
  1215. package/dist/phoenix/commands/link.js +1 -1
  1216. package/dist/phoenix/commands/prettier.js +1 -1
  1217. package/dist/phoenix/commands/sync.js +1 -1
  1218. package/dist/phoenix/commands/unlink.js +1 -1
  1219. package/dist/phoenix/lingui/index.d.ts +1 -0
  1220. package/dist/phoenix/lingui/index.js +1 -0
  1221. package/dist/phoenix/lingui/lingui.d.ts +18 -0
  1222. package/dist/phoenix/lingui/lingui.js +1 -0
  1223. package/dist/phoenix/services/application-spec-project-watcher.d.ts +5 -3
  1224. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1225. package/dist/phoenix/services/index.d.ts +1 -0
  1226. package/dist/phoenix/services/index.js +1 -1
  1227. package/dist/phoenix/services/lingui-watcher.js +1 -1
  1228. package/dist/phoenix/services/prepare-development-environment.js +1 -1
  1229. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1230. package/dist/phoenix/services/source-archive.js +1 -1
  1231. package/dist/phoenix/services/swc.js +1 -1
  1232. package/dist/phoenix/services/vite-config.js +1 -1
  1233. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1234. package/dist/phoenix/utils/git/index.js +1 -0
  1235. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1236. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1237. package/dist/phoenix/utils/index.d.ts +5 -2
  1238. package/dist/phoenix/utils/index.js +1 -1
  1239. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1240. package/dist/phoenix/utils/node-version/index.js +1 -0
  1241. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1242. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1243. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1244. package/dist/phoenix/utils/package-info.js +1 -1
  1245. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1246. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1247. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1248. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1249. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1250. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1251. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1252. package/dist/phoenix/utils/run-command.js +1 -1
  1253. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1254. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1255. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1256. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1257. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1258. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  1259. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1260. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1261. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1262. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1263. package/dist/react-sdk/application-runtime/domain-application-context/chat-system.d.ts +1 -1
  1264. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1265. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1266. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1267. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1268. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1269. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1270. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1271. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1272. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1273. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1274. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1275. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1276. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1277. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1278. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1279. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1280. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1281. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1282. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1283. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1284. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1285. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1286. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1287. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1288. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +7 -0
  1289. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1290. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1291. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1292. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1293. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1294. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1295. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1296. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1297. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1298. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1299. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1300. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1301. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1302. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1303. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1304. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1305. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1306. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1307. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1308. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1309. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1310. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1311. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1312. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1313. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1314. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1315. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1316. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1317. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1318. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1319. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1320. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1321. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1322. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1323. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1324. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1325. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1326. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1327. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1328. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1329. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1330. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1331. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1332. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1333. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1334. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1335. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1336. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1337. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1338. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1339. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1340. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1341. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1342. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1343. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1344. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1345. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1346. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1347. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +346 -26
  1348. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1349. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/ConfiguratorRoutingProvider.d.ts +1 -1
  1350. package/dist/react-sdk/configurator-routing/ConfiguratorRoutingProvider.js +1 -0
  1351. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/OnGoToIndexHandler.d.ts +1 -2
  1352. package/dist/react-sdk/configurator-routing/OnGoToIndexHandler.js +1 -0
  1353. package/dist/react-sdk/configurator-routing/index.d.ts +3 -0
  1354. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/index.js +1 -1
  1355. package/dist/{configurator/configurator-context → react-sdk}/configurator-routing/use-power-routing-lifecycle.d.ts +2 -0
  1356. package/dist/react-sdk/configurator-routing/use-power-routing-lifecycle.js +1 -0
  1357. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1358. package/dist/react-sdk/domain-application-context/ConfigurationPersistSystemFailureHandler.js +1 -1
  1359. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1360. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1361. package/dist/react-sdk/domain-application-context/OnPresetLoadedHandler.js +1 -0
  1362. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1363. package/dist/react-sdk/domain-application-context/chat-hooks.d.ts +4 -0
  1364. package/dist/react-sdk/domain-application-context/chat-hooks.js +1 -0
  1365. package/dist/react-sdk/domain-application-context/index.d.ts +2 -0
  1366. package/dist/react-sdk/domain-application-context/index.js +1 -1
  1367. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1368. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1369. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1370. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1371. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1372. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1373. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +5 -4
  1374. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1375. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1376. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1377. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1378. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1379. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1380. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1381. package/dist/react-sdk/domain-context/index.d.ts +9 -1
  1382. package/dist/react-sdk/domain-context/index.js +1 -1
  1383. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1384. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1385. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1386. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1387. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1388. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1389. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1390. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1391. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1392. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1393. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1394. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1395. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1396. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1397. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1398. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1399. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1400. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1401. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1402. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1403. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1404. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1405. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1406. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1407. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1408. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1409. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1410. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1411. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1412. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1413. package/dist/react-sdk/handlers/index.js +1 -1
  1414. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1415. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1416. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1417. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1418. package/dist/react-sdk/index.d.ts +6 -0
  1419. package/dist/react-sdk/index.js +1 -1
  1420. package/dist/react-sdk/integration/IntegrationSubscription.js +1 -0
  1421. package/dist/react-sdk/integration/index.d.ts +1 -0
  1422. package/dist/react-sdk/integration/index.js +1 -0
  1423. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.d.ts +8 -0
  1424. package/dist/react-sdk/lifecycle-providers/ConfiguratorDataProvider.js +1 -0
  1425. package/dist/react-sdk/lifecycle-providers/LifecycleProviders.js +1 -0
  1426. package/dist/react-sdk/lifecycle-providers/index.d.ts +2 -0
  1427. package/dist/react-sdk/lifecycle-providers/index.js +1 -0
  1428. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1429. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1430. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1431. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1432. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1433. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1434. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1435. package/dist/react-sdk/loading-state/index.js +1 -1
  1436. package/dist/react-sdk/loading-state/{LoadingStateProvider.d.ts → loading-state-hooks.d.ts} +3 -12
  1437. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1438. package/dist/react-sdk/notifications/index.d.ts +1 -0
  1439. package/dist/react-sdk/notifications/index.js +1 -0
  1440. package/dist/react-sdk/notifications/snackbar-action-button.d.ts +30 -0
  1441. package/dist/react-sdk/notifications/snackbar-action-button.js +1 -0
  1442. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1443. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1444. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1445. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1446. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1447. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1448. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1449. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1450. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1451. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1452. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1453. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1454. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1455. package/dist/react-sdk/page-elements/index.js +1 -0
  1456. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1457. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1458. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1459. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1460. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1461. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1462. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1463. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1464. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1465. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1466. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1467. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1468. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1469. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1470. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1471. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1472. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1473. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1474. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1475. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1476. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1477. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1478. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1479. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1480. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1481. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1482. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1483. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1484. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1485. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1486. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1487. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1488. package/dist/ui-sdk/components/snackbar/Snackbar.d.ts +24 -3
  1489. package/dist/ui-sdk/components/snackbar/Snackbar.js +1 -1
  1490. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1491. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1492. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1493. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1494. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1495. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1496. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1497. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1498. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1499. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1500. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  1501. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1502. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1503. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1504. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1505. package/dist/watch/glob-matcher.d.ts +4 -4
  1506. package/dist/watch/glob-matcher.js +1 -1
  1507. package/dist/watch/watch.d.ts +4 -4
  1508. package/dist/watch/watch.js +1 -1
  1509. package/dist/webhook/builders/webhook-builder.js +1 -1
  1510. package/package.json +58 -36
  1511. package/schema/domain-spec.json +1341 -217
  1512. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1513. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1514. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1515. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1516. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1517. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1518. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1519. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1520. package/dist/configurator/common/frontend-analytics.js +0 -1
  1521. package/dist/configurator/configurator-context/ConfiguratorDataProvider.d.ts +0 -2
  1522. package/dist/configurator/configurator-context/ConfiguratorDataProvider.js +0 -1
  1523. package/dist/configurator/configurator-context/IntegrationSubscription.js +0 -1
  1524. package/dist/configurator/configurator-context/LifecycleProviders.js +0 -1
  1525. package/dist/configurator/configurator-context/OnPresetLoadedHandler.js +0 -1
  1526. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.d.ts +0 -1
  1527. package/dist/configurator/configurator-context/configurator-hooks/chat-hooks.js +0 -1
  1528. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +0 -1
  1529. package/dist/configurator/configurator-context/configurator-routing/OnGoToIndexHandler.js +0 -1
  1530. package/dist/configurator/configurator-context/configurator-routing/index.d.ts +0 -2
  1531. package/dist/configurator/configurator-context/configurator-routing/use-power-routing-lifecycle.js +0 -1
  1532. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1533. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1534. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1535. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1536. package/dist/domain/application/resource-builder.d.ts +0 -13
  1537. package/dist/domain/application/resource-builder.js +0 -1
  1538. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1539. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -26
  1540. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1541. package/dist/domain/extensions/client-side-image.d.ts +0 -14
  1542. package/dist/domain/extensions/client-side-image.js +0 -1
  1543. package/dist/domain/extensions/save-template-thumbnail.js +0 -1
  1544. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1545. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1546. package/dist/phoenix/services/lingui.d.ts +0 -7
  1547. package/dist/phoenix/services/lingui.js +0 -1
  1548. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1549. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1550. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1551. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1552. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1553. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1554. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1555. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1556. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1557. /package/dist/{application-spec/core → domain/spec/application}/application-instance.d.ts +0 -0
  1558. /package/dist/{application-spec/core → domain/spec/application}/application-instance.js +0 -0
  1559. /package/dist/{application-spec/parse-application-files/spec/components/component-entry.js → domain/spec/components/sdk-code-ref.js} +0 -0
  1560. /package/dist/{application-spec/parse-application-files/spec/expressions/expression.js → domain/spec/expressions/sdk-expression-implementation.js} +0 -0
  1561. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.d.ts +0 -0
  1562. /package/dist/{application-spec/parse-application-files/spec/components → domain/spec/markers}/component-prop-target.js +0 -0
  1563. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.d.ts +0 -0
  1564. /package/dist/{application-spec/core → domain/spec}/markers/eval-marker.js +0 -0
  1565. /package/dist/{configurator/configurator-context → react-sdk/domain-application-context}/OnPresetLoadedHandler.d.ts +0 -0
  1566. /package/dist/{configurator/configurator-context → react-sdk/integration}/IntegrationSubscription.d.ts +0 -0
  1567. /package/dist/{configurator/configurator-context → react-sdk/lifecycle-providers}/LifecycleProviders.d.ts +0 -0
@@ -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,16 @@ 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
- * 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.
12
+ * A row of notes on what the assistant did in a reply, one per tool call, and one for the
13
+ * screenshots of a call that took any. A click on a call's note logs the input and the result of
14
+ * its call to the console. While one of the row's changes is the step
15
+ * of the undo history the configuration is at, an Undo after the notes takes the row's changes
16
+ * back, up to a change the user made in between.
10
17
  */
11
- export declare const AssistantToolChips: import("react").MemoExoticComponent<({ tools, isActive }: AssistantToolChipsProps) => import("react/jsx-runtime").JSX.Element>;
18
+ export declare const AssistantToolChips: import("react").MemoExoticComponent<({ tools, isActive, canUndo, onUndo }: AssistantToolChipsProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Tooltip as a,styled as i}from"@mui/material";import{memo as s,useCallback as o}from"react";import{match as n}from"ts-pattern";import{useLocalizable as r}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{AssistantPanelName as d}from"./theme.js";let m={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},c={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},p={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},h={id:"sdk.assistant.tool.cancelled.hint",message:"Stopped before it finished."},g={id:"sdk.assistant.tool.noResult.hint",message:"The result of this step was lost. It may or may not have been done."},f={id:"sdk.assistant.tool.toolBudget.hint",message:"Not done: the assistant reached its limit of steps for one message."},u=i("div",{name:d,slot:"chips"})(({theme:{palette:t,spacing:e,typography:a}})=>({...a.caption,alignItems:"start",color:t.text.secondary,display:"grid",gap:e(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),k=i("span",{name:d,slot:"activity"})(({theme:{typography:t}})=>({blockSize:`calc(${t.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),x=i(l,{name:d,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2.4s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),w=i("span",{name:d,slot:"chip"})(({theme:{palette:t,spacing:e}})=>({cursor:"default",display:"inline-block",whiteSpace:"nowrap","&:not(:last-child)::after":{color:t.text.secondary,content:'"\xb7"',display:"inline-block",marginInline:e(.75),textDecoration:"none"},'&[data-chip="failed"]':{color:t.error.main},'&[data-chip="flawed"]':{textDecoration:"line-through",textDecorationColor:t.error.main}})),y=s(({tool:e})=>{let{chip:i,input:s,result:l}=e,d=r(m),u=r(c),k=r(p),x=r(h),y=r(g),b=r(f),v=n(i.label).with({kind:"text"},({text:t})=>t).with({kind:"updateDesign"},()=>d).with({kind:"readDesign"},()=>u).exhaustive(),C=o(()=>{console.info(`Assistant tool call "${v}"`,{input:s,result:l})},[s,v,l]);return t(a,{title:n(i).with({errorCode:"cancelled"},()=>x).with({errorCode:"no_result"},()=>y).with({errorCode:"tool_budget"},()=>b).with({state:"failed"},{state:"flawed"},()=>k).otherwise(()=>""),placement:"top-start",children:t(w,{onClick:C,"data-chip":i.state,children:v})})});export const AssistantToolChips=s(({tools:a,isActive:i})=>e(u,{"data-chips":i?"active":"done","aria-busy":i,children:[t(k,{children:t(x,{name:"Gear"})}),t("div",{children:a.map(e=>t(y,{tool:e},e.id))})]}));
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{ButtonBase as i,ClickAwayListener as o,Tooltip as s,styled as a}from"@mui/material";import{memo as r,useCallback as l,useMemo as d,useRef as c,useState as m}from"react";import{match as p}from"ts-pattern";import{useLocalizable as h}from"#package/react-sdk";import{PhxIcon as u}from"#package/ui-sdk";import{assistantReferenceStyles as f}from"./reference-link/index.js";import{ScreenshotThumbnails as g,readToolScreenshots as k}from"./screenshots/index.js";import{AssistantPanelName as x}from"./theme.js";let y={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},b={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},w={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},v={id:"sdk.assistant.tool.cancelled.hint",message:"Stopped before it finished."},C={id:"sdk.assistant.tool.noResult.hint",message:"The result of this step was lost. It may or may not have been done."},I={id:"sdk.assistant.tool.toolBudget.hint",message:"Not done: the assistant reached its limit of steps for one message."},S={id:"sdk.assistant.tool.undo.label",message:"Undo"},D={id:"sdk.assistant.tool.screenshots.label",message:"{count, plural, one {# screenshot} other {# screenshots}}"},j=a("div",{name:x,slot:"chips"})(({theme:{palette:e,spacing:t,typography:n}})=>({...n.caption,alignItems:"start",color:e.text.secondary,display:"grid",gap:t(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),z=a("span",{name:x,slot:"activity"})(({theme:{typography:e}})=>({blockSize:`calc(${e.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),A=a(u,{name:x,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2.4s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),T=a("span",{name:x,slot:"chip"})(({theme:{palette:e,spacing:t}})=>({cursor:"default",display:"inline-flex",maxInlineSize:"100%",verticalAlign:"top",whiteSpace:"nowrap","&:not(:last-of-type)::after":{color:e.text.secondary,content:'"\xb7"',flexShrink:0,marginInline:t(.75)}})),E=a("span",{name:x,slot:"screenshotsLink"})(f),L=a(i,{name:x,slot:"undoButton"})(({theme:{palette:e,shape:t,spacing:n}})=>({alignItems:"center",animation:"phx-assistant-undo-in 150ms ease-out",borderRadius:t.borderRadius,color:e.primary.main,display:"inline-flex",font:"inherit",gap:n(.5),marginInlineStart:n(1),verticalAlign:"top","&:hover":{textDecoration:"underline"},"@media (prefers-reduced-motion: reduce)":{animation:"none"},"@keyframes phx-assistant-undo-in":{from:{opacity:0}}})),R=a("span",{name:x,slot:"chipLabel"})(({theme:{palette:e}})=>({minInlineSize:0,overflow:"hidden",textOverflow:"ellipsis",'[data-chip="failed"] > &':{textDecoration:"line-through",textDecorationColor:e.error.main}})),P=a("span",{name:x,slot:"violation"})({display:"block"}),B=a("span",{name:x,slot:"fullLabel"})({display:"block"}),O=r(({tool:i})=>{let{chip:o,input:a,result:r}=i,d=h(y),u=h(b),f=h(w),g=h(v),k=h(C),x=h(I),S=c(null),[D,j]=m(!1),z=p(o.label).with({kind:"text"},({text:e})=>e).with({kind:"updateDesign"},()=>d).with({kind:"readDesign"},()=>u).exhaustive(),A=l(()=>{console.info(`Assistant tool call "${z}"`,{input:a,result:r})},[a,z,r]),E=l(()=>{let e=S.current;j(null!=e&&e.scrollWidth>e.clientWidth)},[]),L=p(o).with({errorCode:"cancelled"},()=>g).with({errorCode:"no_result"},()=>k).with({errorCode:"tool_budget"},()=>x).when(({violations:e})=>e.length>0,({violations:t})=>t.map((t,n)=>e(P,{children:t},n))).with({state:"failed"},()=>f).otherwise(()=>""),O=D?t(n,{children:[e(B,{children:z}),L]}):L;return e(s,{title:O,placement:"top-start",children:e(T,{onClick:A,onPointerEnter:E,"data-chip":o.state,children:e(R,{ref:S,children:z})})})}),U=r(({screenshots:t})=>{let n=h({...D,values:{count:t.length}}),[i,a]=m(!1),r=l(()=>a(!0),[]),d=l(()=>a(!1),[]),p=c(null),u=l(e=>{p.current=e},[]),f=l(()=>{p.current?.update()},[]),k=l(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a(!0))},[]);return e(T,{"data-chip":"screenshots",children:e(o,{onClickAway:d,mouseEvent:!!i&&"onClick",touchEvent:!!i&&"onTouchEnd",children:e(s,{open:i,onOpen:r,onClose:d,title:e(g,{screenshots:t,onImageLoad:f}),placement:"top-start",describeChild:!0,disableTouchListener:!0,PopperProps:{popperRef:u},slotProps:{tooltip:{sx:{background:"none",maxInlineSize:"none",padding:0}}},children:e(E,{role:"button",tabIndex:0,"aria-expanded":i,onClick:r,onKeyDown:k,children:n})})})})}),W=({tool:i})=>{let o=d(()=>k(i.result),[i.result]);return t(n,{children:[e(O,{tool:i}),o.length>0&&e(U,{screenshots:o})]})};export const AssistantToolChips=r(({tools:n,isActive:i,canUndo:o,onUndo:s})=>{let a=h(S),r=l(()=>{s(new Set(n.map(({id:e})=>e)))},[s,n]);return t(j,{"data-chips":i?"active":"done","aria-busy":i,children:[e(z,{children:e(A,{name:"Gear"})}),t("div",{children:[n.map(t=>e(W,{tool:t},t.id)),o&&t(L,{onClick:r,children:[e(u,{name:"ArrowCounterClockwise",fontSize:"inherit"}),a]})]})]})});
@@ -1,7 +1,12 @@
1
+ import type { AssistantFormsVisibility } from './thread-items.js';
1
2
  export interface AssistantMarkdownProps {
2
3
  readonly markdown: string;
3
4
  /** True while the text is still arriving, so markup the model has not finished is completed. */
4
5
  readonly isStreaming: boolean;
6
+ readonly forms: AssistantFormsVisibility;
5
7
  }
6
- /** Assistant text of the thread: Markdown with lists, tables, links and code, without a bubble. */
7
- export declare const AssistantMarkdown: import("react").MemoExoticComponent<({ markdown, isStreaming }: AssistantMarkdownProps) => import("react/jsx-runtime").JSX.Element>;
8
+ /**
9
+ * Assistant text of the thread: Markdown with lists, tables, alerts, links, entity links, references, images, code and forms,
10
+ * without a bubble. A form fence the model is still writing shows a placeholder.
11
+ */
12
+ export declare const AssistantMarkdown: import("react").MemoExoticComponent<({ markdown, isStreaming, forms }: AssistantMarkdownProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{styled as e}from"@mui/material";import{memo as o}from"react";import a from"react-markdown";import i from"remark-gfm";import{completeStreamedMarkdown as n}from"./streamed-markdown.js";import{AssistantPanelName as t}from"./theme.js";let l=e("div",{name:t,slot:"assistantMessage"})(({theme:{palette:r,shape:e,spacing:o,typography:a}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:o(1)},"h1, h2, h3, h4, h5, h6":{...a.subtitle2,marginBlock:o(1.5,.5)},"ul, ol":{paddingInlineStart:o(2.5)},a:{color:r.primary.main},code:{background:r.action.hover,borderRadius:e.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:o(.5)},pre:{background:r.action.hover,borderRadius:e.borderRadius,overflowX:"auto",padding:o(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${r.divider}`,color:r.text.secondary,marginInline:0,paddingInlineStart:o(1.5)},"th, td":{borderBlockEnd:`1px solid ${r.divider}`,padding:o(.5,1),textAlign:"start",verticalAlign:"top"}})),d=e("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),m={a:({node:e,children:o,...a})=>r("a",{...a,target:"_blank",rel:"noopener noreferrer",children:o}),table:({node:e,children:o,...a})=>r(d,{children:r("table",{...a,children:o})})},s=[i],c=["img"];export const AssistantMarkdown=o(({markdown:e,isStreaming:o})=>r(l,{children:r(a,{components:m,remarkPlugins:s,disallowedElements:c,children:o?n(e):e})}));
1
+ import{jsx as e,Fragment as r}from"react/jsx-runtime";import{styled as n}from"@mui/material";import{createContext as i,memo as o,useContext as t,useMemo as l}from"react";import a,{defaultUrlTransform as d}from"react-markdown";import m from"remark-gfm";import{AssistantAlert as s,isAlertKind as c,remarkAlerts as u}from"./alert/index.js";import{AssistantEntityLink as p}from"./entity-link/index.js";import{AssistantForm as h}from"./form/index.js";import{AssistantReferenceLink as f,isAssistantLinkHref as g,parseAssistantLinkTarget as k}from"./reference-link/index.js";import{AssistantImage as b}from"./resource-image/index.js";import{completeStreamedMarkdown as v,hasOpenFence as x}from"./streamed-markdown.js";import{AssistantPanelName as y}from"./theme.js";let j=n("div",{name:y,slot:"assistantMessage"})(({theme:{palette:e,shape:r,spacing:n,typography:i}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:n(1)},"h1, h2, h3, h4, h5, h6":{...i.subtitle2,marginBlock:n(1.5,.5)},"ul, ol":{paddingInlineStart:n(2.5)},a:{color:e.primary.main},code:{background:e.action.hover,borderRadius:r.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:n(.5)},pre:{background:e.action.hover,borderRadius:r.borderRadius,overflowX:"auto",padding:n(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${e.divider}`,color:e.text.secondary,marginInline:0,paddingInlineStart:n(1.5)},"th, td":{borderBlockEnd:`1px solid ${e.divider}`,padding:n(.5,1),textAlign:"start",verticalAlign:"top"}})),w=n("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),S=i({forms:"hidden",openFenceEnd:void 0,isStreaming:!1}),A=({source:r,end:n})=>{let{forms:i,openFenceEnd:o,isStreaming:l}=t(S);return"hidden"===i?null:null!=n&&n===o?l?e(h,{source:r,status:"writing"}):null:e(h,{source:r,status:"disabled"===i?"waiting":"ready"})},B={a:({node:n,children:i,href:o,...t})=>{if(null==o||!g(o))return e("a",{...t,href:o,target:"_blank",rel:"noopener noreferrer",children:i});let l=k(o);return null==l?e(r,{children:i}):"entity"===l.kind?e(p,{id:l.id,children:i}):e(f,{target:l,children:i})},blockquote:({node:r,children:n,...i})=>{let o=r?.properties.dataAlert;return c(o)?e(s,{kind:o,children:n}):e("blockquote",{...i,children:n})},img:({src:r,alt:n})=>e(b,{src:r,alt:n}),pre:({node:r,children:n,...i})=>{let o=(e=>{let[r]=e?.children??[];if(r?.type!=="element"||"code"!==r.tagName)return;let{className:n}=r.properties;if(Array.isArray(n)&&n.includes("language-form"))return r.children.map(e=>"text"===e.type?e.value:"").join("")})(r);return null==o?e("pre",{...i,children:n}):e(A,{source:o,end:r?.position?.end.offset})},table:({node:r,children:n,...i})=>e(w,{children:e("table",{...i,children:n})})},I=[m,u],q=e=>g(e)?e:d(e);export const AssistantMarkdown=o(({markdown:r,isStreaming:n,forms:i})=>{let o=n?v(r):r,t=x(r)?o.length:void 0,d=l(()=>({forms:i,openFenceEnd:t,isStreaming:n}),[i,t,n]);return e(j,{children:e(S.Provider,{value:d,children:e(a,{components:B,remarkPlugins:I,urlTransform:q,children:o})})})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{IconButton as s,Tooltip as a,Typography as i,styled as n}from"@mui/material";import{useCallback as r}from"react";import{useLocalizable as o}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";import{AssistantComposer as d}from"./AssistantComposer.js";import{AssistantThread as p}from"./AssistantThread.js";import{AssistantPanelName as c}from"./theme.js";import{useIsAssistantPanelOpen as u}from"./use-is-assistant-panel-open.js";let b={id:"sdk.assistant.panel.title",message:"Assistant"},f={id:"sdk.assistant.panel.close.label",message:"Close assistant"};export const ASSISTANT_PANEL_SLOT="slot[assistant]";let g=n("section",{name:c,slot:"root"})(({theme:{palette:e}})=>({background:`var(--phx-sidebar-background, ${e.background.paper})`,border:"var(--phx-sidebar-border, 0)",borderRadius:"inherit",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",inset:0,overflow:"hidden",position:"absolute",zIndex:1})),h=n("header",{name:c,slot:"header"})(({theme:{palette:e,spacing:t}})=>({alignItems:"center",borderBlockEnd:`1px solid ${e.divider}`,display:"flex",gap:t(1),justifyContent:"space-between",paddingBlock:t(1),paddingInline:`var(--phx-sidebar-padding, ${t(2)}) ${t(1)}`})),x=n(i,{name:c,slot:"title"})({fontWeight:600}),k=n(s,{name:c,slot:"closeButton"})({}),j=e=>{e.target instanceof Element&&e.target.closest("button")&&e.preventDefault()};export const AssistantPanel=()=>{let{assistantSystem:s}=m(),i=u(),n=o(b),c=o(f),v=r(()=>{s.setOpen(!1)},[s]);return i?t(g,{"data-sidebar":"slot[assistant]","aria-label":n,onMouseDown:j,children:[t(h,{children:[e(x,{variant:"subtitle1",component:"h2",children:n}),e(a,{title:c,placement:"top",children:e(k,{size:"small","aria-label":c,onClick:v,children:e(l,{name:"X"})})})]}),e(p,{}),e(d,{})]}):null};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{IconButton as s,Tooltip as a,Typography as n,styled as i}from"@mui/material";import{useCallback as r}from"react";import{useLocalizable as o}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";import{AssistantComposer as d}from"./AssistantComposer.js";import{AssistantThread as p}from"./AssistantThread.js";import{AssistantPanelName as c}from"./theme.js";import{useIsAssistantPanelOpen as u}from"./use-is-assistant-panel-open.js";let b={id:"sdk.assistant.panel.title",message:"Assistant"},f={id:"sdk.assistant.panel.close.label",message:"Close assistant"};export const ASSISTANT_PANEL_SLOT="slot[assistant]";let g=i("section",{name:c,slot:"root"})(({theme:{palette:e}})=>({background:`var(--phx-sidebar-background, ${e.background.paper})`,border:"var(--phx-sidebar-border, 0)",borderRadius:"inherit",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",inset:0,overflow:"hidden",position:"absolute",zIndex:1})),h=i("header",{name:c,slot:"header"})(({theme:{palette:e,spacing:t}})=>({alignItems:"center",borderBlockEnd:`1px solid ${e.divider}`,display:"flex",gap:t(1),justifyContent:"space-between",paddingBlock:t(1),paddingInline:`var(--phx-sidebar-padding, ${t(2)}) ${t(1)}`})),x=i(n,{name:c,slot:"title"})({fontWeight:600}),k=i(s,{name:c,slot:"closeButton"})({}),j=e=>{e.target instanceof Element&&e.target.closest('button, [role="button"]')&&e.preventDefault()};export const AssistantPanel=()=>{let{assistantSystem:s}=m(),n=u(),i=o(b),c=o(f),v=r(()=>{s.setOpen(!1)},[s]);return n?t(g,{"data-sidebar":"slot[assistant]","aria-label":i,onMouseDown:j,children:[t(h,{children:[e(x,{variant:"subtitle1",component:"h2",children:i}),e(a,{title:c,placement:"top",children:e(k,{size:"small","aria-label":c,onClick:v,children:e(l,{name:"X"})})})]}),e(p,{}),e(d,{})]}):null};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as s,styled as t}from"@mui/material";import{useMemo as r}from"react";import{match as n}from"ts-pattern";import{useEagerObservableValue as o}from"#package/react-sdk";import{PhxIcon as l}from"#package/ui-sdk";import{useConfigurator as d}from"../../application-runtime/index.js";import{AssistantToolChips as m}from"./AssistantChips.js";import{AssistantMarkdown as h}from"./AssistantMarkdown.js";import{describeAssistantFailure as c}from"./assistant-failure.js";import{AssistantPanelName as p}from"./theme.js";import{buildEarlierThreadItems as g,buildThreadView as u}from"./thread-items.js";import{useFollowStream as k}from"./use-follow-stream.js";let f=t("div",{name:p,slot:"thread"})({display:"grid",position:"relative"}),v=t("div",{name:p,slot:"messages"})(({theme:{spacing:e,typography:a}})=>({...a.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,"& > :first-child":{marginBlockStart:"auto"}})),w=t("div",{name:p,slot:"userMessage"})(({theme:{palette:e,spacing:a}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:a(1),paddingInline:a(1.5),whiteSpace:"pre-wrap"})),b=t("div",{name:p,slot:"greeting"})({}),x=t("div",{name:p,slot:"status"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary})),y=t("div",{name:p,slot:"separator"})(({theme:{palette:e,spacing:a,typography:i}})=>({...i.caption,alignItems:"center",color:e.text.secondary,display:"flex",gap:a(1),"&::before, &::after":{borderBlockStart:`1px solid ${e.divider}`,content:'""',flex:1}})),T=t(s,{name:p,slot:"earlierButton"})({alignSelf:"center"}),S=t("div",{name:p,slot:"notice"})(({theme:{palette:e,shape:a,spacing:i}})=>({alignItems:"center",background:e.action.hover,borderRadius:a.borderRadius,display:"flex",flexWrap:"wrap",gap:i(1),justifyContent:"space-between",paddingBlock:i(1),paddingInline:i(1.5)})),j=t(s,{name:p,slot:"newReplyButton"})(({theme:{palette:e,spacing:a}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:a(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.secondary}})),B=({item:a,isActive:s})=>n(a).with({kind:"user"},({text:a})=>e(w,{children:a})).with({kind:"text"},({markdown:a,isStreaming:i})=>e(h,{markdown:a,isStreaming:i})).with({kind:"tools"},({tools:a})=>e(m,{tools:a,isActive:s})).with({kind:"separator"},()=>e(y,{role:"separator",children:e(i,{id:"sdk.assistant.thread.earlierSummarized",message:"Earlier conversation summarized"})})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:t}=d(),m=o(t.chat$),{messages:h,isLoading:p,isResuming:w,earlierThreads:y}=m,{items:I,isThinking:A}=r(()=>u(h,p),[h,p]),E=r(()=>g(y),[y]),R=r(()=>I.filter(({kind:e})=>"user"===e).length,[I]),L=m.error?c(m.failedStatus):void 0,{scrollerRef:z,hasUnseenContent:C,handleScroll:$,scrollToEnd:D}=k(r(()=>({messages:h,isThinking:A,isResuming:w,failure:L?.kind}),[h,A,w,L?.kind]),R),M=!m.isLoaded&&0===E.length&&!w&&!L;return a(f,{children:[a(v,{ref:z,onScroll:$,role:"log","aria-live":"polite",children:[m.isLoaded&&0===I.length&&0===E.length&&!p&&!w&&!L&&e(b,{children:e(i,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),M&&e(x,{children:e(i,{id:"sdk.assistant.thread.loading",message:"Loading the conversation…"})}),m.isLoadingEarlierThread&&e(x,{children:e(i,{id:"sdk.assistant.thread.loadingEarlier",message:"Loading the earlier conversation…"})}),m.hasEarlierThread&&!m.isLoadingEarlierThread&&e(T,{size:"small",color:"inherit",onClick:t.loadEarlierThread,children:e(i,{id:"sdk.assistant.thread.showEarlier.label",message:"Show earlier conversation"})}),E.map(a=>e(B,{item:a,isActive:!1},a.id)),I.map(a=>e(B,{item:a,isActive:p&&a===I.at(-1)},a.id)),w&&e(x,{children:e(i,{id:"sdk.assistant.thread.resuming",message:"Resuming the conversation…"})}),A&&e(x,{children:e(i,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),L&&a(S,{role:"alert",children:[e("span",{children:n(L.kind).with("notAvailable",()=>e(i,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(i,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("unavailable",()=>e(i,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),L.canRetry&&e(s,{size:"small",variant:"outlined",color:"inherit",onClick:t.reloadThread,children:e(i,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]})]}),C&&e(j,{size:"small",onClick:D,endIcon:e(l,{name:"CaretDown"}),children:e(i,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as t,styled as s}from"@mui/material";import{useCallback as r,useMemo as n}from"react";import{match as o}from"ts-pattern";import{useEagerObservableValue as l}from"#package/react-sdk";import{PhxIcon as d}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";import{AssistantToolChips as c}from"./AssistantChips.js";import{AssistantMarkdown as h}from"./AssistantMarkdown.js";import{describeAssistantFailure as p}from"./assistant-failure.js";import{EntityLinkSelectionProvider as g,useCreateEntityLinkSelection as u}from"./entity-link/index.js";import{AssistantPanelName as f}from"./theme.js";import{buildEarlierThreadItems as k,buildThreadView as v}from"./thread-items.js";import{useFollowStream as b}from"./use-follow-stream.js";let w=s("div",{name:f,slot:"thread"})({display:"grid",position:"relative"}),x=s("div",{name:f,slot:"messages"})(({theme:{spacing:e,typography:a}})=>({...a.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,"& > :first-child":{marginBlockStart:"auto"}})),y=s("div",{name:f,slot:"userMessage"})(({theme:{palette:e,spacing:a}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:a(1),paddingInline:a(1.5),whiteSpace:"pre-wrap"})),T=s("div",{name:f,slot:"greeting"})({}),C=s("div",{name:f,slot:"status"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary})),S=s("div",{name:f,slot:"separator"})(({theme:{palette:e,spacing:a,typography:i}})=>({...i.caption,alignItems:"center",color:e.text.secondary,display:"flex",gap:a(1),"&::before, &::after":{borderBlockStart:`1px solid ${e.divider}`,content:'""',flex:1}})),j=s(t,{name:f,slot:"earlierButton"})({alignSelf:"center"}),I=s("div",{name:f,slot:"notice"})(({theme:{palette:e,shape:a,spacing:i}})=>({alignItems:"center",background:e.action.hover,borderRadius:a.borderRadius,display:"flex",flexWrap:"wrap",gap:i(1),justifyContent:"space-between",paddingBlock:i(1),paddingInline:i(1.5)})),B=s(t,{name:f,slot:"newReplyButton"})(({theme:{palette:e,spacing:a}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:a(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.secondary}})),E=({item:a,isActive:t,undoableToolCallId:s,onUndo:r})=>o(a).with({kind:"user"},({text:a})=>e(y,{children:a})).with({kind:"text"},({markdown:a,isStreaming:i,forms:t})=>e(h,{markdown:a,isStreaming:i,forms:t})).with({kind:"tools"},({tools:a})=>e(c,{tools:a,isActive:t,canUndo:a.some(({id:e})=>e===s),onUndo:r})).with({kind:"separator"},()=>e(S,{role:"separator",children:e(i,{id:"sdk.assistant.thread.earlierSummarized",message:"Earlier conversation summarized"})})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:s}=m(),c=l(s.chat$),{messages:h,isLoading:f,isResuming:y,earlierThreads:S}=c,A=l(s.undoTipToolCallId$),R=f?void 0:A,{items:L,isThinking:z}=n(()=>v(h,f,y),[h,f,y]),$=n(()=>k(S),[S]),U=n(()=>L.filter(({kind:e})=>"user"===e).length,[L]),D=c.error?p(c.failedStatus):void 0,{scrollerRef:M,hasUnseenContent:W,handleScroll:q,scrollToEnd:H}=b(n(()=>({messages:h,isThinking:z,isResuming:y,failure:D?.kind}),[h,z,y,D?.kind]),U),N=u(),Y=r(e=>{e.target instanceof Element&&e.target.closest('a, button, input, label, select, textarea, [role="button"], [role="tooltip"]')||window.getSelection()?.isCollapsed!==!1&&N.release()},[N]),F=!c.isLoaded&&0===$.length&&!y&&!D;return a(w,{children:[e(g,{selection:N,children:a(x,{ref:M,onScroll:q,onClick:Y,role:"log","aria-live":"polite",children:[c.isLoaded&&0===L.length&&0===$.length&&!f&&!y&&!D&&e(T,{children:e(i,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),F&&e(C,{children:e(i,{id:"sdk.assistant.thread.loading",message:"Loading the conversation…"})}),c.isLoadingEarlierThread&&e(C,{children:e(i,{id:"sdk.assistant.thread.loadingEarlier",message:"Loading the earlier conversation…"})}),c.hasEarlierThread&&!c.isLoadingEarlierThread&&e(j,{size:"small",color:"inherit",onClick:s.loadEarlierThread,children:e(i,{id:"sdk.assistant.thread.showEarlier.label",message:"Show earlier conversation"})}),$.map(a=>e(E,{item:a,isActive:!1,undoableToolCallId:R,onUndo:s.undoToolCalls},a.id)),L.map(a=>e(E,{item:a,isActive:f&&a===L.at(-1),undoableToolCallId:R,onUndo:s.undoToolCalls},a.id)),y&&e(C,{children:e(i,{id:"sdk.assistant.thread.resuming",message:"Resuming the conversation…"})}),z&&e(C,{children:e(i,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),D&&a(I,{role:"alert",children:[e("span",{children:o(D.kind).with("notAvailable",()=>e(i,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(i,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("unavailable",()=>e(i,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),D.canRetry&&e(t,{size:"small",variant:"outlined",color:"inherit",onClick:s.reloadThread,children:e(i,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]})]})}),W&&e(B,{size:"small",onClick:H,endIcon:e(d,{name:"CaretDown"}),children:e(i,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { AlertKind } from './remark-alerts.js';
3
+ export interface AssistantAlertProps {
4
+ readonly kind: AlertKind;
5
+ readonly children: ReactNode;
6
+ }
7
+ /** A GitHub alert in a reply: its content as Markdown, marked by the colour and icon of its kind. */
8
+ export declare const AssistantAlert: import("react").MemoExoticComponent<({ kind, children }: AssistantAlertProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as i}from"react/jsx-runtime";import{alpha as o,styled as t}from"@mui/material";import{memo as n}from"react";import{PhxIcon as a}from"#package/ui-sdk";import{AssistantPanelName as e}from"../theme.js";let l={note:{color:"info",icon:"Info"},tip:{color:"success",icon:"Lightbulb"},important:{color:"primary",icon:"WarningCircle"},warning:{color:"warning",icon:"Warning"},caution:{color:"error",icon:"XCircle"}},c=t("div",{name:e,slot:"alert"})(({theme:{palette:r,shape:i,spacing:t,typography:n}})=>({borderInlineStart:"3px solid",borderRadius:i.borderRadius,display:"grid",gap:t(1),gridTemplateColumns:"min-content minmax(0, 1fr)",marginBlock:t(1),padding:t(1,1.5),...Object.fromEntries(Object.entries(l).map(([i,{color:t}])=>[`&[data-alert="${i}"]`,{background:o(r[t].main,.08),borderInlineStartColor:r[t].main,"& > :first-child":{color:r[t].main}}])),"& > :last-child > :first-child":{marginBlockStart:0},"& > :last-child > :last-child":{marginBlockEnd:0},"& > :first-child":{blockSize:`calc(${n.body2.lineHeight} * 1em)`,display:"grid",placeItems:"center"}}));export const AssistantAlert=n(({kind:o,children:t})=>i(c,{role:"note","data-alert":o,children:[r("span",{children:r(a,{name:l[o].icon})}),r("div",{children:t})]}));
@@ -0,0 +1,2 @@
1
+ export { AssistantAlert } from './AssistantAlert.js';
2
+ export { isAlertKind, remarkAlerts } from './remark-alerts.js';
@@ -0,0 +1 @@
1
+ export{AssistantAlert}from"./AssistantAlert.js";export{isAlertKind,remarkAlerts}from"./remark-alerts.js";
@@ -0,0 +1,10 @@
1
+ import type { Root } from 'mdast';
2
+ /** The kinds of GitHub alerts a reply can write, each with its own colour and icon. */
3
+ export type AlertKind = 'note' | 'tip' | 'important' | 'warning' | 'caution';
4
+ export declare const isAlertKind: (value: unknown) => value is AlertKind;
5
+ /**
6
+ * Remark plugin for GitHub alerts: a blockquote whose first line is a marker such as `[!WARNING]`
7
+ * loses the marker and carries its kind as the `dataAlert` property (`data-alert` in the page), for the `blockquote` override to render as a
8
+ * callout. A blockquote with an unknown marker stays as it is.
9
+ */
10
+ export declare const remarkAlerts: () => (tree: Root) => void;
@@ -0,0 +1 @@
1
+ let e=["note","tip","important","warning","caution"],t=/^\[!([a-z]+)\][ \t]*(?:\n|$)/i;export const isAlertKind=t=>"string"==typeof t&&e.some(e=>e===t);let r=e=>{let[r]=e.children;if(r?.type!=="paragraph")return;let[n,l]=r.children;if(n?.type!=="text")return;let i=t.exec(n.value),a=i?.[1]?.toLowerCase();if(null==i||!isAlertKind(a))return;let o=n.value.slice(i[0].length),c=!i[0].endsWith("\n")&&l?.type==="break";if(i[0].endsWith("\n")||null==l||c)return""===o?r.children.splice(0,c?2:1):n.value=o,0===r.children.length&&e.children.shift(),a},n=e=>{for(let t of e){if("blockquote"===t.type){let e=r(t);if(null!=e){t.data={...t.data,hProperties:{...t.data?.hProperties,dataAlert:e}};continue}}"children"in t&&n(t.children)}};export const remarkAlerts=()=>e=>{n(e.children)};
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type DomainEntityId } from '#package/domain';
3
+ export interface AssistantEntityLinkProps {
4
+ readonly id: DomainEntityId<string>;
5
+ /** The text the assistant gave the link; the id itself is never shown. */
6
+ readonly children: ReactNode;
7
+ }
8
+ /**
9
+ * An entity the assistant named in a reply, shown as its label. It follows the configurator live:
10
+ * a click selects the entity when the scene can select it, the link shows when the entity is
11
+ * selected or hovered in the scene, and it is muted once the entity is gone.
12
+ */
13
+ export declare const AssistantEntityLink: import("react").MemoExoticComponent<({ id, children }: AssistantEntityLinkProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{styled as t}from"@mui/material";import{memo as n,useCallback as i,useEffect as r,useRef as o}from"react";import{sceneEntitySelectHotspotComponent as a,selectableComponent as l}from"#package/domain";import{FrontendAnalyticsFactory as s,useDomain as c,useFirstRenderedComponent as d,useHoveredDomainEntityId as m,useRenderedSelector as u,useSelectEntity as p,useSelectedDomainEntityId as k,useStoreSelector as y}from"#package/react-sdk";import{assistantReferenceStyles as f}from"../reference-link/index.js";import{AssistantPanelName as g}from"../theme.js";import{useEntityLinkSelection as h}from"./entity-link-selection.js";import{resolveEntityLinkState as v}from"./entity-link-state.js";let b=t("span",{name:g,slot:"entityLink"})(e=>({...f(e),'&[data-entity-link="plain"], &[data-entity-link="missing"]':{cursor:"auto","&:hover":{background:"none"}},'&[data-selected="true"]':{textDecorationStyle:"solid"}})),S={interactive:void 0,plain:"plain",missing:"muted"},j=({kind:t,isSelected:n,children:i})=>e(b,{"data-entity-link":t,"data-reference":S[t],"data-selected":n,children:i}),x=({id:t,isSelected:n,children:u})=>{let{navigationSystem:k}=c(),y=d({entityIds:[t],componentTypes:[l]}),f=d({entityIds:[t],componentTypes:[a]}),{kind:g,canHover:S}=v({isSelectable:null!=y,isHoverDisabled:y?.state.hoverable===!1,hasSelectHotspot:null!=f}),x=m()===t,E=p(s.AssistantEntityLinkClicked),T=h(),D=i(()=>{T?.remember(t),E(t)},[t,T,E]),H=o(!1),L=i(()=>{S&&(H.current=!0,k.debouncedToggleHover(t))},[S,t,k]),I=i(()=>{H.current&&(H.current=!1,k.debouncedToggleHover(null))},[k]),A=i(e=>{"touch"!==e.pointerType&&L()},[L]),C=i(e=>{e.currentTarget.matches(":focus-visible")&&L()},[L]),P=i(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),D())},[D]);return(r(()=>I,[S,I,t]),"interactive"!==g)?e(j,{kind:g,isSelected:n,children:u}):e(b,{role:"button",tabIndex:0,"data-entity-link":g,"data-selected":n,"data-hovered":S&&x,"aria-current":n?"true":void 0,onClick:D,onKeyDown:P,onPointerEnter:A,onPointerLeave:I,onFocus:C,onBlur:I,children:u})};export const AssistantEntityLink=n(({id:t,children:n})=>{let{domain:i}=c(),r=y(e=>null!=i.getEntity(t,e.state),[i,t]),o=u(e=>null!=i.getEntity(t,e.state),[i,t]),a=k()===t;return r?o?e(x,{id:t,isSelected:a,children:n}):e(j,{kind:"plain",isSelected:a,children:n}):e(j,{kind:"missing",isSelected:!1,children:n})});
@@ -0,0 +1,22 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { DomainEntityId } from '#package/domain';
3
+ /**
4
+ * The selection an entity link made, held for the thread the links are in. A click elsewhere in
5
+ * the thread takes back what a link selected, so a user can look at an entity and let it go again.
6
+ * A selection made anywhere else, in the scene, a hotspot or the sidebar, is never taken back.
7
+ */
8
+ export interface EntityLinkSelection {
9
+ /** Records that a link is selecting this entity; call it before the select update is committed. */
10
+ readonly remember: (id: DomainEntityId<string>) => void;
11
+ /** Deselects the entity a link selected, when it is still the selected one, and forgets it. */
12
+ readonly release: () => void;
13
+ }
14
+ /** Creates the selection the entity links of one thread share; the thread provides it to them. */
15
+ export declare const useCreateEntityLinkSelection: () => EntityLinkSelection;
16
+ export interface EntityLinkSelectionProviderProps {
17
+ readonly selection: EntityLinkSelection;
18
+ readonly children: ReactNode;
19
+ }
20
+ export declare const EntityLinkSelectionProvider: ({ selection, children }: EntityLinkSelectionProviderProps) => import("react/jsx-runtime").JSX.Element;
21
+ /** The selection of the thread the link is in, or `null` for a link rendered outside a thread. */
22
+ export declare const useEntityLinkSelection: () => EntityLinkSelection | null;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{createContext as e,useCallback as r,useContext as n,useEffect as l,useMemo as c,useRef as i}from"react";import{useDeselect as o,useDomain as u,useSelectedDomainEntityId as a}from"#package/react-sdk";let s=e(null);export const useCreateEntityLinkSelection=()=>{let{storeSystem:t,navigationSystem:e}=u(),n=o(),s=a(),m=i(null);l(()=>{s!==m.current&&(m.current=null)},[s]);let p=r(t=>{m.current=t},[]),S=r(()=>{let r=m.current;m.current=null,null!=r&&e.getActiveSelectionState(t.stateSlices.committed.value.state)===r&&n()},[n,e,t]);return c(()=>({remember:p,release:S}),[p,S])};export const EntityLinkSelectionProvider=({selection:e,children:r})=>t(s.Provider,{value:e,children:r});export const useEntityLinkSelection=()=>n(s);