@salsita-ai/sdk 0.50.0-develop.c1dcc73e88 → 0.50.0-develop.c4848d224b

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 (952) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/relation-expression-params.js +1 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  28. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  29. package/dist/application-spec/core/index.d.ts +2 -0
  30. package/dist/application-spec/core/index.js +1 -1
  31. package/dist/application-spec/core/json-value.d.ts +1 -1
  32. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  33. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  34. package/dist/application-spec/enhanced-json/index.js +1 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  36. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  38. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  40. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  42. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  44. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  46. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  47. package/dist/application-spec/errors/diagnostic-codes.d.ts +9 -0
  48. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  49. package/dist/application-spec/errors/diagnostic-messages.d.ts +12 -0
  50. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  52. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  53. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  54. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  56. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  57. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  58. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  59. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  60. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +15 -14
  61. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  63. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  67. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  68. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  69. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +67 -70
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +13 -13
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +2 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  87. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  88. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  89. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  90. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  91. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  92. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  93. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  94. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  95. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  96. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -3
  97. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  98. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  99. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  100. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  101. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  102. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  103. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  105. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  106. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  107. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  110. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +26 -7
  111. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -2
  112. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  113. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  114. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  115. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  116. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  122. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  123. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  124. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  125. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  126. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  127. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  128. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  129. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  130. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  131. package/dist/application-spec/generate-application/index.d.ts +2 -0
  132. package/dist/application-spec/generate-application/index.js +1 -1
  133. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  134. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  135. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  136. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  138. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -5
  139. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  140. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  141. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  142. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -2
  143. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  145. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  146. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  147. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  148. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  149. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  154. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  156. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  158. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  159. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  160. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  161. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  162. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +3 -0
  163. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  165. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  166. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  167. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  168. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  169. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  170. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  172. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +3 -3
  173. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  174. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  175. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  176. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  177. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  179. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  180. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  181. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  182. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  183. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  184. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  185. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  186. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  187. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  188. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  189. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  190. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  191. package/dist/application-spec/index.d.ts +1 -0
  192. package/dist/application-spec/index.js +1 -1
  193. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  194. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  195. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  196. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  197. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  198. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  199. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  200. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  201. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  202. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  203. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  204. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  205. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  206. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  207. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  208. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  210. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  211. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  212. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  221. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  222. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  224. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  228. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  229. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  230. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  231. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  232. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  233. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  234. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  235. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  236. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  237. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  238. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  240. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  242. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  243. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  244. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  245. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  246. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  251. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  252. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  253. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  254. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  256. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  258. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  259. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  261. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  262. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  263. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  264. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  265. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  266. package/dist/client/phoenix-api.d.ts +463 -0
  267. package/dist/configurator/ConfiguratorApp.js +1 -1
  268. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  269. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  270. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  271. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  272. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  273. package/dist/configurator/app-loader-content/index.js +1 -0
  274. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  275. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  276. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  277. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  278. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  279. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  280. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  281. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  282. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  283. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  284. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  285. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  286. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  287. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  288. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  289. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  290. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  291. package/dist/configurator/common/configurator-interface.d.ts +132 -4
  292. package/dist/configurator/common/configurator-interface.js +1 -1
  293. package/dist/configurator/common/index.d.ts +3 -1
  294. package/dist/configurator/common/index.js +1 -1
  295. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  296. package/dist/configurator/common/use-reset-camera.js +1 -0
  297. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  298. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  299. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  300. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  301. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  302. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  303. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  304. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  305. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  306. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  307. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  308. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  309. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +7 -1
  310. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  311. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  312. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  313. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  314. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  315. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  316. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  317. package/dist/configurator/configurator-error-page/index.js +1 -0
  318. package/dist/configurator/index.d.ts +3 -0
  319. package/dist/configurator/index.js +1 -1
  320. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  321. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  322. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  323. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +3 -2
  324. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  325. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  326. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  327. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  328. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  329. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  330. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  331. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  332. package/dist/configurator/pages/RootPage.js +1 -1
  333. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  334. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  335. package/dist/configurator/pages/default-configurator-elements.d.ts +13 -0
  336. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  337. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  338. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  339. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  340. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  341. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  342. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  343. package/dist/configurator/pages/default-elements/index.d.ts +5 -0
  344. package/dist/configurator/pages/default-elements/index.js +1 -0
  345. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  346. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  347. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.d.ts +3 -0
  348. package/dist/configurator/pages/default-elements/scene-controls/BuiltInAddEntityFab.js +1 -0
  349. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.d.ts +3 -0
  350. package/dist/configurator/pages/default-elements/scene-controls/BuiltInDeleteEntityFab.js +1 -0
  351. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.d.ts +3 -0
  352. package/dist/configurator/pages/default-elements/scene-controls/BuiltInNavigationHotspot.js +1 -0
  353. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.d.ts +3 -0
  354. package/dist/configurator/pages/default-elements/scene-controls/BuiltInSelectionHotspot.js +1 -0
  355. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.d.ts +3 -0
  356. package/dist/configurator/pages/default-elements/scene-controls/BuiltInToolMenuFab.js +1 -0
  357. package/dist/configurator/pages/default-elements/scene-controls/index.d.ts +6 -0
  358. package/dist/configurator/pages/default-elements/scene-controls/index.js +1 -0
  359. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.d.ts +6 -0
  360. package/dist/configurator/pages/default-elements/scene-controls/scene-control-elements.js +1 -0
  361. package/dist/configurator/pages/default-elements/sidebar-footer-elements.d.ts +7 -0
  362. package/dist/configurator/pages/default-elements/sidebar-footer-elements.js +1 -0
  363. package/dist/configurator/pages/default-elements/toolbar-elements.d.ts +7 -0
  364. package/dist/configurator/pages/default-elements/toolbar-elements.js +1 -0
  365. package/dist/configurator/pages/error-boundaries/GeneralErrorBoundary.js +1 -1
  366. package/dist/configurator/pages/index.d.ts +1 -0
  367. package/dist/configurator/pages/index.js +1 -1
  368. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.d.ts +4 -0
  369. package/dist/configurator/preset-screen-elements/PresetDeviceNotSupportedElement.js +1 -0
  370. package/dist/configurator/preset-screen-elements/PresetPageActionElement.d.ts +4 -0
  371. package/dist/configurator/preset-screen-elements/PresetPageActionElement.js +1 -0
  372. package/dist/configurator/preset-screen-elements/index.d.ts +2 -0
  373. package/dist/configurator/preset-screen-elements/index.js +1 -0
  374. package/dist/configurator/scene/index.d.ts +1 -0
  375. package/dist/configurator/scene/index.js +1 -1
  376. package/dist/configurator/scene/scene-controls/DeleteEntityFab.js +1 -1
  377. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  378. package/dist/configurator/scene/scene-controls/ToolFab.d.ts +4 -0
  379. package/dist/configurator/scene/scene-controls/ToolFab.js +1 -1
  380. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  381. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  382. package/dist/configurator/scene/scene-controls/use-scene-control-tooltip.d.ts +2 -1
  383. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  384. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  385. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  386. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  387. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  388. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  389. package/dist/configurator/scene/scene-entity/scene-controls/SceneEntityHtmlHotspots.js +1 -1
  390. package/dist/configurator/toolbar-actions/index.d.ts +2 -0
  391. package/dist/configurator/toolbar-actions/index.js +1 -0
  392. package/dist/configurator/toolbar-actions/use-assistant-panel.d.ts +18 -0
  393. package/dist/configurator/toolbar-actions/use-assistant-panel.js +1 -0
  394. package/dist/configurator/toolbar-actions/use-measurements.d.ts +35 -0
  395. package/dist/configurator/toolbar-actions/use-measurements.js +1 -0
  396. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  397. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  398. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  399. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  400. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  401. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  402. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  403. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  404. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  405. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  406. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  407. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  408. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  409. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  410. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  411. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  412. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  413. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  414. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  415. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  416. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  417. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  418. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  419. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  420. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  421. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  422. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  423. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  424. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  425. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  426. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  427. package/dist/configurator/ui/assistant/form/index.js +1 -0
  428. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  429. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  430. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  431. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  432. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  433. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  434. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  435. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  436. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  437. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  438. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  439. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  440. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  441. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  442. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  443. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  444. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  445. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  446. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  447. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  448. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  449. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  450. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  451. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  452. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  453. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  454. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  455. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  456. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  457. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  458. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  459. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  460. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  461. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  462. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  463. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  464. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  465. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  466. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  467. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  468. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  469. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  470. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  471. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  472. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  473. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  474. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  475. package/dist/configurator/ui/configurator-layout/{universal → slots/desktop-sidebar}/DesktopSidebar.d.ts +23 -14
  476. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  477. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  478. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  479. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  480. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  481. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  482. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  483. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  484. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  485. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  486. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  487. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  488. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  489. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  490. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +1 -1
  491. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +2 -2
  492. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +1 -1
  493. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -1
  494. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +1 -1
  495. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  496. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  497. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  498. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  499. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  500. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  501. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  502. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  503. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  504. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  505. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  506. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  507. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  508. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  509. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  510. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  511. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  512. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  513. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  514. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  515. package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
  516. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  517. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  518. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  519. package/dist/configurator/ui/phoenix-layout-elements/LanguageMenuAction.js +1 -1
  520. package/dist/configurator/ui/phoenix-layout-elements/LanguageToolbarButton.js +1 -1
  521. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  522. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  523. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  524. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  525. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsMenuAction.js +1 -1
  526. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  527. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  528. package/dist/configurator/ui/phoenix-layout-elements/ShareToolbarButton.js +1 -1
  529. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  530. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  531. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  532. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  533. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  534. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  535. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  536. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  537. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  538. package/dist/configurator/ui/phoenix-layout-elements/share/ShareModal.js +1 -1
  539. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.d.ts +7 -8
  540. package/dist/configurator/ui/phoenix-layout-elements/share/use-share.js +1 -1
  541. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  542. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  543. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  544. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  545. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  546. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  547. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  548. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  549. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  550. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  551. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  552. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  553. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  554. package/dist/docs/complex-use-cases/focus-mode.mdx +2 -0
  555. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  556. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  557. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  558. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  559. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  560. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  561. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  562. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  563. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  564. package/dist/docs/fabs/basic.mdx +6 -2
  565. package/dist/docs/index.json +42 -1
  566. package/dist/docs/layouts/custom-layout.mdx +2437 -0
  567. package/dist/docs/layouts/header/fixed.mdx +2 -2
  568. package/dist/docs/layouts/header/floating.mdx +2 -2
  569. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  570. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  571. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  572. package/dist/docs/other-features/error-5xx.mdx +1 -1
  573. package/dist/docs/other-features/navigation-hotspot.mdx +2 -0
  574. package/dist/docs/other-features/not-found-404.mdx +1 -1
  575. package/dist/docs/other-features/transformers.mdx +4 -0
  576. package/dist/docs/phoenix/application-states.mdx +9 -7
  577. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  578. package/dist/docs/phoenix/components.mdx +6 -0
  579. package/dist/docs/phoenix/configurator-interface.mdx +302 -23
  580. package/dist/docs/phoenix/deployments.mdx +2 -6
  581. package/dist/docs/phoenix/domain-model.mdx +2 -0
  582. package/dist/docs/phoenix/finalization.mdx +1 -1
  583. package/dist/docs/phoenix/getting-started.mdx +6 -3
  584. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  585. package/dist/docs/phoenix/localization.mdx +10 -6
  586. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  587. package/dist/docs/phoenix/phoenix-cli.mdx +72 -21
  588. package/dist/docs/phoenix/project-structure.mdx +72 -34
  589. package/dist/docs/phoenix/quickstart.mdx +7 -7
  590. package/dist/docs/phoenix/sdk-builder-workflow.mdx +7 -7
  591. package/dist/docs/phoenix/testing.mdx +148 -0
  592. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  593. package/dist/docs/phoenix/webhooks.mdx +21 -4
  594. package/dist/docs/selection-and-highlight/hotspots.mdx +2 -0
  595. package/dist/domain/application/application-config.d.ts +3 -1
  596. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  597. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  598. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  599. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  600. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  601. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  602. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  603. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  604. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  605. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  606. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  607. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  608. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  609. package/dist/domain/application/assistant/index.d.ts +8 -1
  610. package/dist/domain/application/assistant/index.js +1 -1
  611. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  612. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  613. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  614. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  615. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  616. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  617. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  618. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  619. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  620. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  621. package/dist/domain/application/assistant-recipe-groups.d.ts +3 -1
  622. package/dist/domain/application/configurator-builder.d.ts +5 -2
  623. package/dist/domain/application/configurator-builder.js +1 -1
  624. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  625. package/dist/domain/core/invariant/violation.d.ts +50 -2
  626. package/dist/domain/core/invariant/violation.js +1 -1
  627. package/dist/domain/core/model/model.d.ts +1 -1
  628. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  629. package/dist/domain/domain-context/index.d.ts +1 -1
  630. package/dist/domain/domain-context/undo-system.d.ts +28 -1
  631. package/dist/domain/domain-context/undo-system.js +1 -1
  632. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  633. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  634. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  635. package/dist/domain/domain-runtime/access/types.js +1 -1
  636. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  637. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  638. package/dist/domain/domain-runtime/domain-runtime.d.ts +16 -0
  639. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  640. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  641. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  642. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  643. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  644. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  645. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  646. package/dist/domain/domain-runtime/errors/index.js +1 -0
  647. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  648. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  649. package/dist/domain/domain-runtime/index.d.ts +1 -0
  650. package/dist/domain/domain-runtime/index.js +1 -1
  651. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  652. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  653. package/dist/domain/domain-runtime/spec/module-checks/element-registration.d.ts +12 -11
  654. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -1
  655. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +1 -1
  656. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -1
  657. package/dist/domain/domain-runtime/spec/module-checks/project-modules.d.ts +8 -1
  658. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -1
  659. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -1
  660. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -1
  661. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -1
  662. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -1
  663. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  664. package/dist/domain/domain-runtime/spec/types.d.ts +2 -0
  665. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  666. package/dist/domain/extensions/attribute-switch.js +1 -1
  667. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  668. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  669. package/dist/domain/extensions/client-side-image.js +1 -1
  670. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  671. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  672. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  673. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  674. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  675. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  676. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  677. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  678. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  679. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  680. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  681. package/dist/domain/extensions/offset-indicator.js +1 -1
  682. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  683. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  684. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  685. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  686. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +9 -0
  687. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  688. package/dist/domain/mocks/create-mock-domain.js +1 -1
  689. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  690. package/dist/domain/mocks/create-test-application-config.js +1 -0
  691. package/dist/domain/mocks/index.d.ts +1 -0
  692. package/dist/domain/mocks/index.js +1 -1
  693. package/dist/domain/system-components/application-config.d.ts +2 -2
  694. package/dist/domain/system-components/child-entity-selection.js +1 -1
  695. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  696. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  697. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  698. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  699. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  700. package/dist/domain/system-components/common/recipes.js +1 -1
  701. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  702. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  703. package/dist/domain/system-components/constraint.d.ts +10 -23
  704. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  705. package/dist/domain/system-components/drag-handle.js +1 -1
  706. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  707. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  708. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  709. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  710. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  711. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  712. package/dist/domain/system-components/material-swatch.js +1 -1
  713. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  714. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  715. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  716. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  717. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  718. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  719. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  720. package/dist/editor/Editor.d.ts +7 -0
  721. package/dist/editor/Editor.js +1 -1
  722. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  723. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  724. package/dist/editor/mocks/EditorMockContext.js +1 -1
  725. package/dist/globals/index.d.ts +2 -0
  726. package/dist/i18n/locales/cs/messages.js +1 -1
  727. package/dist/i18n/locales/da/messages.js +1 -1
  728. package/dist/i18n/locales/de/messages.js +1 -1
  729. package/dist/i18n/locales/de-AT/messages.js +1 -1
  730. package/dist/i18n/locales/en/messages.js +1 -1
  731. package/dist/i18n/locales/en-AU/messages.js +1 -1
  732. package/dist/i18n/locales/en-GB/messages.js +1 -1
  733. package/dist/i18n/locales/es/messages.js +1 -1
  734. package/dist/i18n/locales/fr/messages.js +1 -1
  735. package/dist/i18n/locales/hu/messages.js +1 -1
  736. package/dist/i18n/locales/it/messages.js +1 -1
  737. package/dist/i18n/locales/nl/messages.js +1 -1
  738. package/dist/i18n/locales/pl/messages.js +1 -1
  739. package/dist/i18n/locales/pt/messages.js +1 -1
  740. package/dist/i18n/locales/ro/messages.js +1 -1
  741. package/dist/i18n/locales/sk/messages.js +1 -1
  742. package/dist/i18n/locales/tr/messages.js +1 -1
  743. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -1
  744. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  745. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  746. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  747. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  748. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  749. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  750. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -1
  751. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  752. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  753. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  754. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  755. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  756. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  757. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  758. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  759. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  760. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  761. package/dist/phoenix/application-spec/project-files.js +1 -1
  762. package/dist/phoenix/bin.d.ts +2 -0
  763. package/dist/phoenix/bin.js +2 -0
  764. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  765. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  766. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  767. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  768. package/dist/phoenix/check-configs/index.d.ts +8 -0
  769. package/dist/phoenix/check-configs/index.js +1 -0
  770. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  771. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  772. package/dist/phoenix/cli.d.ts +0 -1
  773. package/dist/phoenix/cli.js +1 -2
  774. package/dist/phoenix/commands/build.js +1 -1
  775. package/dist/phoenix/commands/check.js +1 -1
  776. package/dist/phoenix/commands/clean.js +1 -1
  777. package/dist/phoenix/commands/deploy.js +2 -2
  778. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  779. package/dist/phoenix/commands/deps/deps.js +3 -0
  780. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  781. package/dist/phoenix/commands/deps/index.js +1 -0
  782. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  783. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  784. package/dist/phoenix/commands/dev.js +5 -5
  785. package/dist/phoenix/commands/fix.js +1 -1
  786. package/dist/phoenix/commands/index.d.ts +1 -0
  787. package/dist/phoenix/commands/index.js +1 -1
  788. package/dist/phoenix/commands/init.d.ts +17 -5
  789. package/dist/phoenix/commands/init.js +1 -1
  790. package/dist/phoenix/commands/link.js +1 -1
  791. package/dist/phoenix/commands/prettier.js +1 -1
  792. package/dist/phoenix/commands/sync.js +1 -1
  793. package/dist/phoenix/commands/unlink.js +1 -1
  794. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  795. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  796. package/dist/phoenix/services/lingui.d.ts +8 -0
  797. package/dist/phoenix/services/lingui.js +1 -1
  798. package/dist/phoenix/services/source-archive.d.ts +1 -0
  799. package/dist/phoenix/services/source-archive.js +1 -1
  800. package/dist/phoenix/services/swc.js +1 -1
  801. package/dist/phoenix/services/vite-config.js +1 -1
  802. package/dist/phoenix/utils/index.d.ts +4 -2
  803. package/dist/phoenix/utils/index.js +1 -1
  804. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  805. package/dist/phoenix/utils/node-version/index.js +1 -0
  806. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  807. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  808. package/dist/phoenix/utils/package-info.d.ts +0 -9
  809. package/dist/phoenix/utils/package-info.js +1 -1
  810. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  811. package/dist/phoenix/utils/package-manager/index.js +1 -0
  812. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  813. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  814. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  815. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  816. package/dist/phoenix/utils/run-command.d.ts +11 -0
  817. package/dist/phoenix/utils/run-command.js +1 -1
  818. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  819. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  820. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  821. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  822. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  823. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  824. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  825. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  826. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  827. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  828. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  829. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +17 -0
  830. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  831. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  832. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  833. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  834. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  835. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  836. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  837. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  838. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  839. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  840. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  841. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  842. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  843. package/dist/react-sdk/domain-context/index.d.ts +8 -1
  844. package/dist/react-sdk/domain-context/index.js +1 -1
  845. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  846. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  847. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.d.ts +8 -0
  848. package/dist/react-sdk/domain-context/system-hooks/generate-share-link-hooks.js +1 -0
  849. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  850. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.d.ts +24 -0
  851. package/dist/react-sdk/domain-context/system-hooks/locale-switch-hooks.js +1 -0
  852. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +5 -0
  853. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  854. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  855. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.d.ts +32 -0
  856. package/dist/react-sdk/domain-context/system-hooks/share-links-hooks.js +1 -0
  857. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  858. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  859. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  860. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  861. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  862. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  863. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  864. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  865. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  866. package/dist/react-sdk/elements/index.d.ts +1 -0
  867. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  868. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  869. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  870. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  871. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  872. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  873. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  874. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  875. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  876. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  877. package/dist/react-sdk/handlers/index.d.ts +6 -0
  878. package/dist/react-sdk/handlers/index.js +1 -1
  879. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  880. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  881. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  882. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  883. package/dist/react-sdk/index.d.ts +2 -0
  884. package/dist/react-sdk/index.js +1 -1
  885. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  886. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  887. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  888. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  889. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  890. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  891. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  892. package/dist/react-sdk/responsive-state/index.js +1 -0
  893. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  894. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  895. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  896. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  897. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  898. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  899. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.d.ts +36 -0
  900. package/dist/react-sdk/scene-control-elements/AddEntityFabElement.js +1 -0
  901. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.d.ts +44 -0
  902. package/dist/react-sdk/scene-control-elements/DeleteEntityFabElement.js +1 -0
  903. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.d.ts +38 -0
  904. package/dist/react-sdk/scene-control-elements/NavigationHotspotElement.js +1 -0
  905. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.d.ts +30 -0
  906. package/dist/react-sdk/scene-control-elements/SelectionHotspotElement.js +1 -0
  907. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.d.ts +30 -0
  908. package/dist/react-sdk/scene-control-elements/ToolMenuFabElement.js +1 -0
  909. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.d.ts +9 -0
  910. package/dist/react-sdk/scene-control-elements/create-add-entity-fab.js +1 -0
  911. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.d.ts +9 -0
  912. package/dist/react-sdk/scene-control-elements/create-delete-entity-fab.js +1 -0
  913. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.d.ts +10 -0
  914. package/dist/react-sdk/scene-control-elements/create-navigation-hotspot.js +1 -0
  915. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.d.ts +9 -0
  916. package/dist/react-sdk/scene-control-elements/create-selection-hotspot.js +1 -0
  917. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.d.ts +9 -0
  918. package/dist/react-sdk/scene-control-elements/create-tool-menu-fab.js +1 -0
  919. package/dist/react-sdk/scene-control-elements/index.d.ts +11 -0
  920. package/dist/react-sdk/scene-control-elements/index.js +1 -0
  921. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.d.ts +5 -0
  922. package/dist/react-sdk/scene-control-elements/scene-control-tooltip-visibility.js +1 -0
  923. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  924. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  925. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  926. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  927. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  928. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  929. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  930. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  931. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  932. package/dist/ui-sdk/theme/types.d.ts +1 -1
  933. package/dist/webhook/builders/webhook-builder.js +1 -1
  934. package/package.json +48 -36
  935. package/schema/domain-spec.json +1201 -217
  936. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  937. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  938. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  939. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  940. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  941. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  942. package/dist/configurator/common/frontend-analytics.js +0 -1
  943. package/dist/configurator/ui/configurator-layout/universal/DesktopSidebar.js +0 -16
  944. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.d.ts +0 -4
  945. package/dist/configurator/ui/phoenix-layout-elements/language/use-locale-options.js +0 -1
  946. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.d.ts +0 -4
  947. package/dist/configurator/ui/phoenix-layout-elements/measurements/use-measurements-visibility.js +0 -1
  948. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  949. package/dist/phoenix/commands/generate-project-files.js +0 -1
  950. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  951. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  952. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -36,6 +36,7 @@ interface Props<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS e
36
36
  * `createDomainRuntimeSlices`, which this composes.
37
37
  */
38
38
  export declare function createApplicationRuntimeSlices<State extends ApplicationRuntimeState, CONFIGURATOR_EXTENSIONS extends readonly AnyApplicationRuntimeExtension[]>(props: Props<State, CONFIGURATOR_EXTENSIONS>): {
39
+ getState: () => State;
39
40
  initialize: () => {
40
41
  spec: import("#package/domain").ApplicationSpec;
41
42
  overrides: import("#package/domain").ApplicationOverrides;
@@ -278,24 +279,28 @@ export declare function createApplicationRuntimeSlices<State extends Application
278
279
  access: {
279
280
  selectConfiguratorRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
280
281
  raw: string;
282
+ access: import("@salsita-ai/contracts/api").AccessLevel;
281
283
  viewMode: boolean;
282
284
  revisionId: string | undefined;
283
285
  configurationId: string;
284
286
  } | null>;
285
287
  selectAdminRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
286
288
  raw: string;
289
+ access: import("@salsita-ai/contracts/api").AccessLevel;
287
290
  viewMode: boolean;
288
291
  revisionId: string | undefined;
289
292
  configurationId: string;
290
293
  } | null>;
291
294
  selectConfiguratorAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
292
295
  raw: string;
296
+ access: import("@salsita-ai/contracts/api").AccessLevel;
293
297
  viewMode: boolean;
294
298
  revisionId: string | undefined;
295
299
  configurationId: string;
296
300
  }>;
297
301
  selectAdminAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
298
302
  raw: string;
303
+ access: import("@salsita-ai/contracts/api").AccessLevel;
299
304
  viewMode: boolean;
300
305
  revisionId: string | undefined;
301
306
  configurationId: string;
@@ -308,24 +313,28 @@ export declare function createApplicationRuntimeSlices<State extends Application
308
313
  selectAdminConfigurationId: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, string>;
309
314
  getConfiguratorRawAccessInfo: () => {
310
315
  raw: string;
316
+ access: import("@salsita-ai/contracts/api").AccessLevel;
311
317
  viewMode: boolean;
312
318
  revisionId: string | undefined;
313
319
  configurationId: string;
314
320
  } | null;
315
321
  getAdminRawAccessInfo: () => {
316
322
  raw: string;
323
+ access: import("@salsita-ai/contracts/api").AccessLevel;
317
324
  viewMode: boolean;
318
325
  revisionId: string | undefined;
319
326
  configurationId: string;
320
327
  } | null;
321
328
  getConfiguratorAccessInfo: () => {
322
329
  raw: string;
330
+ access: import("@salsita-ai/contracts/api").AccessLevel;
323
331
  viewMode: boolean;
324
332
  revisionId: string | undefined;
325
333
  configurationId: string;
326
334
  };
327
335
  getAdminAccessInfo: () => {
328
336
  raw: string;
337
+ access: import("@salsita-ai/contracts/api").AccessLevel;
329
338
  viewMode: boolean;
330
339
  revisionId: string | undefined;
331
340
  configurationId: string;
@@ -938,24 +947,28 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
938
947
  access: {
939
948
  selectConfiguratorRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
940
949
  raw: string;
950
+ access: import("@salsita-ai/contracts/api").AccessLevel;
941
951
  viewMode: boolean;
942
952
  revisionId: string | undefined;
943
953
  configurationId: string;
944
954
  } | null>;
945
955
  selectAdminRawAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
946
956
  raw: string;
957
+ access: import("@salsita-ai/contracts/api").AccessLevel;
947
958
  viewMode: boolean;
948
959
  revisionId: string | undefined;
949
960
  configurationId: string;
950
961
  } | null>;
951
962
  selectConfiguratorAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
952
963
  raw: string;
964
+ access: import("@salsita-ai/contracts/api").AccessLevel;
953
965
  viewMode: boolean;
954
966
  revisionId: string | undefined;
955
967
  configurationId: string;
956
968
  }>;
957
969
  selectAdminAccessInfo: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, {
958
970
  raw: string;
971
+ access: import("@salsita-ai/contracts/api").AccessLevel;
959
972
  viewMode: boolean;
960
973
  revisionId: string | undefined;
961
974
  configurationId: string;
@@ -968,24 +981,28 @@ declare const createApplicationRuntimeImpl: <EXTENSIONS extends readonly AnyAppl
968
981
  selectAdminConfigurationId: import("@salsita-ai/common/utils").Selector<import("#package/domain").AccessSelectorState, string>;
969
982
  getConfiguratorRawAccessInfo: () => {
970
983
  raw: string;
984
+ access: import("@salsita-ai/contracts/api").AccessLevel;
971
985
  viewMode: boolean;
972
986
  revisionId: string | undefined;
973
987
  configurationId: string;
974
988
  } | null;
975
989
  getAdminRawAccessInfo: () => {
976
990
  raw: string;
991
+ access: import("@salsita-ai/contracts/api").AccessLevel;
977
992
  viewMode: boolean;
978
993
  revisionId: string | undefined;
979
994
  configurationId: string;
980
995
  } | null;
981
996
  getConfiguratorAccessInfo: () => {
982
997
  raw: string;
998
+ access: import("@salsita-ai/contracts/api").AccessLevel;
983
999
  viewMode: boolean;
984
1000
  revisionId: string | undefined;
985
1001
  configurationId: string;
986
1002
  };
987
1003
  getAdminAccessInfo: () => {
988
1004
  raw: string;
1005
+ access: import("@salsita-ai/contracts/api").AccessLevel;
989
1006
  viewMode: boolean;
990
1007
  revisionId: string | undefined;
991
1008
  configurationId: string;
@@ -1 +1 @@
1
- import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{createDomainRuntimeSlices as i,resolveIsDev as n}from"#package/domain";import{initializeAnalyticsService as o}from"../common-services/analytics/analytics-service.js";import{initializeI18n as s,initializeLogger as r}from"../common-services/initialize.js";import{createCommonServicesSelectors as a}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as c}from"../domain-application-context/index.js";import{createIntegrationActions as m,createIntegrationSelectors as l,initializeIntegration as p}from"../integration/index.js";import{createRoutingActions as u,createRoutingSelectors as d,initializeRouting as g}from"../routing/index.js";import{SessionService as S,createSessionRuntimeActions as v,createSessionRuntimeSelectors as x,initializeSessionRuntime as f}from"../session/index.js";import{registerGodModeGlobal as C}from"./god-mode.js";export function createApplicationRuntimeSlices(e){let{config:y,bootConfig:A,getSubject:b,getConfiguratorExtensions:j}=e,w=n(y),R=r(y,w),I={analyticsService:o(y,R,w),i18n:s(y),logger:R},{initialize:E,selectors:h,actions:z}=i({config:y,services:I,getSubject:b,getExtensionSystems:e=>J[e].getInitializableSystems()}),D=E(),T=m({setIntegration:e=>{let t=b(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),L=l({getState:()=>b().value}),O=p({actions:T}),U=u({setRouting:e=>{let t=b(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),k=d({getState:()=>b().value,actions:U,accessActions:z.access,loadedDataActions:z.loadedData,domainServicesSelectors:h.domainServices,overridesSelectors:h.overrides}),G=g(),$=a({getState:()=>b().value,environmentSelectors:h.environment,specSelectors:h.spec,accessSelectors:h.access,domainServicesSelectors:h.domainServices,webComponentOptions:A.webComponentOptions,webComponentApi:A.webComponentApi,getSessionService:()=>H(),routingSelectors:k}),q=v({setSessionRuntime:e=>{let t=b(),i=e(t.value.session);t.next({...t.value,session:i})}}),B=x({getState:()=>b().value,sessionContextSelectors:h.sessionContext}),F=f(),H=t(()=>new S({getLogger:()=>h.domainServices.getLogger(),getAnalyticsService:()=>h.domainServices.getAnalyticsService(),getUnauthenticatedClient:$.getUnauthenticatedClient,environmentSelectors:h.environment,sessionActions:q,setSessionContext:z.sessionContext.setSessionContext,sessionSelectors:B,specSelectors:h.spec})),J={configurator:c({applicationType:"configurator",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.configurator,getApplicationRuntimeExtensions:j}),admin:c({applicationType:"admin",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return C({environmentActions:z.environment}),R.info(`Configurator Application loaded with deployment ID: ${y.deploymentId}!`),R.appendToGlobalContext({deploymentId:y.deploymentId}),{initialize:()=>({...D,integration:O,routing:G,session:F}),selectors:{...h,commonServices:$,integration:L,routing:k,session:B,domainApplicationContext:J},actions:{...z,integration:T,routing:U,session:q}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,r=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:a,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:r,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(a()),{...c,getState:()=>r().value,subscribe:e=>{let t=r().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
1
+ import{BehaviorSubject as e}from"rxjs";import{memoOnce as t}from"@salsita-ai/common/utils";import{createDomainRuntimeSlices as i,resolveIsDev as n}from"#package/domain";import{initializeAnalyticsService as o}from"../common-services/analytics/analytics-service.js";import{initializeI18n as s,initializeLogger as r}from"../common-services/initialize.js";import{createCommonServicesSelectors as a}from"../common-services/selectors.js";import{createDomainApplicationContextSelectors as c}from"../domain-application-context/index.js";import{createIntegrationActions as m,createIntegrationSelectors as l,initializeIntegration as p}from"../integration/index.js";import{createRoutingActions as u,createRoutingSelectors as d,initializeRouting as g}from"../routing/index.js";import{SessionService as S,createSessionRuntimeActions as v,createSessionRuntimeSelectors as x,initializeSessionRuntime as f}from"../session/index.js";import{registerGodModeGlobal as C}from"./god-mode.js";export function createApplicationRuntimeSlices(e){let{config:y,bootConfig:A,getSubject:b,getConfiguratorExtensions:j}=e,w=n(y),R=r(y,w),I={analyticsService:o(y,R,w),i18n:s(y),logger:R},{initialize:E,selectors:h,actions:z}=i({config:y,services:I,getSubject:b,getExtensionSystems:e=>J[e].getInitializableSystems()}),D=E(),T=m({setIntegration:e=>{let t=b(),i=e(t.value.integration);t.next({...t.value,integration:i})}}),L=l({getState:()=>b().value}),O=p({actions:T}),U=u({setRouting:e=>{let t=b(),i=e(t.value.routing);t.next({...t.value,routing:i})}}),k=d({getState:()=>b().value,actions:U,accessActions:z.access,loadedDataActions:z.loadedData,domainServicesSelectors:h.domainServices,overridesSelectors:h.overrides}),G=g(),$=a({getState:()=>b().value,environmentSelectors:h.environment,specSelectors:h.spec,accessSelectors:h.access,domainServicesSelectors:h.domainServices,webComponentOptions:A.webComponentOptions,webComponentApi:A.webComponentApi,getSessionService:()=>H(),routingSelectors:k}),q=v({setSessionRuntime:e=>{let t=b(),i=e(t.value.session);t.next({...t.value,session:i})}}),B=x({getState:()=>b().value,sessionContextSelectors:h.sessionContext}),F=f(),H=t(()=>new S({getLogger:()=>h.domainServices.getLogger(),getAnalyticsService:()=>h.domainServices.getAnalyticsService(),getUnauthenticatedClient:$.getUnauthenticatedClient,environmentSelectors:h.environment,sessionActions:q,setSessionContext:z.sessionContext.setSessionContext,sessionSelectors:B,specSelectors:h.spec})),J={configurator:c({applicationType:"configurator",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.configurator,getApplicationRuntimeExtensions:j}),admin:c({applicationType:"admin",commonServicesSelectors:$,domainServicesSelectors:h.domainServices,domainContextSelectors:h.domainContext.admin,getApplicationRuntimeExtensions:()=>[]})};return C({environmentActions:z.environment}),R.info(`Configurator Application loaded with deployment ID: ${y.deploymentId}!`),R.appendToGlobalContext({deploymentId:y.deploymentId}),{getState:()=>b().value,initialize:()=>({...D,integration:O,routing:G,session:F}),selectors:{...h,commonServices:$,integration:L,routing:k,session:B,domainApplicationContext:J},actions:{...z,integration:T,routing:U,session:q}}}export function createApplicationRuntime(t,i,n){return((t,i,n)=>{let o=null,s=null,r=()=>{if(!o)throw Error("Subject not yet initialized!");return o},{initialize:a,...c}=createApplicationRuntimeSlices({config:t,bootConfig:i,getSubject:r,getConfiguratorExtensions:()=>s});return s=n?n(c):[],c.selectors.domainApplicationContext.configurator.getSystems(),o=new e(a()),{...c,getState:()=>r().value,subscribe:e=>{let t=r().subscribe(()=>e());return()=>t.unsubscribe()}}})(t,i,n)}
@@ -1 +1 @@
1
- import{jsx as i,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useEffect as n,useRef as a}from"react";import{useApplicationRuntime as r,useApplicationRuntimeSelector as o,useLogger as s}from"../application-runtime/index.js";import{ConfigurationPersistSystemFailureHandler as d}from"./ConfigurationPersistSystemFailureHandler.js";import{IsUndoableRegistration as l}from"./IsUndoableHandler.js";export const DomainLifecycleBoundary=m=>{let u,c,f,g,p,y,h,{children:b,type:x}=m,j=(f=(c=(u=r()).selectors.domainContext[x]).getDomainContext(),g=s(),p=o(c.getInitializationState),y=o(c.getSchemaCoherence),h=a(null),n(()=>{"schema-mismatch"===y&&g.debug("Loaded domain data belongs to a different schema identity, so initialization is paused."),"missing-stamp"===y&&g.debug("Loaded domain data has no schema identity, so initialization is paused.")},[g,y]),n(()=>{if(null===p.identity)return;if(h.current!==p.identity){let i=c.getInitializationState().identity;null!==i&&h.current!==i&&(f.initialize(),h.current=i)}let i=u.subscribe(f.reconcile);return()=>{i()}},[u,f,c,p.identity]),p);return j.isCurrent?t(e,{children:["configurator"===x&&i(l,{}),i(d,{disabled:j.isViewMode}),b]}):null};
1
+ import{jsx as i,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useEffect as n,useRef as a}from"react";import{useApplicationRuntime as r,useApplicationRuntimeSelector as o,useLogger as s}from"../application-runtime/index.js";import{ConfigurationPersistSystemFailureHandler as d}from"./ConfigurationPersistSystemFailureHandler.js";import{IsUndoableRegistration as m}from"./IsUndoableHandler.js";export const DomainLifecycleBoundary=l=>{let u,c,f,g,p,y,h,{children:b,type:x}=l,j=(f=(c=(u=r()).selectors.domainContext[x]).getDomainContext(),g=s(),p=o(c.getInitializationState),y=o(c.getSchemaCoherence),h=a(null),n(()=>{"schema-mismatch"===y&&g.debug("Loaded domain data belongs to a different schema identity, so initialization is paused."),"missing-stamp"===y&&g.debug("Loaded domain data has no schema identity, so initialization is paused.")},[g,y]),n(()=>{if(null===p.identity)return;if(h.current!==p.identity){let i=c.getInitializationState().identity;null!==i&&h.current!==i&&(f.initialize(),h.current=i)}let i=u.subscribe(f.reconcile);return()=>{i()}},[u,f,c,p.identity]),p);return j.isCurrent?t(e,{children:["configurator"===x&&i(m,{}),"admin"===x&&i(d,{disabled:j.isViewMode}),b]}):null};
@@ -0,0 +1,8 @@
1
+ export * from './use-configurator-messages.js';
2
+ export * from './use-domain-context.js';
3
+ export * from './use-entity-selector.js';
4
+ export * from './use-observable-selector.js';
5
+ export * from './use-slices.js';
6
+ export * from './use-state-slice.js';
7
+ export * from './use-state-validity.js';
8
+ export * from './use-store-selector.js';
@@ -0,0 +1 @@
1
+ export*from"./use-configurator-messages.js";export*from"./use-domain-context.js";export*from"./use-entity-selector.js";export*from"./use-observable-selector.js";export*from"./use-slices.js";export*from"./use-state-slice.js";export*from"./use-state-validity.js";export*from"./use-store-selector.js";
@@ -0,0 +1,41 @@
1
+ import type { $DomainEntity, DomainEntity, EntityViolation, ViolationTypesOf$Entity } from '#package/domain';
2
+ /**
3
+ * A message for the user about a change to the configuration, with its text resolved to the current language.
4
+ * Typed per project like `StateValidationResult`, so a layout can narrow on `violation.type`.
5
+ * - `violation`: a change was rejected because it breaks an invariant. There is one message per violation of the
6
+ * rejected state, including notices and warnings that were already present; `violation.severity` tells them
7
+ * apart. `text` is the violation's message, or its type when it has none; `entityId` names the entity.
8
+ * - `sideEffect`: a committed change carried a hint, for example from a transformer that adjusted another field.
9
+ * - `error`: an error was thrown while the changed state was validated; `text` is a generic message for the user.
10
+ * - `saveError`: saving the configuration failed; `error` is what the save rejected with, `text` a generic message
11
+ * for the user. The configurator keeps saving later changes.
12
+ * - `saveRecovery`: a save succeeded after a `saveError`; `text` says the configuration was updated.
13
+ */
14
+ export type ConfiguratorMessage<ENTITIES extends DomainEntity<string> = DomainEntity<string>, VIOLATION_TYPE extends string = string> = ({
15
+ readonly kind: 'violation';
16
+ readonly text: string;
17
+ } & EntityViolation<ENTITIES, VIOLATION_TYPE>) | {
18
+ readonly kind: 'sideEffect';
19
+ readonly text: string;
20
+ } | {
21
+ readonly kind: 'error';
22
+ readonly error: Error;
23
+ readonly text: string;
24
+ } | {
25
+ readonly kind: 'saveError';
26
+ readonly error: unknown;
27
+ readonly text: string;
28
+ } | {
29
+ readonly kind: 'saveRecovery';
30
+ readonly text: string;
31
+ };
32
+ export type UseConfiguratorMessages<ENTITIES extends DomainEntity<string> = DomainEntity<string>, $MAP extends Record<ENTITIES['type'], $DomainEntity<ENTITIES>> = Record<ENTITIES['type'], $DomainEntity<ENTITIES>>> = (onMessage: (message: ConfiguratorMessage<ENTITIES, ViolationTypesOf$Entity<$MAP[ENTITIES['type']]>>) => void) => void;
33
+ /**
34
+ * Calls `onMessage` once for every violation, side-effect hint, validation error and save failure: the violations of a
35
+ * rejected change, the hints of a committed change, an error thrown while a change was validated, a failed save and the
36
+ * first successful save after it. Hints committed before the component mounted are not delivered, nor is a save that
37
+ * failed before it mounted; when the most recent change was rejected or threw, its messages are delivered again on
38
+ * mount, because the store keeps that emission. `onMessage` may be a new function on every
39
+ * render; the latest one is called.
40
+ */
41
+ export declare const useConfiguratorMessages: (onMessage: (message: ConfiguratorMessage) => void) => void;
@@ -0,0 +1 @@
1
+ import{useSubscription as e}from"observable-hooks";import{useMemo as r}from"react";import{distinctUntilChanged as t,map as i,pairwise as o,skip as s}from"rxjs";import{useDomainApplication as a}from"../../application-runtime/index.js";import{useResolveLocalizable as n}from"../../localizable/index.js";import{useDomain as d}from"./use-domain-context.js";let m={id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"},p={id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"},l={id:"sdk.persist.system.error.recovered",message:"Configuration updated"};export const useConfiguratorMessages=u=>{let{storeSystem:c}=d(),{configurationPersistSystem:f}=a(),g=n(),v=r(()=>c.stateSlices.potentiallyInvalid.pipe(i(e=>e.validity)),[c]),x=r(()=>c.stateSlices.committed.pipe(s(1),t(),i(e=>"updates"in e?e.updates.flatMap(e=>e.hint?[e.hint]:[]):[])),[c]),h=r(()=>f.failure$.pipe(o()),[f]);e(v,e=>{if(!e.valid){if("uncaught"===e.severity)return void u({kind:"error",error:e.error,text:g(m)});e.entityViolations.forEach(({entityId:e,violation:r})=>{u({kind:"violation",entityId:e,violation:r,text:g(r.message??r.type)})})}}),e(x,e=>{e.forEach(e=>{u({kind:"sideEffect",text:g(e)})})}),e(h,([e,r])=>{null!==r?u({kind:"saveError",error:r.error,text:g(p)}):null!==e&&u({kind:"saveRecovery",text:g(l)})})};
@@ -0,0 +1 @@
1
+ export * from './use-component.js';
@@ -0,0 +1 @@
1
+ export*from"./use-component.js";
@@ -1 +1 @@
1
- import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as o,useStoreSelector as r}from"../common-hooks/use-store-selector.js";let s=t=>[t.componentType,t.entityId,t.instanceName,t.componentTypes?.length,...t.componentTypes??[],t.entityIds?.length,...t.entityIds??[],t.instanceNames?.length,...t.instanceNames??[]],a=o=>{let r=n(),{componentReader:a}=r.getDomainSystems(),p=t(()=>a.isComponentTypeAttached(o),[a,e(r.getComponentReaderIndexes),...s(o)]);return{componentReader:a,isActive:p}};export const useComponent=t=>{let{entityId:e,componentType:n,instanceName:o}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:o}),m=r(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:o},t.state),[s,e,n,o],p);return null===m?null:m?.state};export const useRenderedComponent=t=>{let{entityId:e,componentType:n,instanceName:r}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:r}),m=o(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:r},t.state),[s,e,n,r],p);return null===m?null:m?.state};export const useComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useDynamicComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:s,isActive:p}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>s.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[s,n,e,o],p)};export const useRenderedComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useFirstComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useFirstRenderedComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useRootComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[o,...s({componentTypes:n})],p)};export const useRootRenderedComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[r,...s({componentTypes:n})],p)};export const useFirstRootComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readFirstRootComponent({componentTypes:n},t.state),[o,...s({componentTypes:n})],p)};export const useFirstRootRenderedComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readFirstRootComponent({componentTypes:n},t.state),[r,...s({componentTypes:n})],p)};
1
+ import{useMemo as t}from"react";import{useApplicationRuntimeSelector as e}from"../../application-runtime/index.js";import{useDomainContextSelectors as n,useRenderedSelector as o,useStoreSelector as r}from"../common-hooks/index.js";let s=t=>[t.componentType,t.entityId,t.instanceName,t.componentTypes?.length,...t.componentTypes??[],t.entityIds?.length,...t.entityIds??[],t.instanceNames?.length,...t.instanceNames??[]],a=o=>{let r=n(),{componentReader:a}=r.getDomainSystems(),p=t(()=>a.isComponentTypeAttached(o),[a,e(r.getComponentReaderIndexes),...s(o)]);return{componentReader:a,isActive:p}};export const useComponent=t=>{let{entityId:e,componentType:n,instanceName:o}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:o}),m=r(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:o},t.state),[s,e,n,o],p);return null===m?null:m?.state};export const useRenderedComponent=t=>{let{entityId:e,componentType:n,instanceName:r}=t,{componentReader:s,isActive:p}=a({entityId:e,componentType:n,instanceName:r}),m=o(t=>s.readOneComponent({entityId:e,componentType:n,instanceName:r},t.state),[s,e,n,r],p);return null===m?null:m?.state};export const useComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useDynamicComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:s,isActive:p}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>s.readManyComponents({entityIds:e,componentTypes:n,instanceNames:o},t.state),[s,n,e,o],p)};export const useRenderedComponents=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readManyComponents({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useFirstComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:o}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:o});return r(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:o},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:o})],m)};export const useFirstRenderedComponent=t=>{let{entityIds:e,componentTypes:n,instanceNames:r}=t,{componentReader:p,isActive:m}=a({entityIds:e,componentTypes:n,instanceNames:r});return o(t=>p.readFirstComponent({entityIds:e,componentTypes:n,instanceNames:r},t.state),[p,...s({entityIds:e,componentTypes:n,instanceNames:r})],m)};export const useRootComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[o,...s({componentTypes:n})],p)};export const useRootRenderedComponents=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readManyComponents({componentTypes:n,entityIds:[t.state.rootEntityId]},t.state),[r,...s({componentTypes:n})],p)};export const useFirstRootComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:o,isActive:p}=a({componentTypes:n});return r(t=>o.readFirstRootComponent({componentTypes:n},t.state),[o,...s({componentTypes:n})],p)};export const useFirstRootRenderedComponent=e=>{let n=t(()=>Array.isArray(e)?e:[e],[e]),{componentReader:r,isActive:p}=a({componentTypes:n});return o(t=>r.readFirstRootComponent({componentTypes:n},t.state),[r,...s({componentTypes:n})],p)};
@@ -1 +1 @@
1
- import{useDomain as t}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as e,useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useDomainEntityState=e=>{let{domain:n}=t();return o(t=>n.get$Entity(e,t.state),[n,e])};export const useDomainEntityRenderedState=o=>{let{domain:n}=t();return e(t=>n.get$Entity(o,t.state),[n,o])};
1
+ import{useDomain as t,useRenderedSelector as e,useStoreSelector as n}from"../common-hooks/index.js";export const useDomainEntityState=e=>{let{domain:o}=t();return n(t=>o.get$Entity(e,t.state),[o,e])};export const useDomainEntityRenderedState=n=>{let{domain:o}=t();return e(t=>o.get$Entity(n,t.state),[o,n])};
@@ -1 +1 @@
1
- import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as o}from"../component-hooks/use-component.js";import{useRootEntityId as r}from"./use-root-entity-id.js";export const useEntityPrice=r=>{let n=o({componentTypes:[e],entityIds:[r]}),{i18n:i}=t(),c=n?.state?.currency??"USD",s=n?.state.price;return void 0===s?null:i.number(s,{style:"currency",currency:c})};export const useRootEntityPrice=()=>{let t=r();return useEntityPrice(t)};
1
+ import{useLingui as t}from"@lingui/react";import{priceComponent as e}from"#package/domain";import{useFirstComponent as r}from"../component-hooks/index.js";import{useRootEntityId as o}from"./use-root-entity-id.js";export const useEntityPrice=o=>{let n=r({componentTypes:[e],entityIds:[o]}),{i18n:i}=t(),c=n?.state?.currency??"USD",s=n?.state.price;return void 0===s?null:i.number(s,{style:"currency",currency:c})};export const useRootEntityPrice=()=>{let t=o();return useEntityPrice(t)};
@@ -1 +1 @@
1
- import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useRootEntityId=()=>o(t=>t.state.rootEntityId,[]);export const useRootEntityRenderedId=()=>t(t=>t.state.rootEntityId,[]);
1
+ import{useRenderedSelector as t,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityId=()=>o(t=>t.state.rootEntityId,[]);export const useRootEntityRenderedId=()=>t(t=>t.state.rootEntityId,[]);
@@ -1 +1 @@
1
- import{useDomain as t}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as o,useStoreSelector as e}from"../common-hooks/use-store-selector.js";export const useRootEntityState=()=>{let{domain:o}=t();return e(t=>o.getRoot$Entity(t.state),[o])};export const useRootEntityRenderedState=()=>{let{domain:e}=t();return o(t=>e.getRoot$Entity(t.state),[e])};
1
+ import{useDomain as t,useRenderedSelector as e,useStoreSelector as o}from"../common-hooks/index.js";export const useRootEntityState=()=>{let{domain:e}=t();return o(t=>e.getRoot$Entity(t.state),[e])};export const useRootEntityRenderedState=()=>{let{domain:o}=t();return e(t=>o.getRoot$Entity(t.state),[o])};
@@ -2,13 +2,20 @@ export { useDomain, type UseDomainContext } from './common-hooks/use-domain-cont
2
2
  export { useStoreSelector, useRenderedSelector, useRenderedSelector$, useStoreSelector$, type UseSynchronizedSelector, type UseSynchronizedSelector$, } from './common-hooks/use-store-selector.js';
3
3
  export { useEagerObservableSelector, usePatientObservableSelector, usePatientObservableValue, useEagerObservableValue, } from './common-hooks/use-observable-selector.js';
4
4
  export { useStateValidity, type UseStateValidity, useMapViolationHints, type UseMapViolationHints, useControlViolations, type UseControlViolations, useFinalizeViolations, type UseFinalizeViolations, } from './common-hooks/use-state-validity.js';
5
+ export { useConfiguratorMessages, type UseConfiguratorMessages, type ConfiguratorMessage, } from './common-hooks/use-configurator-messages.js';
5
6
  export { useComponent, useRenderedComponent, type UseComponent, useComponents, useDynamicComponents, useRenderedComponents, type UseComponents, useRootComponents, useRootRenderedComponents, type UseRootComponents, useFirstComponent, useFirstRenderedComponent, type UseFirstComponent, useFirstRootComponent, useFirstRootRenderedComponent, type UseFirstRootComponent, } from './component-hooks/use-component.js';
6
7
  export { useCommittedState, useCommittedSlice, useRenderedSlice, useRenderedState, type UseSlice, type UseState, } from './common-hooks/use-slices.js';
7
8
  export { useDomainEntityState, useDomainEntityRenderedState, type UseDomainEntityState, } from './entity-hooks/use-domain-entity-state.js';
8
9
  export { useEntityPrice, useRootEntityPrice, type UseEntityPrice, type UseRootEntityPrice, } from './entity-hooks/use-entity-price.js';
9
10
  export { useSelectEntity, type UseSelectEntity, useSelectedEntity, type UseSelectedEntity, useSelectedEntityId, type UseSelectedEntityId, useSelectedDomainEntityId, type UseSelectedDomainEntityId, useDeselect, type UseDeselect, useSelectParent, type UseSelectParent, } from './system-hooks/selection-hooks.js';
10
- export { useActiveNavigationState, type UseActiveNavigationState, useActiveViewState, type UseActiveViewState, useActiveToolState, type UseActiveToolState, useIsFullscreenActive, type UseIsFullscreenActive, useSetFullscreen, type UseSetFullscreen, useActiveViewports, type UseActiveViewports, useDraggedDomainEntityId, type UseDraggedDomainEntityId, useNavigate, type UseNavigate, usePushNavigate, type UsePushNavigate, usePopNavigate, type UsePopNavigate, } from './system-hooks/navigation-hooks.js';
11
+ export { useActiveNavigationState, type UseActiveNavigationState, useActiveViewState, type UseActiveViewState, useSetViewState, type UseSetViewState, useActiveToolState, type UseActiveToolState, useIsFullscreenActive, type UseIsFullscreenActive, useSetFullscreen, type UseSetFullscreen, useActiveViewports, type UseActiveViewports, useDraggedDomainEntityId, type UseDraggedDomainEntityId, useNavigate, type UseNavigate, usePushNavigate, type UsePushNavigate, usePopNavigate, type UsePopNavigate, } from './system-hooks/navigation-hooks.js';
11
12
  export { useComposition, type UseComposition } from './system-hooks/composition-hooks.js';
13
+ export { useUndoRedo, type UseUndoRedo, type UseUndoRedoResult } from './system-hooks/undo-redo-hooks.js';
14
+ export { useTabNavigation, type TabEntry, type TabSource, type UseTabNavigation, type UseTabNavigationOptions, type UseTabNavigationResult, } from './system-hooks/tab-navigation-hooks.js';
15
+ export { useStepNavigation, type NavigationStepEntry, type StepStatus, type UseStepNavigation, type UseStepNavigationResult, } from './system-hooks/step-navigation-hooks.js';
16
+ export { useLocaleSwitch, type UseLocaleSwitch, type UseLocaleSwitchResult, type LocaleOption, } from './system-hooks/locale-switch-hooks.js';
17
+ export { useGenerateShareLink, type GenerateShareLinkOptions } from './system-hooks/generate-share-link-hooks.js';
18
+ export { useShareLinks, type UseShareLinks, type UseShareLinksOptions, type UseShareLinksResult, } from './system-hooks/share-links-hooks.js';
12
19
  export { useHoveredDomainEntityId, useHoveredEntity, useHoveredEntityId, type UseHoveredDomainEntityId, type UseHoveredEntity, type UseHoveredEntityId, } from './system-hooks/hover-hooks.js';
13
20
  export { type UseRootEntityState, useRootEntityState, useRootEntityRenderedState, } from './entity-hooks/use-root-entity-state.js';
14
21
  export { type UseRootEntityId, useRootEntityId, useRootEntityRenderedId } from './entity-hooks/use-root-entity-id.js';
@@ -1 +1 @@
1
- export{useDomain}from"./common-hooks/use-domain-context.js";export{useStoreSelector,useRenderedSelector,useRenderedSelector$,useStoreSelector$}from"./common-hooks/use-store-selector.js";export{useEagerObservableSelector,usePatientObservableSelector,usePatientObservableValue,useEagerObservableValue}from"./common-hooks/use-observable-selector.js";export{useStateValidity,useMapViolationHints,useControlViolations,useFinalizeViolations}from"./common-hooks/use-state-validity.js";export{useComponent,useRenderedComponent,useComponents,useDynamicComponents,useRenderedComponents,useRootComponents,useRootRenderedComponents,useFirstComponent,useFirstRenderedComponent,useFirstRootComponent,useFirstRootRenderedComponent}from"./component-hooks/use-component.js";export{useCommittedState,useCommittedSlice,useRenderedSlice,useRenderedState}from"./common-hooks/use-slices.js";export{useDomainEntityState,useDomainEntityRenderedState}from"./entity-hooks/use-domain-entity-state.js";export{useEntityPrice,useRootEntityPrice}from"./entity-hooks/use-entity-price.js";export{useSelectEntity,useSelectedEntity,useSelectedEntityId,useSelectedDomainEntityId,useDeselect,useSelectParent}from"./system-hooks/selection-hooks.js";export{useActiveNavigationState,useActiveViewState,useActiveToolState,useIsFullscreenActive,useSetFullscreen,useActiveViewports,useDraggedDomainEntityId,useNavigate,usePushNavigate,usePopNavigate}from"./system-hooks/navigation-hooks.js";export{useComposition}from"./system-hooks/composition-hooks.js";export{useHoveredDomainEntityId,useHoveredEntity,useHoveredEntityId}from"./system-hooks/hover-hooks.js";export{useRootEntityState,useRootEntityRenderedState}from"./entity-hooks/use-root-entity-state.js";export{useRootEntityId,useRootEntityRenderedId}from"./entity-hooks/use-root-entity-id.js";export{useEntitySelector,useRootEntitySelector,useRenderedEntitySelector,useRenderedRootEntitySelector}from"./common-hooks/use-entity-selector.js";export{useDimensionState,useDimensions,useDimensionConfig}from"./system-hooks/dimension-hooks.js";
1
+ export{useDomain}from"./common-hooks/use-domain-context.js";export{useStoreSelector,useRenderedSelector,useRenderedSelector$,useStoreSelector$}from"./common-hooks/use-store-selector.js";export{useEagerObservableSelector,usePatientObservableSelector,usePatientObservableValue,useEagerObservableValue}from"./common-hooks/use-observable-selector.js";export{useStateValidity,useMapViolationHints,useControlViolations,useFinalizeViolations}from"./common-hooks/use-state-validity.js";export{useConfiguratorMessages}from"./common-hooks/use-configurator-messages.js";export{useComponent,useRenderedComponent,useComponents,useDynamicComponents,useRenderedComponents,useRootComponents,useRootRenderedComponents,useFirstComponent,useFirstRenderedComponent,useFirstRootComponent,useFirstRootRenderedComponent}from"./component-hooks/use-component.js";export{useCommittedState,useCommittedSlice,useRenderedSlice,useRenderedState}from"./common-hooks/use-slices.js";export{useDomainEntityState,useDomainEntityRenderedState}from"./entity-hooks/use-domain-entity-state.js";export{useEntityPrice,useRootEntityPrice}from"./entity-hooks/use-entity-price.js";export{useSelectEntity,useSelectedEntity,useSelectedEntityId,useSelectedDomainEntityId,useDeselect,useSelectParent}from"./system-hooks/selection-hooks.js";export{useActiveNavigationState,useActiveViewState,useSetViewState,useActiveToolState,useIsFullscreenActive,useSetFullscreen,useActiveViewports,useDraggedDomainEntityId,useNavigate,usePushNavigate,usePopNavigate}from"./system-hooks/navigation-hooks.js";export{useComposition}from"./system-hooks/composition-hooks.js";export{useUndoRedo}from"./system-hooks/undo-redo-hooks.js";export{useTabNavigation}from"./system-hooks/tab-navigation-hooks.js";export{useStepNavigation}from"./system-hooks/step-navigation-hooks.js";export{useLocaleSwitch}from"./system-hooks/locale-switch-hooks.js";export{useGenerateShareLink}from"./system-hooks/generate-share-link-hooks.js";export{useShareLinks}from"./system-hooks/share-links-hooks.js";export{useHoveredDomainEntityId,useHoveredEntity,useHoveredEntityId}from"./system-hooks/hover-hooks.js";export{useRootEntityState,useRootEntityRenderedState}from"./entity-hooks/use-root-entity-state.js";export{useRootEntityId,useRootEntityRenderedId}from"./entity-hooks/use-root-entity-id.js";export{useEntitySelector,useRootEntitySelector,useRenderedEntitySelector,useRenderedRootEntitySelector}from"./common-hooks/use-entity-selector.js";export{useDimensionState,useDimensions,useDimensionConfig}from"./system-hooks/dimension-hooks.js";
@@ -1 +1 @@
1
- import{useDomain as o}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as e}from"../common-hooks/use-store-selector.js";export const useComposition=()=>{let{compositionProjections:t}=o();return e(o=>t.getTree(o.state),[t])};
1
+ import{useDomain as o,useRenderedSelector as e}from"../common-hooks/index.js";export const useComposition=()=>{let{compositionProjections:t}=o();return e(o=>t.getTree(o.state),[t])};
@@ -1 +1 @@
1
- import{useCallback as t}from"react";import{useDomain as e}from"../common-hooks/use-domain-context.js";import{useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useDimensionConfig=()=>{let{dimensionSystem:t}=e();return o(e=>t.getDimensionConfig(e.state),[t])};export const useDimensionState=()=>{let{dimensionSystem:t}=e();return o(e=>t.state.get(e.state),[t])};export const useDimensions=()=>{let{dimensionSystem:o}=e(),{storeSystem:s}=e();return{setGlobalUnit:t(t=>{let e=o.getSetGlobalUnitUpdates(t,s.stateSlices.committed.value.state);s.stageAndCommit(e)},[o,s])}};
1
+ import{useCallback as t}from"react";import{useDomain as e,useStoreSelector as o}from"../common-hooks/index.js";export const useDimensionConfig=()=>{let{dimensionSystem:t}=e();return o(e=>t.getDimensionConfig(e.state),[t])};export const useDimensionState=()=>{let{dimensionSystem:t}=e();return o(e=>t.state.get(e.state),[t])};export const useDimensions=()=>{let{dimensionSystem:o}=e(),{storeSystem:s}=e();return{setGlobalUnit:t(t=>{let e=o.getSetGlobalUnitUpdates(t,s.stateSlices.committed.value.state);s.stageAndCommit(e)},[o,s])}};
@@ -0,0 +1,8 @@
1
+ import type { AccessLevel } from '@salsita-ai/contracts/api';
2
+ export interface GenerateShareLinkOptions {
3
+ access: AccessLevel;
4
+ expiration?: number;
5
+ }
6
+ export declare const useGenerateShareLink: () => (options: GenerateShareLinkOptions) => Promise<{
7
+ readonly link: string;
8
+ }>;
@@ -0,0 +1 @@
1
+ import{useCallback as e}from"react";import{match as r}from"ts-pattern";import{applicationConfigComponent as t}from"#package/domain";import{useAuthorizedClient as a,useConfigurationId as o,useDomainApplication as i}from"../../application-runtime/index.js";import{useFirstRootComponent as n}from"../component-hooks/index.js";export const useGenerateShareLink=()=>{let s=n(t),m=s?.state.shareStrategy??"deployment-registered",{configurationPersistSystem:c}=i(),d=o(),p=a();return e(async e=>{let t=r(m).with("deployment-registered",()=>void 0).with("current-frontend",()=>{let e=new URL(window.location.href);return e.searchParams.delete("cid"),e.searchParams.delete("ca"),e.toString()}).exhaustive(),a=await c.save();return p.generateShareLink(d,"rr"===e.access?a:void 0,e.expiration,e.access,t)},[m,c,p,d])};
@@ -1 +1 @@
1
- import{useDomain as t}from"../common-hooks/use-domain-context.js";import{useRenderedSelector as e}from"../common-hooks/use-store-selector.js";export const useHoveredDomainEntityId=()=>{let{navigationSystem:o}=t();return e(t=>o.getActiveHoverState(t.state),[o])};export const useHoveredEntityId=t=>{let e=useHoveredDomainEntityId();return e&&t?.isId(e)?e:null};export const useHoveredEntity=o=>{let r=useHoveredEntityId(o),{domain:n}=t();return e(t=>r?n.get$Entity(r,t.state):null,[n,r])};
1
+ import{useDomain as t,useRenderedSelector as e}from"../common-hooks/index.js";export const useHoveredDomainEntityId=()=>{let{navigationSystem:o}=t();return e(t=>o.getActiveHoverState(t.state),[o])};export const useHoveredEntityId=t=>{let e=useHoveredDomainEntityId();return e&&t?.isId(e)?e:null};export const useHoveredEntity=o=>{let n=useHoveredEntityId(o),{domain:r}=t();return e(t=>n?r.get$Entity(n,t.state):null,[r,n])};
@@ -0,0 +1,24 @@
1
+ /** A language the configurator offers, with its name in that language. */
2
+ export interface LocaleOption {
3
+ readonly locale: string;
4
+ readonly displayName: string;
5
+ }
6
+ /**
7
+ * What a project layout needs to offer a language switch.
8
+ * - `locales`: the spec's `applicationConfig.availableLocales` (`['en']` without it), each with its own name.
9
+ * - `locale`: the active locale.
10
+ * - `setLocale`: activates a locale, falling back to a supported one as `useLinguiActivate` does.
11
+ * - `available`: whether there is more than one locale to choose from, the built-in rule for showing the switch.
12
+ */
13
+ export interface UseLocaleSwitchResult {
14
+ readonly locales: readonly LocaleOption[];
15
+ readonly locale: string;
16
+ readonly setLocale: (locale: string) => void;
17
+ readonly available: boolean;
18
+ }
19
+ export type UseLocaleSwitch = () => UseLocaleSwitchResult;
20
+ /**
21
+ * Hook to list the languages the configurator offers and switch between them, as the built-in toolbar's language
22
+ * button and the menu's language action do. It re-renders when the language changes.
23
+ */
24
+ export declare const useLocaleSwitch: UseLocaleSwitch;
@@ -0,0 +1 @@
1
+ import{useLingui as e}from"@lingui/react";import{useMemo as a}from"react";import{applicationConfigComponent as o}from"#package/domain";import{useLinguiActivate as l}from"../../localizable/index.js";import{useFirstRootComponent as t}from"../component-hooks/index.js";export const useLocaleSwitch=()=>{let{i18n:r}=e(),i=t(o),m=l(),n=i?.state.availableLocales,c=a(()=>(n??["en"]).map(e=>{let a=new Intl.DisplayNames([e],{type:"language",fallback:"code"});return{locale:e,displayName:a.of(e)??e}}),[n]),p=r.locale;return a(()=>({locales:c,locale:p,setLocale:e=>{m(e)},available:c.length>1}),[c,p,m])};
@@ -9,6 +9,11 @@ export type UseActiveViewState<VIEW_STATE extends string> = () => VIEW_STATE;
9
9
  * Get the currently active view state
10
10
  */
11
11
  export declare const useActiveViewState: () => string;
12
+ export type UseSetViewState<VIEW_STATE extends string> = () => (state: VIEW_STATE) => void;
13
+ /**
14
+ * Hook to make the given view state the active one. Setting the state that is already active keeps it
15
+ */
16
+ export declare const useSetViewState: () => (state: string) => void;
12
17
  export type UseActiveToolState<TOOL_STATE extends string> = () => TOOL_STATE;
13
18
  /**
14
19
  * Get the currently active tool state
@@ -1 +1 @@
1
- import{useCallback as t}from"react";import{useDomain as e}from"../common-hooks/use-domain-context.js";import{useStoreSelector as o}from"../common-hooks/use-store-selector.js";export const useActiveNavigationState=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveNavigationState(e.state),[t])};export const useActiveViewState=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveViewState(e.state),[t])};export const useActiveToolState=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveToolState(e.state),[t])};export const useIsFullscreenActive=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveFullscreenState(e.state),[t])};export const useSetFullscreen=()=>{let{storeSystem:o,navigationSystem:s}=e();return t(t=>{o.stageAndCommit([s.getFullscreenUpdate(t)])},[o,s])};export const useDraggedDomainEntityId=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveDragState(e.state),[t])};export const useActiveViewports=()=>{let{navigationSystem:t}=e();return o(e=>t.getActiveViewportState(e.state),[t])};export const useNavigate=()=>{let{storeSystem:o,navigationSystem:s}=e();return t(t=>{o.stageAndCommit([s.getNavigationUpdate(t)])},[o,s])};export const usePushNavigate=()=>{let{storeSystem:o,navigationSystem:s}=e();return t(t=>{o.stageAndCommit([s.getPushNavigationUpdate(t,o.stateSlices.committed.value.state)])},[o,s])};export const usePopNavigate=()=>{let{storeSystem:o,navigationSystem:s}=e();return t(()=>{let t=s.getPopNavigationUpdate(o.stateSlices.committed.value.state);t&&o.stageAndCommit([t])},[o,s])};
1
+ import{useCallback as t}from"react";import{useDomain as e,useStoreSelector as a}from"../common-hooks/index.js";export const useActiveNavigationState=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveNavigationState(e.state),[t])};export const useActiveViewState=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveViewState(e.state),[t])};export const useSetViewState=()=>{let{storeSystem:a,navigationSystem:o}=e();return t(t=>{a.stageAndCommit([o.getViewUpdate(t)])},[a,o])};export const useActiveToolState=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveToolState(e.state),[t])};export const useIsFullscreenActive=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveFullscreenState(e.state),[t])};export const useSetFullscreen=()=>{let{storeSystem:a,navigationSystem:o}=e();return t(t=>{a.stageAndCommit([o.getFullscreenUpdate(t)])},[a,o])};export const useDraggedDomainEntityId=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveDragState(e.state),[t])};export const useActiveViewports=()=>{let{navigationSystem:t}=e();return a(e=>t.getActiveViewportState(e.state),[t])};export const useNavigate=()=>{let{storeSystem:a,navigationSystem:o}=e();return t(t=>{a.stageAndCommit([o.getNavigationUpdate(t)])},[a,o])};export const usePushNavigate=()=>{let{storeSystem:a,navigationSystem:o}=e();return t(t=>{a.stageAndCommit([o.getPushNavigationUpdate(t,a.stateSlices.committed.value.state)])},[a,o])};export const usePopNavigate=()=>{let{storeSystem:a,navigationSystem:o}=e();return t(()=>{let t=o.getPopNavigationUpdate(a.stateSlices.committed.value.state);t&&a.stageAndCommit([t])},[a,o])};
@@ -1 +1 @@
1
- import{useCallback as e}from"react";import{useAnalyticsService as t}from"../../application-runtime/index.js";import{useDomain as o}from"../common-hooks/use-domain-context.js";import{useStoreSelector as n}from"../common-hooks/use-store-selector.js";export const useSelectedDomainEntityId=()=>{let{navigationSystem:e}=o();return n(t=>e.getActiveSelectionState(t.state),[e])};export const useSelectedEntityId=e=>{let t=useSelectedDomainEntityId();return e?.isId(t)?t:null};export const useSelectEntity=n=>{let{storeSystem:s,navigationSystem:r}=o(),i=t();return e(e=>{s.stageAndCommit([r.getSelectUpdate(e)]),n&&i.push(n(e))},[s,r,n,i])};export const useSelectParent=(n,s,r)=>{let{storeSystem:i,navigationSystem:c,compositionProjections:l}=o(),m=t();return e(()=>{let e=l.getTree(i.stateSlices.committed.value.state).map.get(n);if(e?.parent){i.stageAndCommit([c.getSelectUpdate(e.parent.id)]),r&&m.push(r(e.parent.id));return}s&&(i.stageAndCommit([c.getSelectUpdate(s)]),r&&m.push(r(s)))},[i,c,n,l,s,r,m])};export const useDeselect=n=>{let{storeSystem:s,navigationSystem:r}=o(),i=t();return e(()=>{s.stageAndCommit([r.getDeselectUpdate()]),n&&i.push(n())},[s,r,n,i])};export const useSelectedEntity=e=>{let t=useSelectedEntityId(e),{domain:s}=o();return n(e=>t?s.get$Entity(t,e.state):null,[s,t])};
1
+ import{useCallback as e}from"react";import{useAnalyticsService as t}from"../../application-runtime/index.js";import{useDomain as n,useStoreSelector as r}from"../common-hooks/index.js";export const useSelectedDomainEntityId=()=>{let{navigationSystem:e}=n();return r(t=>e.getActiveSelectionState(t.state),[e])};export const useSelectedEntityId=e=>{let t=useSelectedDomainEntityId();return e?.isId(t)?t:null};export const useSelectEntity=r=>{let{storeSystem:s,navigationSystem:o}=n(),i=t();return e(e=>{s.stageAndCommit([o.getSelectUpdate(e)]),r&&i.push(r(e))},[s,o,r,i])};export const useSelectParent=(r,s,o)=>{let{storeSystem:i,navigationSystem:l,compositionProjections:c}=n(),a=t();return e(()=>{let e=c.getTree(i.stateSlices.committed.value.state).map.get(r);if(e?.parent){i.stageAndCommit([l.getSelectUpdate(e.parent.id)]),o&&a.push(o(e.parent.id));return}s&&(i.stageAndCommit([l.getSelectUpdate(s)]),o&&a.push(o(s)))},[i,l,r,c,s,o,a])};export const useDeselect=r=>{let{storeSystem:s,navigationSystem:o}=n(),i=t();return e(()=>{s.stageAndCommit([o.getDeselectUpdate()]),r&&i.push(r())},[s,o,r,i])};export const useSelectedEntity=e=>{let t=useSelectedEntityId(e),{domain:s}=n();return r(e=>t?s.get$Entity(t,e.state):null,[s,t])};
@@ -0,0 +1,32 @@
1
+ export interface UseShareLinksOptions {
2
+ /** Whether the links are generated; `true` by default. A layout passes whether its share dialog is open. */
3
+ readonly enabled?: boolean;
4
+ }
5
+ /**
6
+ * What a project layout needs to share the configuration.
7
+ * - `available`: whether sharing is offered, that is `applicationConfig.shareDisabled` is not set and at least one
8
+ * kind of link is enabled; the built-in share button renders nothing otherwise.
9
+ * - `ownerLinkAvailable` and `readLinkAvailable`: whether each kind of link is enabled
10
+ * (`applicationConfig.shareOwnerLinkDisabled`, `applicationConfig.shareReadRevisionLinkDisabled`).
11
+ * - `ownerLink`: a link that opens the configuration for editing, or `null` while it loads, is disabled or the
12
+ * hook is not `enabled`.
13
+ * - `readLink`: a link that opens the current revision of the configuration for viewing, `null` in the same cases.
14
+ * The configuration is saved before the link is generated; while the hook is enabled, each commit of the
15
+ * configuration generates a new link, and `readLink` is `null` again until it arrives.
16
+ * - `isLoading`: whether an enabled link is still being generated.
17
+ */
18
+ export interface UseShareLinksResult {
19
+ readonly available: boolean;
20
+ readonly ownerLinkAvailable: boolean;
21
+ readonly readLinkAvailable: boolean;
22
+ readonly ownerLink: string | null;
23
+ readonly readLink: string | null;
24
+ readonly isLoading: boolean;
25
+ }
26
+ export type UseShareLinks = (options?: UseShareLinksOptions) => UseShareLinksResult;
27
+ /**
28
+ * Hook to generate the links that share the configuration, as the built-in share dialog does. The links expire
29
+ * after `applicationConfig.shareExpiration` hours, or never without it. Generating a link saves the configuration,
30
+ * so a layout enables the hook only while its share dialog is open. It does not check read mode.
31
+ */
32
+ export declare const useShareLinks: UseShareLinks;
@@ -0,0 +1 @@
1
+ import{useQuery as e}from"@tanstack/react-query";import{useMemo as t}from"react";import{applicationConfigComponent as i}from"#package/domain";import{useConfigurationId as r}from"../../application-runtime/index.js";import{useStoreSelector as a}from"../common-hooks/index.js";import{useFirstRootComponent as n}from"../component-hooks/index.js";import{useGenerateShareLink as s}from"./generate-share-link-hooks.js";export const useShareLinks=(o={})=>{let{enabled:l=!0}=o,d=n(i),m=s(),c=r(),h=d?.state.shareExpiration,k=d?.state.shareDisabled??!1,p=!k&&!d?.state.shareOwnerLinkDisabled,u=!k&&!d?.state.shareReadRevisionLinkDisabled,y=l&&u,f=a(e=>({entities:e.state.entities,rootEntityId:e.state.rootEntityId}),[],y),b=e({queryKey:["share-owner-link",c],staleTime:1/0,queryFn:()=>m({access:"o",expiration:h}),enabled:l&&p}),q=e({queryKey:y?["share-revision-link",c,f.entities,f.rootEntityId]:["share-revision-link",c,"disabled"],queryFn:()=>m({access:"rr",expiration:h}),enabled:y}),x=l&&p&&b.data?.link||null,F=y&&q.isFetchedAfterMount&&q.data?.link||null,g=l&&p&&b.isLoading||y&&q.isFetching&&!q.isFetchedAfterMount;return t(()=>({available:p||u,ownerLinkAvailable:p,readLinkAvailable:u,ownerLink:x,readLink:F,isLoading:g}),[p,u,x,F,g])};
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Where a step stands relative to the active step: before it, the active step itself, or after it.
3
+ */
4
+ export type StepStatus = 'complete' | 'active' | 'upcoming';
5
+ /**
6
+ * One step of the spec, ready to render.
7
+ */
8
+ export interface NavigationStepEntry<NAVIGATION_STATE extends string = string> {
9
+ /** Position of the step in `steps`; what `goTo` takes */
10
+ readonly index: number;
11
+ /** The step's label, resolved for the active locale */
12
+ readonly label: string;
13
+ /** The step's navigation states; the step is active while one of them is */
14
+ readonly navigationStates: readonly NAVIGATION_STATE[];
15
+ /** `navigationStates[0]`, the state `goTo`, `next` and `previous` enter */
16
+ readonly state: NAVIGATION_STATE;
17
+ /** Before, at or after the active step; `'upcoming'` for every step while no step is active */
18
+ readonly status: StepStatus;
19
+ }
20
+ /**
21
+ * The steps of the spec and the means to move between them.
22
+ * - `steps`: the steps in spec order. `activeStep` and `activeIndex`: the first step whose navigation states include
23
+ * the active one, or `null` and -1 while the active navigation state belongs to no step.
24
+ * - `isFirst` and `isLast`: whether the active step is the first or the last one; a single step is both.
25
+ * - `canGoNext` and `canGoPrevious`: whether a step follows or precedes the active one. While no step is active, the
26
+ * next step is the first one and there is no previous step.
27
+ * - `next` and `previous`: enter the following or preceding step; each does nothing without one.
28
+ * - `goTo`: enters a step, given by its index or by any of its navigation states; an unknown step does nothing.
29
+ */
30
+ export interface UseStepNavigationResult<NAVIGATION_STATE extends string = string> {
31
+ readonly steps: readonly NavigationStepEntry<NAVIGATION_STATE>[];
32
+ readonly activeStep: NavigationStepEntry<NAVIGATION_STATE> | null;
33
+ readonly activeIndex: number;
34
+ readonly isFirst: boolean;
35
+ readonly isLast: boolean;
36
+ readonly canGoNext: boolean;
37
+ readonly canGoPrevious: boolean;
38
+ readonly next: () => void;
39
+ readonly previous: () => void;
40
+ readonly goTo: (step: number | NAVIGATION_STATE) => void;
41
+ }
42
+ export type UseStepNavigation<NAVIGATION_STATE extends string> = () => UseStepNavigationResult<NAVIGATION_STATE>;
43
+ /**
44
+ * Hook to read the steps the spec declares in `navigationSteps` and to move between them, as the built-in step
45
+ * buttons and the header's stepper do.
46
+ * - It reads the first active `navigationSteps` instance on the root entity, the one the built-in layout shows, so
47
+ * several instances can be switched with `$filter`. Without one, `steps` is empty, `activeIndex` is -1 and the
48
+ * actions do nothing.
49
+ * - A step without navigation states cannot be entered and is left out, with a warning in development.
50
+ * - `next` and `previous` read the committed state when they are called, so a second call before React renders
51
+ * again moves one step further from where the first one arrived, never skipping a step on stale state.
52
+ * - Each action that enters a step pushes the analytics event of the built-in control: the next-step button's,
53
+ * the previous-step button's, or the header stepper's for `goTo`. An action that does nothing pushes nothing.
54
+ *
55
+ * It enforces no order (`goTo` enters any step) and does not check read mode.
56
+ */
57
+ export declare const useStepNavigation: () => UseStepNavigationResult;
@@ -0,0 +1 @@
1
+ import{useCallback as t,useEffect as e,useMemo as a}from"react";import{navigationStepsComponent as o}from"#package/domain";import{FrontendAnalyticsFactory as i,useAnalyticsService as n,useIsDev as s}from"../../application-runtime/index.js";import{useResolveLocalizable as l}from"../../localizable/index.js";import{useDomain as p}from"../common-hooks/use-domain-context.js";import{useFirstRootComponent as m}from"../component-hooks/use-component.js";import{useActiveNavigationState as r}from"./navigation-hooks.js";let v=t=>t.flatMap(t=>{let e=t.navigationStates[0];return void 0===e?[]:[{step:t,state:e}]});export const useStepNavigation=()=>{var g,c;let d,u=m(o),S=r(),f=l(),h=n(),{componentReader:x,navigationSystem:N,storeSystem:k}=p(),j=a(()=>u?.state.steps??[],[u]),C=j.filter(t=>0===t.navigationStates.length);g=C.length>0,c=`The navigationSteps ${C.map(t=>`"${f(t.label)}"`).join(", ")} have no navigation states, so useStepNavigation leaves them out. Give each step at least one navigation state.`,e(()=>{d&&g&&console.warn(c)},[d=s(),g,c]);let b=a(()=>v(j),[j]),A=b.findIndex(({step:t})=>t.navigationStates.includes(S)),G=a(()=>b.map(({step:t,state:e},a)=>{let o=a<A?"complete":a===A?"active":"upcoming";return{index:a,label:f(t.label),navigationStates:t.navigationStates,state:e,status:o}}),[b,A,f]),T=t((t,e)=>{let a=k.stateSlices.committed.value.state,i=x.readFirstRootComponent({componentTypes:[o]},a),n=v(i?.state.steps??[]),s=N.getActiveNavigationState(a),l=n.findIndex(({step:t})=>t.navigationStates.includes(s)),p=n[l+t]?.state;void 0!==p&&(h.push(e()),k.stageAndCommit([N.getNavigationUpdate(p)]))},[h,x,N,k]),y=t(()=>T(1,i.NextStepButtonClicked),[T]),B=t(()=>T(-1,i.PreviousStepButtonClicked),[T]),F=t(t=>{let e="number"==typeof t?G[t]:G.find(e=>e.navigationStates.includes(t));e&&(h.push(i.TopNavigationStepClicked(e.state)),k.stageAndCommit([N.getNavigationUpdate(e.state)]))},[G,h,k,N]);return{steps:G,activeStep:G[A]??null,activeIndex:A,isFirst:0===A,isLast:-1!==A&&A===G.length-1,canGoNext:A+1<G.length,canGoPrevious:A>0,next:y,previous:B,goTo:F}};
@@ -0,0 +1,61 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type DomainEntityId } from '#package/domain';
3
+ /**
4
+ * The spec component a layout's tabs come from: the `sidebarTabs` of an entity, or the configurator's
5
+ * `horizontalTabs`.
6
+ */
7
+ export type TabSource = 'sidebarTabs' | 'horizontalTabs';
8
+ /**
9
+ * One tab of the spec, ready to render.
10
+ */
11
+ export interface TabEntry<NAVIGATION_STATE extends string = string> {
12
+ /** Position of the tab in `tabs`; what `select` takes */
13
+ readonly index: number;
14
+ /** The tab's label, resolved for the active locale */
15
+ readonly label: string;
16
+ /** A PhxIcon name, when the spec gives the icon as a string */
17
+ readonly icon: string | undefined;
18
+ /** A React node, when TypeScript spec code gives the icon as one (`sidebarTabs` only) */
19
+ readonly iconNode: ReactNode | undefined;
20
+ /** The tab's navigation states; the tab is active while one of them is */
21
+ readonly navigationStates: readonly NAVIGATION_STATE[];
22
+ /** `navigationStates[0]`, the state `select` enters */
23
+ readonly state: NAVIGATION_STATE;
24
+ readonly isActive: boolean;
25
+ }
26
+ /**
27
+ * Which tabs `useTabNavigation` reads.
28
+ * - `source`: `'auto'` (default) reads the entity's `sidebarTabs` and, without any, the `horizontalTabs`.
29
+ * - `entityId`: whose `sidebarTabs` are read; the selected entity by default (the root while nothing is selected).
30
+ */
31
+ export interface UseTabNavigationOptions {
32
+ readonly source?: 'auto' | TabSource;
33
+ readonly entityId?: DomainEntityId<string>;
34
+ }
35
+ /**
36
+ * The tabs of the spec and the means to switch between them.
37
+ * - `source`: the component the tabs come from, or `null` when no active instance of it exists.
38
+ * - `tabs`: the tabs in spec order. `activeTab`: the first tab whose navigation states include the active one.
39
+ * - `select`: enters a tab, given by its index or by any of its navigation states; an unknown tab does nothing.
40
+ */
41
+ export interface UseTabNavigationResult<NAVIGATION_STATE extends string = string> {
42
+ readonly source: TabSource | null;
43
+ readonly tabs: readonly TabEntry<NAVIGATION_STATE>[];
44
+ readonly activeTab: TabEntry<NAVIGATION_STATE> | null;
45
+ readonly select: (tab: number | NAVIGATION_STATE) => void;
46
+ }
47
+ export type UseTabNavigation<NAVIGATION_STATE extends string> = (options?: UseTabNavigationOptions) => UseTabNavigationResult<NAVIGATION_STATE>;
48
+ /**
49
+ * Hook to read the tabs the spec declares, `sidebarTabs` or `horizontalTabs`, and to switch between them, as the
50
+ * built-in tabs do.
51
+ * - `sidebarTabs`: every active instance on the entity, flattened in spec order. `horizontalTabs`: the first active
52
+ * instance, on any entity.
53
+ * - With `source: 'auto'` and both kinds active, `sidebarTabs` win; several active `horizontalTabs` use the first.
54
+ * Both log a warning in development and never throw.
55
+ * - A tab without navigation states cannot be entered and is left out, with a warning in development.
56
+ * - `select` enters the tab's first navigation state. For `horizontalTabs` it pushes the analytics event the
57
+ * built-in horizontal tabs push; for `sidebarTabs` none, as the built-in sidebar tabs.
58
+ *
59
+ * It does not check read mode: switching tabs is navigation, not editing.
60
+ */
61
+ export declare const useTabNavigation: (options?: UseTabNavigationOptions) => UseTabNavigationResult;
@@ -0,0 +1 @@
1
+ import{useCallback as t,useEffect as a,useMemo as o}from"react";import{horizontalTabsComponent as e,sidebarTabsComponent as i}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useIsDev as r}from"../../application-runtime/index.js";import{useResolveLocalizable as l}from"../../localizable/index.js";import{useDomain as m}from"../common-hooks/index.js";import{useComponents as p}from"../component-hooks/index.js";import{useActiveNavigationState as c}from"./navigation-hooks.js";import{useSelectedDomainEntityId as b}from"./selection-hooks.js";let h=(t,o)=>{let e=r();a(()=>{e&&t&&console.warn(o)},[e,t,o])};export const useTabNavigation=(a={})=>{let{source:r="auto",entityId:v}=a,g=c(),d=b(),f=l(),T=s(),{navigationSystem:u,storeSystem:z}=m(),S=p({componentTypes:[i],entityIds:[v??d]}),j=p({componentTypes:[e]}),N="horizontalTabs"!==r&&S.length>0,k="sidebarTabs"!==r&&j.length>0,x=N?"sidebarTabs":k?"horizontalTabs":null;h(N&&k,"Both sidebarTabs and horizontalTabs are active, so useTabNavigation shows the sidebarTabs. Remove one of them from the spec, or pass `source` to choose."),h("horizontalTabs"===x&&j.length>1,"Several horizontalTabs are active, so useTabNavigation shows the first one. Keep one active, for example with $filter.");let y=o(()=>"sidebarTabs"===x?S.flatMap(t=>t.state.tabs):"horizontalTabs"===x?j[0]?.state.tabs??[]:[],[x,S,j]),w=y.filter(t=>0===t.navigationStates.length);h(w.length>0,`The ${x} tabs ${w.map(t=>`"${f(t.label)}"`).join(", ")} have no navigation states, so useTabNavigation leaves them out. Give each tab at least one navigation state.`);let $=o(()=>y.flatMap(t=>{let a=t.navigationStates[0];return void 0===a?[]:[{tab:t,state:a}]}).map(({tab:t,state:a},o)=>({index:o,label:f(t.label),icon:"string"==typeof t.icon?t.icon:void 0,iconNode:"string"==typeof t.icon||null===t.icon?void 0:t.icon,navigationStates:t.navigationStates,state:a,isActive:t.navigationStates.includes(g)})),[y,g,f]),A=$.find(t=>t.isActive)??null,C=t(t=>{let a="number"==typeof t?$[t]:$.find(a=>a.navigationStates.includes(t));a&&("horizontalTabs"===x&&T.push(n.TopNavigationStepClicked(a.state)),z.stageAndCommit([u.getNavigationUpdate(a.state)]))},[$,x,T,z,u]);return{source:x,tabs:$,activeTab:A,select:C}};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * What a project layout needs to offer undo and redo.
3
+ * - `canUndo` and `canRedo`: whether the undo history has a step to go back or forward to; they follow every change.
4
+ * - `undo`: returns to the previous step and pushes the undo-button analytics event; does nothing while `canUndo`
5
+ * is false.
6
+ * - `redo`: returns to the next step and pushes the redo-button analytics event; does nothing while `canRedo` is
7
+ * false.
8
+ */
9
+ export interface UseUndoRedoResult {
10
+ readonly canUndo: boolean;
11
+ readonly canRedo: boolean;
12
+ readonly undo: () => void;
13
+ readonly redo: () => void;
14
+ }
15
+ export type UseUndoRedo = () => UseUndoRedoResult;
16
+ /**
17
+ * Hook to undo and redo changes of the configuration, as the built-in toolbar's undo and redo buttons do. It does
18
+ * not check read mode; a layout hides undo and redo for a viewer.
19
+ */
20
+ export declare const useUndoRedo: UseUndoRedo;