@salsita-ai/sdk 0.50.0-develop.6d8967bc99 → 0.50.0-develop.6fc83d7732

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 (1721) hide show
  1. package/README.md +20 -15
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/admin/default-admin-elements.d.ts +9 -0
  4. package/dist/admin/default-admin-elements.js +1 -0
  5. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  6. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  7. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  8. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  9. package/dist/admin/default-elements/index.d.ts +2 -0
  10. package/dist/admin/default-elements/index.js +1 -0
  11. package/dist/admin/index.d.ts +1 -0
  12. package/dist/admin/index.js +1 -1
  13. package/dist/application/index.d.ts +1 -0
  14. package/dist/application/index.js +1 -1
  15. package/dist/application/mount-application.d.ts +1 -1
  16. package/dist/application/mount-application.js +1 -1
  17. package/dist/application/mount-configurator.d.ts +19 -0
  18. package/dist/application/mount-configurator.js +1 -0
  19. package/dist/application/mounted-application-runtime.d.ts +4 -0
  20. package/dist/application/mounted-application-runtime.js +1 -0
  21. package/dist/application/register-web-component.d.ts +2 -0
  22. package/dist/application/register-web-component.js +1 -0
  23. package/dist/application-spec/caching/content-diff.js +1 -1
  24. package/dist/application-spec/core/application-file.d.ts +0 -2
  25. package/dist/application-spec/core/application-file.js +1 -1
  26. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  27. package/dist/application-spec/core/components/component-filter.js +1 -0
  28. package/dist/application-spec/core/components/index.d.ts +2 -0
  29. package/dist/application-spec/core/components/index.js +1 -0
  30. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  31. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  32. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  33. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  34. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  35. package/dist/application-spec/core/expressions/index.js +1 -0
  36. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  37. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  38. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  39. package/dist/application-spec/core/index.d.ts +2 -0
  40. package/dist/application-spec/core/index.js +1 -1
  41. package/dist/application-spec/core/json-value.d.ts +1 -1
  42. package/dist/application-spec/enhanced-json/eval-to-constant.d.ts +14 -0
  43. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  44. package/dist/application-spec/enhanced-json/index.js +1 -0
  45. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  46. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  47. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  48. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  49. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  50. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  51. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  52. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  53. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  54. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  55. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  56. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  57. package/dist/application-spec/errors/diagnostic-codes.d.ts +23 -0
  58. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  59. package/dist/application-spec/errors/diagnostic-messages.d.ts +27 -1
  60. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  61. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  62. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  63. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  64. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  65. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  66. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  67. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  68. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  69. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  70. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  71. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  72. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  73. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  74. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  76. package/dist/application-spec/generate-application/code/templates/application-types.js +6 -6
  77. package/dist/application-spec/generate-application/code/templates/common/doc-comment.d.ts +2 -0
  78. package/dist/application-spec/generate-application/code/templates/common/doc-comment.js +1 -0
  79. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  80. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  81. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  82. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  83. package/dist/application-spec/generate-application/code/templates/configurator-globals.d.ts +2 -1
  84. package/dist/application-spec/generate-application/code/templates/configurator-globals.js +19 -6
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  89. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  90. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  91. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  92. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  93. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +72 -76
  94. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +9 -1
  95. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  96. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  97. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  98. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  99. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  100. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  101. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  102. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  103. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  104. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  106. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  107. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  108. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  109. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  110. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  111. package/dist/application-spec/generate-application/code/templates/global-definition/generate-action-types.js +7 -7
  112. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.d.ts +12 -0
  113. package/dist/application-spec/generate-application/code/templates/global-definition/generate-assistant-form-element-types.js +7 -0
  114. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  115. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +33 -0
  116. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +2 -0
  117. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  118. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  119. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  120. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  121. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  122. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  123. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  124. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  125. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  126. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  128. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  129. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  130. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  131. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  132. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  133. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +42 -18
  134. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  135. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  136. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  137. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  138. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  139. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  140. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  141. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  142. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  143. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  144. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  145. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  146. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  147. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  148. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  149. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  150. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  151. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  152. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  153. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  154. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  155. package/dist/application-spec/generate-application/implementations/phx-application-types.d.ts +25 -0
  156. package/dist/application-spec/generate-application/implementations/phx-application-types.js +1 -0
  157. package/dist/application-spec/generate-application/implementations/phx-domain.d.ts +36 -0
  158. package/dist/application-spec/generate-application/implementations/phx-domain.js +1 -0
  159. package/dist/application-spec/generate-application/implementations/phx-model.d.ts +24 -0
  160. package/dist/application-spec/generate-application/implementations/phx-model.js +1 -0
  161. package/dist/application-spec/generate-application/implementations/phx.d.ts +22 -0
  162. package/dist/application-spec/generate-application/implementations/phx.js +1 -0
  163. package/dist/application-spec/generate-application/index.d.ts +4 -0
  164. package/dist/application-spec/generate-application/index.js +1 -1
  165. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  166. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +12 -4
  168. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  169. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.d.ts +16 -0
  170. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  171. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  172. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +35 -10
  173. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  174. package/dist/application-spec/generate-application/runtime/application-spec-slice.d.ts +71 -0
  175. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +1 -0
  176. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +7 -5
  177. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  178. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +12 -7
  179. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  180. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.d.ts +16 -0
  181. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  182. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  183. package/dist/application-spec/generate-application/runtime/create-application.d.ts +57 -0
  184. package/dist/application-spec/generate-application/runtime/create-application.js +1 -0
  185. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  186. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  187. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  188. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  189. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  190. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  191. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  192. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  193. package/dist/application-spec/generate-application/runtime/index.d.ts +8 -0
  194. package/dist/application-spec/generate-application/runtime/index.js +1 -0
  195. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  196. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  197. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  198. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  199. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  200. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  201. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  202. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  203. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  204. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  205. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  206. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  207. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +15 -6
  208. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  209. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  210. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  211. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  212. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  213. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  214. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  215. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  216. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  217. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  218. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  219. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  220. package/dist/application-spec/generate-application/runtime/spec-runtime.d.ts +21 -0
  221. package/dist/application-spec/generate-application/runtime/spec-runtime.js +1 -0
  222. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  223. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  224. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  225. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  226. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +28 -0
  227. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  228. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  229. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  230. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +103 -0
  231. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  232. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  233. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  234. package/dist/application-spec/index.d.ts +1 -0
  235. package/dist/application-spec/index.js +1 -1
  236. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  237. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  238. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  239. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  240. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  241. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  242. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  243. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  244. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  245. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +47 -4
  246. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  247. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  248. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  249. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  250. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  251. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  252. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  253. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  254. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  255. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  256. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  257. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  258. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  259. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  260. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  261. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  262. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  263. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  264. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  265. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  266. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  267. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  269. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  271. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  272. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  273. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  274. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  275. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  276. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  277. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  278. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  279. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  280. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  281. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  282. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  283. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  284. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  285. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  286. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  287. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  288. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  289. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  290. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  291. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  292. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  293. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  294. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  295. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  296. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  297. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  298. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  299. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  300. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  301. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  302. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  303. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  304. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  305. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  306. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  307. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  308. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  309. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  310. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  311. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  312. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  313. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  314. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.d.ts +9 -0
  315. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-form-elements.js +1 -0
  316. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +4 -1
  317. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  318. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  319. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  320. package/dist/client/authorized-client.d.ts +3 -1
  321. package/dist/client/authorized-client.js +1 -1
  322. package/dist/client/contract.d.ts +34 -0
  323. package/dist/client/contract.js +1 -1
  324. package/dist/client/index.d.ts +2 -2
  325. package/dist/client/index.js +1 -1
  326. package/dist/client/local-authorized-client.d.ts +3 -1
  327. package/dist/client/local-authorized-client.js +1 -1
  328. package/dist/client/memory-authorized-client.d.ts +3 -1
  329. package/dist/client/memory-authorized-client.js +1 -1
  330. package/dist/client/phoenix-api.d.ts +797 -121
  331. package/dist/configurator/ConfiguratorApp.js +1 -1
  332. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  333. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  334. package/dist/configurator/app-loader-content/index.d.ts +1 -0
  335. package/dist/configurator/app-loader-content/index.js +1 -0
  336. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  337. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  338. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  339. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +130 -5
  340. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  341. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +39 -7
  342. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  343. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  344. package/dist/configurator/application-runtime/extensions/systems/canvas-system.d.ts +8 -0
  345. package/dist/configurator/application-runtime/extensions/systems/canvas-system.js +1 -1
  346. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  347. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.d.ts +8 -0
  348. package/dist/configurator/application-runtime/extensions/systems/export-system/export-busy-error.js +1 -0
  349. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.d.ts +23 -1
  350. package/dist/configurator/application-runtime/extensions/systems/export-system/export-system.js +1 -1
  351. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  352. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  353. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +14 -1
  354. package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
  355. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +64 -7
  356. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  357. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  358. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  359. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +14 -5
  360. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  361. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +2 -2
  362. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  363. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  364. package/dist/configurator/common/configurator-interface.d.ts +145 -5
  365. package/dist/configurator/common/configurator-interface.js +1 -1
  366. package/dist/configurator/common/index.d.ts +3 -1
  367. package/dist/configurator/common/index.js +1 -1
  368. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  369. package/dist/configurator/common/use-reset-camera.js +1 -0
  370. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.d.ts +5 -0
  371. package/dist/configurator/configuration-not-found-page/BuiltInConfigurationNotFoundPage.js +1 -0
  372. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +6 -0
  373. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  374. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  375. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  376. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  377. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  378. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  379. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  380. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  381. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  382. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +11 -1
  383. package/dist/configurator/configurator-context/configurator-routing/ConfiguratorRoutingProvider.js +1 -1
  384. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  385. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  386. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +7 -0
  387. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  388. package/dist/configurator/configurator-error-page/index.d.ts +2 -0
  389. package/dist/configurator/configurator-error-page/index.js +1 -0
  390. package/dist/configurator/index.d.ts +10 -0
  391. package/dist/configurator/index.js +1 -1
  392. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  393. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  394. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  395. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  396. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  397. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  398. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  399. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  400. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  401. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  402. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  403. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  404. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  405. package/dist/configurator/pages/RootPage.js +1 -1
  406. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  407. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  408. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  409. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  410. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  411. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  412. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  413. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  414. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  415. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  416. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  417. package/dist/configurator/pages/default-elements/index.js +1 -0
  418. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  419. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  420. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  421. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  422. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  423. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  424. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  425. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  426. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  427. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  428. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  429. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  430. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  431. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  432. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  433. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  434. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  435. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  436. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  437. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  438. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  439. package/dist/configurator/pages/error-boundaries/LoadingErrorBoundary.js +1 -1
  440. package/dist/configurator/pages/index.d.ts +1 -0
  441. package/dist/configurator/pages/index.js +1 -1
  442. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  443. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  444. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  445. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  446. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  447. package/dist/configurator/preset-screen-elements/index.js +1 -0
  448. package/dist/configurator/scene/index.d.ts +1 -0
  449. package/dist/configurator/scene/index.js +1 -1
  450. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  451. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  452. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  453. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  454. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  455. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  456. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  457. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  458. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  459. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  460. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  461. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  462. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  463. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  464. package/dist/configurator/toolbar-actions/index.d.ts +3 -0
  465. package/dist/configurator/toolbar-actions/index.js +1 -0
  466. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  467. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  468. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  469. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  470. package/dist/configurator/toolbar-actions/use-toolbar-actions.d.ts +100 -0
  471. package/dist/configurator/toolbar-actions/use-toolbar-actions.js +1 -0
  472. package/dist/configurator/toolbar-actions/use-toolbar-help.d.ts +7 -0
  473. package/dist/configurator/toolbar-actions/use-toolbar-help.js +1 -0
  474. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -3
  475. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  476. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  477. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  478. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  479. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  480. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  481. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  482. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  483. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +8 -0
  484. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -0
  485. package/dist/configurator/ui/assistant/alert/index.d.ts +2 -0
  486. package/dist/configurator/ui/assistant/alert/index.js +1 -0
  487. package/dist/configurator/ui/assistant/alert/remark-alerts.d.ts +10 -0
  488. package/dist/configurator/ui/assistant/alert/remark-alerts.js +1 -0
  489. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  490. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  491. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  492. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  493. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  494. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  495. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  496. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  497. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  498. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  499. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  500. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  501. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  502. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  503. package/dist/configurator/ui/assistant/form/form-model.d.ts +37 -0
  504. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  505. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  506. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  507. package/dist/configurator/ui/assistant/form/index.d.ts +4 -0
  508. package/dist/configurator/ui/assistant/form/index.js +1 -0
  509. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +10 -0
  510. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  511. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  512. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  513. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +3 -0
  514. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.js +1 -0
  515. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.d.ts +31 -0
  516. package/dist/configurator/ui/assistant/form/registry/create-assistant-form-element.js +1 -0
  517. package/dist/configurator/ui/assistant/form/registry/form-element-definition.d.ts +16 -0
  518. package/dist/configurator/ui/assistant/form/registry/form-element-definition.js +1 -0
  519. package/dist/configurator/ui/assistant/form/registry/form-registry.d.ts +31 -0
  520. package/dist/configurator/ui/assistant/form/registry/form-registry.js +1 -0
  521. package/dist/configurator/ui/assistant/form/registry/index.d.ts +6 -0
  522. package/dist/configurator/ui/assistant/form/registry/index.js +1 -0
  523. package/dist/configurator/ui/assistant/form/registry/use-form-registry.d.ts +8 -0
  524. package/dist/configurator/ui/assistant/form/registry/use-form-registry.js +1 -0
  525. package/dist/configurator/ui/assistant/form-elements/FormCard.d.ts +9 -0
  526. package/dist/configurator/ui/assistant/form-elements/FormCard.js +1 -0
  527. package/dist/configurator/ui/assistant/form-elements/FormConfirm.d.ts +9 -0
  528. package/dist/configurator/ui/assistant/form-elements/FormConfirm.js +1 -0
  529. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +6 -0
  530. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  531. package/dist/configurator/ui/assistant/form-elements/FormNumber.d.ts +9 -0
  532. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -0
  533. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +6 -0
  534. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  535. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +6 -0
  536. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  537. package/dist/configurator/ui/assistant/form-elements/FormSwatch.d.ts +10 -0
  538. package/dist/configurator/ui/assistant/form-elements/FormSwatch.js +1 -0
  539. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +6 -0
  540. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  541. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.d.ts +10 -0
  542. package/dist/configurator/ui/assistant/form-elements/clamp-form-number.js +1 -0
  543. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +38 -0
  544. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  545. package/dist/configurator/ui/assistant/form-elements/index.d.ts +9 -0
  546. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  547. package/dist/configurator/ui/assistant/index.d.ts +3 -0
  548. package/dist/configurator/ui/assistant/index.js +1 -1
  549. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  550. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  551. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  552. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  553. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  554. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  555. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  556. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  557. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  558. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  559. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  560. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  561. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  562. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  563. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  564. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  565. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +2 -0
  566. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  567. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  568. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  569. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.d.ts +9 -0
  570. package/dist/configurator/ui/assistant/screenshots/ScreenshotThumbnails.js +1 -0
  571. package/dist/configurator/ui/assistant/screenshots/index.d.ts +2 -0
  572. package/dist/configurator/ui/assistant/screenshots/index.js +1 -0
  573. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +14 -0
  574. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -0
  575. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +4 -2
  576. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  577. package/dist/configurator/ui/assistant/thread-items.d.ts +21 -3
  578. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  579. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  580. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  581. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  582. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  583. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  584. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  585. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  586. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  587. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  588. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  589. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  590. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  591. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  592. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  593. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  594. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  595. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  596. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  597. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  598. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  599. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  600. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  601. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  602. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  603. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  604. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  605. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.d.ts +5 -0
  606. package/dist/configurator/ui/configurator-layout/universal/ExportingOverlay.js +1 -0
  607. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  608. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  609. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  610. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  611. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  612. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  613. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  614. package/dist/configurator/ui/index.d.ts +1 -0
  615. package/dist/configurator/ui/index.js +1 -1
  616. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  617. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  618. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  619. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  620. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  621. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  622. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  623. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  624. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  625. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  626. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  627. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  628. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  629. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  630. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  631. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  632. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  633. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  634. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  635. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.d.ts +0 -7
  636. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  637. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  638. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  639. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  640. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  641. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  642. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  643. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  644. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  645. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  646. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  647. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  648. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  649. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  650. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  651. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  652. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  653. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  654. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  655. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  656. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  657. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  658. package/dist/configurator/ui/phoenix-layout-elements/index.d.ts +8 -1
  659. package/dist/configurator/ui/phoenix-layout-elements/index.js +1 -1
  660. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  661. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  662. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  663. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  664. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  665. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  666. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  667. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  668. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  669. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  670. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  671. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  672. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -2
  673. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  674. package/dist/configurator/ui/preset-layout/index.d.ts +6 -1
  675. package/dist/configurator/ui/preset-layout/index.js +1 -1
  676. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  677. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  678. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  679. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  680. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  681. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  682. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  683. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  684. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  685. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  686. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  687. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  688. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  689. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  690. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  691. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  692. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  693. package/dist/docs/fabs/basic.mdx +6 -2
  694. package/dist/docs/index.json +136 -1
  695. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -0
  696. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  697. package/dist/docs/layouts/custom-layout.mdx +2597 -0
  698. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3516 -0
  699. package/dist/docs/layouts/gallery/corvid-drone.mdx +3428 -0
  700. package/dist/docs/layouts/gallery/fenwick-window.mdx +2803 -0
  701. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +6567 -0
  702. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +1858 -0
  703. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +3698 -0
  704. package/dist/docs/layouts/gallery/sunfold-solar.mdx +2683 -0
  705. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +5203 -0
  706. package/dist/docs/layouts/header/fixed.mdx +2 -2
  707. package/dist/docs/layouts/header/floating.mdx +2 -2
  708. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  709. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  710. package/dist/docs/other-features/client-side-rendering/declarative.mdx +2 -2
  711. package/dist/docs/other-features/error-5xx.mdx +1 -1
  712. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  713. package/dist/docs/other-features/not-found-404.mdx +1 -1
  714. package/dist/docs/other-features/side-effects.mdx +8 -11
  715. package/dist/docs/other-features/transformers.mdx +4 -0
  716. package/dist/docs/other-features/violation-messages.mdx +52 -56
  717. package/dist/docs/phoenix/application-states.mdx +9 -7
  718. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  719. package/dist/docs/phoenix/components.mdx +6 -0
  720. package/dist/docs/phoenix/configurator-interface.mdx +402 -81
  721. package/dist/docs/phoenix/deployments.mdx +3 -7
  722. package/dist/docs/phoenix/domain-model.mdx +6 -0
  723. package/dist/docs/phoenix/expression-context.mdx +11 -3
  724. package/dist/docs/phoenix/finalization.mdx +1 -1
  725. package/dist/docs/phoenix/getting-started.mdx +7 -4
  726. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  727. package/dist/docs/phoenix/localization.mdx +10 -6
  728. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  729. package/dist/docs/phoenix/phoenix-cli.mdx +112 -65
  730. package/dist/docs/phoenix/project-structure.mdx +80 -36
  731. package/dist/docs/phoenix/quickstart.mdx +9 -9
  732. package/dist/docs/phoenix/sdk-builder-workflow.mdx +19 -17
  733. package/dist/docs/phoenix/sessions-and-access.mdx +2 -0
  734. package/dist/docs/phoenix/testing.mdx +148 -0
  735. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  736. package/dist/docs/phoenix/webhooks.mdx +23 -6
  737. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  738. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  739. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  740. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  741. package/dist/domain/admin-domain/index.d.ts +8 -3
  742. package/dist/domain/admin-domain/index.js +1 -1
  743. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  744. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  745. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  746. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  747. package/dist/domain/application/application-config.d.ts +9 -26
  748. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  749. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  750. package/dist/domain/application/assistant/assistant-manifest.d.ts +27 -2
  751. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +46 -3
  752. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  753. package/dist/domain/application/assistant/assistant-value-type.js +1 -1
  754. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  755. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  756. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  757. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  758. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  759. package/dist/domain/application/assistant/form/assistant-form-element-name.d.ts +11 -0
  760. package/dist/domain/application/assistant/form/assistant-form-element-name.js +8 -0
  761. package/dist/domain/application/assistant/form/assistant-form-elements.d.ts +174 -0
  762. package/dist/domain/application/assistant/form/assistant-form-elements.js +1 -0
  763. package/dist/domain/application/assistant/form/assistant-resource-path.d.ts +10 -0
  764. package/dist/domain/application/assistant/form/assistant-resource-path.js +1 -0
  765. package/dist/domain/application/assistant/form/index.d.ts +4 -0
  766. package/dist/domain/application/assistant/form/index.js +1 -0
  767. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +4 -11
  768. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  769. package/dist/domain/application/assistant/index.d.ts +8 -2
  770. package/dist/domain/application/assistant/index.js +1 -1
  771. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  772. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  773. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  774. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  775. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +50 -0
  776. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  777. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  778. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  779. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  780. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  781. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  782. package/dist/domain/application/assistant-mutations.js +1 -1
  783. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  784. package/dist/domain/application/configurator-builder.d.ts +11 -2
  785. package/dist/domain/application/configurator-builder.js +1 -1
  786. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  787. package/dist/domain/application/index.d.ts +3 -7
  788. package/dist/domain/application/index.js +1 -1
  789. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  790. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  791. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  792. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  793. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  794. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  795. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  796. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  797. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  798. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  799. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  800. package/dist/domain/application/standard-properties.js +1 -1
  801. package/dist/domain/application/web-component-property.d.ts +3 -1
  802. package/dist/domain/application/web-component-property.js +1 -1
  803. package/dist/domain/available-system-components.d.ts +1 -1
  804. package/dist/domain/available-system-components.js +1 -1
  805. package/dist/domain/core/action/action-factory.d.ts +11 -0
  806. package/dist/domain/core/action/action.d.ts +71 -0
  807. package/dist/domain/core/action/action.js +1 -0
  808. package/dist/domain/core/action/index.d.ts +2 -0
  809. package/dist/domain/core/action/index.js +1 -0
  810. package/dist/domain/core/component/domain-component-optic.d.ts +29 -40
  811. package/dist/domain/core/component/domain-component-optic.js +2 -2
  812. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  813. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  814. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  815. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  816. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  817. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  818. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  819. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  820. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  821. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  822. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  823. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  824. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  825. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  826. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  827. package/dist/domain/core/data-schema/data-schema.js +1 -0
  828. package/dist/domain/core/data-schema/index.d.ts +7 -0
  829. package/dist/domain/core/data-schema/index.js +1 -0
  830. package/dist/domain/core/domain-factory.d.ts +1 -1
  831. package/dist/domain/core/domain.d.ts +2 -2
  832. package/dist/domain/core/emission/index.d.ts +8 -0
  833. package/dist/domain/core/emission/index.js +1 -0
  834. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  835. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  836. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  837. package/dist/domain/core/emission/state-emission.js +1 -0
  838. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  839. package/dist/domain/core/emission/state-update-emission.js +1 -0
  840. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  841. package/dist/domain/core/emission/state-validation-result.js +1 -0
  842. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  843. package/dist/domain/core/emission/transformation-log.js +1 -0
  844. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  845. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  846. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  847. package/dist/domain/core/emission/transformer-log.js +1 -0
  848. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  849. package/dist/domain/core/emission/transformer-phase.js +1 -0
  850. package/dist/domain/core/expression/aliased-expressions.d.ts +10 -0
  851. package/dist/domain/core/expression/aliased-expressions.js +1 -0
  852. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  853. package/dist/domain/core/expression/constant-expressions.js +1 -1
  854. package/dist/domain/core/expression/custom-expression.d.ts +21 -8
  855. package/dist/domain/core/expression/custom-expression.js +1 -1
  856. package/dist/domain/core/expression/expression.d.ts +15 -17
  857. package/dist/domain/core/expression/index.d.ts +1 -2
  858. package/dist/domain/core/expression/index.js +1 -1
  859. package/dist/domain/core/index.d.ts +5 -1
  860. package/dist/domain/core/index.js +1 -1
  861. package/dist/domain/core/invariant/custom-invariants.d.ts +8 -16
  862. package/dist/domain/core/invariant/index.d.ts +1 -1
  863. package/dist/domain/core/invariant/index.js +1 -1
  864. package/dist/domain/core/invariant/invariants.d.ts +4 -70
  865. package/dist/domain/core/invariant/invariants.js +1 -1
  866. package/dist/domain/core/invariant/violation.d.ts +51 -3
  867. package/dist/domain/core/invariant/violation.js +1 -1
  868. package/dist/domain/core/model/model.d.ts +1 -1
  869. package/dist/domain/core/recipe/index.d.ts +1 -0
  870. package/dist/domain/core/recipe/index.js +1 -0
  871. package/dist/domain/core/recipe/recipes.d.ts +23 -0
  872. package/dist/domain/core/recipe/recipes.js +1 -0
  873. package/dist/domain/core/relation/all-of-type-relation.d.ts +19 -0
  874. package/dist/domain/core/relation/all-of-type-relation.js +1 -0
  875. package/dist/domain/core/relation/component-factories.d.ts +14 -0
  876. package/dist/domain/core/relation/component-factories.js +1 -0
  877. package/dist/domain/core/relation/composed-of.d.ts +12 -0
  878. package/dist/domain/core/relation/composed-of.js +1 -0
  879. package/dist/domain/core/relation/direct-relation.d.ts +17 -0
  880. package/dist/domain/core/relation/index.d.ts +8 -0
  881. package/dist/domain/core/relation/index.js +1 -0
  882. package/dist/domain/core/relation/indirect-relation.d.ts +25 -0
  883. package/dist/domain/core/relation/indirect-relation.js +1 -0
  884. package/dist/domain/core/relation/reference-component.d.ts +17 -0
  885. package/dist/domain/core/relation/reference-component.js +1 -0
  886. package/dist/domain/core/relation/reference-field.d.ts +7 -0
  887. package/dist/domain/core/relation/reference-field.js +1 -0
  888. package/dist/domain/core/relation/relation-factory.d.ts +22 -0
  889. package/dist/domain/core/relation/relation-factory.js +1 -0
  890. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  891. package/dist/domain/core/state/migrations.d.ts +14 -45
  892. package/dist/domain/core/state/migrations.js +1 -1
  893. package/dist/domain/core/state/state.d.ts +1 -1
  894. package/dist/domain/domain-builder.d.ts +11 -8
  895. package/dist/domain/domain-builder.js +1 -1
  896. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  897. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  898. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  899. package/dist/domain/domain-context/action-system/index.js +1 -0
  900. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  901. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  902. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  903. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  904. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  905. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  906. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  907. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  908. package/dist/domain/domain-context/index.d.ts +8 -18
  909. package/dist/domain/domain-context/index.js +1 -1
  910. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  911. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  912. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  913. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  914. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  915. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  916. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  917. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +2 -3
  918. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  919. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  920. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  921. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.js +1 -1
  922. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  923. package/dist/domain/domain-context/relation-transformers/create-entity-refs.js +2 -2
  924. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  925. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  926. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  927. package/dist/domain/domain-context/relation-transformers/replace-refs.js +1 -1
  928. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  929. package/dist/domain/domain-context/store-system/index.js +1 -0
  930. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  931. package/dist/domain/domain-context/store-system/store-system.d.ts +7 -35
  932. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  933. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  934. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  935. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  936. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  937. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  938. package/dist/domain/domain-context/transformers/context.d.ts +2 -3
  939. package/dist/domain/domain-context/transformers/context.js +1 -1
  940. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  941. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  942. package/dist/domain/domain-context/transformers/index.js +1 -1
  943. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  944. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  945. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  946. package/dist/domain/domain-context/undo-system.js +1 -1
  947. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  948. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  949. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  950. package/dist/domain/domain-runtime/access/types.js +1 -1
  951. package/dist/domain/domain-runtime/application.d.ts +39 -0
  952. package/dist/domain/domain-runtime/application.js +1 -0
  953. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  954. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  955. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  956. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  957. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  958. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  959. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  960. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  961. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +20 -23
  962. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  963. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  964. package/dist/domain/domain-runtime/domain-runtime.d.ts +128 -72
  965. package/dist/domain/domain-runtime/domain-runtime.js +1 -1
  966. package/dist/domain/domain-runtime/environment/initialize.d.ts +1 -1
  967. package/dist/domain/domain-runtime/environment/types.d.ts +1 -1
  968. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +21 -0
  969. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  970. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  971. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  972. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  973. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  974. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  975. package/dist/domain/domain-runtime/errors/index.js +1 -0
  976. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  977. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  978. package/dist/domain/domain-runtime/index.d.ts +2 -0
  979. package/dist/domain/domain-runtime/index.js +1 -1
  980. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  981. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  982. package/dist/domain/domain-runtime/spec/index.d.ts +5 -0
  983. package/dist/domain/domain-runtime/spec/index.js +1 -1
  984. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  985. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  986. package/dist/domain/domain-runtime/spec/memoize-expression.d.ts +16 -0
  987. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +125 -0
  988. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  989. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.d.ts +12 -0
  990. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +1 -0
  991. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.d.ts +34 -0
  992. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  993. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +10 -0
  994. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  995. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.d.ts +23 -0
  996. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +1 -0
  997. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +32 -0
  998. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  999. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  1000. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  1001. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  1002. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  1003. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +14 -0
  1004. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  1005. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  1006. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  1007. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  1008. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  1009. package/dist/domain/domain-runtime/spec/prepare-action-implementations.d.ts +15 -0
  1010. package/dist/domain/domain-runtime/spec/prepare-action-implementations.js +5 -0
  1011. package/dist/domain/domain-runtime/spec/prepare-domain-expressions.d.ts +16 -0
  1012. package/dist/domain/domain-runtime/spec/selectors.d.ts +8 -7
  1013. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  1014. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  1015. package/dist/domain/domain-runtime/web-component/actions.d.ts +3 -0
  1016. package/dist/domain/domain-runtime/web-component/actions.js +1 -1
  1017. package/dist/domain/domain-runtime/web-component/initialize.d.ts +1 -0
  1018. package/dist/domain/domain-runtime/web-component/initialize.js +1 -1
  1019. package/dist/domain/domain-runtime/web-component/selectors.d.ts +2 -0
  1020. package/dist/domain/domain-runtime/web-component/selectors.js +1 -1
  1021. package/dist/domain/domain-runtime/web-component/types.d.ts +6 -3
  1022. package/dist/domain/extensions/attribute-switch.d.ts +8 -0
  1023. package/dist/domain/extensions/attribute-switch.js +1 -0
  1024. package/dist/domain/extensions/canvas-config.d.ts +87 -0
  1025. package/dist/domain/extensions/child-entity-recipe-hierarchy.d.ts +21 -0
  1026. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  1027. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +292 -0
  1028. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  1029. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +607 -0
  1030. package/dist/domain/extensions/common/index.d.ts +4 -0
  1031. package/dist/domain/extensions/common/index.js +1 -0
  1032. package/dist/domain/extensions/custom-header.d.ts +11 -0
  1033. package/dist/domain/extensions/custom-header.js +1 -0
  1034. package/dist/domain/extensions/custom-price-footer.js +1 -0
  1035. package/dist/domain/extensions/custom-sidebar-footer.d.ts +11 -0
  1036. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  1037. package/dist/domain/extensions/editable-angle-indicator.d.ts +39 -0
  1038. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  1039. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +43 -0
  1040. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  1041. package/dist/domain/extensions/editable-offset-indicator.d.ts +42 -0
  1042. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  1043. package/dist/domain/extensions/editable-size-indicator.d.ts +39 -0
  1044. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  1045. package/dist/domain/extensions/entity-header.d.ts +22 -0
  1046. package/dist/domain/extensions/entity-header.js +1 -0
  1047. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +24 -0
  1048. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -0
  1049. package/dist/domain/extensions/export-images/client-side-image.d.ts +14 -0
  1050. package/dist/domain/extensions/export-images/client-side-image.js +1 -0
  1051. package/dist/domain/extensions/export-images/index.d.ts +3 -0
  1052. package/dist/domain/extensions/export-images/index.js +1 -0
  1053. package/dist/domain/extensions/export-images/save-template-thumbnail.d.ts +14 -0
  1054. package/dist/domain/extensions/export-images/save-template-thumbnail.js +1 -0
  1055. package/dist/domain/extensions/finalize-component.js +1 -0
  1056. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  1057. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -0
  1058. package/dist/domain/extensions/horizontal-tabs.d.ts +28 -0
  1059. package/dist/domain/extensions/index.d.ts +68 -0
  1060. package/dist/domain/extensions/index.js +1 -0
  1061. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +31 -0
  1062. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  1063. package/dist/domain/extensions/navigation-steps.d.ts +19 -0
  1064. package/dist/domain/extensions/offset-indicator.js +1 -0
  1065. package/dist/domain/extensions/property-page.d.ts +16 -0
  1066. package/dist/domain/extensions/property-page.js +1 -0
  1067. package/dist/domain/extensions/replace-entity-recipe-hierarchy.d.ts +21 -0
  1068. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  1069. package/dist/domain/extensions/rotation-handle.d.ts +53 -0
  1070. package/dist/domain/extensions/scene-entity-add-fab.d.ts +32 -0
  1071. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  1072. package/dist/domain/extensions/scene-entity-animation.js +1 -0
  1073. package/dist/domain/extensions/scene-entity-delete-fab.d.ts +19 -0
  1074. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  1075. package/dist/domain/extensions/scene-entity-html-hotspot.d.ts +27 -0
  1076. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  1077. package/dist/domain/extensions/scene-entity-navigation-hotspot.d.ts +20 -0
  1078. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  1079. package/dist/domain/extensions/scene-entity-object-html-hotspot.d.ts +31 -0
  1080. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  1081. package/dist/domain/extensions/scene-entity-select-hotspot.d.ts +5 -0
  1082. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  1083. package/dist/domain/extensions/sketching-edit.d.ts +28 -0
  1084. package/dist/domain/extensions/sketching-edit.js +1 -0
  1085. package/dist/domain/extensions/summary-component.js +1 -0
  1086. package/dist/domain/extensions/tool-menu-fab.d.ts +40 -0
  1087. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  1088. package/dist/domain/extensions/toolbar.d.ts +13 -0
  1089. package/dist/domain/extensions/toolbar.js +1 -0
  1090. package/dist/domain/index.d.ts +2 -8
  1091. package/dist/domain/index.js +1 -1
  1092. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  1093. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  1094. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +37 -19
  1095. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  1096. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  1097. package/dist/domain/mocks/create-mock-domain.js +1 -1
  1098. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  1099. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  1100. package/dist/domain/mocks/create-test-application-config.js +1 -0
  1101. package/dist/domain/mocks/index.d.ts +1 -0
  1102. package/dist/domain/mocks/index.js +1 -1
  1103. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  1104. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  1105. package/dist/domain/projections/collision-projections.d.ts +1 -1
  1106. package/dist/domain/projections/composition-projections.d.ts +1 -1
  1107. package/dist/domain/projections/composition-projections.js +1 -1
  1108. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  1109. package/dist/domain/projections/index.d.ts +1 -1
  1110. package/dist/domain/projections/position-projections.d.ts +1 -1
  1111. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  1112. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  1113. package/dist/domain/projections/validation-projections.d.ts +3 -19
  1114. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  1115. package/dist/domain/system-components/application-config.d.ts +2 -2
  1116. package/dist/domain/system-components/child-entity-selection.d.ts +1 -2
  1117. package/dist/domain/system-components/child-entity-selection.js +1 -1
  1118. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  1119. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  1120. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  1121. package/dist/domain/system-components/common/index.d.ts +0 -4
  1122. package/dist/domain/system-components/common/index.js +1 -1
  1123. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  1124. package/dist/domain/system-components/common/recipes.d.ts +21 -4
  1125. package/dist/domain/system-components/common/recipes.js +1 -1
  1126. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  1127. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  1128. package/dist/domain/system-components/constraint.d.ts +10 -23
  1129. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  1130. package/dist/domain/system-components/drag-handle.js +1 -1
  1131. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  1132. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  1133. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  1134. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  1135. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  1136. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  1137. package/dist/domain/system-components/index.d.ts +0 -68
  1138. package/dist/domain/system-components/index.js +1 -1
  1139. package/dist/domain/system-components/material-swatch.js +1 -1
  1140. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  1141. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  1142. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  1143. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  1144. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  1145. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  1146. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  1147. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  1148. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  1149. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  1150. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  1151. package/dist/domain/utils/eval-cache.d.ts +1 -1
  1152. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  1153. package/dist/domain/utils/memo-eval.d.ts +2 -2
  1154. package/dist/editor/Editor.d.ts +7 -0
  1155. package/dist/editor/Editor.js +1 -1
  1156. package/dist/editor/domain-editors/DomainSpecContext.js +1 -1
  1157. package/dist/editor/domain-editors/apply-spec-update.d.ts +10 -2
  1158. package/dist/editor/domain-editors/apply-spec-update.js +1 -1
  1159. package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -16
  1160. package/dist/editor/domain-editors/use-implementation-files.js +1 -1
  1161. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  1162. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  1163. package/dist/editor/mocks/EditorMockContext.js +1 -1
  1164. package/dist/editor/screenshot/ScreenshotHandler.js +1 -1
  1165. package/dist/globals/index.d.ts +2 -0
  1166. package/dist/i18n/locales/cs/messages.js +1 -1
  1167. package/dist/i18n/locales/da/messages.js +1 -1
  1168. package/dist/i18n/locales/de/messages.js +1 -1
  1169. package/dist/i18n/locales/de-AT/messages.js +1 -1
  1170. package/dist/i18n/locales/en/messages.js +1 -1
  1171. package/dist/i18n/locales/en-AU/messages.js +1 -1
  1172. package/dist/i18n/locales/en-GB/messages.js +1 -1
  1173. package/dist/i18n/locales/es/messages.js +1 -1
  1174. package/dist/i18n/locales/fr/messages.js +1 -1
  1175. package/dist/i18n/locales/hu/messages.js +1 -1
  1176. package/dist/i18n/locales/it/messages.js +1 -1
  1177. package/dist/i18n/locales/nl/messages.js +1 -1
  1178. package/dist/i18n/locales/pl/messages.js +1 -1
  1179. package/dist/i18n/locales/pt/messages.js +1 -1
  1180. package/dist/i18n/locales/ro/messages.js +1 -1
  1181. package/dist/i18n/locales/sk/messages.js +1 -1
  1182. package/dist/i18n/locales/tr/messages.js +1 -1
  1183. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  1184. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  1185. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  1186. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  1187. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  1188. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  1189. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  1190. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  1191. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +176 -148
  1192. package/dist/legacy/domain-spec/spec/domain-spec.js +1 -1
  1193. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  1194. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  1195. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  1196. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +13 -0
  1197. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  1198. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  1199. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  1200. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  1201. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  1202. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  1203. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  1204. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  1205. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  1206. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  1207. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  1208. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  1209. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  1210. package/dist/phoenix/application-spec/project-files.js +1 -1
  1211. package/dist/phoenix/bin.d.ts +2 -0
  1212. package/dist/phoenix/bin.js +2 -0
  1213. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  1214. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  1215. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  1216. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  1217. package/dist/phoenix/check-configs/index.d.ts +8 -0
  1218. package/dist/phoenix/check-configs/index.js +1 -0
  1219. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  1220. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  1221. package/dist/phoenix/cli.d.ts +0 -1
  1222. package/dist/phoenix/cli.js +1 -2
  1223. package/dist/phoenix/commands/build.js +1 -1
  1224. package/dist/phoenix/commands/check.js +1 -1
  1225. package/dist/phoenix/commands/clean.js +1 -1
  1226. package/dist/phoenix/commands/deploy.js +2 -2
  1227. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  1228. package/dist/phoenix/commands/deps/deps.js +3 -0
  1229. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  1230. package/dist/phoenix/commands/deps/index.js +1 -0
  1231. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  1232. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  1233. package/dist/phoenix/commands/dev.js +5 -5
  1234. package/dist/phoenix/commands/fix.js +1 -1
  1235. package/dist/phoenix/commands/index.d.ts +1 -0
  1236. package/dist/phoenix/commands/index.js +1 -1
  1237. package/dist/phoenix/commands/init.d.ts +17 -5
  1238. package/dist/phoenix/commands/init.js +1 -1
  1239. package/dist/phoenix/commands/link.js +1 -1
  1240. package/dist/phoenix/commands/prettier.js +1 -1
  1241. package/dist/phoenix/commands/sync.js +1 -1
  1242. package/dist/phoenix/commands/unlink.js +1 -1
  1243. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  1244. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  1245. package/dist/phoenix/services/lingui.d.ts +8 -0
  1246. package/dist/phoenix/services/lingui.js +1 -1
  1247. package/dist/phoenix/services/source-archive.d.ts +1 -0
  1248. package/dist/phoenix/services/source-archive.js +1 -1
  1249. package/dist/phoenix/services/swc.js +1 -1
  1250. package/dist/phoenix/services/vite-config.js +1 -1
  1251. package/dist/phoenix/utils/git/index.d.ts +1 -0
  1252. package/dist/phoenix/utils/git/index.js +1 -0
  1253. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  1254. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  1255. package/dist/phoenix/utils/index.d.ts +5 -2
  1256. package/dist/phoenix/utils/index.js +1 -1
  1257. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  1258. package/dist/phoenix/utils/node-version/index.js +1 -0
  1259. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  1260. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  1261. package/dist/phoenix/utils/package-info.d.ts +0 -9
  1262. package/dist/phoenix/utils/package-info.js +1 -1
  1263. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  1264. package/dist/phoenix/utils/package-manager/index.js +1 -0
  1265. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  1266. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  1267. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  1268. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  1269. package/dist/phoenix/utils/run-command.d.ts +11 -0
  1270. package/dist/phoenix/utils/run-command.js +1 -1
  1271. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  1272. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  1273. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  1274. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  1275. package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +1 -1
  1276. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.d.ts +52 -0
  1277. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  1278. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  1279. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  1280. package/dist/react-sdk/application-runtime/common-services/initialize.d.ts +2 -2
  1281. package/dist/react-sdk/application-runtime/hooks/index.d.ts +2 -0
  1282. package/dist/react-sdk/application-runtime/hooks/index.js +1 -1
  1283. package/dist/react-sdk/application-runtime/hooks/loading/index.d.ts +5 -0
  1284. package/dist/react-sdk/application-runtime/hooks/loading/index.js +1 -0
  1285. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.d.ts +11 -0
  1286. package/dist/react-sdk/application-runtime/hooks/loading/loader-host-context.js +1 -0
  1287. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.d.ts +8 -0
  1288. package/dist/react-sdk/application-runtime/hooks/loading/use-is-awaiting-loading-phase.js +1 -0
  1289. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.d.ts +7 -0
  1290. package/dist/react-sdk/application-runtime/hooks/loading/use-is-loader-hosted.js +1 -0
  1291. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.d.ts +9 -0
  1292. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-actions.js +1 -0
  1293. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.d.ts +24 -0
  1294. package/dist/react-sdk/application-runtime/hooks/loading/use-loading-application.js +1 -0
  1295. package/dist/react-sdk/application-runtime/hooks/responsive/index.d.ts +3 -0
  1296. package/dist/react-sdk/application-runtime/hooks/responsive/index.js +1 -0
  1297. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.d.ts +9 -0
  1298. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-actions.js +1 -0
  1299. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.d.ts +26 -0
  1300. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-application.js +1 -0
  1301. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.d.ts +10 -0
  1302. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-state.js +1 -0
  1303. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.d.ts +24 -0
  1304. package/dist/react-sdk/application-runtime/hooks/responsive/use-responsive-store.js +1 -0
  1305. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +7 -0
  1306. package/dist/react-sdk/application-runtime/hooks/use-access-service.js +1 -1
  1307. package/dist/react-sdk/application-runtime/hooks/use-phoenix-element-slots.d.ts +2 -1
  1308. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.d.ts +4 -11
  1309. package/dist/react-sdk/application-runtime/hooks/use-web-component-readonly-sync.js +1 -1
  1310. package/dist/react-sdk/application-runtime/hooks/use-web-component.d.ts +5 -0
  1311. package/dist/react-sdk/application-runtime/hooks/use-web-component.js +1 -1
  1312. package/dist/react-sdk/application-runtime/host-properties/actions.d.ts +15 -0
  1313. package/dist/react-sdk/application-runtime/host-properties/actions.js +1 -0
  1314. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.d.ts +30 -0
  1315. package/dist/react-sdk/application-runtime/host-properties/connect-host-properties.js +1 -0
  1316. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.d.ts +7 -0
  1317. package/dist/react-sdk/application-runtime/host-properties/domain-host-properties.js +1 -0
  1318. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.d.ts +21 -0
  1319. package/dist/react-sdk/application-runtime/host-properties/host-property-descriptors.js +1 -0
  1320. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.d.ts +42 -0
  1321. package/dist/react-sdk/application-runtime/host-properties/host-property-scopes.js +1 -0
  1322. package/dist/react-sdk/application-runtime/host-properties/index.d.ts +8 -0
  1323. package/dist/react-sdk/application-runtime/host-properties/index.js +1 -0
  1324. package/dist/react-sdk/application-runtime/host-properties/initialize.d.ts +7 -0
  1325. package/dist/react-sdk/application-runtime/host-properties/initialize.js +1 -0
  1326. package/dist/react-sdk/application-runtime/host-properties/selectors.d.ts +54 -0
  1327. package/dist/react-sdk/application-runtime/host-properties/selectors.js +1 -0
  1328. package/dist/react-sdk/application-runtime/host-properties/types.d.ts +18 -0
  1329. package/dist/react-sdk/application-runtime/host-properties/types.js +1 -0
  1330. package/dist/react-sdk/application-runtime/index.d.ts +3 -0
  1331. package/dist/react-sdk/application-runtime/integration/initialize.d.ts +7 -6
  1332. package/dist/react-sdk/application-runtime/integration/initialize.js +1 -1
  1333. package/dist/react-sdk/application-runtime/integration/selectors.d.ts +11 -2
  1334. package/dist/react-sdk/application-runtime/integration/selectors.js +1 -1
  1335. package/dist/react-sdk/application-runtime/integration/types.d.ts +5 -2
  1336. package/dist/react-sdk/application-runtime/loading/actions.d.ts +45 -0
  1337. package/dist/react-sdk/application-runtime/loading/actions.js +1 -0
  1338. package/dist/react-sdk/application-runtime/loading/index.d.ts +4 -0
  1339. package/dist/react-sdk/application-runtime/loading/index.js +1 -0
  1340. package/dist/react-sdk/application-runtime/loading/initialize.d.ts +3 -0
  1341. package/dist/react-sdk/application-runtime/loading/initialize.js +1 -0
  1342. package/dist/react-sdk/application-runtime/loading/selectors.d.ts +18 -0
  1343. package/dist/react-sdk/application-runtime/loading/selectors.js +1 -0
  1344. package/dist/react-sdk/application-runtime/loading/types.d.ts +59 -0
  1345. package/dist/react-sdk/application-runtime/loading/types.js +1 -0
  1346. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  1347. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.d.ts +6 -0
  1348. package/dist/react-sdk/application-runtime/provider/ApplicationRuntime.js +1 -1
  1349. package/dist/react-sdk/application-runtime/provider/ApplicationType.d.ts +7 -0
  1350. package/dist/react-sdk/application-runtime/provider/ApplicationType.js +1 -1
  1351. package/dist/react-sdk/application-runtime/responsive/actions.d.ts +47 -0
  1352. package/dist/react-sdk/application-runtime/responsive/actions.js +1 -0
  1353. package/dist/react-sdk/application-runtime/responsive/index.d.ts +4 -0
  1354. package/dist/react-sdk/application-runtime/responsive/index.js +1 -0
  1355. package/dist/react-sdk/application-runtime/responsive/initialize.d.ts +3 -0
  1356. package/dist/react-sdk/application-runtime/responsive/initialize.js +1 -0
  1357. package/dist/react-sdk/application-runtime/responsive/selectors.d.ts +20 -0
  1358. package/dist/react-sdk/application-runtime/responsive/selectors.js +1 -0
  1359. package/dist/react-sdk/application-runtime/responsive/types.d.ts +104 -0
  1360. package/dist/react-sdk/application-runtime/responsive/types.js +1 -0
  1361. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  1362. package/dist/react-sdk/application-runtime/routing/routing-service.d.ts +34 -2
  1363. package/dist/react-sdk/application-runtime/routing/routing-service.js +1 -1
  1364. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +366 -46
  1365. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  1366. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  1367. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  1368. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  1369. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  1370. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +9 -0
  1371. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  1372. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.d.ts +23 -0
  1373. package/dist/react-sdk/domain-context/common-hooks/use-configuration-save-state.js +1 -0
  1374. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  1375. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  1376. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +10 -9
  1377. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  1378. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  1379. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  1380. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  1381. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  1382. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  1383. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  1384. package/dist/react-sdk/domain-context/index.d.ts +9 -1
  1385. package/dist/react-sdk/domain-context/index.js +1 -1
  1386. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  1387. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  1388. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  1389. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  1390. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  1391. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  1392. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  1393. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  1394. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  1395. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  1396. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  1397. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  1398. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  1399. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  1400. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  1401. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  1402. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  1403. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  1404. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  1405. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  1406. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  1407. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  1408. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  1409. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  1410. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  1411. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  1412. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  1413. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  1414. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  1415. package/dist/react-sdk/handlers/index.d.ts +6 -0
  1416. package/dist/react-sdk/handlers/index.js +1 -1
  1417. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  1418. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  1419. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  1420. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  1421. package/dist/react-sdk/index.d.ts +2 -0
  1422. package/dist/react-sdk/index.js +1 -1
  1423. package/dist/react-sdk/loading-state/LoaderHost.d.ts +20 -0
  1424. package/dist/react-sdk/loading-state/LoaderHost.js +1 -0
  1425. package/dist/react-sdk/loading-state/built-in-loading-phase.d.ts +9 -0
  1426. package/dist/react-sdk/loading-state/built-in-loading-phase.js +1 -0
  1427. package/dist/react-sdk/loading-state/create-app-loader.d.ts +18 -0
  1428. package/dist/react-sdk/loading-state/create-app-loader.js +1 -0
  1429. package/dist/react-sdk/loading-state/index.d.ts +4 -2
  1430. package/dist/react-sdk/loading-state/index.js +1 -1
  1431. package/dist/react-sdk/loading-state/loading-state-hooks.d.ts +22 -0
  1432. package/dist/react-sdk/loading-state/loading-state-hooks.js +1 -0
  1433. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.d.ts +17 -0
  1434. package/dist/react-sdk/page-elements/ConfigurationNotFoundPagePropsProvider.js +1 -0
  1435. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.d.ts +17 -0
  1436. package/dist/react-sdk/page-elements/ConfiguratorErrorPagePropsProvider.js +1 -0
  1437. package/dist/react-sdk/page-elements/configurator-error-page-props.d.ts +20 -0
  1438. package/dist/react-sdk/page-elements/configurator-error-page-props.js +1 -0
  1439. package/dist/react-sdk/page-elements/create-configuration-not-found-page.d.ts +15 -0
  1440. package/dist/react-sdk/page-elements/create-configuration-not-found-page.js +1 -0
  1441. package/dist/react-sdk/page-elements/create-configurator-error-page.d.ts +14 -0
  1442. package/dist/react-sdk/page-elements/create-configurator-error-page.js +1 -0
  1443. package/dist/react-sdk/page-elements/create-preset-ui.d.ts +9 -0
  1444. package/dist/react-sdk/page-elements/create-preset-ui.js +1 -0
  1445. package/dist/react-sdk/page-elements/index.d.ts +6 -0
  1446. package/dist/react-sdk/page-elements/index.js +1 -0
  1447. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  1448. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  1449. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  1450. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  1451. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  1452. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  1453. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  1454. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  1455. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  1456. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  1457. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  1458. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  1459. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  1460. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  1461. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  1462. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  1463. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  1464. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  1465. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  1466. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  1467. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  1468. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  1469. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  1470. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  1471. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1472. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1473. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  1474. package/dist/react-sdk/web-component/create-web-component.js +1 -1
  1475. package/dist/react-sdk/web-component/god-mode/god-mode-registry.d.ts +30 -0
  1476. package/dist/react-sdk/web-component/god-mode/god-mode-registry.js +1 -0
  1477. package/dist/react-sdk/web-component/god-mode/index.d.ts +1 -0
  1478. package/dist/react-sdk/web-component/god-mode/index.js +1 -0
  1479. package/dist/ui-sdk/icons/__generated/Lightbulb.d.ts +3 -0
  1480. package/dist/ui-sdk/icons/__generated/Lightbulb.js +1 -0
  1481. package/dist/ui-sdk/icons/__generated/XCircle.d.ts +3 -0
  1482. package/dist/ui-sdk/icons/__generated/XCircle.js +1 -0
  1483. package/dist/ui-sdk/icons/__generated/index.d.ts +4 -0
  1484. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  1485. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  1486. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1487. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1488. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1489. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +59 -0
  1490. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1491. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1492. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1493. package/dist/ui-sdk/theme/types.d.ts +5 -1
  1494. package/dist/webhook/builders/common.d.ts +5 -0
  1495. package/dist/webhook/builders/webhook-builder.js +1 -1
  1496. package/package.json +58 -36
  1497. package/schema/domain-spec.json +1341 -217
  1498. package/dist/application-spec/core/eval-to-constant.d.ts +0 -14
  1499. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1500. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1501. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1502. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  1503. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1504. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1505. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1506. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1507. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1508. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1509. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1510. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1511. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1512. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1513. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1514. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1515. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1516. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1517. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1518. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1519. package/dist/configurator/common/frontend-analytics.d.ts +0 -46
  1520. package/dist/configurator/common/frontend-analytics.js +0 -1
  1521. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  1522. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  1523. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  1524. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  1525. package/dist/domain/actions/action-factory.d.ts +0 -10
  1526. package/dist/domain/actions/prepare-action-implementations.d.ts +0 -15
  1527. package/dist/domain/actions/prepare-action-implementations.js +0 -5
  1528. package/dist/domain/application/element-registration.d.ts +0 -110
  1529. package/dist/domain/application/element-registration.js +0 -1
  1530. package/dist/domain/application/handler-registration.d.ts +0 -34
  1531. package/dist/domain/application/handler-registration.js +0 -1
  1532. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1533. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1534. package/dist/domain/application/resource-builder.d.ts +0 -13
  1535. package/dist/domain/application/resource-builder.js +0 -1
  1536. package/dist/domain/core/action.d.ts +0 -66
  1537. package/dist/domain/core/expression/memoize-expression.d.ts +0 -17
  1538. package/dist/domain/core/expression/prepare-domain-expressions.d.ts +0 -16
  1539. package/dist/domain/domain-context/recipe-system/recipes.d.ts +0 -55
  1540. package/dist/domain/domain-context/recipe-system/recipes.js +0 -1
  1541. package/dist/domain/project-modules/index.d.ts +0 -1
  1542. package/dist/domain/project-modules/index.js +0 -1
  1543. package/dist/domain/project-modules/project-modules.d.ts +0 -41
  1544. package/dist/domain/project-modules/project-modules.js +0 -1
  1545. package/dist/domain/relations/all-of-type-relation.d.ts +0 -30
  1546. package/dist/domain/relations/all-of-type-relation.js +0 -1
  1547. package/dist/domain/relations/component-factories.d.ts +0 -14
  1548. package/dist/domain/relations/component-factories.js +0 -1
  1549. package/dist/domain/relations/composed-of.d.ts +0 -12
  1550. package/dist/domain/relations/composed-of.js +0 -1
  1551. package/dist/domain/relations/direct-relation.d.ts +0 -27
  1552. package/dist/domain/relations/indirect-relation.d.ts +0 -78
  1553. package/dist/domain/relations/indirect-relation.js +0 -1
  1554. package/dist/domain/relations/reference-component.d.ts +0 -16
  1555. package/dist/domain/relations/reference-component.js +0 -1
  1556. package/dist/domain/relations/reference-field.d.ts +0 -7
  1557. package/dist/domain/relations/relation-factory.d.ts +0 -17
  1558. package/dist/domain/relations/relation-factory.js +0 -1
  1559. package/dist/domain/relations/relation-implementation.d.ts +0 -5
  1560. package/dist/domain/system-components/attribute-switch.d.ts +0 -8
  1561. package/dist/domain/system-components/attribute-switch.js +0 -1
  1562. package/dist/domain/system-components/canvas-config.d.ts +0 -87
  1563. package/dist/domain/system-components/child-entity-recipe-hierarchy.d.ts +0 -21
  1564. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  1565. package/dist/domain/system-components/client-side-image.d.ts +0 -14
  1566. package/dist/domain/system-components/client-side-image.js +0 -1
  1567. package/dist/domain/system-components/common/angle-indicator-schema.d.ts +0 -292
  1568. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  1569. package/dist/domain/system-components/common/dimension-indicator-schema.d.ts +0 -607
  1570. package/dist/domain/system-components/custom-header.d.ts +0 -11
  1571. package/dist/domain/system-components/custom-header.js +0 -1
  1572. package/dist/domain/system-components/custom-price-footer.js +0 -1
  1573. package/dist/domain/system-components/custom-sidebar-footer.d.ts +0 -11
  1574. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  1575. package/dist/domain/system-components/editable-angle-indicator.d.ts +0 -38
  1576. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  1577. package/dist/domain/system-components/editable-distance-dimension-indicator.d.ts +0 -42
  1578. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  1579. package/dist/domain/system-components/editable-offset-indicator.d.ts +0 -41
  1580. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  1581. package/dist/domain/system-components/editable-size-indicator.d.ts +0 -38
  1582. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  1583. package/dist/domain/system-components/entity-header.d.ts +0 -22
  1584. package/dist/domain/system-components/entity-header.js +0 -1
  1585. package/dist/domain/system-components/finalize-component.js +0 -1
  1586. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  1587. package/dist/domain/system-components/fit-selection-perspective-camera-component.js +0 -1
  1588. package/dist/domain/system-components/horizontal-tabs.d.ts +0 -28
  1589. package/dist/domain/system-components/list-selector-dimension-indicator.d.ts +0 -30
  1590. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  1591. package/dist/domain/system-components/navigation-steps.d.ts +0 -19
  1592. package/dist/domain/system-components/offset-indicator.js +0 -1
  1593. package/dist/domain/system-components/property-page.d.ts +0 -16
  1594. package/dist/domain/system-components/property-page.js +0 -1
  1595. package/dist/domain/system-components/replace-entity-recipe-hierarchy.d.ts +0 -21
  1596. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  1597. package/dist/domain/system-components/rotation-handle.d.ts +0 -53
  1598. package/dist/domain/system-components/save-template-thumbnail.d.ts +0 -14
  1599. package/dist/domain/system-components/save-template-thumbnail.js +0 -1
  1600. package/dist/domain/system-components/scene-entity-add-fab.d.ts +0 -32
  1601. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  1602. package/dist/domain/system-components/scene-entity-animation.js +0 -1
  1603. package/dist/domain/system-components/scene-entity-delete-fab.d.ts +0 -19
  1604. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  1605. package/dist/domain/system-components/scene-entity-html-hotspot.d.ts +0 -27
  1606. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  1607. package/dist/domain/system-components/scene-entity-navigation-hotspot.d.ts +0 -20
  1608. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  1609. package/dist/domain/system-components/scene-entity-object-html-hotspot.d.ts +0 -31
  1610. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  1611. package/dist/domain/system-components/scene-entity-select-hotspot.d.ts +0 -5
  1612. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  1613. package/dist/domain/system-components/sketching-edit.d.ts +0 -28
  1614. package/dist/domain/system-components/sketching-edit.js +0 -1
  1615. package/dist/domain/system-components/summary-component.js +0 -1
  1616. package/dist/domain/system-components/tool-menu-fab.d.ts +0 -40
  1617. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  1618. package/dist/domain/system-components/toolbar.d.ts +0 -13
  1619. package/dist/domain/system-components/toolbar.js +0 -1
  1620. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1621. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1622. package/dist/react-sdk/application-runtime/runtime/god-mode.d.ts +0 -19
  1623. package/dist/react-sdk/application-runtime/runtime/god-mode.js +0 -1
  1624. package/dist/react-sdk/loading-state/LoadingStateProvider.d.ts +0 -31
  1625. package/dist/react-sdk/loading-state/LoadingStateProvider.js +0 -1
  1626. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +0 -32
  1627. package/dist/react-sdk/loading-state/loading-state-manager.js +0 -1
  1628. /package/dist/{domain/core/action.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1629. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1630. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1631. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  1632. /package/dist/{domain/relations/reference-field.js → application-spec/generate-application/runtime/spec-code/spec-code-module.js} +0 -0
  1633. /package/dist/{domain/relations/relation-implementation.js → application-spec/parse-application-files/spec/expressions/expression-read.js} +0 -0
  1634. /package/dist/domain/{actions → core/action}/action-factory.js +0 -0
  1635. /package/dist/domain/{relations → core/relation}/direct-relation.js +0 -0
  1636. /package/dist/domain/{core/expression → domain-runtime/spec}/memoize-expression.js +0 -0
  1637. /package/dist/domain/{core/expression → domain-runtime/spec}/prepare-domain-expressions.js +0 -0
  1638. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  1639. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  1640. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  1641. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  1642. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  1643. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  1644. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  1645. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  1646. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  1647. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  1648. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  1649. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  1650. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  1651. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  1652. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  1653. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  1654. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  1655. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  1656. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  1657. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  1658. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  1659. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  1660. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  1661. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  1662. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  1663. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  1664. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  1665. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  1666. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  1667. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  1668. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  1669. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  1670. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  1671. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  1672. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  1673. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  1674. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  1675. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  1676. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  1677. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  1678. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  1679. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  1680. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  1681. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  1682. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  1683. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  1684. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  1685. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  1686. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  1687. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  1688. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  1689. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  1690. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  1691. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  1692. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  1693. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  1694. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  1695. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  1696. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  1697. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  1698. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  1699. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  1700. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  1701. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  1702. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  1703. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  1704. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  1705. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  1706. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  1707. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  1708. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  1709. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  1710. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  1711. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  1712. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  1713. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  1714. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  1715. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  1716. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  1717. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  1718. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  1719. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  1720. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  1721. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { $DomainEntity, DomainEntity } from '../core/index.js';
2
2
  import type { DomainContextSystems } from './domain-context-systems.js';
3
- import type { UpdateTransformer } from './store-system/store-system.js';
3
+ import type { UpdateTransformer } from './store-system/index.js';
4
4
  export declare const createTransformer: <ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string>(transformer: (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>) => (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>;
5
5
  export type TransformerFactory<ENTITIES extends DomainEntity<string>, ALLOWED_ROOT_ENTITIES extends ENTITIES, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>, NAVIGATION_STATES extends string, VIEW_STATES extends string, TOOL_STATES extends string, EXPORT_STATES extends string> = (transformer: (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>) => (ctx: DomainContextSystems<ENTITIES, ALLOWED_ROOT_ENTITIES, $MAP, NAVIGATION_STATES, VIEW_STATES, TOOL_STATES, EXPORT_STATES>) => UpdateTransformer<ENTITIES>;
@@ -1,7 +1,7 @@
1
1
  import type { DomainEntity, DomainState, EntityViolation } from '../../core/index.js';
2
2
  import { DimensionUnit, type UnitsConfig } from '../../dimensions/index.js';
3
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
4
- import { SystemState } from '../store-system/system-state.js';
3
+ import type { DomainContextSelectors } from '../../domain-runtime/index.js';
4
+ import { SystemState } from '../store-system/index.js';
5
5
  import { type DimensionStateComponent } from './dimension-state.js';
6
6
  export type DistanceDimensionViolation = `${string}.distanceDimension.tooLarge` | `${string}.distanceDimension.tooSmall`;
7
7
  export type GenericDimensionViolation = `${string}.genericDimension.tooLarge` | `${string}.genericDimension.tooSmall`;
@@ -1 +1 @@
1
- import{AngleUnit as t,DEFAULT_DECIMAL_PLACES as e,DimensionUnit as i,defaultAngleToUnit as n,formatDistanceValue as a,isDimensionGreaterThanMax as o,isDimensionLowerThanMin as s}from"../../dimensions/index.js";import{angleDimensionComponent as l,applicationConfigComponent as m,distanceDimensionComponent as r,genericDimensionComponent as c}from"../../system-components/index.js";import{SystemState as u}from"../store-system/system-state.js";import{dimensionStateComponent as g}from"./dimension-state.js";let d={[t.degree]:"\xb0",[t.radian]:"rad"},p={mm:{strategy:"decimal",decimalPlaces:0},cm:{strategy:"decimal",decimalPlaces:1},m:{strategy:"decimal",decimalPlaces:2},inch:{strategy:"fraction",fractionBasis:[3,4]},feet:{strategy:"fraction-inch",fractionBasis:[3,4]}},h=["mm","cm","m","inch","feet"];function f(t,e){let i={sourceUnit:t.sourceUnit,displayUnit:t.displayUnit,unitDisplayConfig:t.unitDisplayConfig,locale:t.locale,omitLeadingZeroUnits:!0},n=a(t.limitValue,i),o=a(t.currentValue,i);return"tooLarge"===e?{id:"sdk.distanceDimension.hintMessageTooLarge",message:"Current value is {0}, which is larger than allowed maximum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}:{id:"sdk.distanceDimension.hintMessageTooSmall",message:"Current value is {0}, which is smaller than allowed minimum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}}function y(t,e){let i=`${t.currentValue.toFixed(t.decimalPlaces)}\u00A0${t.unit}`,n=`${t.limitValue}\u00A0${t.unit}`;return"tooLarge"===e?{id:"sdk.genericDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}:{id:"sdk.genericDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}}function v(t,e){let i=`${n(t.currentValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`,a=`${n(t.limitValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`;return"tooLarge"===e?{id:"sdk.angleDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}:{id:"sdk.angleDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}}export class DimensionSystem{_context;state;constructor(t){this._context=t,this.state=new u({selectors:this._context.selectors,componentType:g,getInitialState:t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{unit:e?.state.initialGlobalUnit??e?.state.distanceDataUnit??i.mm}}})}initialize=t=>this.state.getInitialUpdates(t);getDimensionConfig=t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{distanceDataUnit:e?.state.distanceDataUnit??i.mm,unitDisplayConfig:e?.state.unitDisplayConfig??p,availableDimensions:e?.state.availableDimensions??h}};getDataDistanceUnit=t=>this.getDimensionConfig(t).distanceDataUnit;getGlobalUnit=t=>this.state.get(t).unit;getSetGlobalUnitUpdates=(t,e)=>this.state.getUpdates(e=>({...e,unit:t}),e);_getDistanceComponentViolations=t=>{let e=this.getDimensionConfig(t),i=this.state.get(t),n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[r]},t),a=[];for(let t of n){let n=t.state.displayUnit??i.unit,l=t.state.unitDisplayConfig?.[n]??e.unitDisplayConfig[n];if(!l)throw Error(`Unit config for ${n} not found!`);let m=t.state.max;if(void 0!==m&&o(t.state.value,m)){let i={currentValue:t.state.value,limitValue:m,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooLarge`,severity:"fatal",message:f({...i,locale:"en-US"},"tooLarge"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooLarge")}})}let r=t.state.min;if(void 0!==r&&s(t.state.value,r)){let i={currentValue:t.state.value,limitValue:r,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooSmall`,severity:"fatal",message:f({...i,locale:"en-US"},"tooSmall"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooSmall")}})}}return a};_getGenericComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[c]},t),n=[];for(let t of i){if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let i={currentValue:t.state.value,limitValue:t.state.max,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooLarge`,severity:"fatal",message:y(i,"tooLarge"),formatControlViolationMessage:()=>y(i,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let i={currentValue:t.state.value,limitValue:t.state.min,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooSmall`,severity:"fatal",message:y(i,"tooSmall"),formatControlViolationMessage:()=>y(i,"tooSmall")}})}}return n};_getAngleComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[l]},t),n=[];for(let t of i){let i=t.state.unit??"degree",a=d[i],l=t.state.decimalPlaces??e;if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let e={currentValue:t.state.value,limitValue:t.state.max,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooLarge`,severity:"fatal",message:v(e,"tooLarge"),formatControlViolationMessage:()=>v(e,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let e={currentValue:t.state.value,limitValue:t.state.min,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooSmall`,severity:"fatal",message:v(e,"tooSmall"),formatControlViolationMessage:()=>v(e,"tooSmall")}})}}return n};validateState=t=>[...this._getDistanceComponentViolations(t),...this._getGenericComponentViolations(t),...this._getAngleComponentViolations(t)]}
1
+ import{AngleUnit as t,DEFAULT_DECIMAL_PLACES as e,DimensionUnit as i,defaultAngleToUnit as n,formatDistanceValue as a,isDimensionGreaterThanMax as o,isDimensionLowerThanMin as s}from"../../dimensions/index.js";import{angleDimensionComponent as l,applicationConfigComponent as m,distanceDimensionComponent as r,genericDimensionComponent as c}from"../../system-components/index.js";import{SystemState as u}from"../store-system/index.js";import{dimensionStateComponent as g}from"./dimension-state.js";let d={[t.degree]:"\xb0",[t.radian]:"rad"},p={mm:{strategy:"decimal",decimalPlaces:0},cm:{strategy:"decimal",decimalPlaces:1},m:{strategy:"decimal",decimalPlaces:2},inch:{strategy:"fraction",fractionBasis:[3,4]},feet:{strategy:"fraction-inch",fractionBasis:[3,4]}},h=["mm","cm","m","inch","feet"];function f(t,e){let i={sourceUnit:t.sourceUnit,displayUnit:t.displayUnit,unitDisplayConfig:t.unitDisplayConfig,locale:t.locale,omitLeadingZeroUnits:!0},n=a(t.limitValue,i),o=a(t.currentValue,i);return"tooLarge"===e?{id:"sdk.distanceDimension.hintMessageTooLarge",message:"Current value is {0}, which is larger than allowed maximum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}:{id:"sdk.distanceDimension.hintMessageTooSmall",message:"Current value is {0}, which is smaller than allowed minimum of {1}.",values:{0:o.valueWithUnit,1:n.valueWithUnit}}}function y(t,e){let i=`${t.currentValue.toFixed(t.decimalPlaces)}\u00A0${t.unit}`,n=`${t.limitValue}\u00A0${t.unit}`;return"tooLarge"===e?{id:"sdk.genericDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}:{id:"sdk.genericDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:n}}}function v(t,e){let i=`${n(t.currentValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`,a=`${n(t.limitValue,t.unit).toFixed(t.decimalPlaces)}\u00A0${t.unitLabel}`;return"tooLarge"===e?{id:"sdk.angleDimension.hintMessageTooLarge",message:"Current value is {currentWithUnit}, which is larger than allowed maximum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}:{id:"sdk.angleDimension.hintMessageTooSmall",message:"Current value is {currentWithUnit}, which is smaller than allowed minimum of {limitWithUnit}.",values:{currentWithUnit:i,limitWithUnit:a}}}export class DimensionSystem{_context;state;constructor(t){this._context=t,this.state=new u({selectors:this._context.selectors,componentType:g,getInitialState:t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{unit:e?.state.initialGlobalUnit??e?.state.distanceDataUnit??i.mm}}})}initialize=t=>this.state.getInitialUpdates(t);getDimensionConfig=t=>{let e=this._context.selectors.getComponentReader().readFirstRootComponent({componentTypes:[m]},t);return{distanceDataUnit:e?.state.distanceDataUnit??i.mm,unitDisplayConfig:e?.state.unitDisplayConfig??p,availableDimensions:e?.state.availableDimensions??h}};getDataDistanceUnit=t=>this.getDimensionConfig(t).distanceDataUnit;getGlobalUnit=t=>this.state.get(t).unit;getSetGlobalUnitUpdates=(t,e)=>this.state.getUpdates(e=>({...e,unit:t}),e);_getDistanceComponentViolations=t=>{let e=this.getDimensionConfig(t),i=this.state.get(t),n=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[r]},t),a=[];for(let t of n){let n=t.state.displayUnit??i.unit,l=t.state.unitDisplayConfig?.[n]??e.unitDisplayConfig[n];if(!l)throw Error(`Unit config for ${n} not found!`);let m=t.state.max;if(void 0!==m&&o(t.state.value,m)){let i={currentValue:t.state.value,limitValue:m,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooLarge`,severity:"fatal",message:f({...i,locale:"en-US"},"tooLarge"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooLarge")}})}let r=t.state.min;if(void 0!==r&&s(t.state.value,r)){let i={currentValue:t.state.value,limitValue:r,sourceUnit:e.distanceDataUnit,displayUnit:n,unitDisplayConfig:l};a.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.distanceDimension.tooSmall`,severity:"fatal",message:f({...i,locale:"en-US"},"tooSmall"),formatControlViolationMessage:(t,e)=>f({...i,locale:e.i18n.locale},"tooSmall")}})}}return a};_getGenericComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[c]},t),n=[];for(let t of i){if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let i={currentValue:t.state.value,limitValue:t.state.max,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooLarge`,severity:"fatal",message:y(i,"tooLarge"),formatControlViolationMessage:()=>y(i,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let i={currentValue:t.state.value,limitValue:t.state.min,decimalPlaces:t.state.decimalPlaces??e,unit:t.state.unit};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.genericDimension.tooSmall`,severity:"fatal",message:y(i,"tooSmall"),formatControlViolationMessage:()=>y(i,"tooSmall")}})}}return n};_getAngleComponentViolations=t=>{let i=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[l]},t),n=[];for(let t of i){let i=t.state.unit??"degree",a=d[i],l=t.state.decimalPlaces??e;if(void 0!==t.state.max&&o(t.state.value,t.state.max)){let e={currentValue:t.state.value,limitValue:t.state.max,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooLarge`,severity:"fatal",message:v(e,"tooLarge"),formatControlViolationMessage:()=>v(e,"tooLarge")}})}if(void 0!==t.state.min&&s(t.state.value,t.state.min)){let e={currentValue:t.state.value,limitValue:t.state.min,unit:i,unitLabel:a,decimalPlaces:l};n.push({entityId:t.componentInstance.entityId,violation:{type:`${t.componentInstance.instanceName}.angleDimension.tooSmall`,severity:"fatal",message:v(e,"tooSmall"),formatControlViolationMessage:()=>v(e,"tooSmall")}})}}return n};validateState=t=>[...this._getDistanceComponentViolations(t),...this._getGenericComponentViolations(t),...this._getAngleComponentViolations(t)]}
@@ -0,0 +1 @@
1
+ export { type AngleDimensionViolation, type AnyDimensionSystem, DimensionSystem, type DimensionSystemContext, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system.js';
@@ -0,0 +1 @@
1
+ export{DimensionSystem}from"./dimension-system.js";
@@ -1,12 +1,12 @@
1
1
  import type { $DomainEntity, ActionTypes, Domain, DomainEntity } from '../core/index.js';
2
- import type { ComponentReader, DomainContextSelectors } from '../domain-runtime/domain-context/index.js';
2
+ import type { ComponentReader, DomainContextSelectors } from '../domain-runtime/index.js';
3
3
  import type { BlenderProjections, CollisionProjections, CompositionProjections, ConstraintProjections, PositionProjections, ProjectedEntitiesProjections, SnappingProjections, ValidationProjections } from '../projections/index.js';
4
- import type { SketchingProjections } from '../sketching/sketching-projections.js';
5
- import type { ActionSystem } from './action-system/action-system.js';
6
- import type { DimensionSystem } from './dimension-system/dimension-system.js';
7
- import type { NavigationSystem } from './navigation-system/navigation-system.js';
8
- import type { RecipeCookerSystem } from './recipe-system/recipe-cooker-system.js';
9
- import type { StoreSystem } from './store-system/store-system.js';
4
+ import type { SketchingProjections } from '../sketching/index.js';
5
+ import type { ActionSystem } from './action-system/index.js';
6
+ import type { DimensionSystem } from './dimension-system/index.js';
7
+ import type { NavigationSystem } from './navigation-system/index.js';
8
+ import type { RecipeCookerSystem } from './recipe-system/index.js';
9
+ import type { StoreSystem } from './store-system/index.js';
10
10
  import type { UndoSystem } from './undo-system.js';
11
11
  /**
12
12
  * Stable domain system graph owned by one application slot in the domain runtime.
@@ -1,21 +1,11 @@
1
- export { type AnalyticsSystem, NoopAnalyticsSystem } from './analytics-system/analytics-system.js';
2
- export { type AnalyticsEvent, AnalyticsEventFactory, AnalyticsEventType, type DataLoadedEvent, type InitEvent, type NavigationEvent, type SessionAuthenticatedEvent, type SystemEvent, type UserActionEvent, } from './analytics-system/analytics-contracts.js';
3
- export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, } from './navigation-system/navigation-updates.js';
4
- export { createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, } from './navigation-system/navigation-system.js';
5
- export { createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, } from './navigation-system/selection-transformers.js';
6
- export { StoreSystem, type TransformerRegistration, type StateEmission, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateUpdateEmission, type StateEmissionKind, type CommitPreparedOutcome, } from './store-system/store-system.js';
7
- export { nextDomainEntityId, getIdSequence } from './store-system/next-domain-entity-id.js';
8
- export { applyUpdates } from './store-system/apply-updates.js';
9
- export { SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, } from './store-system/system-state.js';
10
- export { createRefReplaceTransformer } from './relation-transformers/replace-refs.js';
11
- export { createCascadeDeletesTransformer } from './relation-transformers/cascade-deletes.js';
12
- export { createCascadeRefPruningTransformer } from './relation-transformers/cascade-ref-pruning.js';
13
- export { createCreateEntityRefsTransformer } from './relation-transformers/create-entity-refs.js';
14
- export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, } from './undo-system.js';
15
- export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/dimension-system.js';
16
- export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/action-system.js';
17
- export { RecipeFactoryBuilder, type EntityRecipe } from './recipe-system/recipes.js';
18
- export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/recipe-cooker-system.js';
1
+ export { type AnalyticsSystem, NoopAnalyticsSystem, type AnalyticsEvent, AnalyticsEventFactory, AnalyticsEventType, type DataLoadedEvent, type InitEvent, type NavigationEvent, type SessionAuthenticatedEvent, type SystemEvent, type UserActionEvent, } from './analytics-system/index.js';
2
+ export { NavigationUpdateTag, isInitialNavigationUpdate, isNavigationUpdate, isInitialViewUpdate, isViewUpdate, isInitialSelectionUpdate, isSelectUpdate, isDeselectUpdate, isInitialFullscreenUpdate, isToggleFullscreenUpdate, isInitialDebugUpdate, isInitialViewportUpdate, isSetViewportUpdate, isInitialDragUpdate, isDragStartUpdate, isDragEndUpdate, isInitialToolUpdate, isToolUpdate, isExportUpdate, createAutoSelectionTransformer, NavigationSystem, type NavigationSystemContext, createResetSelectionOnNavigationTransformer, createNavigationOnSelectionTransformer, createNavigationOnDeselectTransformer, createSelectParentOnDeselectionTransformer, createNavigationOnSelectionChangeTransformer, type AnyNavigationSystem, } from './navigation-system/index.js';
3
+ export { StoreSystem, type TransformerRegistration, type UpdateTransformer, type TransformerLogFunction, type Transformers, type StateSliceName, type StateEmissionKind, type CommitPreparedOutcome, nextDomainEntityId, getIdSequence, applyUpdates, SystemState, SystemStateInitialUpdateTag, SystemStateUpdateTag, type SystemStateContext, type AnyCreateTransformersFactory, type AnyStoreSystem, type Unregister, } from './store-system/index.js';
4
+ export { createRefReplaceTransformer, createCascadeDeletesTransformer, createCascadeRefPruningTransformer, createCreateEntityRefsTransformer, } from './relation-transformers/index.js';
5
+ export { type CanBeUndonePredicate, type CanBeUndoneContext, type UndoCapabilities, type UndoStep, UndoSystem, UNDO_REDO_RESET_TAG, isUndoRedoReset, type AnyUndoSystem, } from './undo-system.js';
6
+ export { DimensionSystem, type AnyDimensionSystem, type DimensionSystemContext, type AngleDimensionViolation, type DistanceDimensionViolation, type GenericDimensionViolation, } from './dimension-system/index.js';
7
+ export { ActionSystem, type AnyActionSystem, type ActionSystemContext } from './action-system/index.js';
8
+ export { RecipeCookerSystem, type AnyRecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isReplaceEntityUpdate, type IsReplaceRecipeUpdate, CreateRecipeUpdateTag, isCreateEntityUpdate, type IsCreateRecipeUpdate, } from './recipe-system/index.js';
19
9
  export { type DomainContextSystems, type AnyDomainContextSystems } from './domain-context-systems.js';
20
10
  export { createTransformer, type TransformerFactory } from './create-transformer.js';
21
11
  export * from './transformers/index.js';
@@ -1 +1 @@
1
- export{NoopAnalyticsSystem}from"./analytics-system/analytics-system.js";export{AnalyticsEventFactory,AnalyticsEventType}from"./analytics-system/analytics-contracts.js";export{NavigationUpdateTag,isInitialNavigationUpdate,isNavigationUpdate,isInitialViewUpdate,isViewUpdate,isInitialSelectionUpdate,isSelectUpdate,isDeselectUpdate,isInitialFullscreenUpdate,isToggleFullscreenUpdate,isInitialDebugUpdate,isInitialViewportUpdate,isSetViewportUpdate,isInitialDragUpdate,isDragStartUpdate,isDragEndUpdate,isInitialToolUpdate,isToolUpdate,isExportUpdate}from"./navigation-system/navigation-updates.js";export{createAutoSelectionTransformer,NavigationSystem}from"./navigation-system/navigation-system.js";export{createResetSelectionOnNavigationTransformer,createNavigationOnSelectionTransformer,createNavigationOnDeselectTransformer,createSelectParentOnDeselectionTransformer,createNavigationOnSelectionChangeTransformer}from"./navigation-system/selection-transformers.js";export{StoreSystem}from"./store-system/store-system.js";export{nextDomainEntityId,getIdSequence}from"./store-system/next-domain-entity-id.js";export{applyUpdates}from"./store-system/apply-updates.js";export{SystemState,SystemStateInitialUpdateTag,SystemStateUpdateTag}from"./store-system/system-state.js";export{createRefReplaceTransformer}from"./relation-transformers/replace-refs.js";export{createCascadeDeletesTransformer}from"./relation-transformers/cascade-deletes.js";export{createCascadeRefPruningTransformer}from"./relation-transformers/cascade-ref-pruning.js";export{createCreateEntityRefsTransformer}from"./relation-transformers/create-entity-refs.js";export{UndoSystem,UNDO_REDO_RESET_TAG,isUndoRedoReset}from"./undo-system.js";export{DimensionSystem}from"./dimension-system/dimension-system.js";export{ActionSystem}from"./action-system/action-system.js";export{RecipeFactoryBuilder}from"./recipe-system/recipes.js";export{RecipeCookerSystem,ReplaceRecipeUpdateTag,isReplaceEntityUpdate,CreateRecipeUpdateTag,isCreateEntityUpdate}from"./recipe-system/recipe-cooker-system.js";export{createTransformer}from"./create-transformer.js";export*from"./transformers/index.js";
1
+ export{NoopAnalyticsSystem,AnalyticsEventFactory,AnalyticsEventType}from"./analytics-system/index.js";export{NavigationUpdateTag,isInitialNavigationUpdate,isNavigationUpdate,isInitialViewUpdate,isViewUpdate,isInitialSelectionUpdate,isSelectUpdate,isDeselectUpdate,isInitialFullscreenUpdate,isToggleFullscreenUpdate,isInitialDebugUpdate,isInitialViewportUpdate,isSetViewportUpdate,isInitialDragUpdate,isDragStartUpdate,isDragEndUpdate,isInitialToolUpdate,isToolUpdate,isExportUpdate,createAutoSelectionTransformer,NavigationSystem,createResetSelectionOnNavigationTransformer,createNavigationOnSelectionTransformer,createNavigationOnDeselectTransformer,createSelectParentOnDeselectionTransformer,createNavigationOnSelectionChangeTransformer}from"./navigation-system/index.js";export{StoreSystem,nextDomainEntityId,getIdSequence,applyUpdates,SystemState,SystemStateInitialUpdateTag,SystemStateUpdateTag}from"./store-system/index.js";export{createRefReplaceTransformer,createCascadeDeletesTransformer,createCascadeRefPruningTransformer,createCreateEntityRefsTransformer}from"./relation-transformers/index.js";export{UndoSystem,UNDO_REDO_RESET_TAG,isUndoRedoReset}from"./undo-system.js";export{DimensionSystem}from"./dimension-system/index.js";export{ActionSystem}from"./action-system/index.js";export{RecipeCookerSystem,ReplaceRecipeUpdateTag,isReplaceEntityUpdate,CreateRecipeUpdateTag,isCreateEntityUpdate}from"./recipe-system/index.js";export{createTransformer}from"./create-transformer.js";export*from"./transformers/index.js";
@@ -0,0 +1,3 @@
1
+ export { type AnyNavigationSystem, NavigationSystem, type NavigationSystemContext, createAutoSelectionTransformer, } from './navigation-system.js';
2
+ export { NavigationUpdateTag, isDeselectUpdate, isDragEndUpdate, isDragStartUpdate, isExportUpdate, isInitialDebugUpdate, isInitialDragUpdate, isInitialFullscreenUpdate, isInitialNavigationUpdate, isInitialSelectionUpdate, isInitialToolUpdate, isInitialViewUpdate, isInitialViewportUpdate, isNavigationUpdate, isSelectUpdate, isSetViewportUpdate, isToggleFullscreenUpdate, isToolUpdate, isViewUpdate, } from './navigation-updates.js';
3
+ export { createNavigationOnDeselectTransformer, createNavigationOnSelectionChangeTransformer, createNavigationOnSelectionTransformer, createResetSelectionOnNavigationTransformer, createSelectParentOnDeselectionTransformer, } from './selection-transformers.js';
@@ -0,0 +1 @@
1
+ export{NavigationSystem,createAutoSelectionTransformer}from"./navigation-system.js";export{NavigationUpdateTag,isDeselectUpdate,isDragEndUpdate,isDragStartUpdate,isExportUpdate,isInitialDebugUpdate,isInitialDragUpdate,isInitialFullscreenUpdate,isInitialNavigationUpdate,isInitialSelectionUpdate,isInitialToolUpdate,isInitialViewUpdate,isInitialViewportUpdate,isNavigationUpdate,isSelectUpdate,isSetViewportUpdate,isToggleFullscreenUpdate,isToolUpdate,isViewUpdate}from"./navigation-updates.js";export{createNavigationOnDeselectTransformer,createNavigationOnSelectionChangeTransformer,createNavigationOnSelectionTransformer,createResetSelectionOnNavigationTransformer,createSelectParentOnDeselectionTransformer}from"./selection-transformers.js";
@@ -1,7 +1,6 @@
1
1
  import { type DomainEntity, type DomainState, type Viewport } from '../../core/index.js';
2
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
3
- import type { DomainServicesSelectors } from '../../domain-runtime/domain-services/index.js';
4
- import type { UpdateTransformer } from '../store-system/store-system.js';
2
+ import type { DomainContextSelectors, DomainServicesSelectors } from '../../domain-runtime/index.js';
3
+ import type { UpdateTransformer } from '../store-system/index.js';
5
4
  /**
6
5
  * Automatically selects new/replaced entities and deselects deleted entities.
7
6
  * This transformers runs automatically with priority 100.
@@ -1 +1 @@
1
- import{Subject as t,debounceTime as e,distinctUntilChanged as i,map as n}from"rxjs";import{match as a}from"ts-pattern";import{isNonNullish as o}from"@salsita-ai/common/utils";import{debugStateComponent as r,dragStateComponent as c,exportStateComponent as s,fullscreenStateComponent as l,getComponentSystemFilterState as p,hoverStateComponent as d,navigationStateComponent as S,selectionStateComponent as g,systemUpdateFactory as m,systemVirtualEntityId as y,toolStateComponent as h,viewStateComponent as u,viewportStateComponent as I}from"../../core/index.js";import{AnalyticsEventFactory as v}from"../analytics-system/analytics-contracts.js";import{NavigationUpdateTag as T}from"./navigation-updates.js";export const createAutoSelectionTransformer=t=>(e,i)=>{let n=t.getActiveSelectionState(i),a=e.find(t=>"createDomainEntity"===t.kind);if(null!=a)return[...e,t.getSelectUpdate(a.entityId)];let o=e.find(t=>"replaceDomainEntity"===t.kind&&n===t.entityId);return null!=o?[...e,t.getSelectUpdate(o.replacementEntity.id)]:null!=e.find(t=>"deleteEntity"===t.kind&&n===t.entityId)?[...e,t.getDeselectUpdate()]:e};export class NavigationSystem{_context;_generation=null;_hoverSubject=new t;get _initialNavigationState(){return this._context.selectors.getNavigationStates()[0]}get _initialViewState(){return this._context.selectors.getViewStates()[0]}get _initialToolState(){return this._context.selectors.getToolStates()[0]}get _initialExportState(){return this._context.selectors.getExportStates()[0]}constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(n(t=>this.getActiveNavigationState(t.state)),i()).subscribe(t=>{this._context.domainServicesSelectors.getAnalyticsService().push(v.NavigationEvent({navigationState:t})),this._context.domainServicesSelectors.getLogger().appendToGlobalContext({navigationState:t})}),this._context.selectors.getStoreSystem().registerTransformer(100,createAutoSelectionTransformer(this),"AutoSelectionTransformer"),this._hoverSubject.pipe(e(20)).subscribe(({hoveredEntityId:t,generation:e})=>{if(e?.active===!0){if(t){if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)!==t){let e=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverInUpdate(t)],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(e)}}else if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)){let t=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverOutUpdate()],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(t)}}})}initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0},this._context.selectors.getStoreSystem().stageAndCommit(this.getInitialUpdates())};getInitialUpdates=()=>[this._initialNavigationState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:S},updateTag:T.Initial,initialState:{activeState:this._initialNavigationState,historyStack:[]}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:g},updateTag:T.Initial,initialState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:d},updateTag:T.Initial,initialState:{hoveredEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:r},updateTag:T.Initial,initialState:{enabled:!1}}),this._initialViewState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:u},updateTag:T.Initial,initialState:{activeState:this._initialViewState}}):null,this._initialToolState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:h},updateTag:T.Initial,initialState:{activeState:this._initialToolState}}):null,this._initialExportState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:s},updateTag:T.Initial,initialState:{activeState:this._initialExportState,exportedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:l},updateTag:T.Initial,initialState:{enabled:!1}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:c},updateTag:T.Initial,initialState:{draggedEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:I},updateTag:T.Initial,initialState:{active:null}})].filter(o);getActiveNavigationState(t){return p(t).navigationState??this._initialNavigationState}getActiveSelectionState(t){return p(t).selectedEntityId??t.rootEntityId}getActiveHoverState(t){return p(t).hoveredEntityId??null}getActiveViewState(t){return p(t).viewState??this._initialViewState}getActiveToolState(t){return p(t).toolState??""}getActiveExportState(t){let e=p(t);return{activeState:e.exportState??this._initialExportState??"",exportedEntityId:e.exportedEntityId??t.rootEntityId}}getActiveFullscreenState(t){let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:l},t);return e?.state.enabled??!1}getActiveDragState(t){return p(t).draggedEntityId??null}getActiveViewportState(t){return p(t).viewports??null}getNavigationUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.ReplaceNavigation,writableState:{activeState:t,historyStack:[]}});getPushNavigationUpdate=(t,e,i={})=>{let n=this.getActiveNavigationState(e),o=[...this.getHistoryStack(e),n],r=a(i.canStackOnto).with(void 0,()=>o).otherwise(t=>{let e;for(let i=o.length-1;i>=0;i--)if(t.includes(o[i])){e=i;break}return void 0===e?[]:o.slice(0,e+1)});return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PushNavigation,writableState:{activeState:t,historyStack:r}})};getIsRootSelected=t=>this.getActiveSelectionState(t)===t.rootEntityId;getHistoryStack=t=>{let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:S},t);return e?.state.historyStack??[]};getHasStackToPop=t=>this.getHistoryStack(t).length>0;getPopNavigationUpdate=t=>{let e=this.getHistoryStack(t),i=e.at(-1);if(!i)return null;let n=e.slice(0,-1);return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PopNavigation,writableState:{activeState:i,historyStack:n}})};getViewUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:u},updateTag:T.ActiveateView,writableState:{activeState:t}});getToolUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:h},updateTag:T.ActivateTool,writableState:{activeState:t}});getExportUpdate=(t,e)=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:s},updateTag:T.SetExportState,writableState:{activeState:t,exportedEntityId:e}});getSelectUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.SelectEntity,writableState:{selectedEntityId:t}});getDeselectUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.Deselect,writableState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}});getHoverInUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverIn,writableState:{hoveredEntityId:t}});getHoverOutUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverOut,writableState:{hoveredEntityId:null}});getFullscreenUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:l},updateTag:T.ToggleFullscreen,writableState:{enabled:t}});getDragStartUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragStart,writableState:{draggedEntityId:t}});getDragEndUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragEnd,writableState:{draggedEntityId:null}});getViewportUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:I},updateTag:T.SetViewport,writableState:{active:t}});getToggleFullscreenUpdate=(t=this._context.selectors.getStoreSystem().stateSlices.committed.value.state)=>{let e=this.getActiveFullscreenState(t);return this.getFullscreenUpdate(!e)};debouncedToggleHover=t=>{this._hoverSubject.next({hoveredEntityId:t,generation:this._generation})};resetApplicationStates(){}}
1
+ import{Subject as t,debounceTime as e,distinctUntilChanged as i,map as n}from"rxjs";import{match as a}from"ts-pattern";import{isNonNullish as o}from"@salsita-ai/common/utils";import{debugStateComponent as r,dragStateComponent as c,exportStateComponent as s,fullscreenStateComponent as l,getComponentSystemFilterState as p,hoverStateComponent as d,navigationStateComponent as S,selectionStateComponent as g,systemUpdateFactory as m,systemVirtualEntityId as y,toolStateComponent as h,viewStateComponent as u,viewportStateComponent as I}from"../../core/index.js";import{AnalyticsEventFactory as v}from"../analytics-system/index.js";import{NavigationUpdateTag as T}from"./navigation-updates.js";export const createAutoSelectionTransformer=t=>(e,i)=>{let n=t.getActiveSelectionState(i),a=e.find(t=>"createDomainEntity"===t.kind);if(null!=a)return[...e,t.getSelectUpdate(a.entityId)];let o=e.find(t=>"replaceDomainEntity"===t.kind&&n===t.entityId);return null!=o?[...e,t.getSelectUpdate(o.replacementEntity.id)]:null!=e.find(t=>"deleteEntity"===t.kind&&n===t.entityId)?[...e,t.getDeselectUpdate()]:e};export class NavigationSystem{_context;_generation=null;_hoverSubject=new t;get _initialNavigationState(){return this._context.selectors.getNavigationStates()[0]}get _initialViewState(){return this._context.selectors.getViewStates()[0]}get _initialToolState(){return this._context.selectors.getToolStates()[0]}get _initialExportState(){return this._context.selectors.getExportStates()[0]}constructor(t){this._context=t,this._context.selectors.getStoreSystem().stateSlices.committed.pipe(n(t=>this.getActiveNavigationState(t.state)),i()).subscribe(t=>{this._context.domainServicesSelectors.getAnalyticsService().push(v.NavigationEvent({navigationState:t})),this._context.domainServicesSelectors.getLogger().appendToGlobalContext({navigationState:t})}),this._context.selectors.getStoreSystem().registerTransformer(100,createAutoSelectionTransformer(this),"AutoSelectionTransformer"),this._hoverSubject.pipe(e(20)).subscribe(({hoveredEntityId:t,generation:e})=>{if(e?.active===!0){if(t){if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)!==t){let e=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverInUpdate(t)],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(e)}}else if(this.getActiveHoverState(this._context.selectors.getStoreSystem().stateSlices.rendered.value.state)){let t=this._context.selectors.getStoreSystem().prepareStateEmission([this.getHoverOutUpdate()],this._context.selectors.getStoreSystem().stateSlices.rendered.value.state,"staged");this._context.selectors.getStoreSystem().emit(t)}}})}initialize=()=>{null!==this._generation&&(this._generation.active=!1),this._generation={active:!0},this._context.selectors.getStoreSystem().stageAndCommit(this.getInitialUpdates())};getInitialUpdates=()=>[this._initialNavigationState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:S},updateTag:T.Initial,initialState:{activeState:this._initialNavigationState,historyStack:[]}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:g},updateTag:T.Initial,initialState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:d},updateTag:T.Initial,initialState:{hoveredEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:r},updateTag:T.Initial,initialState:{enabled:!1}}),this._initialViewState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:u},updateTag:T.Initial,initialState:{activeState:this._initialViewState}}):null,this._initialToolState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:h},updateTag:T.Initial,initialState:{activeState:this._initialToolState}}):null,this._initialExportState?m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:s},updateTag:T.Initial,initialState:{activeState:this._initialExportState,exportedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}}):null,m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:l},updateTag:T.Initial,initialState:{enabled:!1}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:c},updateTag:T.Initial,initialState:{draggedEntityId:null}}),m.EphemeralRecordCreation({componentInstance:{entityId:y,componentType:I},updateTag:T.Initial,initialState:{active:null}})].filter(o);getActiveNavigationState(t){return p(t).navigationState??this._initialNavigationState}getActiveSelectionState(t){return p(t).selectedEntityId??t.rootEntityId}getActiveHoverState(t){return p(t).hoveredEntityId??null}getActiveViewState(t){return p(t).viewState??this._initialViewState}getActiveToolState(t){return p(t).toolState??""}getActiveExportState(t){let e=p(t);return{activeState:e.exportState??this._initialExportState??"",exportedEntityId:e.exportedEntityId??t.rootEntityId}}getActiveFullscreenState(t){let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:l},t);return e?.state.enabled??!1}getActiveDragState(t){return p(t).draggedEntityId??null}getActiveViewportState(t){return p(t).viewports??null}getNavigationUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.ReplaceNavigation,writableState:{activeState:t,historyStack:[]}});getPushNavigationUpdate=(t,e,i={})=>{let n=this.getActiveNavigationState(e),o=[...this.getHistoryStack(e),n],r=a(i.canStackOnto).with(void 0,()=>o).otherwise(t=>{let e;for(let i=o.length-1;i>=0;i--)if(t.includes(o[i])){e=i;break}return void 0===e?[]:o.slice(0,e+1)});return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PushNavigation,writableState:{activeState:t,historyStack:r}})};getIsRootSelected=t=>this.getActiveSelectionState(t)===t.rootEntityId;getHistoryStack=t=>{let e=this._context.selectors.getComponentReader().readOneComponent({entityId:y,componentType:S},t);return e?.state.historyStack??[]};getHasStackToPop=t=>this.getHistoryStack(t).length>0;getPopNavigationUpdate=t=>{let e=this.getHistoryStack(t),i=e.at(-1);if(!i)return null;let n=e.slice(0,-1);return m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:S},updateTag:T.PopNavigation,writableState:{activeState:i,historyStack:n}})};getViewUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:u},updateTag:T.ActiveateView,writableState:{activeState:t}});getToolUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:h},updateTag:T.ActivateTool,writableState:{activeState:t}});getExportUpdate=(t,e)=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:s},updateTag:T.SetExportState,writableState:{activeState:t,exportedEntityId:e}});getSelectUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.SelectEntity,writableState:{selectedEntityId:t}});getDeselectUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:g},updateTag:T.Deselect,writableState:{selectedEntityId:this._context.selectors.getStoreSystem().stateSlices.committed.value.state.rootEntityId}});getHoverInUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverIn,writableState:{hoveredEntityId:t}});getHoverOutUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:d},updateTag:T.HoverOut,writableState:{hoveredEntityId:null}});getFullscreenUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:l},updateTag:T.ToggleFullscreen,writableState:{enabled:t}});getDragStartUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragStart,writableState:{draggedEntityId:t}});getDragEndUpdate=()=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:c},updateTag:T.DragEnd,writableState:{draggedEntityId:null}});getViewportUpdate=t=>m.EphemeralRecordModification({componentInstance:{entityId:y,componentType:I},updateTag:T.SetViewport,writableState:{active:t}});getToggleFullscreenUpdate=(t=this._context.selectors.getStoreSystem().stateSlices.committed.value.state)=>{let e=this.getActiveFullscreenState(t);return this.getFullscreenUpdate(!e)};debouncedToggleHover=t=>{this._hoverSubject.next({hoveredEntityId:t,generation:this._generation})};resetApplicationStates(){}}
@@ -1,6 +1,6 @@
1
1
  import { type $DomainEntity, type DomainEntity } from '../../core/index.js';
2
2
  import type { DomainContextSystems } from '../domain-context-systems.js';
3
- import type { UpdateTransformer } from '../store-system/store-system.js';
3
+ import type { UpdateTransformer } from '../store-system/index.js';
4
4
  /**
5
5
  * Resets selection (Deselect update) when the navigation state is one of the provided states.
6
6
  */
@@ -0,0 +1 @@
1
+ export { type AnyRecipeCookerSystem, CreateRecipeUpdateTag, type IsCreateRecipeUpdate, type IsReplaceRecipeUpdate, RecipeCookerSystem, type RecipeCookerSystemContext, ReplaceRecipeUpdateTag, isCreateEntityUpdate, isReplaceEntityUpdate, } from './recipe-cooker-system.js';
@@ -0,0 +1 @@
1
+ export{CreateRecipeUpdateTag,RecipeCookerSystem,ReplaceRecipeUpdateTag,isCreateEntityUpdate,isReplaceEntityUpdate}from"./recipe-cooker-system.js";
@@ -1,6 +1,5 @@
1
- import { type DomainEntity, type DomainEntityCreation, type DomainEntityId, type DomainEntityReplacement, type DomainState, type StateUpdate } from '../../core/index.js';
2
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
3
- import type { EntityRecipe } from './recipes.js';
1
+ import { type DomainEntity, type DomainEntityCreation, type DomainEntityId, type DomainEntityReplacement, type DomainState, type EntityRecipe, type StateUpdate } from '../../core/index.js';
2
+ import type { DomainContextSelectors } from '../../domain-runtime/index.js';
4
3
  export declare const CreateRecipeUpdateTag = "createRecipe";
5
4
  export type IsCreateRecipeUpdate<ENTITIES extends DomainEntity<string>> = <TYPE extends ENTITIES['type']>(update: StateUpdate<ENTITIES, ENTITIES>, types: readonly TYPE[]) => update is DomainEntityCreation<Extract<ENTITIES, {
6
5
  type: TYPE;
@@ -1 +1 @@
1
- import{domainEntityTypeFromId as e,isDomainEntityId as t,systemUpdateFactory as n}from"../../core/index.js";import{composedOfComponent as i}from"../../relations/composed-of.js";import{referenceComponent as o}from"../../relations/reference-component.js";import{getIdSequence as a}from"../store-system/next-domain-entity-id.js";export const CreateRecipeUpdateTag="createRecipe";export const isCreateEntityUpdate=(t,n)=>"createDomainEntity"===t.kind&&t.updateTag===CreateRecipeUpdateTag&&n.includes(e(t.entityId));export const ReplaceRecipeUpdateTag="replaceRecipe";export const isReplaceEntityUpdate=(n,i)=>"replaceDomainEntity"===n.kind&&n.updateTag===ReplaceRecipeUpdateTag&&t(n.entityId)&&i.includes(e(n.entityId));export class RecipeCookerSystem{_context;constructor(e){this._context=e}_getFragmentComponents=(e,t)=>this._context.selectors.getComponentReader().readManyComponents({componentTypes:[t]},{rootEntityId:"Root-1",rootEntityType:"Root",entities:e,ephemeralRecords:[]});cookRecipes=(t,n)=>{let p=new Map,r=a(n.entities,[]);for(let e of t){let t=r.nextId(e.type);p.set(e.id,t)}let c=this._getFragmentComponents(t,o),d=t.map(t=>{let n={...t,id:p.get(t.id)};return c.filter(e=>e.componentInstance.entityId===t.id).reduce((n,i)=>{let o=this._context.selectors.getComponentReaderIndexes().opticMap.get(e(t.id))?.get(i.componentInstance.componentType)?.get(i.componentInstance.instanceName);if(o?.kind!=="simple")throw Error("References can only be simple optics!");return{...n,...o?.write({referencedEntityIds:i.state.referencedEntityIds.map(e=>e===t.id?e:p.get(e)??e)})}},n)}),s=this._getFragmentComponents(d,i);return d.map(e=>{let t=s.find(t=>t.state.childEntityIds.includes(e.id));return{entity:e,parentId:t?.componentInstance.entityId}})};prepareCreateUpdates=(e,t,i,o)=>this.cookRecipes(e,t).map(e=>e.parentId?n.DomainEntityCreation({entity:e.entity,collection:void 0,updateTag:CreateRecipeUpdateTag,parentId:e.parentId}):n.DomainEntityCreation({entity:e.entity,collection:o,updateTag:CreateRecipeUpdateTag,parentId:i}));prepareReplaceUpdates=(e,t,i,o)=>{let a=this.cookRecipes(e,t),p=a.filter(e=>!e.parentId);if(!p[0]||p.length>1)throw Error("Can not prepare ReplaceEntityRecipes, root entity not found in the cooked recipes. Please, make sure that defined recipes have always a single root entity.");return a.map(e=>e.parentId?n.DomainEntityCreation({entity:e.entity,collection:void 0,updateTag:ReplaceRecipeUpdateTag,parentId:e.parentId}):n.DomainEntityReplacement({entityId:i,replacementEntity:e.entity,updateTag:ReplaceRecipeUpdateTag,keepChildren:o??!1}))}}
1
+ import{composedOfComponent as e,domainEntityTypeFromId as t,isDomainEntityId as n,referenceComponent as i,systemUpdateFactory as a}from"../../core/index.js";import{getIdSequence as o}from"../store-system/index.js";export const CreateRecipeUpdateTag="createRecipe";export const isCreateEntityUpdate=(e,n)=>"createDomainEntity"===e.kind&&e.updateTag===CreateRecipeUpdateTag&&n.includes(t(e.entityId));export const ReplaceRecipeUpdateTag="replaceRecipe";export const isReplaceEntityUpdate=(e,i)=>"replaceDomainEntity"===e.kind&&e.updateTag===ReplaceRecipeUpdateTag&&n(e.entityId)&&i.includes(t(e.entityId));export class RecipeCookerSystem{_context;constructor(e){this._context=e}_getFragmentComponents=(e,t)=>this._context.selectors.getComponentReader().readManyComponents({componentTypes:[t]},{rootEntityId:"Root-1",rootEntityType:"Root",entities:e,ephemeralRecords:[]});cookRecipes=(n,a)=>{let p=new Map,r=o(a.entities,[]);for(let e of n){let t=r.nextId(e.type);p.set(e.id,t)}let c=this._getFragmentComponents(n,i),d=n.map(e=>{let n={...e,id:p.get(e.id)};return c.filter(t=>t.componentInstance.entityId===e.id).reduce((n,i)=>{let a=this._context.selectors.getComponentReaderIndexes().opticMap.get(t(e.id))?.get(i.componentInstance.componentType)?.get(i.componentInstance.instanceName);if(a?.kind!=="simple")throw Error("References can only be simple optics!");return{...n,...a?.write({referencedEntityIds:i.state.referencedEntityIds.map(t=>t===e.id?t:p.get(t)??t)})}},n)}),s=this._getFragmentComponents(d,e);return d.map(e=>{let t=s.find(t=>t.state.childEntityIds.includes(e.id));return{entity:e,parentId:t?.componentInstance.entityId}})};prepareCreateUpdates=(e,t,n,i)=>this.cookRecipes(e,t).map(e=>e.parentId?a.DomainEntityCreation({entity:e.entity,collection:void 0,updateTag:CreateRecipeUpdateTag,parentId:e.parentId}):a.DomainEntityCreation({entity:e.entity,collection:i,updateTag:CreateRecipeUpdateTag,parentId:n}));prepareReplaceUpdates=(e,t,n,i)=>{let o=this.cookRecipes(e,t),p=o.filter(e=>!e.parentId);if(!p[0]||p.length>1)throw Error("Can not prepare ReplaceEntityRecipes, root entity not found in the cooked recipes. Please, make sure that defined recipes have always a single root entity.");return o.map(e=>e.parentId?a.DomainEntityCreation({entity:e.entity,collection:void 0,updateTag:ReplaceRecipeUpdateTag,parentId:e.parentId}):a.DomainEntityReplacement({entityId:n,replacementEntity:e.entity,updateTag:ReplaceRecipeUpdateTag,keepChildren:i??!1}))}}
@@ -1,6 +1,6 @@
1
1
  import { type DomainEntity } from '../../core/index.js';
2
- import type { CompositionProjections } from '../../projections/composition-projections.js';
3
- import type { IncrementalUpdateTransformer } from '../store-system/store-system.js';
2
+ import type { CompositionProjections } from '../../projections/index.js';
3
+ import type { IncrementalUpdateTransformer } from '../store-system/index.js';
4
4
  /**
5
5
  * This transformer reacts on entity deletion and removes any descendant entities of the deleted one.
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { type DomainEntity } from '../../core/index.js';
2
- import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
3
- import type { IncrementalUpdateTransformer } from '../store-system/store-system.js';
2
+ import type { ComponentReader } from '../../domain-runtime/index.js';
3
+ import type { IncrementalUpdateTransformer } from '../store-system/index.js';
4
4
  /**
5
5
  * This transformer reacts on entity deletion and removes references to the deleted entities from any reference field,
6
6
  * through the appropriate system component.
@@ -1 +1 @@
1
- import{isNonNullish as e}from"@salsita-ai/common/utils";import{systemUpdateFactory as t}from"../../core/index.js";import{referenceComponent as n}from"../../relations/reference-component.js";export const createCascadeRefPruningTransformer=r=>(i,o,a,s,c=[])=>{let d=new Set([...i,...c].filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===d.size)return i;let m=new Set([...i,...c].filter(e=>"deleteEntity"===e.kind||"replaceDomainEntity"===e.kind).map(e=>e.entityId)),f=r.readManyComponents({componentTypes:[n]},o).map(e=>{if(m.has(e.componentInstance.entityId))return;let n=e.state.referencedEntityIds.filter(e=>!d.has(e));if(n.length<e.state.referencedEntityIds.length)return t.ComponentModification({componentInstance:e.componentInstance,updateTag:"refs.cascadePruning",writableState:{referencedEntityIds:n}})}).filter(e);return f.length>0?[...i,...f]:i};
1
+ import{isNonNullish as e}from"@salsita-ai/common/utils";import{referenceComponent as t,systemUpdateFactory as n}from"../../core/index.js";export const createCascadeRefPruningTransformer=r=>(i,a,o,s,d=[])=>{let c=new Set([...i,...d].filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===c.size)return i;let m=new Set([...i,...d].filter(e=>"deleteEntity"===e.kind||"replaceDomainEntity"===e.kind).map(e=>e.entityId)),f=r.readManyComponents({componentTypes:[t]},a).map(e=>{if(m.has(e.componentInstance.entityId))return;let t=e.state.referencedEntityIds.filter(e=>!c.has(e));if(t.length<e.state.referencedEntityIds.length)return n.ComponentModification({componentInstance:e.componentInstance,updateTag:"refs.cascadePruning",writableState:{referencedEntityIds:t}})}).filter(e);return f.length>0?[...i,...f]:i};
@@ -1,6 +1,6 @@
1
1
  import { type DomainEntity } from '../../core/index.js';
2
- import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
3
- import type { IncrementalUpdateTransformer } from '../store-system/store-system.js';
2
+ import type { ComponentReader } from '../../domain-runtime/index.js';
3
+ import type { IncrementalUpdateTransformer } from '../store-system/index.js';
4
4
  /**
5
5
  * This transformer reacts on entity creation and adds the entity to all references specified.
6
6
  */
@@ -1,2 +1,2 @@
1
- import{systemUpdateFactory as e}from"../../core/index.js";import{referenceComponent as t}from"../../relations/reference-component.js";export const createCreateEntityRefsTransformer=n=>(r,o)=>{let i=r.filter(e=>"createDomainEntity"===e.kind);if(0===i.length)return r;let a=i.flatMap(r=>{if(void 0===r.collection)return[];let i=n.readManyComponents({componentTypes:[t],entityIds:[r.parentId],instanceNames:[r.collection]},o);if(0===i.length)throw Error(`Newly created entity ${r.entityId} should be added to collection ${r.collection} on parent entity ${r.parentId}, but no such collection can be found.
2
- Check whether the collection name is correctly specified in the createDomainEntity update.`);return i.map(t=>e.ComponentModification({componentInstance:t.componentInstance,updateTag:"refs.update",writableState:{referencedEntityIds:t.state.referencedEntityIds.concat(r.entityId)}}))}).reduce((t,n)=>{let r=t[n.entityId.toString()];if(r){let o=e.ComponentModification({componentInstance:r.componentInstance,updateTag:r.updateTag,writableState:{referencedEntityIds:Array.from(new Set([...r.writableState.referencedEntityIds,...n.writableState.referencedEntityIds]))}});t[n.entityId.toString()]=o}else t[n.entityId.toString()]=n;return t},{});return r.concat(Object.values(a))};
1
+ import{referenceComponent as e,systemUpdateFactory as t}from"../../core/index.js";export const createCreateEntityRefsTransformer=n=>(r,o)=>{let i=r.filter(e=>"createDomainEntity"===e.kind);if(0===i.length)return r;let a=i.flatMap(r=>{if(void 0===r.collection)return[];let i=n.readManyComponents({componentTypes:[e],entityIds:[r.parentId],instanceNames:[r.collection]},o);if(0===i.length)throw Error(`Newly created entity ${r.entityId} should be added to collection ${r.collection} on parent entity ${r.parentId}, but no such collection can be found.
2
+ Check whether the collection name is correctly specified in the createDomainEntity update.`);return i.map(e=>t.ComponentModification({componentInstance:e.componentInstance,updateTag:"refs.update",writableState:{referencedEntityIds:e.state.referencedEntityIds.concat(r.entityId)}}))}).reduce((e,n)=>{let r=e[n.entityId.toString()];if(r){let o=t.ComponentModification({componentInstance:r.componentInstance,updateTag:r.updateTag,writableState:{referencedEntityIds:Array.from(new Set([...r.writableState.referencedEntityIds,...n.writableState.referencedEntityIds]))}});e[n.entityId.toString()]=o}else e[n.entityId.toString()]=n;return e},{});return r.concat(Object.values(a))};
@@ -0,0 +1,4 @@
1
+ export { createCascadeDeletesTransformer } from './cascade-deletes.js';
2
+ export { createCascadeRefPruningTransformer } from './cascade-ref-pruning.js';
3
+ export { createCreateEntityRefsTransformer } from './create-entity-refs.js';
4
+ export { createRefReplaceTransformer } from './replace-refs.js';
@@ -0,0 +1 @@
1
+ export{createCascadeDeletesTransformer}from"./cascade-deletes.js";export{createCascadeRefPruningTransformer}from"./cascade-ref-pruning.js";export{createCreateEntityRefsTransformer}from"./create-entity-refs.js";export{createRefReplaceTransformer}from"./replace-refs.js";
@@ -1,6 +1,6 @@
1
1
  import { type DomainEntity } from '../../core/index.js';
2
- import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
3
- import type { IncrementalUpdateTransformer } from '../store-system/store-system.js';
2
+ import type { ComponentReader } from '../../domain-runtime/index.js';
3
+ import type { IncrementalUpdateTransformer } from '../store-system/index.js';
4
4
  /**
5
5
  * This transformer reacts on entity replacement and updates references to the replaced entities in any other entity.
6
6
  */
@@ -1 +1 @@
1
- import{isNonNullish as e}from"@salsita-ai/common/utils";import{systemUpdateFactory as t}from"../../core/index.js";import{referenceComponent as n}from"../../relations/reference-component.js";export const createRefReplaceTransformer=i=>(r,o,a,c,m=[])=>{let p=new Map(r.filter(e=>"replaceDomainEntity"===e.kind).map(e=>[e.entityId,e.replacementEntity.id]));if(0===p.size)return r;let s=new Set([...r,...m].filter(e=>"deleteEntity"===e.kind||"replaceDomainEntity"===e.kind).map(e=>e.entityId)),d=i.readManyComponents({componentTypes:[n]},o).map(e=>{if(s.has(e.componentInstance.entityId)&&!p.has(e.componentInstance.entityId))return;let n=!1,i=e.state.referencedEntityIds.map(e=>{let t=p.get(e);return void 0!==t?(n=!0,t):e});if(n)return t.ComponentModification({componentInstance:{...e.componentInstance,entityId:p.get(e.componentInstance.entityId)??e.componentInstance.entityId},updateTag:"refs.replace",writableState:{referencedEntityIds:i}})}).filter(e);return d.length>0?[...r,...d]:r};
1
+ import{isNonNullish as e}from"@salsita-ai/common/utils";import{referenceComponent as t,systemUpdateFactory as n}from"../../core/index.js";export const createRefReplaceTransformer=i=>(r,a,o,c,p=[])=>{let m=new Map(r.filter(e=>"replaceDomainEntity"===e.kind).map(e=>[e.entityId,e.replacementEntity.id]));if(0===m.size)return r;let d=new Set([...r,...p].filter(e=>"deleteEntity"===e.kind||"replaceDomainEntity"===e.kind).map(e=>e.entityId)),s=i.readManyComponents({componentTypes:[t]},a).map(e=>{if(d.has(e.componentInstance.entityId)&&!m.has(e.componentInstance.entityId))return;let t=!1,i=e.state.referencedEntityIds.map(e=>{let n=m.get(e);return void 0!==n?(t=!0,n):e});if(t)return n.ComponentModification({componentInstance:{...e.componentInstance,entityId:m.get(e.componentInstance.entityId)??e.componentInstance.entityId},updateTag:"refs.replace",writableState:{referencedEntityIds:i}})}).filter(e);return s.length>0?[...r,...s]:r};
@@ -0,0 +1,4 @@
1
+ export { applyUpdates } from './apply-updates.js';
2
+ export { getIdSequence, nextDomainEntityId } from './next-domain-entity-id.js';
3
+ export { type AnyCreateTransformersFactory, type AnyStoreSystem, type CommitPreparedOutcome, type IncrementalUpdateTransformer, type StateEmissionKind, type StateSliceName, StoreSystem, type TransformerLogFunction, type TransformerRegistration, type Transformers, type Unregister, type UpdateTransformer, } from './store-system.js';
4
+ export { SystemState, type SystemStateContext, SystemStateInitialUpdateTag, SystemStateUpdateTag, } from './system-state.js';
@@ -0,0 +1 @@
1
+ export{applyUpdates}from"./apply-updates.js";export{getIdSequence,nextDomainEntityId}from"./next-domain-entity-id.js";export{StoreSystem}from"./store-system.js";export{SystemState,SystemStateInitialUpdateTag,SystemStateUpdateTag}from"./system-state.js";
@@ -1 +1 @@
1
- import{systemUpdateFactory as e}from"../../core/index.js";import{getIdSequence as t}from"../store-system/next-domain-entity-id.js";let n=e=>"string"==typeof e.parentId&&"string"==typeof e.instanceName&&"string"==typeof e.key,o=(e,t,n,o)=>`${e}|${t}|${n}|${o}`;export const reconcileProjectedEntities=(a,p,i)=>{let r=new Map;for(let e of p){let t=String(e.componentInstance.entityId),n=e.componentInstance.instanceName;for(let a of e.state.blueprints){let e=o(t,n,a.key,a.type);r.set(e,{type:a.type,defaults:a.defaults,parentId:t,instanceName:n,key:a.key})}}let d=new Map;for(let e of a)if(n(e)){let t=o(e.parentId,e.instanceName,e.key,e.type);d.set(t,e)}let s=[],l=t(a,i);for(let[t,n]of r)if(!d.has(t)){let o=l.nextId(n.type),a={...n.defaults,id:o,type:n.type,parentId:n.parentId,instanceName:n.instanceName,key:n.key};s.push({dataUpdate:e.DomainEntityCreation({entity:a,parentId:n.parentId,updateTag:"projectedEntities.reconcile"}),compoundKey:t})}for(let[t,n]of d)r.has(t)||s.push({dataUpdate:e.EntityDeletion({entityId:n.id,updateTag:"projectedEntities.reconcile"}),compoundKey:t});return s};export const mergeReconciliationsUpdates=(e,t)=>{let n=new Map;for(let t of e)n.set(t.compoundKey,t);for(let e of t){let t=n.get(e.compoundKey);t&&t.dataUpdate.kind!==e.dataUpdate.kind?n.delete(e.compoundKey):n.set(e.compoundKey,e)}return[...n.values()]};
1
+ import{systemUpdateFactory as e}from"../../core/index.js";import{getIdSequence as t}from"./next-domain-entity-id.js";let n=e=>"string"==typeof e.parentId&&"string"==typeof e.instanceName&&"string"==typeof e.key,o=(e,t,n,o)=>`${e}|${t}|${n}|${o}`;export const reconcileProjectedEntities=(a,p,i)=>{let d=new Map;for(let e of p){let t=String(e.componentInstance.entityId),n=e.componentInstance.instanceName;for(let a of e.state.blueprints){let e=o(t,n,a.key,a.type);d.set(e,{type:a.type,defaults:a.defaults,parentId:t,instanceName:n,key:a.key})}}let r=new Map;for(let e of a)if(n(e)){let t=o(e.parentId,e.instanceName,e.key,e.type);r.set(t,e)}let s=[],l=t(a,i);for(let[t,n]of d)if(!r.has(t)){let o=l.nextId(n.type),a={...n.defaults,id:o,type:n.type,parentId:n.parentId,instanceName:n.instanceName,key:n.key};s.push({dataUpdate:e.DomainEntityCreation({entity:a,parentId:n.parentId,updateTag:"projectedEntities.reconcile"}),compoundKey:t})}for(let[t,n]of r)d.has(t)||s.push({dataUpdate:e.EntityDeletion({entityId:n.id,updateTag:"projectedEntities.reconcile"}),compoundKey:t});return s};export const mergeReconciliationsUpdates=(e,t)=>{let n=new Map;for(let t of e)n.set(t.compoundKey,t);for(let e of t){let t=n.get(e.compoundKey);t&&t.dataUpdate.kind!==e.dataUpdate.kind?n.delete(e.compoundKey):n.set(e.compoundKey,e)}return[...n.values()]};
@@ -1,9 +1,6 @@
1
1
  import { type ObservableWithLastValue } from '@salsita-ai/common/utils';
2
- import { type $DomainEntity, type ComponentModification, type DataUpdate, type DomainEntity, type DomainEntityModification, type DomainState, type EphemeralRecordModification, type StateUpdate, type SystemComponentTypeConstraint, type ViolationTypesOf$Entity } from '../../core/index.js';
3
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
4
- import type { DomainServicesSelectors } from '../../domain-runtime/domain-services/index.js';
5
- import type { EnvironmentSelectors } from '../../domain-runtime/environment/index.js';
6
- import type { StateValidationResult } from '../../projections/validation-projections.js';
2
+ import { type $DomainEntity, type ComponentModification, type DataUpdate, type DomainEntity, type DomainEntityModification, type DomainState, type EphemeralRecordModification, type StateEmission, type StateUpdate, type StateUpdateEmission, type SystemComponentTypeConstraint, type TransformerPhase } from '../../core/index.js';
3
+ import type { DomainContextSelectors, DomainServicesSelectors, EnvironmentSelectors } from '../../domain-runtime/index.js';
7
4
  import type { DomainContextSystems } from '../domain-context-systems.js';
8
5
  export type Unregister = () => void;
9
6
  export type StateSliceName =
@@ -21,36 +18,6 @@ export type StateSliceName =
21
18
  * Emits for every valid committed state.
22
19
  */
23
20
  | 'committed';
24
- export interface ResetStateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
25
- readonly kind: 'reset';
26
- readonly state: DomainState<ENTITIES>;
27
- readonly validity: StateValidationResult<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>;
28
- readonly tag: unknown;
29
- readonly transformationLog: TransformationLog | undefined;
30
- }
31
- export interface StateUpdateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> {
32
- readonly kind: 'staged' | 'committed';
33
- readonly previousState: DomainState<ENTITIES>;
34
- readonly state: DomainState<ENTITIES>;
35
- readonly updates: ReadonlyArray<DataUpdate<ENTITIES, ENTITIES>>;
36
- readonly validity: StateValidationResult<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>;
37
- readonly transformationLog: TransformationLog | undefined;
38
- }
39
- export type StateEmission<ENTITIES extends DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> = ResetStateEmission<ENTITIES, $MAP> | StateUpdateEmission<ENTITIES, $MAP>;
40
- export type TransformerPhase = 'no-event' | 'no-match' | 'no-resolve' | 'match' | 'no-apply' | 'apply';
41
- export interface TransformerLogEntry {
42
- phase: TransformerPhase;
43
- message: string;
44
- data: unknown | undefined;
45
- }
46
- export interface TransformerLog {
47
- name: string;
48
- entries: readonly TransformerLogEntry[];
49
- status: TransformerPhase;
50
- updatesIn: ReadonlyArray<StateUpdate<DomainEntity<string>, DomainEntity<string>>>;
51
- updatesOut: ReadonlyArray<StateUpdate<DomainEntity<string>, DomainEntity<string>>>;
52
- }
53
- export type TransformationLog = readonly TransformerLog[];
54
21
  export type TransformerLogFunction = (phase: TransformerPhase, message: string, data?: unknown) => void;
55
22
  export type UpdateTransformer<ENTITIES extends DomainEntity<string> = DomainEntity<string>> = (updates: ReadonlyArray<StateUpdate<ENTITIES, ENTITIES>>, previousState: DomainState<ENTITIES>, kind: StateEmissionKind, log: TransformerLogFunction | undefined) => ReadonlyArray<StateUpdate<ENTITIES, ENTITIES>>;
56
23
  export type IncrementalUpdateTransformer<ENTITIES extends DomainEntity<string> = DomainEntity<string>> = (unprocessedUpdates: ReadonlyArray<StateUpdate<ENTITIES, ENTITIES>>, previousState: DomainState<ENTITIES>, kind: StateEmissionKind, log: TransformerLogFunction | undefined, processedUpdates?: ReadonlyArray<StateUpdate<ENTITIES, ENTITIES>>) => ReadonlyArray<StateUpdate<ENTITIES, ENTITIES>>;
@@ -86,6 +53,11 @@ export declare class StoreSystem<ENTITIES extends DomainEntity<string>, $MAP ext
86
53
  private readonly _context;
87
54
  readonly stateSlices: Readonly<Record<StateSliceName, ObservableWithLastValue<StateEmission<ENTITIES, $MAP>>>>;
88
55
  get isInitialized(): boolean;
56
+ /**
57
+ * True while a change the user is making, such as a drag, is staged and neither committed nor
58
+ * rolled back. A hover is shown through a staged emission too, but stages no updates.
59
+ */
60
+ get hasStagedUpdates(): boolean;
89
61
  private _onBeforeCommitHooks;
90
62
  private readonly committed;
91
63
  private readonly potentiallyInvalid;
@@ -1,2 +1,2 @@
1
- import{CompositeKeyMap as e,assertExistence as t,isEqualArray as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as r,dragStateComponent as o,getComponentSystemFilterState as s,hoverStateComponent as n,isEqualComponentInstance as a,isSystemViewportStateComponentSnapshot as d,isVirtualEntityId as m,selectionStateComponent as l,systemUpdateFactory as c,systemVirtualEntityId as p}from"../../core/index.js";import{projectedEntitiesComponent as h}from"../../system-components/index.js";import{cloneEvalCache as f,createEvalCacheToken as v,getEvalCache as g,setEvalCache as u}from"../../utils/eval-cache.js";import{createCascadeDeletesTransformer as y}from"../relation-transformers/cascade-deletes.js";import{createCascadeRefPruningTransformer as S}from"../relation-transformers/cascade-ref-pruning.js";import{applyUpdates as I}from"./apply-updates.js";import{LifecycleStateSlice as _}from"./lifecycle-state-slice.js";import{mergeReconciliationsUpdates as x,reconcileProjectedEntities as T}from"./reconcile-projected-entities.js";let E={uninitializedError:"StoreSystem is not initialized."},k=v({clone:e=>e}),w=class InvalidInitialStateError extends Error{emission;childError;constructor(e,t,i){let r="";"uncaught"===e.validity.severity&&(r=`: ${e.validity.error.message}`),("fatal"===e.validity.severity||"fixable"===e.validity.severity)&&(r=`: ${e.validity.entityViolations.map(e=>{let i=e.violation.message;return null!=i?t(i):e.violation.type}).join(", ")}`),super(`Initial state is not valid! Severity: ${e.validity.severity}, Cause: ${r}`),this.emission=e,this.childError=i,this.name="InvalidInitialStateError"}},b=(e,t)=>{try{return e()}catch(e){throw t(e),e}};export class StoreSystem{_context;stateSlices;get isInitialized(){return this.committed.isInitialized}_onBeforeCommitHooks=[];committed=new _(E);potentiallyInvalid=new _(E);rendered=new _(E);stagedUpdates=void 0;transformToDataUpdates=(e,t)=>{let i=!1,r=e.map(e=>"modifyComponent"===e.kind?(i=!0,this.componentModificationToDataUpdate(e,t)):e);return i?r:e};createInitialTransformPipe=()=>[{transformer:this.transformToDataUpdates,priority:1/0,registrationToken:{},name:"TransformToDataUpdates"}];transformPipe=this.createInitialTransformPipe();_cascadeDeletesTransformer=(...e)=>(this._cascadeDeletesTransformerMemo??=y(this._context.selectors.getCompositionProjections()))(...e);_cascadeDeletesTransformerMemo;_refPruningTransformer=(...e)=>(this._refPruningTransformerMemo??=S(this._context.selectors.getComponentReader()))(...e);_refPruningTransformerMemo;_deselectOnDeleteTransformer=(e,t)=>{let i=new Set(e.filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===i.size)return e;let r=s(t).selectedEntityId;return r&&i.has(r)?[...e,c.EphemeralRecordModification({componentInstance:{entityId:p,componentType:l},updateTag:"AutoDeselectRemovedProjectedEntity",writableState:{selectedEntityId:t.rootEntityId}})]:e};constructor(e){this._context=e,this.stateSlices={committed:this.committed.observable,rendered:this.rendered.observable,potentiallyInvalid:this.potentiallyInvalid.observable}}_validateState=e=>this._context.selectors.getValidationProjections().validateState(e);initialize=()=>{let e=this._context.selectors.getInitialDomainState();this.stagedUpdates=void 0;let t=this._validateState(e),i={kind:"reset",state:e,validity:t,tag:void 0,transformationLog:void 0},r=i;if(!r.validity.valid&&"fatal"===r.validity.severity||"fixable"===r.validity.severity){this._context.domainServicesSelectors.getLogger().debug("Trying to fix initial emission:",r);let e=r.state,{transformedUpdates:t,transformationLog:i}=this.applyTransformers([],e,"committed"),o=I(this.transformToDataUpdates(t,e),e);f(e,o),r={kind:"reset",state:o,validity:this._validateState(o),tag:"fixed",transformationLog:i}}if(!r.validity.valid){if(this._context.domainServicesSelectors.getLogger().error("Invalid initial emission:",{initialEmission:i,fixedEmission:r}),"uncaught"===r.validity.severity)throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable(),r.validity.error??void 0);throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable())}this.committed.next(r),this.rendered.next(r),this.potentiallyInvalid.next(r)};registerTransformer(e,i,r){let o={};return((e,i,r)=>{let o=0;for(;o<e.length&&0>=r(t(e[o]),i);)o++;e.splice(o,0,i)})(this.transformPipe,{registrationToken:o,transformer:i,priority:e,name:r},(e,t)=>e.priority===t.priority?0:e.priority<t.priority?-1:1),()=>{let e=this.transformPipe.findIndex(e=>e.registrationToken===o);-1!==e&&this.transformPipe.splice(e,1)}}onBeforeCommit(e){return this._onBeforeCommitHooks.push(e),()=>{this._onBeforeCommitHooks=this._onBeforeCommitHooks.filter(t=>t!==e)}}componentModificationToDataUpdate=(e,t)=>{let i=e.entityId;if(!m(i)){let t=this._context.selectors.getComponentReaderIndexes().opticMap.get(r(i))?.get(e.componentInstance.componentType)?.get(e.componentInstance.instanceName);if(t?.kind==="simple"){let r=t.write(e.writableState);return{kind:"modifyDomainEntity",entityId:i,updateTag:e.updateTag,stateDelta:r,hint:e.hint,agentHint:e.agentHint,origin:e}}}let o=t.ephemeralRecords.find(t=>a(t.componentInstance,e.componentInstance));if(o)return{kind:"modifyEphemeralRecord",entityId:e.entityId,updateTag:e.updateTag,componentInstance:o.componentInstance,writableState:e.writableState,hint:e.hint,agentHint:e.agentHint};throw Error(`Component ${e.componentInstance.componentType.name} is not attached on entity #${e.entityId}`)};getNewState=(e,t)=>{let i=I(this.transformToDataUpdates(e,t),t);return f(this.rendered.isInitialized?this.rendered.value.state:t,i),i};applyTransformers(e,t,i){let r=this._context.environmentSelectors.getEnvironmentIsDev()?[]:void 0;return{transformedUpdates:this.transformPipe.reduce((e,{transformer:o,name:s})=>{let n,a=r?[]:void 0,d=a?(e,t,i)=>{n=e,a.push({phase:e,message:t,data:i})}:void 0,m=b(()=>o(e,t,i,d),o=>{this._context.domainServicesSelectors.getLogger().error("Error while applying transformer!",{name:s,updates:e,previousState:t,kind:i,transformationLog:r},o instanceof Error?o:Error(String(o)))});return a&&r&&r.push({name:s,status:n??(m===e?"no-event":"apply"),entries:a,updatesIn:e,updatesOut:m}),m},e),transformationLog:r}}_updateProjectedEntities(e,t,r){if(!e.validity.valid)return e;let o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},e.state),s=g(e.previousState,k);if(s&&i(s,o))return e;let n=0,a=e,d=[];for(;a.validity.valid;){n++;let i=T(a.state.entities,o,t);if(0===i.length)break;if(n>10)throw Error(`Maximum number of reconciliation rounds reached: 10. Projected entities seem to be recursively depending on themselves.
2
- If expressions populating 'projectedEntities' components rely on other projected entities, make sure that the dependencies do not have cycles.`);let s=(d=x(d,i)).map(e=>e.dataUpdate),m=this._cascadeDeletesTransformer(s,e.previousState,r,void 0,t),l=this._refPruningTransformer(m,e.previousState,r,void 0,t),c=this._deselectOnDeleteTransformer(l,e.previousState,r,void 0,t);if(!(a=this.prepareStateEmissionWithoutTransformation([...t,...c],e.previousState,r)).validity.valid)return this._context.domainServicesSelectors.getLogger().error("Reconciliation of projected entities led to an invalid state! Reconciliation skipped.",{emission:a}),e;o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},a.state)}return u(a.state,k,o),a}prepareStateEmission(e,t,i){let{transformedUpdates:r,transformationLog:o}=this.applyTransformers(e,t,i),s=this.prepareStateEmissionWithoutTransformation(r,t,i);return{...this._updateProjectedEntities(s,r,i),transformationLog:o}}emissionCache=new e([Map,WeakMap,WeakMap,WeakMap,WeakMap]);getEmissionCacheKey=(e,t,i)=>[e,t,i,this._context.selectors.getStoreRuntimeDependencies(),this._context.selectors.getExpressionContext()];prepareStateEmissionWithoutTransformation=(e,t,i)=>{let r=this.getEmissionCacheKey(i,t,e),o=this.emissionCache.get(r);if(o)return o;let s=b(()=>this.transformToDataUpdates(e,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while transforming updates to data updates!",{updates:e,previousState:t,kind:i},r instanceof Error?r:Error(String(r)))}),n=b(()=>I(s,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while applying updates!",{updates:e,previousState:t,kind:i,dataUpdates:s},r instanceof Error?r:Error(String(r)))});f(this.rendered.isInitialized?this.rendered.value.state:t,n);let a=this._validateState(n);"uncaught"===a.severity&&this._context.domainServicesSelectors.getLogger().error("There was an uncaught validation error:",{updates:e,dataUpdates:s,previousState:t,newState:n,kind:i},a.error);let d={kind:i,previousState:t,state:n,updates:s,validity:a,transformationLog:void 0};return this.emissionCache.set(r,d),d};stage(e,t=!0){this.stagedUpdates=e;let i=this.prepareStateEmission(e,this.committed.value.state,"staged");return t&&this.emit(i),i}emit(e){"staged"===e.kind?e.validity.valid&&this.rendered.nextIfDifferent(e):(e.validity.valid?(this.committed.nextIfDifferent(e),this.rendered.nextIfDifferent(e)):this.rendered.nextIfDifferent(this.committed.value),this.potentiallyInvalid.nextIfDifferent(e))}commit=()=>{if(void 0===this.stagedUpdates)return;let e=this.prepareStateEmission(this.stagedUpdates,this.committed.value.state,"committed"),t=()=>{if(this._onBeforeCommitHooks.some(i=>!1===i(e,t))){this._context.domainServicesSelectors.getLogger().debug("Commit was canceled by one of the onBeforeCommit hooks! Resetting rendered state.",e),this.rollback();return}this.stagedUpdates=void 0,this._context.domainServicesSelectors.getLogger().debug("commit",e),this.emit(e)};t()};commitPrepared=e=>{if("committed"!==e.kind||!e.validity.valid)throw Error(`commitPrepared received a ${e.validity.valid?e.kind:"invalid"} emission, but only a valid committed emission can become the committed state. Prepare the emission with kind "committed" and check its validity before committing it.`);let t=()=>e.previousState===this.committed.value.state;if(!t())return"conflict";let i=()=>{t()?r():this._context.domainServicesSelectors.getLogger().warn("A held commit was dropped, because the committed state changed since it was prepared.",e)},r=()=>this._onBeforeCommitHooks.some(t=>!1===t(e,i))?(this._context.domainServicesSelectors.getLogger().debug("A prepared commit was held by one of the onBeforeCommit hooks.",e),!1):(this._context.domainServicesSelectors.getLogger().debug("commitPrepared",e),this.stagedUpdates=void 0,this.emit(e),!0);return r()?"committed":"held"};rollback=()=>{void 0!==this.stagedUpdates&&(this.stagedUpdates=void 0,this.emit(this.committed.value))};_resetInteractionState(e){return e.ephemeralRecords.some(e=>{let t;return(t=e.componentInstance.componentType)===n||t===o})?{...e,ephemeralRecords:e.ephemeralRecords.map(e=>e.componentInstance.componentType===n?{...e,state:{hoveredEntityId:null}}:e.componentInstance.componentType===o?{...e,state:{draggedEntityId:null}}:e)}:e}_preserveViewportState(e,t){let i=t.ephemeralRecords.find(d),r=e.ephemeralRecords.filter(e=>!d(e));return{...e,ephemeralRecords:i?[...r,i]:r}}reset(e,t){let i=this.committed.value.state,r=this._preserveViewportState(e,i),o=this._resetInteractionState(r),s=this._validateState(o);if(!s.valid)throw Error("Cannot reset to an invalid state");this.stagedUpdates=void 0,this.emit({kind:"reset",state:o,validity:s,tag:t,transformationLog:void 0})}stageAndCommit(e){if(0!==e.length){this.stagedUpdates=e;try{this.commit()}finally{this.stagedUpdates=void 0}}}}
1
+ import{CompositeKeyMap as e,assertExistence as t,isEqualArray as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as r,dragStateComponent as o,getComponentSystemFilterState as s,hoverStateComponent as n,isEqualComponentInstance as a,isSystemViewportStateComponentSnapshot as d,isVirtualEntityId as m,selectionStateComponent as l,systemUpdateFactory as c,systemVirtualEntityId as p}from"../../core/index.js";import{projectedEntitiesComponent as h}from"../../system-components/index.js";import{cloneEvalCache as v,createEvalCacheToken as f,getEvalCache as g,setEvalCache as u}from"../../utils/eval-cache.js";import{createCascadeDeletesTransformer as y,createCascadeRefPruningTransformer as S}from"../relation-transformers/index.js";import{applyUpdates as I}from"./apply-updates.js";import{LifecycleStateSlice as _}from"./lifecycle-state-slice.js";import{mergeReconciliationsUpdates as x,reconcileProjectedEntities as T}from"./reconcile-projected-entities.js";let E={uninitializedError:"StoreSystem is not initialized."},k=f({clone:e=>e}),w=class InvalidInitialStateError extends Error{emission;childError;constructor(e,t,i){let r="";"uncaught"===e.validity.severity&&(r=`: ${e.validity.error.message}`),("fatal"===e.validity.severity||"fixable"===e.validity.severity)&&(r=`: ${e.validity.entityViolations.map(e=>{let i=e.violation.message;return null!=i?t(i):e.violation.type}).join(", ")}`),super(`Initial state is not valid! Severity: ${e.validity.severity}, Cause: ${r}`),this.emission=e,this.childError=i,this.name="InvalidInitialStateError"}},b=(e,t)=>{try{return e()}catch(e){throw t(e),e}};export class StoreSystem{_context;stateSlices;get isInitialized(){return this.committed.isInitialized}get hasStagedUpdates(){return void 0!==this.stagedUpdates}_onBeforeCommitHooks=[];committed=new _(E);potentiallyInvalid=new _(E);rendered=new _(E);stagedUpdates=void 0;transformToDataUpdates=(e,t)=>{let i=!1,r=e.map(e=>"modifyComponent"===e.kind?(i=!0,this.componentModificationToDataUpdate(e,t)):e);return i?r:e};createInitialTransformPipe=()=>[{transformer:this.transformToDataUpdates,priority:1/0,registrationToken:{},name:"TransformToDataUpdates"}];transformPipe=this.createInitialTransformPipe();_cascadeDeletesTransformer=(...e)=>(this._cascadeDeletesTransformerMemo??=y(this._context.selectors.getCompositionProjections()))(...e);_cascadeDeletesTransformerMemo;_refPruningTransformer=(...e)=>(this._refPruningTransformerMemo??=S(this._context.selectors.getComponentReader()))(...e);_refPruningTransformerMemo;_deselectOnDeleteTransformer=(e,t)=>{let i=new Set(e.filter(e=>"deleteEntity"===e.kind).map(e=>e.entityId));if(0===i.size)return e;let r=s(t).selectedEntityId;return r&&i.has(r)?[...e,c.EphemeralRecordModification({componentInstance:{entityId:p,componentType:l},updateTag:"AutoDeselectRemovedProjectedEntity",writableState:{selectedEntityId:t.rootEntityId}})]:e};constructor(e){this._context=e,this.stateSlices={committed:this.committed.observable,rendered:this.rendered.observable,potentiallyInvalid:this.potentiallyInvalid.observable}}_validateState=e=>this._context.selectors.getValidationProjections().validateState(e);initialize=()=>{let e=this._context.selectors.getInitialDomainState();this.stagedUpdates=void 0;let t=this._validateState(e),i={kind:"reset",state:e,validity:t,tag:void 0,transformationLog:void 0},r=i;if(!r.validity.valid&&"fatal"===r.validity.severity||"fixable"===r.validity.severity){this._context.domainServicesSelectors.getLogger().debug("Trying to fix initial emission:",r);let e=r.state,{transformedUpdates:t,transformationLog:i}=this.applyTransformers([],e,"committed"),o=I(this.transformToDataUpdates(t,e),e);v(e,o),r={kind:"reset",state:o,validity:this._validateState(o),tag:"fixed",transformationLog:i}}if(!r.validity.valid){if(this._context.domainServicesSelectors.getLogger().error("Invalid initial emission:",{initialEmission:i,fixedEmission:r}),"uncaught"===r.validity.severity)throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable(),r.validity.error??void 0);throw new w(r,this._context.domainServicesSelectors.getResolveLocalizable())}this.committed.next(r),this.rendered.next(r),this.potentiallyInvalid.next(r)};registerTransformer(e,i,r){let o={};return((e,i,r)=>{let o=0;for(;o<e.length&&0>=r(t(e[o]),i);)o++;e.splice(o,0,i)})(this.transformPipe,{registrationToken:o,transformer:i,priority:e,name:r},(e,t)=>e.priority===t.priority?0:e.priority<t.priority?-1:1),()=>{let e=this.transformPipe.findIndex(e=>e.registrationToken===o);-1!==e&&this.transformPipe.splice(e,1)}}onBeforeCommit(e){return this._onBeforeCommitHooks.push(e),()=>{this._onBeforeCommitHooks=this._onBeforeCommitHooks.filter(t=>t!==e)}}componentModificationToDataUpdate=(e,t)=>{let i=e.entityId;if(!m(i)){let t=this._context.selectors.getComponentReaderIndexes().opticMap.get(r(i))?.get(e.componentInstance.componentType)?.get(e.componentInstance.instanceName);if(t?.kind==="simple"){let r=t.write(e.writableState);return{kind:"modifyDomainEntity",entityId:i,updateTag:e.updateTag,stateDelta:r,hint:e.hint,agentHint:e.agentHint,origin:e}}}let o=t.ephemeralRecords.find(t=>a(t.componentInstance,e.componentInstance));if(o)return{kind:"modifyEphemeralRecord",entityId:e.entityId,updateTag:e.updateTag,componentInstance:o.componentInstance,writableState:e.writableState,hint:e.hint,agentHint:e.agentHint};throw Error(`Component ${e.componentInstance.componentType.name} is not attached on entity #${e.entityId}`)};getNewState=(e,t)=>{let i=I(this.transformToDataUpdates(e,t),t);return v(this.rendered.isInitialized?this.rendered.value.state:t,i),i};applyTransformers(e,t,i){let r=this._context.environmentSelectors.getEnvironmentIsDev()?[]:void 0;return{transformedUpdates:this.transformPipe.reduce((e,{transformer:o,name:s})=>{let n,a=r?[]:void 0,d=a?(e,t,i)=>{n=e,a.push({phase:e,message:t,data:i})}:void 0,m=b(()=>o(e,t,i,d),o=>{this._context.domainServicesSelectors.getLogger().error("Error while applying transformer!",{name:s,updates:e,previousState:t,kind:i,transformationLog:r},o instanceof Error?o:Error(String(o)))});return a&&r&&r.push({name:s,status:n??(m===e?"no-event":"apply"),entries:a,updatesIn:e,updatesOut:m}),m},e),transformationLog:r}}_updateProjectedEntities(e,t,r){if(!e.validity.valid)return e;let o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},e.state),s=g(e.previousState,k);if(s&&i(s,o))return e;let n=0,a=e,d=[];for(;a.validity.valid;){n++;let i=T(a.state.entities,o,t);if(0===i.length)break;if(n>10)throw Error(`Maximum number of reconciliation rounds reached: 10. Projected entities seem to be recursively depending on themselves.
2
+ If expressions populating 'projectedEntities' components rely on other projected entities, make sure that the dependencies do not have cycles.`);let s=(d=x(d,i)).map(e=>e.dataUpdate),m=this._cascadeDeletesTransformer(s,e.previousState,r,void 0,t),l=this._refPruningTransformer(m,e.previousState,r,void 0,t),c=this._deselectOnDeleteTransformer(l,e.previousState,r,void 0,t);if(!(a=this.prepareStateEmissionWithoutTransformation([...t,...c],e.previousState,r)).validity.valid)return this._context.domainServicesSelectors.getLogger().error("Reconciliation of projected entities led to an invalid state! Reconciliation skipped.",{emission:a}),e;o=this._context.selectors.getComponentReader().readManyComponents({componentTypes:[h]},a.state)}return u(a.state,k,o),a}prepareStateEmission(e,t,i){let{transformedUpdates:r,transformationLog:o}=this.applyTransformers(e,t,i),s=this.prepareStateEmissionWithoutTransformation(r,t,i);return{...this._updateProjectedEntities(s,r,i),transformationLog:o}}emissionCache=new e([Map,WeakMap,WeakMap,WeakMap,WeakMap]);getEmissionCacheKey=(e,t,i)=>[e,t,i,this._context.selectors.getStoreRuntimeDependencies(),this._context.selectors.getExpressionContext()];prepareStateEmissionWithoutTransformation=(e,t,i)=>{let r=this.getEmissionCacheKey(i,t,e),o=this.emissionCache.get(r);if(o)return o;let s=b(()=>this.transformToDataUpdates(e,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while transforming updates to data updates!",{updates:e,previousState:t,kind:i},r instanceof Error?r:Error(String(r)))}),n=b(()=>I(s,t),r=>{this._context.domainServicesSelectors.getLogger().error("Error while applying updates!",{updates:e,previousState:t,kind:i,dataUpdates:s},r instanceof Error?r:Error(String(r)))});v(this.rendered.isInitialized?this.rendered.value.state:t,n);let a=this._validateState(n);"uncaught"===a.severity&&this._context.domainServicesSelectors.getLogger().error("There was an uncaught validation error:",{updates:e,dataUpdates:s,previousState:t,newState:n,kind:i},a.error);let d={kind:i,previousState:t,state:n,updates:s,validity:a,transformationLog:void 0};return this.emissionCache.set(r,d),d};stage(e,t=!0){this.stagedUpdates=e;let i=this.prepareStateEmission(e,this.committed.value.state,"staged");return t&&this.emit(i),i}emit(e){"staged"===e.kind?e.validity.valid&&this.rendered.nextIfDifferent(e):(e.validity.valid?(this.committed.nextIfDifferent(e),this.rendered.nextIfDifferent(e)):this.rendered.nextIfDifferent(this.committed.value),this.potentiallyInvalid.nextIfDifferent(e))}commit=()=>{if(void 0===this.stagedUpdates)return;let e=this.prepareStateEmission(this.stagedUpdates,this.committed.value.state,"committed"),t=()=>{if(this._onBeforeCommitHooks.some(i=>!1===i(e,t))){this._context.domainServicesSelectors.getLogger().debug("Commit was canceled by one of the onBeforeCommit hooks! Resetting rendered state.",e),this.rollback();return}this.stagedUpdates=void 0,this._context.domainServicesSelectors.getLogger().debug("commit",e),this.emit(e)};t()};commitPrepared=e=>{if("committed"!==e.kind||!e.validity.valid)throw Error(`commitPrepared received a ${e.validity.valid?e.kind:"invalid"} emission, but only a valid committed emission can become the committed state. Prepare the emission with kind "committed" and check its validity before committing it.`);let t=()=>e.previousState===this.committed.value.state;if(!t())return"conflict";let i=()=>{t()?r():this._context.domainServicesSelectors.getLogger().warn("A held commit was dropped, because the committed state changed since it was prepared.",e)},r=()=>this._onBeforeCommitHooks.some(t=>!1===t(e,i))?(this._context.domainServicesSelectors.getLogger().debug("A prepared commit was held by one of the onBeforeCommit hooks.",e),!1):(this._context.domainServicesSelectors.getLogger().debug("commitPrepared",e),this.stagedUpdates=void 0,this.emit(e),!0);return r()?"committed":"held"};rollback=()=>{void 0!==this.stagedUpdates&&(this.stagedUpdates=void 0,this.emit(this.committed.value))};_resetInteractionState(e){return e.ephemeralRecords.some(e=>{let t;return(t=e.componentInstance.componentType)===n||t===o})?{...e,ephemeralRecords:e.ephemeralRecords.map(e=>e.componentInstance.componentType===n?{...e,state:{hoveredEntityId:null}}:e.componentInstance.componentType===o?{...e,state:{draggedEntityId:null}}:e)}:e}_preserveViewportState(e,t){let i=t.ephemeralRecords.find(d),r=e.ephemeralRecords.filter(e=>!d(e));return{...e,ephemeralRecords:i?[...r,i]:r}}reset(e,t){let i=this.committed.value.state,r=this._preserveViewportState(e,i),o=this._resetInteractionState(r),s=this._validateState(o);if(!s.valid)throw Error("Cannot reset to an invalid state");this.stagedUpdates=void 0,this.emit({kind:"reset",state:o,validity:s,tag:t,transformationLog:void 0})}stageAndCommit(e){if(0!==e.length){this.stagedUpdates=e;try{this.commit()}finally{this.stagedUpdates=void 0}}}}
@@ -1,5 +1,5 @@
1
1
  import { type DomainEntity, type DomainState, type StateOfComponent, type SystemComponentTypeConstraint, type WritableStateOfComponent } from '../../core/index.js';
2
- import type { DomainContextSelectors } from '../../domain-runtime/domain-context/index.js';
2
+ import type { DomainContextSelectors } from '../../domain-runtime/index.js';
3
3
  export declare const SystemStateInitialUpdateTag = "system.state.initial";
4
4
  export declare const SystemStateUpdateTag = "system.state";
5
5
  type CombinedComponentState<COMPONENT_TYPE extends SystemComponentTypeConstraint> = WritableStateOfComponent<COMPONENT_TYPE> & StateOfComponent<COMPONENT_TYPE>;
@@ -1 +1 @@
1
- import{match as e}from"ts-pattern";import{isEqualArray as t,isNonNullish as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as r}from"../../core/index.js";import{isDeselectUpdate as n,isNavigationUpdate as o,isSelectUpdate as a,isViewUpdate as l}from"../navigation-system/navigation-updates.js";import{createCascadeDeletesTransformer as s}from"../relation-transformers/cascade-deletes.js";import{createCascadeRefPruningTransformer as p}from"../relation-transformers/cascade-ref-pruning.js";import{createCreateEntityRefsTransformer as d}from"../relation-transformers/create-entity-refs.js";import{createRefReplaceTransformer as f}from"../relation-transformers/replace-refs.js";import{getIdSequence as g}from"../store-system/next-domain-entity-id.js";import{chainBuilder as u}from"./chain-builder.js";import{isContextWithEntityId as c,isContextWithUpdate as h}from"./context.js";let m=(e,t)=>{let r=[d(e.componentReader),f(e.componentReader),s(e.compositionProjections),p(e.componentReader),t?e.storeSystem.transformToDataUpdates:void 0].filter(i);return(e,t,i,n,o)=>r.reduce((e,r)=>r(e,t,i,n,o),e)};export const updateActions=s=>p=>{let d,f=t=>i=>u(r=>{let n=m(r,s);return(o,a,l,s)=>{let d=p(o,a,l,r,s);return d.length?d.reduce((r,o)=>{let p=i({...o,getIdSequence:()=>g(a.entities,r)});return e(t).with("applySideEffect",()=>0===p.length?(s?.("no-apply","No side effects applied"),r):(s?.("apply","Applying side effects",{added:p}),[...r,...n(p,a,l,s,r)])).with("overrideMatchingUpdate",()=>{let e=h(o)?o.update:null;if(1===p.length&&p[0]===e)return s?.("no-apply","Update replaced with itself, no-op"),r;s?.("apply","Overriding matched updates",{removed:[e],added:p});let t=r.filter(t=>t!==e);return[...t,...n(p,a,l,s,t)]}).exhaustive()},o):o}});return{applySideEffect:f("applySideEffect"),overrideMatchingUpdate:f("overrideMatchingUpdate"),overrideAllUpdates:e=>u(i=>{let r=m(i,s);return(n,o,a,l)=>{let s=p(n,o,a,i,l);if(!s.length)return n;s.length>1&&l?.("apply",'Multiple contexts matched for "overrideAllUpdates", picking the first one only');let d=e(s[0]);if(t(d,n))return l?.("no-apply",'Updates returned from "overrideAllUpdates" are the same as the original updates, skipping transformer'),n;let{processedUpdates:f,trulyNewUpdates:g}=d.reduce((e,t)=>(n.includes(t)?e.processedUpdates.push(t):e.trulyNewUpdates.push(t),e),{processedUpdates:[],trulyNewUpdates:[]});return l?.("apply","Overriding all updates",{removed:n,added:d,keptUnchanged:f,trulyNew:g}),[...f,...r(g,o,a,l,f)]}}),...(d=(e,t,i,r)=>{if(0===i.length)return t;i.length>1&&r?.("apply","Multiple entities supposed to be selected, picking the first one",{entityIds:i});let o=t.filter(e=>!(a(e)||n(e))),l=i[0],s=e.navigationSystem.getSelectUpdate(l);return o.length<t.length?r?.("apply",`Overriding previous selection updates with selection of entity ${l}`,{removed:t.filter(e=>a(e)||n(e)),added:s}):r?.("apply",`Selecting entity ${l}`,{added:s}),[...o,s]},{select:{entity:e=>u(t=>(r,n,o,a)=>{t.storeSystem.prepareStateEmissionWithoutTransformation(r,n,o);let l=p(r,n,o,t,a);if(0===l.length)return r;let s=l.map(e).filter(i);return 0===s.length?(a?.("no-resolve","Custom selector did not return any entity id, skipping selection"),r):d(t,r,s,a)}),self:()=>u(e=>(t,i,r,n)=>{let o=p(t,i,r,e,n);return 0===o.length?t:d(e,t,o.map(e=>{if(!c(e))throw Error("Context does not have entity id");return e.entityId}),n)}),ancestorOfType:e=>u(t=>(n,o,a,l)=>{let s=p(n,o,a,t,l);if(0===s.length)return n;let f=s.map(e=>{if(!c(e))throw Error("Context does not have entity id");return e.entityId}),g=s.map(i=>{if(!c(i))throw Error("Context does not have entity id");let n=t.compositionProjections.getTree(o).map.get(i.entityId);if(!n)throw Error(`Entity with id ${i.entityId} not found in the composition tree. The state is invalid!`);for(let t of n.ancestors())if(e.includes(r(t.id)))return t.id}),u=g.filter(i);return(u.length<f.length&&l?.("no-apply",0===u.length?"No entities have ancestor of the specified type, skipping selection":"Some entities do not have ancestor of the specified type",{entityIds:f.filter((e,t)=>void 0===g[t])}),0===u.length)?n:d(t,n,u,l)})},deselect:()=>u(e=>(t,i,r,o)=>0===p(t,i,r,e,o).length?t:[...t.filter(e=>!(a(e)||n(e))),e.navigationSystem.getDeselectUpdate()]),navigateTo:e=>u(t=>(r,n,a,l)=>{let s=p(r,n,a,t,l);if(0===s.length)return r;let d=s.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===d.length)return l?.("no-resolve","Custom selector did not return any navigation state, skipping navigation"),r;d.length>1&&l?.("apply","Multiple navigation states selected, picking the first one",{navigationStates:d});let f=d[0],g=t.navigationSystem.getNavigationUpdate(f),u=r.filter(e=>!o(e));return u.length<r.length?l?.("apply",`Overriding previous navigation updates with ${f}`,{removed:r.filter(e=>o(e)),added:g}):l?.("apply",`Navigating to ${f}`,{added:g}),[...u,g]}),changeView:e=>u(t=>(r,o,s,d)=>{let f=p(r,o,s,t,d);if(0===f.length)return r;let g=f.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===g.length)return d?.("no-resolve","Custom selector did not return any view state, skipping view change"),r;g.length>1&&d?.("apply","Multiple view states selected, picking the first one",{viewStates:g});let u=g[0],c=t.navigationSystem.getViewUpdate(u),h=r.filter(e=>!l(e));return h.length<r.length?d?.("apply",`Overriding previous view state updates with ${u}`,{removed:r.filter(e=>a(e)||n(e)),added:c}):d?.("apply",`Changing view to ${u}`,{added:c}),[...h,c]})})}};
1
+ import{match as e}from"ts-pattern";import{isEqualArray as t,isNonNullish as i}from"@salsita-ai/common/utils";import{domainEntityTypeFromId as n}from"../../core/index.js";import{isDeselectUpdate as r,isNavigationUpdate as o,isSelectUpdate as l,isViewUpdate as a}from"../navigation-system/index.js";import{createCascadeDeletesTransformer as p,createCascadeRefPruningTransformer as d,createCreateEntityRefsTransformer as s,createRefReplaceTransformer as g}from"../relation-transformers/index.js";import{getIdSequence as f}from"../store-system/index.js";import{chainBuilder as u}from"./chain-builder.js";import{isContextWithEntityId as h,isContextWithUpdate as c}from"./context.js";let m=(e,t)=>{let n=[s(e.componentReader),g(e.componentReader),p(e.compositionProjections),d(e.componentReader),t?e.storeSystem.transformToDataUpdates:void 0].filter(i);return(e,t,i,r,o)=>n.reduce((e,n)=>n(e,t,i,r,o),e)};export const updateActions=p=>d=>{let s,g=t=>i=>u(n=>{let r=m(n,p);return(o,l,a,p)=>{let s=d(o,l,a,n,p);return s.length?s.reduce((n,o)=>{let d=i({...o,getIdSequence:()=>f(l.entities,n)});return e(t).with("applySideEffect",()=>0===d.length?(p?.("no-apply","No side effects applied"),n):(p?.("apply","Applying side effects",{added:d}),[...n,...r(d,l,a,p,n)])).with("overrideMatchingUpdate",()=>{let e=c(o)?o.update:null;if(1===d.length&&d[0]===e)return p?.("no-apply","Update replaced with itself, no-op"),n;p?.("apply","Overriding matched updates",{removed:[e],added:d});let t=n.filter(t=>t!==e);return[...t,...r(d,l,a,p,t)]}).exhaustive()},o):o}});return{applySideEffect:g("applySideEffect"),overrideMatchingUpdate:g("overrideMatchingUpdate"),overrideAllUpdates:e=>u(i=>{let n=m(i,p);return(r,o,l,a)=>{let p=d(r,o,l,i,a);if(!p.length)return r;p.length>1&&a?.("apply",'Multiple contexts matched for "overrideAllUpdates", picking the first one only');let s=e(p[0]);if(t(s,r))return a?.("no-apply",'Updates returned from "overrideAllUpdates" are the same as the original updates, skipping transformer'),r;let{processedUpdates:g,trulyNewUpdates:f}=s.reduce((e,t)=>(r.includes(t)?e.processedUpdates.push(t):e.trulyNewUpdates.push(t),e),{processedUpdates:[],trulyNewUpdates:[]});return a?.("apply","Overriding all updates",{removed:r,added:s,keptUnchanged:g,trulyNew:f}),[...g,...n(f,o,l,a,g)]}}),...(s=(e,t,i,n)=>{if(0===i.length)return t;i.length>1&&n?.("apply","Multiple entities supposed to be selected, picking the first one",{entityIds:i});let o=t.filter(e=>!(l(e)||r(e))),a=i[0],p=e.navigationSystem.getSelectUpdate(a);return o.length<t.length?n?.("apply",`Overriding previous selection updates with selection of entity ${a}`,{removed:t.filter(e=>l(e)||r(e)),added:p}):n?.("apply",`Selecting entity ${a}`,{added:p}),[...o,p]},{select:{entity:e=>u(t=>(n,r,o,l)=>{t.storeSystem.prepareStateEmissionWithoutTransformation(n,r,o);let a=d(n,r,o,t,l);if(0===a.length)return n;let p=a.map(e).filter(i);return 0===p.length?(l?.("no-resolve","Custom selector did not return any entity id, skipping selection"),n):s(t,n,p,l)}),self:()=>u(e=>(t,i,n,r)=>{let o=d(t,i,n,e,r);return 0===o.length?t:s(e,t,o.map(e=>{if(!h(e))throw Error("Context does not have entity id");return e.entityId}),r)}),ancestorOfType:e=>u(t=>(r,o,l,a)=>{let p=d(r,o,l,t,a);if(0===p.length)return r;let g=p.map(e=>{if(!h(e))throw Error("Context does not have entity id");return e.entityId}),f=p.map(i=>{if(!h(i))throw Error("Context does not have entity id");let r=t.compositionProjections.getTree(o).map.get(i.entityId);if(!r)throw Error(`Entity with id ${i.entityId} not found in the composition tree. The state is invalid!`);for(let t of r.ancestors())if(e.includes(n(t.id)))return t.id}),u=f.filter(i);return(u.length<g.length&&a?.("no-apply",0===u.length?"No entities have ancestor of the specified type, skipping selection":"Some entities do not have ancestor of the specified type",{entityIds:g.filter((e,t)=>void 0===f[t])}),0===u.length)?r:s(t,r,u,a)})},deselect:()=>u(e=>(t,i,n,o)=>0===d(t,i,n,e,o).length?t:[...t.filter(e=>!(l(e)||r(e))),e.navigationSystem.getDeselectUpdate()]),navigateTo:e=>u(t=>(n,r,l,a)=>{let p=d(n,r,l,t,a);if(0===p.length)return n;let s=p.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===s.length)return a?.("no-resolve","Custom selector did not return any navigation state, skipping navigation"),n;s.length>1&&a?.("apply","Multiple navigation states selected, picking the first one",{navigationStates:s});let g=s[0],f=t.navigationSystem.getNavigationUpdate(g),u=n.filter(e=>!o(e));return u.length<n.length?a?.("apply",`Overriding previous navigation updates with ${g}`,{removed:n.filter(e=>o(e)),added:f}):a?.("apply",`Navigating to ${g}`,{added:f}),[...u,f]}),changeView:e=>u(t=>(n,o,p,s)=>{let g=d(n,o,p,t,s);if(0===g.length)return n;let f=g.map(t=>"function"==typeof e?e(t):e).filter(i);if(0===f.length)return s?.("no-resolve","Custom selector did not return any view state, skipping view change"),n;f.length>1&&s?.("apply","Multiple view states selected, picking the first one",{viewStates:f});let u=f[0],h=t.navigationSystem.getViewUpdate(u),c=n.filter(e=>!a(e));return c.length<n.length?s?.("apply",`Overriding previous view state updates with ${u}`,{removed:n.filter(e=>l(e)||r(e)),added:h}):s?.("apply",`Changing view to ${u}`,{added:h}),[...c,h]})})}};
@@ -1,13 +1,11 @@
1
1
  import { Euler, Vector3 } from 'three';
2
2
  import { type $DomainEntity, type ComponentModification, type ComponentSnapshot, type DomainEntity, type DomainEntityId, type StateUpdate } from '../../core/index.js';
3
- import { type DimensionUnit } from '../../dimensions/dimensions.js';
4
- import type { ComponentReader } from '../../domain-runtime/domain-context/index.js';
5
- import type { PositionProjections } from '../../projections/position-projections.js';
6
- import type { AnySnapMatch, WorldSnapPoint } from '../../projections/snap-matching.js';
7
- import type { SnappingProjections } from '../../projections/snapping-projections.js';
3
+ import { type DimensionUnit } from '../../dimensions/index.js';
4
+ import type { ComponentReader } from '../../domain-runtime/index.js';
5
+ import type { AnySnapMatch, PositionProjections, SnappingProjections, WorldSnapPoint } from '../../projections/index.js';
8
6
  import { dragHandleComponent, hotspotDragHandleComponent, snapPointComponent } from '../../system-components/index.js';
9
- import type { DimensionSystem } from '../dimension-system/dimension-system.js';
10
- import type { StoreSystem, TransformerLogFunction, UpdateTransformer } from '../store-system/store-system.js';
7
+ import type { DimensionSystem } from '../dimension-system/index.js';
8
+ import type { StoreSystem, TransformerLogFunction, UpdateTransformer } from '../store-system/index.js';
11
9
  export declare const AutoSnapUpdateTag: 'AutoSnap.applied';
12
10
  export type AutoSnapType = 'point' | 'edge' | 'plane' | 'axis';
13
11
  export interface AutoSnapMetadata {