@salsita-ai/sdk 0.50.0-develop.70dc8d05b6 → 0.50.0-develop.78a839cc7b

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 (883) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.js +1 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +5 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +5 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +59 -63
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  86. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  87. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  88. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  89. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  90. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  91. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  92. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  93. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  94. package/dist/application-spec/generate-application/code/templates/globals.js +24 -44
  95. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  96. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  97. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  98. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  99. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  100. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  101. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  102. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  104. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  106. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +3 -3
  107. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  109. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -6
  110. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  111. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  112. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  113. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  114. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  116. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  121. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  122. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  123. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  124. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  125. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  126. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  127. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  128. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  129. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  130. package/dist/application-spec/generate-application/index.d.ts +2 -0
  131. package/dist/application-spec/generate-application/index.js +1 -1
  132. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  133. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  134. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  135. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  136. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  137. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  138. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  140. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  142. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  143. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  144. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  145. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  146. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  147. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  148. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  149. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  152. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  153. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  154. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  155. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  156. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  157. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  158. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  159. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  160. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  161. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  162. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  163. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  164. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  165. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  167. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  169. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  170. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  171. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  172. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  173. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  174. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  175. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  176. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  177. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  178. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  179. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  180. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  181. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  182. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  183. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  184. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  185. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  186. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  187. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  188. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  189. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  190. package/dist/application-spec/index.d.ts +1 -0
  191. package/dist/application-spec/index.js +1 -1
  192. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  193. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  194. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  195. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  196. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  197. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  198. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  199. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  200. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  201. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  202. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  203. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  204. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  205. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  206. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  207. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  208. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  209. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  210. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  211. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  212. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  216. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  217. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  218. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  219. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  220. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  221. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  222. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  223. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  224. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  225. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  226. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  227. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  228. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  229. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  230. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  231. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  232. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  233. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  234. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  235. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  237. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  238. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  239. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  240. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  241. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  242. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  243. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  244. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  245. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  246. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  247. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  249. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  250. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  251. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  252. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  253. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  254. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  257. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  259. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  260. package/dist/client/phoenix-api.d.ts +463 -0
  261. package/dist/configurator/ConfiguratorApp.js +1 -1
  262. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  263. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  264. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  265. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  266. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  267. package/dist/configurator/app-loader-content/index.js +1 -0
  268. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +36 -1
  269. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  270. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  271. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  272. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  273. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  274. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  275. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  276. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +7 -1
  277. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  278. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  279. package/dist/configurator/common/configurator-interface.d.ts +132 -4
  280. package/dist/configurator/common/configurator-interface.js +1 -1
  281. package/dist/configurator/common/index.d.ts +3 -1
  282. package/dist/configurator/common/index.js +1 -1
  283. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  284. package/dist/configurator/common/use-reset-camera.js +1 -0
  285. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  286. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  287. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  288. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  289. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  290. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  291. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  292. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  293. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  294. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  295. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  296. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  297. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +7 -1
  298. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  299. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  300. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  301. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  302. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  303. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  304. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  305. package/dist/configurator/configurator-error-page/index.js +1 -0
  306. package/dist/configurator/index.d.ts +3 -0
  307. package/dist/configurator/index.js +1 -1
  308. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  309. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  310. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  311. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  312. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  313. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  314. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  315. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  316. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  317. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  318. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  319. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  320. package/dist/configurator/pages/RootPage.js +1 -1
  321. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  322. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  323. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  324. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  325. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  326. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  327. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  328. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  329. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  330. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  331. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  332. package/dist/configurator/pages/default-elements/index.js +1 -0
  333. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  334. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  335. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  336. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  337. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  338. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  339. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  340. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  341. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  342. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  343. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  344. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  345. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  346. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  347. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  348. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  349. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  350. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  351. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  352. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  353. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  354. package/dist/configurator/pages/index.d.ts +1 -0
  355. package/dist/configurator/pages/index.js +1 -1
  356. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  357. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  358. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  359. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  360. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  361. package/dist/configurator/preset-screen-elements/index.js +1 -0
  362. package/dist/configurator/scene/index.d.ts +1 -0
  363. package/dist/configurator/scene/index.js +1 -1
  364. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  365. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  366. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  367. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  368. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  369. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  370. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  371. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  372. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  373. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  374. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  375. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  376. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  377. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  378. package/dist/configurator/toolbar-actions/index.d.ts +2 -0
  379. package/dist/configurator/toolbar-actions/index.js +1 -0
  380. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  381. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  382. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  383. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  384. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  385. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  386. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  387. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  388. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  389. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  390. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  391. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  392. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  393. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  394. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  395. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  396. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  397. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  398. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  399. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  400. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  401. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  402. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  403. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  404. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  405. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  406. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  407. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  408. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  409. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  410. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  411. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  412. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  413. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  414. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  415. package/dist/configurator/ui/assistant/form/index.js +1 -0
  416. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  417. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  418. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  419. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  420. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  421. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  422. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  423. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  424. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  425. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  426. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  427. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  428. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  429. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  430. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  431. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  432. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  433. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  434. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  435. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  436. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  437. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  438. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  439. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  440. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  441. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  442. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  443. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  444. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  445. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  446. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  447. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  448. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  449. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  450. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  451. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  452. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  453. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  454. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  455. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  456. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  457. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  458. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  459. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  460. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  461. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  462. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  463. package/dist/configurator/ui/configurator-layout/{universal → slots/desktop-sidebar}/DesktopSidebar.d.ts +23 -14
  464. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  465. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  466. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  467. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  468. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  469. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  470. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  471. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  472. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  473. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  474. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  475. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  476. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  477. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  478. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -1
  479. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +2 -2
  480. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  481. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  482. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  483. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  484. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  485. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  486. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  487. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  488. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  489. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  490. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  491. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  492. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  493. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  494. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  495. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  496. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  497. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  498. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  499. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  500. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  501. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  502. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  503. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  504. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  505. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  506. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  507. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  508. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  509. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  510. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  511. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  512. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  513. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  514. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  515. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  516. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  517. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  518. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  519. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  520. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  521. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  522. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  523. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  524. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  525. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  526. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  527. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  528. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  529. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  530. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  531. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  532. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  533. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  534. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  535. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  536. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  537. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  538. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  539. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  540. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  541. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  542. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  543. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  544. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  545. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  546. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  547. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  548. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  549. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  550. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  551. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  552. package/dist/docs/fabs/basic.mdx +6 -2
  553. package/dist/docs/index.json +32 -1
  554. package/dist/docs/layouts/custom-layout.mdx +1640 -184
  555. package/dist/docs/layouts/header/fixed.mdx +2 -2
  556. package/dist/docs/layouts/header/floating.mdx +2 -2
  557. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  558. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  559. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  560. package/dist/docs/other-features/error-5xx.mdx +1 -1
  561. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  562. package/dist/docs/other-features/not-found-404.mdx +1 -1
  563. package/dist/docs/other-features/transformers.mdx +4 -0
  564. package/dist/docs/phoenix/application-states.mdx +9 -7
  565. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  566. package/dist/docs/phoenix/components.mdx +6 -0
  567. package/dist/docs/phoenix/configurator-interface.mdx +301 -23
  568. package/dist/docs/phoenix/deployments.mdx +2 -6
  569. package/dist/docs/phoenix/domain-model.mdx +2 -0
  570. package/dist/docs/phoenix/finalization.mdx +1 -1
  571. package/dist/docs/phoenix/getting-started.mdx +6 -3
  572. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  573. package/dist/docs/phoenix/localization.mdx +10 -6
  574. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  575. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  576. package/dist/docs/phoenix/project-structure.mdx +72 -34
  577. package/dist/docs/phoenix/quickstart.mdx +7 -7
  578. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  579. package/dist/docs/phoenix/testing.mdx +148 -0
  580. package/dist/docs/phoenix/webhooks.mdx +21 -4
  581. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  582. package/dist/domain/application/application-config.d.ts +3 -1
  583. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  584. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  585. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  586. package/dist/domain/application/assistant/index.d.ts +2 -0
  587. package/dist/domain/application/assistant/index.js +1 -1
  588. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  589. package/dist/domain/application/configurator-builder.d.ts +4 -1
  590. package/dist/domain/application/configurator-builder.js +1 -1
  591. package/dist/domain/core/invariant/violation.d.ts +50 -2
  592. package/dist/domain/core/invariant/violation.js +1 -1
  593. package/dist/domain/core/model/model.d.ts +1 -1
  594. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  595. package/dist/domain/domain-context/index.d.ts +1 -1
  596. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  597. package/dist/domain/domain-context/undo-system.js +1 -1
  598. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  599. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  600. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  601. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  602. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  603. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  604. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  605. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  606. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  607. package/dist/domain/extensions/attribute-switch.js +1 -1
  608. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  609. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  610. package/dist/domain/extensions/client-side-image.js +1 -1
  611. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  612. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  613. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  614. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  615. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  616. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  617. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  618. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  619. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  620. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  621. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  622. package/dist/domain/extensions/offset-indicator.js +1 -1
  623. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  624. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  625. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  626. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  627. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  628. package/dist/domain/mocks/create-test-application-config.js +1 -0
  629. package/dist/domain/mocks/index.d.ts +1 -0
  630. package/dist/domain/mocks/index.js +1 -1
  631. package/dist/domain/system-components/application-config.d.ts +2 -2
  632. package/dist/domain/system-components/child-entity-selection.js +1 -1
  633. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  634. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  635. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  636. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  637. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  638. package/dist/domain/system-components/common/recipes.js +1 -1
  639. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  640. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  641. package/dist/domain/system-components/constraint.d.ts +10 -23
  642. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  643. package/dist/domain/system-components/drag-handle.js +1 -1
  644. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  645. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  646. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  647. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  648. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  649. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  650. package/dist/domain/system-components/material-swatch.js +1 -1
  651. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  652. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  653. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  654. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  655. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  656. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  657. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  658. package/dist/editor/Editor.d.ts +7 -0
  659. package/dist/editor/Editor.js +1 -1
  660. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  661. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  662. package/dist/editor/mocks/EditorMockContext.js +1 -1
  663. package/dist/globals/index.d.ts +2 -0
  664. package/dist/i18n/locales/cs/messages.js +1 -1
  665. package/dist/i18n/locales/da/messages.js +1 -1
  666. package/dist/i18n/locales/de/messages.js +1 -1
  667. package/dist/i18n/locales/de-AT/messages.js +1 -1
  668. package/dist/i18n/locales/en/messages.js +1 -1
  669. package/dist/i18n/locales/en-AU/messages.js +1 -1
  670. package/dist/i18n/locales/en-GB/messages.js +1 -1
  671. package/dist/i18n/locales/es/messages.js +1 -1
  672. package/dist/i18n/locales/fr/messages.js +1 -1
  673. package/dist/i18n/locales/hu/messages.js +1 -1
  674. package/dist/i18n/locales/it/messages.js +1 -1
  675. package/dist/i18n/locales/nl/messages.js +1 -1
  676. package/dist/i18n/locales/pl/messages.js +1 -1
  677. package/dist/i18n/locales/pt/messages.js +1 -1
  678. package/dist/i18n/locales/ro/messages.js +1 -1
  679. package/dist/i18n/locales/sk/messages.js +1 -1
  680. package/dist/i18n/locales/tr/messages.js +1 -1
  681. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  682. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  683. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  684. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  685. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  686. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  687. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  688. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  689. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  690. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  691. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  692. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  693. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  694. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  695. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  696. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  697. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  698. package/dist/phoenix/application-spec/project-files.js +1 -1
  699. package/dist/phoenix/bin.d.ts +2 -0
  700. package/dist/phoenix/bin.js +2 -0
  701. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  702. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  703. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  704. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  705. package/dist/phoenix/check-configs/index.d.ts +8 -0
  706. package/dist/phoenix/check-configs/index.js +1 -0
  707. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  708. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  709. package/dist/phoenix/cli.d.ts +0 -1
  710. package/dist/phoenix/cli.js +1 -2
  711. package/dist/phoenix/commands/build.js +1 -1
  712. package/dist/phoenix/commands/check.js +1 -1
  713. package/dist/phoenix/commands/clean.js +1 -1
  714. package/dist/phoenix/commands/deploy.js +2 -2
  715. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  716. package/dist/phoenix/commands/deps/deps.js +3 -0
  717. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  718. package/dist/phoenix/commands/deps/index.js +1 -0
  719. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  720. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  721. package/dist/phoenix/commands/dev.js +5 -5
  722. package/dist/phoenix/commands/fix.js +1 -1
  723. package/dist/phoenix/commands/index.d.ts +1 -0
  724. package/dist/phoenix/commands/index.js +1 -1
  725. package/dist/phoenix/commands/init.d.ts +17 -5
  726. package/dist/phoenix/commands/init.js +1 -1
  727. package/dist/phoenix/commands/link.js +1 -1
  728. package/dist/phoenix/commands/prettier.js +1 -1
  729. package/dist/phoenix/commands/sync.js +1 -1
  730. package/dist/phoenix/commands/unlink.js +1 -1
  731. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  732. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  733. package/dist/phoenix/services/lingui.d.ts +8 -0
  734. package/dist/phoenix/services/lingui.js +1 -1
  735. package/dist/phoenix/services/source-archive.d.ts +1 -0
  736. package/dist/phoenix/services/source-archive.js +1 -1
  737. package/dist/phoenix/services/swc.js +1 -1
  738. package/dist/phoenix/services/vite-config.js +1 -1
  739. package/dist/phoenix/utils/index.d.ts +4 -2
  740. package/dist/phoenix/utils/index.js +1 -1
  741. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  742. package/dist/phoenix/utils/node-version/index.js +1 -0
  743. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  744. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  745. package/dist/phoenix/utils/package-info.d.ts +0 -9
  746. package/dist/phoenix/utils/package-info.js +1 -1
  747. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  748. package/dist/phoenix/utils/package-manager/index.js +1 -0
  749. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  750. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  751. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  752. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  753. package/dist/phoenix/utils/run-command.d.ts +11 -0
  754. package/dist/phoenix/utils/run-command.js +1 -1
  755. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  756. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  757. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  758. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  759. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  760. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  761. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  762. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  763. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  764. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  765. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  766. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  767. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  768. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  769. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  770. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  771. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  772. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  773. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  774. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  775. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  776. package/dist/react-sdk/domain-context/index.js +1 -1
  777. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  778. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  779. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  780. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  781. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  782. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  783. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  784. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  785. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  786. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  787. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  788. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  789. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  790. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  791. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  792. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  793. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  794. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  795. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  796. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  797. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  798. package/dist/react-sdk/elements/index.d.ts +1 -0
  799. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  800. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  801. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  802. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  803. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  804. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  805. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  806. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  807. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  808. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  809. package/dist/react-sdk/handlers/index.d.ts +6 -0
  810. package/dist/react-sdk/handlers/index.js +1 -1
  811. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  812. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  813. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  814. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  815. package/dist/react-sdk/index.d.ts +2 -0
  816. package/dist/react-sdk/index.js +1 -1
  817. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  818. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  819. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  820. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  821. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  822. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  823. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  824. package/dist/react-sdk/responsive-state/index.js +1 -0
  825. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  826. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  827. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  828. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  829. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  830. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  831. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  832. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  833. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  834. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  835. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  836. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  837. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  838. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  839. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  840. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  841. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  842. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  843. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  844. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  845. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  846. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  847. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  848. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  849. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  850. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  851. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  852. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  853. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  854. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  855. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  856. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  857. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  858. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  859. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  860. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  861. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  862. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  863. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  864. package/dist/ui-sdk/theme/types.d.ts +1 -1
  865. package/package.json +48 -36
  866. package/schema/domain-spec.json +1201 -217
  867. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  868. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  869. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  870. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  871. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  872. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  873. package/dist/configurator/common/frontend-analytics.js +0 -1
  874. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +0 -16
  875. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  876. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  877. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  878. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  879. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  880. package/dist/phoenix/commands/generate-project-files.js +0 -1
  881. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  882. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  883. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -0,0 +1,9 @@
1
+ import type { FormModel } from './form-model.js';
2
+ import type { FormRegistry } from './form-registry.js';
3
+ /**
4
+ * Builds a form from the markup of a ```` ```form ```` fence. A block whose only content is loose
5
+ * options asks one question, so they form an implicit `choice`; elsewhere loose options form an
6
+ * implicit `choices`. A block with any unknown element, invalid attribute or misplaced element is
7
+ * not built at all, and every such error is returned.
8
+ */
9
+ export declare const parseFormBlock: (source: string, registry: FormRegistry) => FormModel;
@@ -0,0 +1 @@
1
+ import{Parser as e}from"htmlparser2";import{readFormAttributes as o}from"./read-form-attributes.js";let r=({name:e,attributes:o,position:r})=>({element:e,label:o.label,position:r}),t=({definition:e},o,r)=>({id:o,definition:e,attributes:{},children:r}),i=(e,o)=>{let r=[],i=[],n=()=>{i.length>0&&(r.push(t(o.registry.choices,`choices-${i[0]?.id}`,i)),i=[])};for(let o of e)"option"===o.definition.role?i.push(o):(n(),r.push(o));return n(),r},n=(e,t,l)=>e.flatMap(e=>((e,t,l)=>{var s;let a=l.registry.get(e.name);if(!a){l.errors.push({...r(e),message:"not a form element"}),n(e.children,void 0,l);return}let{definition:h}=a,p=(s=h.role,t?.role==="option"||t?.role==="input"?`cannot be inside <${t.name}>, which holds no elements`:(t?.role==="choice"||t?.role==="choices")&&"option"!==s?`cannot be inside <${t.name}>, which holds only options`:void 0);p&&l.errors.push({...r(e),message:p});let{attributes:c,errors:u}=o(a,e.attributes);for(let o of u)l.errors.push({...r(e),message:o});let{label:d,value:g,...m}=c,f=n(e.children,{name:e.name,role:h.role},l);return{id:String(e.position),definition:h,label:"string"==typeof d?d:void 0,value:"string"==typeof g?g:void 0,attributes:m,children:"group"===h.role?i(f,l):f}})(e,t,l)??[]),l=e=>{if("choice"===e.definition.role)return!0;let[o,...r]=e.children;return"group"===e.definition.role&&null!=o&&0===r.length&&l(o)};export const parseFormBlock=(o,r)=>{let s,a,h,p,c={registry:r,errors:[]},u={name:r.group.definition.name,role:"group"},d=n((a=[s=[]],h=0,(p=new e({onopentag:(e,o)=>{let r={name:e,attributes:o,position:h+=1,children:[]};a.at(-1)?.push(r),a.push(r.children)},onclosetag:()=>{a.length>1&&a.pop()}},{xmlMode:!0,lowerCaseTags:!0,lowerCaseAttributeNames:!0,recognizeSelfClosing:!0})).write(o),p.end(),s),u,c);if(c.errors.length>0)return{ok:!1,errors:c.errors};let g=d.length>0&&d.every(e=>"option"===e.definition.role)?[t(r.choice,"choice",d)]:i(d,c),m=t(r.group,"root",g);return{ok:!0,root:m,isQuick:l(m)}};
@@ -0,0 +1,13 @@
1
+ import type { RegisteredFormElement } from './form-registry.js';
2
+ /** The attributes of an element converted to their declared types, and what was wrong with them. */
3
+ export interface FormAttributesReading {
4
+ readonly attributes: Readonly<Record<string, unknown>>;
5
+ /** Each problem worded to follow the element's tag, e.g. `the attribute "step" must be an integer`. */
6
+ readonly errors: readonly string[];
7
+ }
8
+ /**
9
+ * Reads the attributes of an element against its declarations. Undeclared and missing required
10
+ * attributes are found by name; each declared one is coerced and checked by its own validator, and
11
+ * the error is worded from the declaration, never from the validator, whose errors differ by mode.
12
+ */
13
+ export declare const readFormAttributes: ({ definition, attributes: declared }: RegisteredFormElement, markup: Readonly<Record<string, string>>) => FormAttributesReading;
@@ -0,0 +1 @@
1
+ import{match as t}from"ts-pattern";let e=t=>{if(""===t.trim())return;let e=Number(t);return Number.isFinite(e)?e:void 0},r=(r,{type:i})=>t(i).with("string",()=>r).with("number",()=>e(r)??r).with("integer",()=>{let t=e(r);return null!=t&&Number.isInteger(t)?t:r}).with("boolean",()=>""===r||"true"===r||"false"!==r&&r).exhaustive(),i={string:"a string",number:"a number",integer:"an integer",boolean:"true or false"},u=(t,{type:e,enum:r})=>r?`the attribute "${t}" must be one of ${r.map(t=>`"${t}"`).join(", ")}`:`the attribute "${t}" must be ${i[e]}`;export const readFormAttributes=({definition:t,attributes:e},i)=>{let n={},a=[];for(let[t,o]of Object.entries(i)){let i=e.get(t);if(!i){a.push(`the attribute "${t}" is not declared`);continue}let s=r(o,i.attribute);i.validate(s)?n[t]=s:a.push(u(t,i.attribute))}for(let e of t.required??[])e in i||a.push(`the attribute "${e}" is required`);return{attributes:n,errors:a}};
@@ -0,0 +1,3 @@
1
+ import type { FormContainerProps } from './form-element-props.js';
2
+ /** A `group`: its children stacked under its label, which heads them. */
3
+ export declare const FormGroup: ({ label, children }: FormContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as o}from"@mui/material";import{AssistantPanelName as m}from"../theme.js";let t=o("div",{name:m,slot:"formGroup"})(({theme:{spacing:r}})=>({display:"flex",flexDirection:"column",gap:r(1.5)})),i=o("div",{name:m,slot:"formGroupLabel"})(({theme:{palette:r,typography:e}})=>({...e.subtitle2,color:r.text.primary}));export const FormGroup=({label:o,children:m})=>e(t,{role:"group","aria-label":o,children:[null!=o&&r(i,{"aria-hidden":!0,children:o}),m]});
@@ -0,0 +1,3 @@
1
+ import type { FormContainerProps } from './form-element-props.js';
2
+ /** A `choice` or `choices`: its options in a wrapping row under its label. */
3
+ export declare const FormOptions: ({ label, children }: FormContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{styled as r}from"@mui/material";import{AssistantPanelName as i}from"../theme.js";let t=r("div",{name:i,slot:"formOptions"})(({theme:{spacing:e}})=>({display:"grid",gap:e(.75)})),a=r("div",{name:i,slot:"formOptionsLabel"})(({theme:{palette:e,typography:o}})=>({...o.caption,color:e.text.secondary})),m=r("div",{name:i,slot:"formOptionsRow"})(({theme:{spacing:e}})=>({display:"flex",flexWrap:"wrap",gap:e(.75)}));export const FormOptions=({label:r,children:i})=>o(t,{role:"group","aria-label":r,children:[null!=r&&e(a,{"aria-hidden":!0,children:r}),e(m,{children:i})]});
@@ -0,0 +1,3 @@
1
+ import type { FormOptionProps } from './form-element-props.js';
2
+ /** A `reply`: a short answer as a small pill, marked while it is picked. */
3
+ export declare const FormReply: ({ label, disabled, selected, onSelect }: FormOptionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{alpha as e,styled as i}from"@mui/material";import{AssistantPanelName as o}from"../theme.js";let t=i("button",{name:o,slot:"formReply"})(({theme:{palette:r,spacing:i,typography:o}})=>({...o.body2,background:r.background.paper,border:`1px solid ${r.divider}`,borderRadius:"calc(infinity * 1px)",color:r.text.primary,cursor:"pointer",margin:0,paddingBlock:i(.25),paddingInline:i(1.25),textAlign:"start","&:hover:not(:disabled)":{background:r.action.hover},"&:focus-visible":{outline:`2px solid ${r.primary.main}`,outlineOffset:1},"&:disabled":{color:r.text.disabled,cursor:"default"},'&[aria-pressed="true"]':{background:e(r.primary.main,r.action.selectedOpacity),borderColor:r.primary.main}}));export const FormReply=({label:e,disabled:i,selected:o,onSelect:a})=>r(t,{type:"button",disabled:i,"aria-pressed":o,onClick:a,children:e});
@@ -0,0 +1,3 @@
1
+ import type { FormInputProps } from './form-element-props.js';
2
+ /** A `text`: a single line the user types, with its label above it. */
3
+ export declare const FormText: ({ attributes, label, value, disabled, state, onChange }: FormInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{InputBase as t,styled as o}from"@mui/material";import{useCallback as i}from"react";import{AssistantPanelName as a}from"../theme.js";let d=o("label",{name:a,slot:"formText"})(({theme:{palette:e,spacing:r,typography:t}})=>({alignSelf:"stretch",color:e.text.secondary,display:"grid",gap:r(.5),...t.caption})),m=o(t,{name:a,slot:"formTextInput"})(({theme:{palette:e,spacing:r,typography:t}})=>({...t.body2,border:`1px solid ${e.divider}`,borderRadius:12,color:e.text.primary,paddingBlock:r(.75),paddingInline:r(1.5),"&.Mui-focused":{borderColor:e.primary.main},"& .MuiInputBase-input":{padding:0}}));export const FormText=({attributes:t,label:o,value:a,disabled:l,state:n,onChange:p})=>{let{placeholder:s}=t;return r(d,{children:[o,e(m,{value:"string"==typeof n?n:a??"",placeholder:"string"==typeof s?s:void 0,disabled:l,onChange:i(e=>{let r=e.target.value;p(r,""===r.trim()?void 0:r.trim())},[p])})]})};
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from 'react';
2
+ /** Validated and coerced attributes of an element, without the built-in `label` and `value`. */
3
+ export type FormElementAttributes = Readonly<Record<string, unknown>>;
4
+ /** Props of a `group`, `choice` or `choices` element: it lays out the children the form renders for it. */
5
+ export interface FormContainerProps {
6
+ readonly attributes: FormElementAttributes;
7
+ readonly label?: string;
8
+ readonly disabled: boolean;
9
+ readonly children: ReactNode;
10
+ }
11
+ /**
12
+ * Props of an option. Its container decides what a pick does: in a `choice` it replaces the
13
+ * previous pick, in a `choices` it toggles, and in a form that asks one question it sends at once.
14
+ */
15
+ export interface FormOptionProps {
16
+ readonly attributes: FormElementAttributes;
17
+ readonly label?: string;
18
+ readonly disabled: boolean;
19
+ readonly selected: boolean;
20
+ onSelect(): void;
21
+ }
22
+ /**
23
+ * Props of an input. Its state is its own: the form stores it and hands it back. `answer` is the
24
+ * text the answer shows for it, or `undefined` while there is none.
25
+ */
26
+ export interface FormInputProps {
27
+ readonly attributes: FormElementAttributes;
28
+ readonly label?: string;
29
+ /** What the field starts with. */
30
+ readonly value?: string;
31
+ readonly disabled: boolean;
32
+ readonly state: unknown;
33
+ onChange(state: unknown, answer: string | undefined): void;
34
+ }
@@ -0,0 +1,5 @@
1
+ export type { FormContainerProps, FormElementAttributes, FormInputProps, FormOptionProps, } from './form-element-props.js';
2
+ export { FormGroup } from './FormGroup.js';
3
+ export { FormOptions } from './FormOptions.js';
4
+ export { FormReply } from './FormReply.js';
5
+ export { FormText } from './FormText.js';
@@ -0,0 +1 @@
1
+ export{FormGroup}from"./FormGroup.js";export{FormOptions}from"./FormOptions.js";export{FormReply}from"./FormReply.js";export{FormText}from"./FormText.js";
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { AssistantReferenceTarget } from './assistant-link-target.js';
3
+ export interface AssistantReferenceLinkProps {
4
+ readonly target: AssistantReferenceTarget;
5
+ /** The text the assistant gave the link; the target itself is never shown. */
6
+ readonly children: ReactNode;
7
+ }
8
+ declare const ReferenceLinkView: ({ target, children }: AssistantReferenceLinkProps) => import("react/jsx-runtime").JSX.Element;
9
+ /**
10
+ * A recipe or an option the assistant named in a reply, shown as its label. Hovering, focusing or
11
+ * tapping it opens a popover with its picture or color, name and description, read from the
12
+ * current state at that moment; leaving it, tapping outside or Escape closes it. A click does
13
+ * nothing else.
14
+ */
15
+ export declare const AssistantReferenceLink: import("react").MemoExoticComponent<typeof ReferenceLinkView>;
16
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Trans as n}from"@lingui/react";import{ClickAwayListener as t,Tooltip as a,styled as i}from"@mui/material";import{memo as o,useCallback as l,useEffect as s,useRef as d,useState as c}from"react";import{isShallowEqual as p}from"@salsita-ai/common/utils";import{useResourceUrl as m}from"#package/react-sdk";import{AssistantPanelName as u}from"../theme.js";import{assistantReferenceStyles as f}from"./reference-styles.js";import{useAssistantReferenceDetails as h}from"./use-assistant-reference-details.js";let b=i("span",{name:u,slot:"referenceLink"})(f),x=i("span",{name:u,slot:"referenceDetails"})(({theme:{palette:e,shape:r,shadows:n,spacing:t,typography:a}})=>({...a.body2,background:e.background.paper,borderRadius:r.borderRadius,boxShadow:n[4],color:e.text.primary,display:"flex",gap:t(1.5),maxInlineSize:320,padding:t(1.5),'&[data-reference-details="unavailable"]':{color:e.text.secondary}})),g=i("img")(({theme:{shape:e}})=>({alignSelf:"flex-start",blockSize:"auto",borderRadius:e.borderRadius/2,flexShrink:0,inlineSize:64,maxBlockSize:96,objectFit:"contain"})),k=i("span")(({theme:{palette:e,shape:r}})=>({blockSize:32,borderRadius:r.borderRadius/2,boxShadow:`inset 0 0 0 1px ${e.divider}`,flexShrink:0,inlineSize:32})),y=i("span")(({theme:{palette:e,spacing:r}})=>({display:"flex",flexDirection:"column",gap:r(.5),minInlineSize:0,"& > :first-of-type":{fontWeight:600},"& > :not(:first-of-type)":{color:e.text.secondary}})),S=({target:t,onResolve:a,onImageLoad:i})=>{let o=h(t),{getResourceUrl:l}=m(),d=null!=o;if(s(()=>{a(d)},[d,a]),!o)return e(x,{"data-reference-details":"unavailable",children:e(n,{id:"sdk.assistant.reference.unavailable.message",message:"Not available right now"})});let{name:c,description:p,imageUrl:u,color:f}=o;return r(x,{children:[null!=u&&e(g,{src:l(u),alt:"",onLoad:i}),null==u&&null!=f&&e(k,{style:{background:f}}),r(y,{children:[e("span",{children:c}),null!=p&&e("span",{children:p})]})]})};export const AssistantReferenceLink=o(({target:r,children:n})=>{let[i,o]=c(!1),[s,p]=c(!1),m=l(()=>o(!0),[]),u=l(()=>o(!1),[]),f=l(e=>p(!e),[]),h=d(null),x=l(e=>{h.current=e},[]),g=l(()=>{h.current?.update()},[]),k=l(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o(!0))},[]);return e(t,{onClickAway:u,mouseEvent:!!i&&"onClick",touchEvent:!!i&&"onTouchEnd",children:e(a,{open:i,onOpen:m,onClose:u,title:e(S,{target:r,onResolve:f,onImageLoad:g}),placement:"top-start",describeChild:!0,disableTouchListener:!0,PopperProps:{popperRef:x},slotProps:{tooltip:{sx:{background:"none",maxInlineSize:"none",padding:0}}},children:e(b,{role:"button",tabIndex:0,"aria-expanded":i,"data-reference":s?"muted":void 0,onClick:m,onKeyDown:k,children:n})})})},(e,r)=>e.children===r.children&&p(e.target,r.target));
@@ -0,0 +1,34 @@
1
+ import { type DomainEntityId } from '#package/domain';
2
+ /** A recipe of a recipe group on an entity, as the assistant read it under `meta`: `recipe:<entityId>/<groupId>/<key>`. */
3
+ export interface AssistantRecipeTarget {
4
+ readonly kind: 'recipe';
5
+ readonly entityId: DomainEntityId<string>;
6
+ readonly groupId: string;
7
+ readonly key: string;
8
+ }
9
+ /**
10
+ * A choice of a writable field on an entity, as the assistant read it under `meta`:
11
+ * `option:<entityId>/<edgeName>/<value>`. The edge is the options field the assistant queried, such
12
+ * as `finishOptions`, and the value is the option's value in its string form.
13
+ */
14
+ export interface AssistantOptionTarget {
15
+ readonly kind: 'option';
16
+ readonly entityId: DomainEntityId<string>;
17
+ readonly edgeName: string;
18
+ readonly value: string;
19
+ }
20
+ /** What a reference points at: something the configurator offers, shown by its details rather than selected. */
21
+ export type AssistantReferenceTarget = AssistantRecipeTarget | AssistantOptionTarget;
22
+ /** Where a link the assistant wrote in a reply points: an entity of the configuration, or a reference. */
23
+ export type AssistantLinkTarget = {
24
+ readonly kind: 'entity';
25
+ readonly id: DomainEntityId<string>;
26
+ } | AssistantReferenceTarget;
27
+ /** True for the target of a link the assistant wrote with one of its schemes, whatever follows the scheme. */
28
+ export declare const isAssistantLinkHref: (href: string) => boolean;
29
+ /**
30
+ * What a link the assistant wrote points at, or `null` when what follows its scheme is not a
31
+ * well-formed target. An entity link holds the id as it is; the parts of a reference are decoded,
32
+ * so a key the model encoded as in a URL and one Markdown encoded from angle brackets read the same.
33
+ */
34
+ export declare const parseAssistantLinkTarget: (href: string) => AssistantLinkTarget | null;
@@ -0,0 +1 @@
1
+ import{DomainEntityIdSchema as t}from"#package/domain";let e="entity:",n="recipe:",i="option:",l=[e,n,i],r=new RegExp(t.pattern),s=t=>{try{let e=decodeURIComponent(t);return""===e?null:e}catch{return null}},u=t=>{let e=t.split("/").map(s);if(3!==e.length)return null;let[n,i,l]=e;return null!=n&&r.test(n)&&null!=i&&null!=l?{entityId:n,first:i,second:l}:null};export const isAssistantLinkHref=t=>l.some(e=>t.startsWith(e));export const parseAssistantLinkTarget=t=>{if(t.startsWith(e)){let n=t.slice(e.length);return r.test(n)?{kind:"entity",id:n}:null}if(t.startsWith(n)){let e=u(t.slice(n.length));return e&&{kind:"recipe",entityId:e.entityId,groupId:e.first,key:e.second}}if(t.startsWith(i)){let e=u(t.slice(i.length));return e&&{kind:"option",entityId:e.entityId,edgeName:e.first,value:e.second}}return null};
@@ -0,0 +1,25 @@
1
+ import { type AssistantManifest, type AssistantRecipeContext, type DomainEntity, type DomainState } from '#package/domain';
2
+ import type { AssistantReferenceTarget } from './assistant-link-target.js';
3
+ type AnyDomainState = DomainState<DomainEntity<string>>;
4
+ /** What the popover of a reference shows of the recipe or option it points at, texts in the current language. */
5
+ export interface AssistantReferenceDetails {
6
+ readonly name: string;
7
+ readonly description: string | null;
8
+ readonly imageUrl: string | null;
9
+ readonly color: string | null;
10
+ }
11
+ /**
12
+ * What reading a reference needs: the manifest of the session and the readers `meta` resolves
13
+ * through, so the popover shows what the agent read.
14
+ */
15
+ export interface AssistantReferenceContext extends Pick<AssistantRecipeContext, 'componentReader' | 'resolveLocalizable'> {
16
+ readonly manifest: AssistantManifest;
17
+ }
18
+ /**
19
+ * The details of what a reference points at on the given state, read the way `meta` reads them:
20
+ * only what the session's manifest exposes, from a component that is active on the entity there.
21
+ * `null` when the target does not resolve: the entity, the group or options edge, or the key or value is
22
+ * unknown, or the component is not active.
23
+ */
24
+ export declare const readAssistantReferenceDetails: (target: AssistantReferenceTarget, state: AnyDomainState, context: AssistantReferenceContext) => AssistantReferenceDetails | null;
25
+ export {};
@@ -0,0 +1 @@
1
+ import{match as e}from"ts-pattern";import{findAssistantFieldOptions as i,findAssistantRecipeGroups as t,readAssistantFieldOptions as n,readAssistantRecipeGroup as r}from"#package/domain";let l=["child","replace"];export const readAssistantReferenceDetails=(o,a,d)=>{let u=a.entities.find(e=>e.id===o.entityId);return u?e(o).with({kind:"recipe"},e=>((e,i,n,o)=>{let a=(({entityId:e,groupId:i,key:n},o,a,d)=>{for(let u of l)for(let l of t(d.manifest,u,o)){if(l.groupId!==i)continue;let t=r(u,l,e,a,d)?.recipes.find(e=>e.key===n);if(t)return t}return null})(e,i,n,o);if(!a)return null;let{title:d,description:u,thumbnailUrl:f}=a.item,{resolveLocalizable:m}=o;return{name:m(d),description:void 0===u?null:m(u),imageUrl:void 0===f?null:m(f),color:null}})(e,u.type,a,d)).with({kind:"option"},e=>(({entityId:e,edgeName:t,value:r},l,o,a)=>{let d=i(a.manifest,l).find(e=>e.edgeName===t),u=d?n(d,e,o,a)?.find(e=>String(e.value)===r):void 0;return u?{name:u.name??u.description??String(u.value),description:null==u.name?null:u.description,imageUrl:u.imageUrl,color:u.color}:null})(e,u.type,a,d)).exhaustive():null};
@@ -0,0 +1,3 @@
1
+ export { AssistantReferenceLink } from './AssistantReferenceLink.js';
2
+ export { isAssistantLinkHref, parseAssistantLinkTarget } from './assistant-link-target.js';
3
+ export { assistantReferenceStyles } from './reference-styles.js';
@@ -0,0 +1 @@
1
+ export{AssistantReferenceLink}from"./AssistantReferenceLink.js";export{isAssistantLinkHref,parseAssistantLinkTarget}from"./assistant-link-target.js";export{assistantReferenceStyles}from"./reference-styles.js";
@@ -0,0 +1,12 @@
1
+ import { type CSSObject, type Theme } from '@mui/material';
2
+ /**
3
+ * How a link in a reply reads: a glossary reference, text that flows with the sentence and wraps
4
+ * with it, in the reference color with a dashed underline. Entity links and the references to
5
+ * recipes and options share it, so every link of a reply looks alike.
6
+ *
7
+ * - `data-reference="plain"`: something that exists but does nothing on a click, in the text color;
8
+ * - `data-reference="muted"`: something that is gone or cannot be read right now.
9
+ */
10
+ export declare const assistantReferenceStyles: ({ theme: { palette, shape } }: {
11
+ readonly theme: Theme;
12
+ }) => CSSObject;
@@ -0,0 +1 @@
1
+ import{alpha as e}from"@mui/material";export const assistantReferenceStyles=({theme:{palette:r,shape:o}})=>({background:"none",border:"none",borderRadius:o.borderRadius/2,boxDecorationBreak:"clone",color:r.primary.main,cursor:"pointer",font:"inherit",margin:0,padding:0,textDecorationLine:"underline",textDecorationStyle:"dashed",textDecorationThickness:1,textUnderlineOffset:"0.2em",WebkitBoxDecorationBreak:"clone",'&:hover, &:focus-visible, &[data-hovered="true"], &[aria-expanded="true"]':{background:e(r.primary.main,r.action.hoverOpacity)},"&:focus-visible":{outline:`2px solid ${r.primary.main}`,outlineOffset:1},'&[data-reference="plain"]':{color:"inherit",cursor:"auto"},'&[data-reference="muted"]':{color:r.text.disabled}});
@@ -0,0 +1,8 @@
1
+ import type { AssistantReferenceTarget } from './assistant-link-target.js';
2
+ import { type AssistantReferenceDetails } from './assistant-reference-details.js';
3
+ /**
4
+ * The details of what a reference points at, read from the committed state and followed while the
5
+ * caller is mounted; `null` when it does not resolve there. Only the open popover of a reference
6
+ * calls it, so a reply full of references reads nothing until one is opened.
7
+ */
8
+ export declare const useAssistantReferenceDetails: (target: AssistantReferenceTarget) => AssistantReferenceDetails | null;
@@ -0,0 +1 @@
1
+ import{useDomain as e,useResolveLocalizable as t,useStoreSelector as r}from"#package/react-sdk";import{useConfigurator as s}from"../../../application-runtime/index.js";import{readAssistantReferenceDetails as i}from"./assistant-reference-details.js";export const useAssistantReferenceDetails=a=>{let{assistantSystem:n}=s(),{componentReader:o}=e(),l=t();return r(({state:e})=>{let t=n.getSessionManifest();return t?i(a,e,{manifest:t,componentReader:o,resolveLocalizable:e=>l(e)}):null},[n,o,l,a])};
@@ -0,0 +1,9 @@
1
+ export interface AssistantImageProps {
2
+ readonly src: string | undefined;
3
+ readonly alt: string | undefined;
4
+ }
5
+ /**
6
+ * An image in a reply, loaded from the project's resources. One the panel refuses to request or
7
+ * that fails to load shows its alt text instead, so the sentence around it still reads.
8
+ */
9
+ export declare const AssistantImage: import("react").MemoExoticComponent<({ src, alt }: AssistantImageProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ import{jsx as r,Fragment as e}from"react/jsx-runtime";import{styled as t}from"@mui/material";import{memo as m,useCallback as o,useState as a}from"react";import{AssistantPanelName as i}from"../theme.js";import{useResourceImageUrl as s}from"./use-resource-image-url.js";let l=t("img",{name:i,slot:"image"})(({theme:{shape:r,spacing:e}})=>({blockSize:"auto",borderRadius:r.borderRadius,display:"block",maxInlineSize:"100%","& + &":{marginBlockStart:e(1)}}));export const AssistantImage=m(({src:t,alt:m})=>{let i=s()(t),[n,u]=a(),c=o(()=>{u(i)},[i]);return null==i||i===n?r(e,{children:m}):r(l,{src:i,alt:m??"",loading:"lazy",onError:c})});
@@ -0,0 +1,3 @@
1
+ export { AssistantImage } from './AssistantImage.js';
2
+ export { RESOURCE_PATH_PATTERN, isResourcePath } from './resource-path.js';
3
+ export { useResourceImageUrl } from './use-resource-image-url.js';
@@ -0,0 +1 @@
1
+ export{AssistantImage}from"./AssistantImage.js";export{RESOURCE_PATH_PATTERN,isResourcePath}from"./resource-path.js";export{useResourceImageUrl}from"./use-resource-image-url.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A path into the project's resources, the kind stored on `imageUrl` fields: no scheme and no host,
3
+ * so resolving it never leaves the resources origin. A backslash, a control character or leading
4
+ * whitespace is refused too, because the URL parser reads a backslash as a slash and strips the
5
+ * others, which would turn `\\host` or ` //host` into an address on another host.
6
+ *
7
+ * Written as a JSON Schema `pattern`, so attribute schemas can apply the same rule.
8
+ */
9
+ export declare const RESOURCE_PATH_PATTERN: string;
10
+ /** True when the image source the model wrote may be requested: a path into the project's resources. */
11
+ export declare const isResourcePath: (src: string | undefined) => src is string;
@@ -0,0 +1 @@
1
+ export const RESOURCE_PATH_PATTERN=String.raw`^(?![a-zA-Z][a-zA-Z0-9+.-]*:)(?!//)[^\s\\\x00-\x1f][^\\\x00-\x1f]*$`;let t=RegExp(RESOURCE_PATH_PATTERN,"u");export const isResourcePath=R=>null!=R&&t.test(R);
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Resolves an image source the model wrote the way the configurator resolves thumbnails, or returns
3
+ * `undefined` when it is not a path into the project's resources and must not be requested.
4
+ */
5
+ export declare const useResourceImageUrl: () => (src: string | undefined) => string | undefined;
@@ -0,0 +1 @@
1
+ import{useCallback as r}from"react";import{useResourceUrl as e}from"#package/react-sdk";import{isResourcePath as o}from"./resource-path.js";export const useResourceImageUrl=()=>{let{getResourceUrl:t}=e();return r(r=>o(r)?t(r):void 0,[t])};
@@ -1,3 +1,5 @@
1
+ /** True when the text has a code fence the model has not closed yet. */
2
+ export declare const hasOpenFence: (text: string) => boolean;
1
3
  /**
2
4
  * Makes the Markdown of a reply that is still streaming renderable as it stands, so half-written
3
5
  * markup does not flash as raw characters: an open code fence is closed, an inline code span, a link
@@ -1,2 +1,2 @@
1
- let e=(e,t)=>e.split(t).length-1,t=/^\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;export const completeStreamedMarkdown=l=>{if(e(l,"```")%2==1)return`${l}
2
- \`\`\``;let n=l.lastIndexOf("```"),s=-1===n?"":l.slice(0,n+3),r=l.slice(s.length),i=(e=>{let l=e.split("\n"),n=l.length;for(;n>0&&l[n-1]?.trimStart().startsWith("|");)n-=1;let s=l.slice(n),r=s[1],i=null!=r&&s.length>2&&t.test(r);return 0===s.length||i?e:l.slice(0,n).join("\n")})((e(r,"`")%2==1?r.slice(0,r.lastIndexOf("`")):r).replace(/!?\[([^\]\n]*)\]\([^)\n]*$/,"$1").replace(/!?\[[^\]\n]*$/,"")),c=e(i,"**")%2==1?`${i}**`:i;return`${s}${c}`};
1
+ let e=(e,t)=>e.split(t).length-1,t=/^\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;export const hasOpenFence=t=>e(t,"```")%2==1;export const completeStreamedMarkdown=n=>{if(hasOpenFence(n))return`${n}
2
+ \`\`\``;let l=n.lastIndexOf("```"),s=-1===l?"":n.slice(0,l+3),r=n.slice(s.length),c=(e=>{let n=e.split("\n"),l=n.length;for(;l>0&&n[l-1]?.trimStart().startsWith("|");)l-=1;let s=n.slice(l),r=s[1],c=null!=r&&s.length>2&&t.test(r);return 0===s.length||c?e:n.slice(0,l).join("\n")})((e(r,"`")%2==1?r.slice(0,r.lastIndexOf("`")):r).replace(/!?\[([^\]\n]*)\](?:\([^)\n]*)?$/,"$1").replace(/!?\[[^\]\n]*$/,"")),i=e(c,"**")%2==1?`${c}**`:c;return`${s}${i}`};
@@ -8,6 +8,12 @@ export interface AssistantToolItem {
8
8
  readonly input: unknown;
9
9
  readonly result: unknown;
10
10
  }
11
+ /**
12
+ * What the forms in a stretch of assistant text are: shown only in the last message of the thread,
13
+ * and usable only once its reply has ended. A form in any earlier message has been answered or
14
+ * passed over, so it is not shown at all.
15
+ */
16
+ export type AssistantFormsVisibility = 'hidden' | 'disabled' | 'enabled';
11
17
  /**
12
18
  * One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, a row
13
19
  * of chips for the tool calls that follow each other without text in between, or the line that
@@ -22,6 +28,7 @@ export type AssistantThreadItem = {
22
28
  readonly id: string;
23
29
  readonly markdown: string;
24
30
  readonly isStreaming: boolean;
31
+ readonly forms: AssistantFormsVisibility;
25
32
  } | {
26
33
  readonly kind: 'tools';
27
34
  readonly id: string;
@@ -39,7 +46,7 @@ export interface AssistantThreadView {
39
46
  * Lays the messages of the chat out as the blocks the thread renders. Reasoning is left out; tool
40
47
  * results are not shown on their own but decide the state of the chip of their call.
41
48
  */
42
- export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean) => AssistantThreadView;
49
+ export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean, isResuming: boolean) => AssistantThreadView;
43
50
  /**
44
51
  * Lays the closed threads of the conversation out above the thread that continues them, oldest
45
52
  * first, each ended by a separator: the assistant read on from a summary of it, not from the
@@ -1 +1 @@
1
- import{describeToolCall as t}from"./tool-chip.js";let e=t=>{try{return JSON.parse(t)}catch{return t}},r=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,i)=>{let l=(t=>{let r=new Map;for(let o of t)for(let t of o.parts)"tool-result"===t.type&&r.set(t.toolCallId,{result:"string"==typeof t.content?e(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return r})(o),n=[],a=o.at(-1),s=t=>{let e=n.at(-1);e?.kind==="tools"?n[n.length-1]={...e,tools:[...e.tools,t]}:n.push({kind:"tools",id:t.id,tools:[t]})};for(let e of o){if("user"===e.role){let t=r(e.parts);t&&n.push({kind:"user",id:e.id,text:t});continue}let o=i&&e===a;e.parts.forEach((r,i)=>{let a=`${e.id}:${i}`;if("text"===r.type){if(r.content.trim()){let t=o&&i===e.parts.length-1;n.push({kind:"text",id:a,markdown:r.content,isStreaming:t})}return}if("tool-call"!==r.type)return;let d=l.get(r.id),p=r.input,u=r.output??d?.result;s({id:r.id,input:p,result:u,chip:t({name:r.name,input:p,result:u,error:d?.error,isReplyRunning:o})})})}let d=n.at(-1),p=a?.role==="assistant"&&(d?.kind==="text"&&d.isStreaming||d?.kind==="tools");return{items:n,isThinking:i&&!p}};export const buildEarlierThreadItems=t=>t.flatMap(({threadId:t,messages:e})=>[...buildThreadView(e,!1).items.map(e=>({...e,id:`${t}:${e.id}`})),{kind:"separator",id:`${t}:separator`}]);
1
+ import{match as t}from"ts-pattern";import{describeToolCall as e}from"./tool-chip.js";let r=t=>{try{return JSON.parse(t)}catch{return t}},i=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,n,s)=>{let l=(t=>{let e=new Map;for(let i of t)for(let t of i.parts)"tool-result"===t.type&&e.set(t.toolCallId,{result:"string"==typeof t.content?r(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return e})(o),a=[],d=o.at(-1),p=t=>{let e=a.at(-1);e?.kind==="tools"?a[a.length-1]={...e,tools:[...e.tools,t]}:a.push({kind:"tools",id:t.id,tools:[t]})};for(let r of o){if("user"===r.role){let t=i(r.parts);t&&a.push({kind:"user",id:r.id,text:t});continue}let o=n&&r===d,u=t({isLast:r===d,isBusy:o||s}).with({isLast:!1},()=>"hidden").with({isBusy:!0},()=>"disabled").otherwise(()=>"enabled");r.parts.forEach((t,i)=>{let n=`${r.id}:${i}`;if("text"===t.type){if(t.content.trim()){let e=o&&i===r.parts.length-1;a.push({kind:"text",id:n,markdown:t.content,isStreaming:e,forms:u})}return}if("tool-call"!==t.type)return;let s=l.get(t.id),d=t.input,h=t.output??s?.result;p({id:t.id,input:d,result:h,chip:e({name:t.name,input:d,result:h,error:s?.error,isReplyRunning:o})})})}let u=a.at(-1),h=d?.role==="assistant"&&(u?.kind==="text"&&u.isStreaming||u?.kind==="tools");return{items:a,isThinking:n&&!h}};export const buildEarlierThreadItems=t=>t.flatMap(({threadId:t,messages:e})=>[...buildThreadView(e,!1,!1).items.map(e=>"text"===e.kind?{...e,id:`${t}:${e.id}`,forms:"hidden"}:{...e,id:`${t}:${e.id}`}),{kind:"separator",id:`${t}:separator`}]);
@@ -1 +1 @@
1
- import{useCallback as r,useEffect as e,useLayoutEffect as t,useRef as l,useState as c}from"react";export const useFollowStream=(o,n)=>{let s=l(null),u=l(!0),[i,g]=c(!1),h=r(()=>{let r=s.current;u.current=!0,g(!1),r&&(r.scrollTop=r.scrollHeight)},[]),H=r(()=>{let r=s.current;r&&(u.current=r.scrollHeight-r.scrollTop-r.clientHeight<=24,u.current&&g(!1))},[]);return t(()=>{h()},[n,h]),t(()=>{let r=s.current;r&&(u.current?r.scrollTop=r.scrollHeight:r.scrollHeight>r.clientHeight&&g(!0))},[o]),e(()=>{let r=s.current;if(!r)return;let e=new ResizeObserver(()=>{u.current&&(r.scrollTop=r.scrollHeight)});return e.observe(r),()=>{e.disconnect()}},[]),{scrollerRef:s,hasUnseenContent:i,handleScroll:H,scrollToEnd:h}};
1
+ import{useCallback as e,useEffect as r,useLayoutEffect as t,useRef as l,useState as c}from"react";export const useFollowStream=(o,n)=>{let s=l(null),i=l(!0),[u,g]=c(!1),h=e(()=>{let e=s.current;i.current=!0,g(!1),e&&(e.scrollTop=e.scrollHeight)},[]),H=e(()=>{let e=s.current;e&&(i.current=e.scrollHeight-e.scrollTop-e.clientHeight<=24,i.current&&g(!1))},[]);return t(()=>{h()},[n,h]),t(()=>{let e=s.current;e&&(i.current?e.scrollTop=e.scrollHeight:e.scrollHeight>e.clientHeight&&g(!0))},[o]),r(()=>{let e=s.current;if(!e)return;let r=()=>{i.current&&(e.scrollTop=e.scrollHeight)},t=new ResizeObserver(r);return t.observe(e),e.addEventListener("load",r,!0),()=>{t.disconnect(),e.removeEventListener("load",r,!0)}},[]),{scrollerRef:s,hasUnseenContent:u,handleScroll:H,scrollToEnd:h}};
@@ -0,0 +1 @@
1
+ export { SidebarKeys } from './sidebar-keys.js';
@@ -0,0 +1 @@
1
+ export{SidebarKeys}from"./sidebar-keys.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Values of the desktop sidebar's `data-sidebar` attribute: its variants and states. The sidebar writes
3
+ * them; the built-in desktop layout's rules react to them.
4
+ */
5
+ export declare const SidebarKeys: {
6
+ readonly Minimalist: 'minimalist';
7
+ readonly Split: 'split';
8
+ readonly Visible: 'visible';
9
+ readonly Hidden: 'hidden';
10
+ readonly Assistant: 'assistant';
11
+ };
@@ -0,0 +1 @@
1
+ export const SidebarKeys={Minimalist:"minimalist",Split:"split",Visible:"visible",Hidden:"hidden",Assistant:"assistant"};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{Box as a}from"@mui/material";import{useDetectGPU as i}from"@react-three/drei";import{Canvas as o,useThree as n}from"@react-three/fiber";import{memo as s,useCallback as l,useEffect as p,useMemo as c,useState as f}from"react";import{BuiltInLoadingPhase as m,useLoadingPhase as d,useLoadingStateManager as h,useStoreSelector as u}from"#package/react-sdk";import{useResponsive as g}from"#package/ui-sdk";import{useConfigurator as x}from"../../../../application-runtime/index.js";import{Scene as v,SceneEnvironment as C}from"../../../../scene/index.js";import{CanvasLoader as P}from"../../../phoenix-layout-elements/index.js";import{GPUIssuePage as w}from"./GPUIssuePage.js";let j=e=>{let{onCanNotLoad:t}=e,r=n(e=>e.gl);return p(()=>{let e=r.getContext(),a=e.getExtension("WEBGL_debug_renderer_info");a?e.getParameter(a.UNMASKED_RENDERER_WEBGL).toLocaleLowerCase().includes("swiftshader")&&t?.("no-acceleration"):t?.("no-acceleration")},[r,t]),null};export const Canvas=s(()=>{let[n,s]=f(null),[D,E]=f(!0),{canvasSystem:B}=x(),L=u(e=>B.getCanvasConfig(e.state),[B]),y=i(),{canvasPadding:k}=g(),M=null!==h();d({id:m.SceneAssets,label:"Loading 3D scene…"},D);let $=l(()=>{E(!1),B.reportFirstLoadFinished()},[B]),_=l(e=>{B.onCanvasClick$.next(e)},[B]),b=l(e=>{B.onCanvasPointerMove$.next(e)},[B]),A=c(()=>{let e={};return L?.precision&&(e.precision=L.precision),L?.alpha&&(e.alpha=L.alpha),L?.premultipliedAlpha&&(e.premultipliedAlpha=L.premultipliedAlpha),L?.antialias&&(e.antialias=L.antialias),L?.stencil&&(e.stencil=L.stencil),L?.preserveDrawingBuffer&&(e.preserveDrawingBuffer=L.preserveDrawingBuffer),L?.powerPreference&&(e.powerPreference=L.powerPreference),L?.depth&&(e.depth=L.depth),L?.logarithmicDepthBuffer&&(e.logarithmicDepthBuffer=L.logarithmicDepthBuffer),L?.failIfMajorPerformanceCaveat&&(e.failIfMajorPerformanceCaveat=L.failIfMajorPerformanceCaveat),e},[L]);return(p(()=>{"WEBGL_UNSUPPORTED"===y.type&&s("no-gpu")},[y,s]),n)?e(w,{issue:n}):t(r,{children:[e(a,{component:"div",sx:{transition:"opacity 0.3s ease-in",opacity:+!D,width:"100%",height:"100%"},children:t(o,{gl:A,onClick:_,onPointerMove:b,frameloop:L?.frameloop,shadows:L?.shadows,children:[e(v,{onFirstLoad:$}),e(j,{onCanNotLoad:s}),e(C,{})]})}),!M&&e(a,{component:"div",sx:{position:"absolute",top:k.top,left:k.left,width:`calc(100% - ${k.left}px - ${k.right}px)`,height:`calc(100% - ${k.top}px - ${k.bottom}px)`,display:"flex",justifyContent:"center",alignItems:"center",transition:"opacity 0.3s ease-in",opacity:+!!D,pointerEvents:"none"},children:e(P,{})})]})});
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{Box as a}from"@mui/material";import{useDetectGPU as i}from"@react-three/drei";import{Canvas as o,useThree as n}from"@react-three/fiber";import{memo as s,useCallback as l,useEffect as p,useMemo as c,useState as f}from"react";import{BuiltInLoadingPhase as m,useExpectPhase as d,useLoadingPhase as h,useLoadingStateManager as u,useStoreSelector as g}from"#package/react-sdk";import{useResponsive as x}from"#package/ui-sdk";import{useConfigurator as v}from"../../../../application-runtime/index.js";import{Scene as C,SceneEnvironment as P}from"../../../../scene/index.js";import{CanvasLoader as w}from"../../../phoenix-layout-elements/index.js";import{GPUIssuePage as j}from"./GPUIssuePage.js";let D=e=>{let{onCanNotLoad:t}=e,r=n(e=>e.gl);return p(()=>{let e=r.getContext(),a=e.getExtension("WEBGL_debug_renderer_info");a?e.getParameter(a.UNMASKED_RENDERER_WEBGL).toLocaleLowerCase().includes("swiftshader")&&t?.("no-acceleration"):t?.("no-acceleration")},[r,t]),null};export const Canvas=s(()=>{let[n,s]=f(null),[E,B]=f(!0),{canvasSystem:L}=v(),y=g(e=>L.getCanvasConfig(e.state),[L]),k=i(),{canvasPadding:A}=x(),M=null!==u();d(m.SceneAssets),h({id:m.SceneAssets,label:"Loading 3D scene…"},E);let $=l(()=>{B(!1),L.reportFirstLoadFinished()},[L]),_=l(e=>{L.onCanvasClick$.next(e)},[L]),b=l(e=>{L.onCanvasPointerMove$.next(e)},[L]),I=c(()=>{let e={};return y?.precision&&(e.precision=y.precision),y?.alpha&&(e.alpha=y.alpha),y?.premultipliedAlpha&&(e.premultipliedAlpha=y.premultipliedAlpha),y?.antialias&&(e.antialias=y.antialias),y?.stencil&&(e.stencil=y.stencil),y?.preserveDrawingBuffer&&(e.preserveDrawingBuffer=y.preserveDrawingBuffer),y?.powerPreference&&(e.powerPreference=y.powerPreference),y?.depth&&(e.depth=y.depth),y?.logarithmicDepthBuffer&&(e.logarithmicDepthBuffer=y.logarithmicDepthBuffer),y?.failIfMajorPerformanceCaveat&&(e.failIfMajorPerformanceCaveat=y.failIfMajorPerformanceCaveat),e},[y]);return(p(()=>{"WEBGL_UNSUPPORTED"===k.type&&s("no-gpu")},[k,s]),n)?e(j,{issue:n}):t(r,{children:[e(a,{component:"div",sx:{transition:"opacity 0.3s ease-in",opacity:+!E,width:"100%",height:"100%"},children:t(o,{gl:I,onClick:_,onPointerMove:b,frameloop:y?.frameloop,shadows:y?.shadows,children:[e(C,{onFirstLoad:$}),e(D,{onCanNotLoad:s}),e(P,{})]})}),!M&&e(a,{component:"div",sx:{position:"absolute",top:A.top,left:A.left,width:`calc(100% - ${A.left}px - ${A.right}px)`,height:`calc(100% - ${A.top}px - ${A.bottom}px)`,display:"flex",justifyContent:"center",alignItems:"center",transition:"opacity 0.3s ease-in",opacity:+!!E,pointerEvents:"none"},children:e(w,{})})]})});
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{styled as e}from"@mui/material";import{Suspense as o,memo as r,useEffect as i,useRef as n,useState as a}from"react";import{useLoadingStateManager as s}from"#package/react-sdk";import{usePreview as l}from"../../../../configurator-context/index.js";import{CanvasLoader as m}from"../../../phoenix-layout-elements/index.js";import{Canvas as c}from"./LayoutCanvas.js";let p=e("div",{shouldForwardProp:t=>"masked"!==t})(({masked:t,theme:{palette:e}})=>({backgroundColor:e.background.scene,inset:0,position:"absolute",isolation:"isolate",maxBlockSize:"var(--phx-app-height)","&::after":{backgroundColor:"inherit",content:'""',display:"block",inset:"inherit",opacity:+!!t,pointerEvents:"none",position:"absolute",transitionDuration:t?"0ms":"100ms",transitionProperty:"opacity",transitionTimingFunction:"linear"}})),u=e("div")({display:"grid",inset:0,placeItems:"center",pointerEvents:"none",position:"absolute"}),d=()=>null!==s()?null:t(u,{children:t(m,{})});export const SharedCanvas=r(()=>{let{isExpanded:e}=l(),[r,s]=a(!1),m=n(e);return i(()=>{if(e===m.current)return;m.current=e,s(!0);let t=setTimeout(()=>s(!1),600);return()=>clearTimeout(t)},[e]),t(p,{masked:r,children:t(o,{fallback:t(d,{}),children:t(c,{})})})});
1
+ import{jsx as t}from"react/jsx-runtime";import{styled as e}from"@mui/material";import{Suspense as o,memo as r,useEffect as i,useRef as n,useState as a}from"react";import{BuiltInLoadingPhase as s,useExpectPhase as l,useLoadingStateManager as m}from"#package/react-sdk";import{usePreview as c}from"../../../../configurator-context/index.js";import{CanvasLoader as p}from"../../../phoenix-layout-elements/index.js";import{Canvas as u}from"./LayoutCanvas.js";let d=e("div",{shouldForwardProp:t=>"masked"!==t})(({masked:t,theme:{palette:e}})=>({backgroundColor:e.background.scene,inset:0,position:"absolute",isolation:"isolate",maxBlockSize:"var(--phx-app-height)","&::after":{backgroundColor:"inherit",content:'""',display:"block",inset:"inherit",opacity:+!!t,pointerEvents:"none",position:"absolute",transitionDuration:t?"0ms":"100ms",transitionProperty:"opacity",transitionTimingFunction:"linear"}})),h=e("div")({display:"grid",inset:0,placeItems:"center",pointerEvents:"none",position:"absolute"}),f=()=>null!==m()?null:t(h,{children:t(p,{})});export const SharedCanvas=r(()=>{l(s.SceneAssets);let{isExpanded:e}=c(),[r,m]=a(!1),p=n(e);return i(()=>{if(e===p.current)return;p.current=e,m(!0);let t=setTimeout(()=>m(!1),600);return()=>clearTimeout(t)},[e]),t(d,{masked:r,children:t(o,{fallback:t(f,{}),children:t(u,{})})})});
@@ -25,13 +25,8 @@ declare module '@mui/material/styles' {
25
25
  };
26
26
  }
27
27
  }
28
- export declare const SidebarKeys: {
29
- readonly Minimalist: 'minimalist';
30
- readonly Split: 'split';
31
- readonly Visible: 'visible';
32
- readonly Hidden: 'hidden';
33
- readonly Assistant: 'assistant';
34
- };
28
+ /** Which side of its layout the sidebar is on. */
29
+ export type DesktopSidebarSide = 'start' | 'end';
35
30
  interface SidebarOwnerState {
36
31
  readonly isHeaderEmpty?: boolean;
37
32
  readonly isContentEmpty?: boolean;
@@ -76,17 +71,31 @@ export interface ThemeableDesktopSidebarProps extends SidebarOwnerState {
76
71
  */
77
72
  readonly scrollableIndicatorBackground?: CSSProperties['background'];
78
73
  /**
79
- * Inline size (width) of the sidebar.
80
- *
81
- * @default inherited from ThemeableDesktopLayoutProps.sidebarWidth
74
+ * Inline size (width) of the sidebar. Not read from the theme: the sidebar takes its width from its
75
+ * `width` prop, which the built-in desktop layout sets from `ThemeableDesktopLayoutProps.sidebarWidth`.
82
76
  */
83
77
  readonly width?: CSSProperties['width'];
84
78
  }
85
- interface DesktopSidebarProps {
79
+ /** Props of the built-in desktop sidebar. */
80
+ export interface DesktopSidebarProps {
81
+ /**
82
+ * Inline size (width) of the sidebar. Without it the sidebar fills the width and height of its
83
+ * container, which the layout sizes and positions; with it the sidebar takes this width and the
84
+ * height of its content, unless its container stretches it.
85
+ */
86
+ readonly width?: CSSProperties['width'];
86
87
  /**
87
- * Inline size (width) of the sidebar. The layout passes the width of its sidebar column.
88
+ * Which side of the layout the sidebar is on. The sidebar tabs sit outside the sidebar on the other
89
+ * side: to its left for `end`, to its right for `start`.
90
+ *
91
+ * @default 'end'
88
92
  */
89
- readonly width: CSSProperties['width'];
93
+ readonly side?: DesktopSidebarSide;
90
94
  }
91
- export declare const DesktopSidebar: ({ width }: DesktopSidebarProps) => import("react/jsx-runtime").JSX.Element;
95
+ /**
96
+ * The built-in desktop sidebar: tabs, back button, property page, footer and the assistant panel, with
97
+ * their spacing, scrolling and empty states. In fullscreen it stays in place, transparent and inert;
98
+ * the layout decides whether it keeps its space.
99
+ */
100
+ export declare const DesktopSidebar: ({ width, side }: DesktopSidebarProps) => import("react/jsx-runtime").JSX.Element;
92
101
  export {};
@@ -0,0 +1,16 @@
1
+ import{jsx as r,jsxs as a}from"react/jsx-runtime";import{paperClasses as e,styled as d,tabsClasses as i,useTheme as t,useThemeProps as o}from"@mui/material";import{useMemo as n,useState as s}from"react";import{useIsFullscreenActive as b}from"#package/react-sdk";import{attrf as l,commonStyles as p,useInvalidateScrollTimeline as c,useIsEmpty as h}from"#package/ui-sdk";import{ASSISTANT_PANEL_SLOT as m,AssistantPanel as u,useIsAssistantPanelOpen as S}from"../../../assistant/index.js";import{SidebarKeys as g}from"../../sidebar-keys/index.js";import{DesktopSidebarBackButton as k}from"../sidebar-back-button/index.js";import{DesktopSidebarContent as x,useSidebarContent as E}from"../sidebar-contents/index.js";import{DesktopSidebarFooter as f}from"../sidebar-footer/index.js";import{DesktopSidebarTabs as v}from"../sidebar-tabs/index.js";let R="PhxDesktopSidebar",y={Root:d("div",{name:R,slot:"root",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r})=>[`
2
+ --phx-sidebar-background: ${r.background};
3
+ --phx-sidebar-border: ${r.border};
4
+ --phx-sidebar-filter: ${r.filter};
5
+ --phx-sidebar-padding: ${r.padding};
6
+ --phx-sidebar-radius: ${r.borderRadius}px;
7
+ --phx-sidebar-scrollable-indicator-background: ${r.scrollableIndicatorBackground};
8
+ `,{borderRadius:"var(--phx-sidebar-radius)",display:"grid",filter:"var(--phx-sidebar-filter)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",inlineSize:r.width,...void 0===r.width&&{blockSize:"100%",inlineSize:"100%"},position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{"--phx-sidebar-background":"hsl(from gold h s l / 50%)"},[`&[data-sidebar*="${g.Visible}"]`]:{opacity:1},[`&[data-sidebar*="${g.Hidden}"]`]:{opacity:0},[`&[data-sidebar*="${g.Assistant}"] > :not([data-sidebar="${m}"])`]:{visibility:"hidden"}}]),Tabs:d("div",{name:R,slot:"tabs",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{spacing:a}})=>({insetBlockStart:0,insetInlineEnd:"100%",maxInlineSize:150,paddingInlineEnd:a(2),position:"absolute",..."start"===r.side&&{insetInlineEnd:"auto",insetInlineStart:"100%",paddingInlineEnd:0,paddingInlineStart:a(2),[`.${i.indicator}`]:{left:0,right:"auto"}},"&:is(:empty)":{padding:0},[`.${e.root}`]:{boxShadow:"none"}})),Header:d("header",{name:R,slot:"header",shouldForwardProp:r=>"ownerState"!==r})({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockEnd:0,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlock:"calc(0.6 * var(--phx-sidebar-padding))",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0}}),Body:d("div",{name:R,slot:"body",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:0,borderBlockEnd:0,display:"grid",position:"relative","[data-sidebar] &":{...r.isHeaderEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlockStart:"var(--phx-sidebar-padding)"}},'&:has([data-sidebar*="slot[content]"]:empty)':{...r.isContentEmpty&&{paddingBlock:0}},[`[data-sidebar*="${g.Minimalist}"] &`]:{...r.isContentEmpty&&{border:0}},[`[data-sidebar*="${g.Split}"] &`]:{borderBlockEnd:"var(--phx-sidebar-border)",borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",paddingBlockEnd:"var(--phx-sidebar-padding)"}})),Content:d("div",{name:R,slot:"content",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{spacing:a}})=>({...p.layout.normalizeScrollableContainer,alignContent:"start",borderRadius:"inherit",display:"grid",gap:a(3),padding:"var(--phx-sidebar-padding)","@supports (animation-timeline: scroll())":{"&[data-scrollable]":{scrollTimeline:"--phx-sidebar-timeline y","&::after, &::before":{animation:`${p.keyframes.fadeIn} both`,animationTimeline:"--phx-sidebar-timeline",background:"var(--phx-sidebar-scrollable-indicator-background)",backgroundRepeat:"no-repeat",content:'""',display:"block",insetInline:0,opacity:0,pointerEvents:"none",position:"absolute",zIndex:1},"&::after":{animationDirection:"reverse",animationRange:`calc(100% - ${a(4)}) 100%`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",insetBlockStart:"50%",insetBlockEnd:0,scale:"1 -1"},"&::before":{animationRange:`0 ${a(4)}`,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",insetBlockStart:0,insetBlockEnd:"50%"}}},"&:is(:empty)":{paddingBlock:0},"[data-sidebar] &":{...r.isHeaderEmpty&&{paddingBlockStart:0,"&::before":{borderStartStartRadius:0,borderStartEndRadius:0,insetBlockStart:"var(--phx-sidebar-padding)"}}},[`[data-sidebar*="${g.Split}"] &`]:{paddingBlockEnd:0,"&::after":{borderEndStartRadius:0,borderEndEndRadius:0,insetBlockEnd:"var(--phx-sidebar-padding)"}}})),Footer:d("footer",{name:R,slot:"footer",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{palette:a,spacing:e}})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:`1px solid ${a.divider}`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",padding:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0},[`[data-sidebar*="${g.Minimalist}"] &`]:{...r.isContentEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit"}},[`[data-sidebar*="${g.Split}"] &`]:{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",marginBlockStart:e(2)}}))};export const DesktopSidebar=({width:e,side:d="end"})=>{let[i,p]=s(null),[m,B]=s(null),$=n(()=>({current:i}),[i]),w=n(()=>({current:m}),[m]),{palette:I,shape:j,spacing:C}=t(),{background:F=I.background.paper,border:H=0,borderRadius:P=j.sidebarBorderRadius??j.borderRadius,filter:z=`
9
+ drop-shadow(0 1px 1.5px hsl(from ${I.common.black} h s l / 12%))
10
+ drop-shadow(0 1px 0.5px hsl(from ${I.common.black} h s l / 14%))
11
+ drop-shadow(0 2px 0.5px hsl(from ${I.common.black} h s l / 20%))
12
+ `,padding:T=C(2.5),scrollableIndicatorBackground:D=`linear-gradient(
13
+ 180deg,
14
+ hsl(from black h s l / 12%),
15
+ hsl(from black h s l / 0%) 8px
16
+ )`}=o({props:{},name:R}),{hasMiniSidebar:M,hasSplitSidebar:A}=E(),V=S(),q=!b(),G=h($,{disabled:!q}),J=h(w,{disabled:!q});c(w,{disabled:!q});let K={background:F,border:H,borderRadius:P,filter:z,isHeaderEmpty:G,isContentEmpty:J,padding:T,scrollableIndicatorBackground:D,width:e};return a(y.Root,{ownerState:K,"data-sidebar":l({variant:{[`${g.Minimalist}`]:M,[`${g.Split}`]:A},state:{[`${g.Visible}`]:q,[`${g.Hidden}`]:!q,[`${g.Assistant}`]:V}}),inert:q?void 0:"",children:[r(y.Tabs,{ownerState:{...K,side:d},"data-sidebar":"slot[tabs]",children:r(v,{})}),r(y.Header,{ref:p,ownerState:K,"data-sidebar":"slot[header]",children:r(k,{})}),r(y.Body,{ownerState:K,"data-sidebar":"slot[body]",children:r(y.Content,{ref:B,ownerState:K,"data-sidebar":"slot[content]",children:r(x,{})})}),r(y.Footer,{ownerState:K,"data-sidebar":"slot[footer]",children:r(f,{})}),r(u,{})]})};
@@ -0,0 +1 @@
1
+ export { DesktopSidebar, type DesktopSidebarProps, type DesktopSidebarSide } from './DesktopSidebar.js';
@@ -0,0 +1 @@
1
+ export{DesktopSidebar}from"./DesktopSidebar.js";
@@ -1,7 +1,7 @@
1
1
  export declare const useMobileTabs: () => {
2
2
  tabs: {
3
3
  label: string;
4
- icon: import("react").ReactNode;
4
+ icon: string | number | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
5
5
  value: string;
6
6
  isActive: boolean;
7
7
  }[];
@@ -1 +1 @@
1
- import{useCallback as e,useMemo as t}from"react";import{horizontalTabsComponent as o,sidebarTabsComponent as n}from"#package/domain";import{useActiveNavigationState as a,useComponents as i,useDomain as r,useResolveLocalizable as s,useSelectedDomainEntityId as c}from"#package/react-sdk";import{useIsSidebarSummaryActive as l}from"../../../../configurator-context/index.js";export const useMobileTabs=()=>{let m=a(),b=i({componentTypes:[n],entityIds:[c()]}),d=i({componentTypes:[o]}),p=t(()=>{if(b.length>0&&d.length>0)throw Error("Both sidebar tabs and horizontal tabs are configured, only one tabs component type can be used at a time, remove either sidebarTabs or horizontalTabs from your domain configuration");if(b.length>1)throw Error("Multiple sidebar tab components are active, only one sidebar tabs component can be active at a time, check your domain configuration to ensure only one sidebarTabs component is defined");if(d.length>1)throw Error("Multiple horizontal tab components are active, only one horizontal tabs component can be active at a time, check your domain configuration to ensure only one horizontalTabs component is defined");return b.length>0?b.at(0):d.at(0)},[b,d]),h=s(),u=l(),g=t(()=>p?p.state.tabs.map(e=>{let t=e.navigationStates[0];if(!t)throw Error(`Tab ${h(e.label)} has no navigation states!`);return{label:h(e.label),icon:e.icon,value:t,isActive:e.navigationStates.includes(m)}}):[],[p,m,h]),{navigationSystem:f,storeSystem:v}=r(),y=e(e=>{v.stageAndCommit([f.getNavigationUpdate(e)])},[f,v]),T=t(()=>{let e=g.find(e=>e.isActive);return e?.value??"none"},[g]);return u?{tabs:[],activeTab:"none",onChange:()=>{}}:{tabs:g,activeTab:T,onChange:y}};
1
+ import{useCallback as t,useMemo as e}from"react";import{horizontalTabsComponent as o,sidebarTabsComponent as a}from"#package/domain";import{useComponents as n,useDomain as i,useResolveLocalizable as r,useSelectedDomainEntityId as s,useTabNavigation as c}from"#package/react-sdk";import{useIsSidebarSummaryActive as b}from"../../../../configurator-context/index.js";export const useMobileTabs=()=>{let{tabs:l,activeTab:m}=c(),{navigationSystem:p,storeSystem:d}=i(),h=n({componentTypes:[a],entityIds:[s()]}),f=n({componentTypes:[o]}),g=r(),u=b(),v=e(()=>l.map(t=>({label:t.label,icon:t.iconNode??t.icon,value:t.state,isActive:t.isActive})),[l]),y=t(t=>{d.stageAndCommit([p.getNavigationUpdate(t)])},[p,d]),T=m?.state??"none";if(h.length>0&&f.length>0)throw Error("Both sidebar tabs and horizontal tabs are configured, only one tabs component type can be used at a time, remove either sidebarTabs or horizontalTabs from your domain configuration");if(h.length>1)throw Error("Multiple sidebar tab components are active, only one sidebar tabs component can be active at a time, check your domain configuration to ensure only one sidebarTabs component is defined");if(f.length>1)throw Error("Multiple horizontal tab components are active, only one horizontal tabs component can be active at a time, check your domain configuration to ensure only one horizontalTabs component is defined");let k=[...h.flatMap(t=>t.state.tabs),...f.flatMap(t=>t.state.tabs)].find(t=>0===t.navigationStates.length);if(k)throw Error(`Tab ${g(k.label)} has no navigation states!`);return u?{tabs:[],activeTab:"none",onChange:()=>{}}:{tabs:v,activeTab:T,onChange:y}};
@@ -1,8 +1,8 @@
1
1
  /**
2
- * InvariantViolations component that monitors domain store validity and displays
3
- * violation notifications using notistack snackbars.
2
+ * InvariantViolations component that shows the violation and error messages of
3
+ * `useConfiguratorMessages` as notistack snackbars.
4
4
  *
5
- * This component subscribes to the store's validity state and shows appropriate
6
- * error messages for uncaught errors and entity validation violations.
5
+ * An uncaught error is also logged; each entity violation becomes one snackbar
6
+ * prefixed with the id of its entity.
7
7
  */
8
8
  export declare const InvariantViolations: () => null;