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

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 (1066) hide show
  1. package/README.md +19 -14
  2. package/dist/admin/default-admin-elements.d.ts +9 -0
  3. package/dist/admin/default-admin-elements.js +1 -0
  4. package/dist/admin/default-elements/built-in-entity-element.d.ts +10 -0
  5. package/dist/admin/default-elements/built-in-entity-element.js +1 -0
  6. package/dist/admin/default-elements/built-in-layout-element.d.ts +10 -0
  7. package/dist/admin/default-elements/built-in-layout-element.js +1 -0
  8. package/dist/admin/default-elements/index.d.ts +2 -0
  9. package/dist/admin/default-elements/index.js +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.js +1 -1
  12. package/dist/application-spec/caching/content-diff.js +1 -1
  13. package/dist/application-spec/core/application-file.d.ts +0 -2
  14. package/dist/application-spec/core/application-file.js +1 -1
  15. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  16. package/dist/application-spec/core/components/component-filter.js +1 -0
  17. package/dist/application-spec/core/components/index.d.ts +2 -0
  18. package/dist/application-spec/core/components/index.js +1 -0
  19. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  20. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  21. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  22. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  23. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  24. package/dist/application-spec/core/expressions/index.js +1 -0
  25. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  26. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  27. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  28. package/dist/application-spec/core/index.d.ts +2 -0
  29. package/dist/application-spec/core/index.js +1 -1
  30. package/dist/application-spec/core/json-value.d.ts +1 -1
  31. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  32. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  33. package/dist/application-spec/enhanced-json/index.js +1 -0
  34. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  35. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  36. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  37. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  38. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  39. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  40. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  41. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  42. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  43. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  44. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  45. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  46. package/dist/application-spec/errors/diagnostic-codes.d.ts +14 -0
  47. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  48. package/dist/application-spec/errors/diagnostic-messages.d.ts +17 -0
  49. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  50. package/dist/application-spec/generate-application/code/common/code-imports.js +1 -1
  51. package/dist/application-spec/generate-application/code/common/env-reader.js +2 -2
  52. package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
  53. package/dist/application-spec/generate-application/code/common/index.js +1 -1
  54. package/dist/application-spec/generate-application/code/common/single-quoted-string.d.ts +6 -0
  55. package/dist/application-spec/generate-application/code/common/single-quoted-string.js +1 -0
  56. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  57. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  58. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  59. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +22 -14
  60. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  61. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  62. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  63. package/dist/application-spec/generate-application/code/story-files.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/admin-config.js +3 -0
  65. package/dist/application-spec/generate-application/code/templates/common/format-property-key.d.ts +7 -0
  66. package/dist/application-spec/generate-application/code/templates/common/format-property-key.js +1 -0
  67. package/dist/application-spec/generate-application/code/templates/common/schema-to-type-string.js +3 -3
  68. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  69. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.d.ts +35 -0
  70. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/domain-factory-types.js +5 -0
  71. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.d.ts +1 -0
  72. package/dist/application-spec/generate-application/code/templates/domain-spec/factory-types/index.js +1 -0
  73. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.d.ts +1 -1
  74. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +7 -7
  75. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  76. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  77. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +69 -73
  78. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +8 -0
  79. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  80. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  81. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-presets.js +1 -1
  82. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  83. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  84. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +21 -21
  85. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.d.ts +1 -1
  86. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-states.js +2 -2
  87. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +3 -2
  88. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  89. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  90. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  91. package/dist/application-spec/generate-application/code/templates/eslint-config.d.ts +5 -0
  92. package/dist/application-spec/generate-application/code/templates/eslint-config.js +4 -5
  93. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  94. package/dist/application-spec/generate-application/code/templates/gitignore.js +0 -3
  95. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.d.ts +43 -0
  96. package/dist/application-spec/generate-application/code/templates/global-definition/generate-phx-types.js +31 -0
  97. package/dist/application-spec/generate-application/code/templates/global-definition/index.d.ts +1 -0
  98. package/dist/application-spec/generate-application/code/templates/global-definition/index.js +1 -1
  99. package/dist/application-spec/generate-application/code/templates/globals.js +24 -43
  100. package/dist/application-spec/generate-application/code/templates/index.d.ts +3 -10
  101. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  102. package/dist/application-spec/generate-application/code/templates/lingui-rc.d.ts +5 -0
  103. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +4 -4
  104. package/dist/application-spec/generate-application/code/templates/prettier-config.d.ts +5 -0
  105. package/dist/application-spec/generate-application/code/templates/prettier-config.js +4 -5
  106. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  107. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  109. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +1 -1
  110. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +5 -5
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  113. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +2 -2
  114. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +31 -14
  115. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +2 -4
  116. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +58 -0
  117. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -0
  118. package/dist/application-spec/generate-application/code/templates/spec-code/index.d.ts +2 -0
  119. package/dist/application-spec/generate-application/code/templates/spec-code/index.js +1 -0
  120. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.d.ts +18 -0
  121. package/dist/application-spec/generate-application/code/templates/spec-code/spec-code.js +41 -0
  122. package/dist/application-spec/generate-application/code/templates/spec-messages/index.d.ts +1 -0
  123. package/dist/application-spec/generate-application/code/templates/spec-messages/index.js +1 -0
  124. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.d.ts +20 -0
  125. package/dist/application-spec/generate-application/code/templates/spec-messages/spec-messages.js +6 -0
  126. package/dist/application-spec/generate-application/code/templates/story/phx-module.d.ts +8 -2
  127. package/dist/application-spec/generate-application/code/templates/story/phx-module.js +15 -3
  128. package/dist/application-spec/generate-application/code/templates/story/wrapper.d.ts +3 -0
  129. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -1
  130. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  131. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  132. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  133. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  134. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  135. package/dist/application-spec/generate-application/index.d.ts +2 -0
  136. package/dist/application-spec/generate-application/index.js +1 -1
  137. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.d.ts +6 -4
  138. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +1 -1
  139. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +8 -3
  140. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  141. package/dist/application-spec/generate-application/runtime/admin-runtime/states-runtime.d.ts +2 -2
  142. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +19 -7
  143. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  144. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.d.ts +6 -4
  145. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +1 -1
  146. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +7 -4
  147. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  148. package/dist/application-spec/generate-application/runtime/configurator-runtime/states-runtime.d.ts +2 -2
  149. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  150. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  151. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  152. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  153. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  154. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  155. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  156. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  157. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  158. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  159. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  160. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  161. package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +2 -2
  162. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +3 -2
  163. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  164. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +2 -1
  165. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +1 -1
  166. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +5 -1
  167. package/dist/application-spec/generate-application/runtime/sections/component-optic.js +1 -1
  168. package/dist/application-spec/generate-application/runtime/sections/data-runtime.d.ts +4 -4
  169. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.d.ts +7 -4
  170. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  171. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.d.ts +9 -5
  172. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +1 -1
  173. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.d.ts +3 -1
  174. package/dist/application-spec/generate-application/runtime/sections/reflection-constants-runtime.js +1 -1
  175. package/dist/application-spec/generate-application/runtime/sections/theme-runtime.d.ts +2 -2
  176. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +4 -6
  177. package/dist/application-spec/generate-application/runtime/spec-code/index.d.ts +2 -0
  178. package/dist/application-spec/generate-application/runtime/spec-code/index.js +1 -0
  179. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.d.ts +18 -0
  180. package/dist/application-spec/generate-application/runtime/spec-code/resolve-spec-code.js +1 -0
  181. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.d.ts +17 -0
  182. package/dist/application-spec/generate-application/runtime/spec-code/spec-code-module.js +1 -0
  183. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.d.ts +9 -0
  184. package/dist/application-spec/generate-application/runtime-spec/decode-runtime-spec.js +1 -0
  185. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.d.ts +8 -0
  186. package/dist/application-spec/generate-application/runtime-spec/encode-runtime-spec.js +1 -0
  187. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.d.ts +27 -0
  188. package/dist/application-spec/generate-application/runtime-spec/encoded-runtime-spec.js +1 -0
  189. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +5 -0
  190. package/dist/application-spec/generate-application/runtime-spec/index.js +1 -0
  191. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.d.ts +68 -0
  192. package/dist/application-spec/generate-application/runtime-spec/runtime-spec.js +1 -0
  193. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.d.ts +40 -0
  194. package/dist/application-spec/generate-application/runtime-spec/spec-code-id.js +1 -0
  195. package/dist/application-spec/index.d.ts +1 -0
  196. package/dist/application-spec/index.js +1 -1
  197. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +34 -0
  198. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  199. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.d.ts +16 -0
  200. package/dist/application-spec/parse-application-files/categorize/earlier-generated-editor-configs.js +9 -0
  201. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  202. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  203. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  204. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  205. package/dist/application-spec/parse-application-files/raw-spec/parse-yaml-spec-file.js +1 -1
  206. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  207. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  208. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  209. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  210. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  211. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  212. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  213. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  214. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  215. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +5 -0
  216. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  217. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.d.ts +6 -0
  218. package/dist/application-spec/parse-application-files/spec/common/value-type/intersect-value-types.js +1 -0
  219. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  220. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  221. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  222. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  223. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  224. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  225. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  226. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  227. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  228. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  229. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  230. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  231. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  232. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  233. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  234. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  235. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  236. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  237. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  238. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  239. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  240. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  241. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  242. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  243. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +6 -0
  244. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  245. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +7 -4
  246. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  247. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.d.ts +24 -0
  248. package/dist/application-spec/parse-application-files/spec/expressions/expression-read-types.js +1 -0
  249. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.d.ts +13 -0
  250. package/dist/application-spec/parse-application-files/spec/expressions/expression-read.js +1 -0
  251. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.d.ts +9 -0
  252. package/dist/application-spec/parse-application-files/spec/expressions/expression-value-type.js +1 -0
  253. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  254. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  255. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +7 -3
  256. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  257. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  258. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  259. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  260. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.d.ts +3 -1
  261. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  262. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  263. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  264. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  265. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  266. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  267. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  268. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  269. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  270. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  271. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  272. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  273. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  274. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  275. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  276. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  277. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  278. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  279. package/dist/client/phoenix-api.d.ts +463 -0
  280. package/dist/configurator/ConfiguratorApp.js +1 -1
  281. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.d.ts +2 -0
  282. package/dist/configurator/app-loader-content/DefaultAppLoaderContent.js +5 -0
  283. package/dist/configurator/app-loader-content/app-loader-content-name.d.ts +5 -0
  284. package/dist/configurator/app-loader-content/app-loader-content-name.js +1 -0
  285. package/dist/configurator/app-loader-content/index.d.ts +2 -0
  286. package/dist/configurator/app-loader-content/index.js +1 -0
  287. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  288. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  289. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  290. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +38 -1
  291. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  292. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  293. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  294. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +1 -1
  295. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  296. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.d.ts +12 -0
  297. package/dist/configurator/application-runtime/extensions/systems/graphql-system/close-unclosed-braces.js +1 -0
  298. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  299. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  300. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  301. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  302. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  303. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  304. package/dist/configurator/common/configurator-interface.d.ts +90 -3
  305. package/dist/configurator/common/configurator-interface.js +1 -1
  306. package/dist/configurator/common/index.d.ts +3 -1
  307. package/dist/configurator/common/index.js +1 -1
  308. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  309. package/dist/configurator/common/use-reset-camera.js +1 -0
  310. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.d.ts +12 -0
  311. package/dist/configurator/configuration-not-found-page/ConfigurationNotFoundPageElement.js +1 -0
  312. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.d.ts +9 -0
  313. package/dist/configurator/configuration-not-found-page/create-configuration-not-found-page.js +1 -0
  314. package/dist/configurator/configuration-not-found-page/index.d.ts +2 -0
  315. package/dist/configurator/configuration-not-found-page/index.js +1 -0
  316. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.d.ts +12 -0
  317. package/dist/configurator/configurator-context/ConfiguratorResponsiveProvider.js +1 -0
  318. package/dist/configurator/configurator-context/PresetSelectionProvider.js +1 -1
  319. package/dist/configurator/configurator-context/PreviewContextProvider.js +1 -1
  320. package/dist/configurator/configurator-context/ViewportStateSync.d.ts +2 -2
  321. package/dist/configurator/configurator-context/ViewportStateSync.js +1 -1
  322. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +7 -1
  323. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.d.ts +6 -0
  324. package/dist/configurator/configurator-error-page/BuiltInConfiguratorErrorPage.js +1 -0
  325. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.d.ts +12 -0
  326. package/dist/configurator/configurator-error-page/ConfiguratorErrorPageElement.js +1 -0
  327. package/dist/configurator/configurator-error-page/create-configurator-error-page.d.ts +9 -0
  328. package/dist/configurator/configurator-error-page/create-configurator-error-page.js +1 -0
  329. package/dist/configurator/configurator-error-page/index.d.ts +3 -0
  330. package/dist/configurator/configurator-error-page/index.js +1 -0
  331. package/dist/configurator/index.d.ts +2 -0
  332. package/dist/configurator/index.js +1 -1
  333. package/dist/configurator/pages/ConfiguratorErrorPage.d.ts +0 -1
  334. package/dist/configurator/pages/ConfiguratorErrorPage.js +1 -1
  335. package/dist/configurator/pages/ConfiguratorNotFoundPage.js +1 -1
  336. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +7 -0
  337. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  338. package/dist/configurator/pages/DefaultNotAuthenticatedPage.d.ts +8 -0
  339. package/dist/configurator/pages/DefaultNotAuthenticatedPage.js +1 -0
  340. package/dist/configurator/pages/DefaultPresetUi.d.ts +7 -0
  341. package/dist/configurator/pages/DefaultPresetUi.js +1 -0
  342. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  343. package/dist/configurator/pages/NewConfiguratorPage.js +1 -1
  344. package/dist/configurator/pages/PresetCreationErrorPage.d.ts +1 -1
  345. package/dist/configurator/pages/PresetCreationErrorPage.js +1 -1
  346. package/dist/configurator/pages/RootPage.js +1 -1
  347. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  348. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  349. package/dist/configurator/pages/default-configurator-elements.d.ts +12 -0
  350. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  351. package/dist/configurator/pages/default-elements/built-in-entity-element.d.ts +10 -0
  352. package/dist/configurator/pages/default-elements/built-in-entity-element.js +1 -0
  353. package/dist/configurator/pages/default-elements/built-in-layout-element.d.ts +10 -0
  354. package/dist/configurator/pages/default-elements/built-in-layout-element.js +1 -0
  355. package/dist/configurator/pages/default-elements/domain-control-elements.d.ts +6 -0
  356. package/dist/configurator/pages/default-elements/domain-control-elements.js +1 -0
  357. package/dist/configurator/pages/default-elements/index.d.ts +4 -0
  358. package/dist/configurator/pages/default-elements/index.js +1 -0
  359. package/dist/configurator/pages/default-elements/recipe-panel-elements.d.ts +3 -0
  360. package/dist/configurator/pages/default-elements/recipe-panel-elements.js +1 -0
  361. package/dist/configurator/pages/default-elements/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/scene-controls/DeleteEntityFab.js +1 -1
  375. package/dist/configurator/scene/scene-controls/SelectionHotspot.js +1 -1
  376. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  377. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  378. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  379. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  380. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  381. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  382. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  383. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  384. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  385. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  386. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +7 -2
  387. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  388. package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
  389. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  390. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  391. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  392. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  393. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  394. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  395. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  396. package/dist/configurator/ui/assistant/entity-link/index.d.ts +2 -0
  397. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  398. package/dist/configurator/ui/assistant/form/AssistantForm.d.ts +19 -0
  399. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -0
  400. package/dist/configurator/ui/assistant/form/built-in-form-registry.d.ts +10 -0
  401. package/dist/configurator/ui/assistant/form/built-in-form-registry.js +1 -0
  402. package/dist/configurator/ui/assistant/form/compose-answer.d.ts +11 -0
  403. package/dist/configurator/ui/assistant/form/compose-answer.js +1 -0
  404. package/dist/configurator/ui/assistant/form/describe-build-errors.d.ts +6 -0
  405. package/dist/configurator/ui/assistant/form/describe-build-errors.js +1 -0
  406. package/dist/configurator/ui/assistant/form/form-element-definition.d.ts +14 -0
  407. package/dist/configurator/ui/assistant/form/form-element-definition.js +1 -0
  408. package/dist/configurator/ui/assistant/form/form-model.d.ts +38 -0
  409. package/dist/configurator/ui/assistant/form/form-model.js +1 -0
  410. package/dist/configurator/ui/assistant/form/form-registry.d.ts +31 -0
  411. package/dist/configurator/ui/assistant/form/form-registry.js +8 -0
  412. package/dist/configurator/ui/assistant/form/form-state.d.ts +4 -0
  413. package/dist/configurator/ui/assistant/form/form-state.js +1 -0
  414. package/dist/configurator/ui/assistant/form/index.d.ts +2 -0
  415. package/dist/configurator/ui/assistant/form/index.js +1 -0
  416. package/dist/configurator/ui/assistant/form/parse-form-block.d.ts +9 -0
  417. package/dist/configurator/ui/assistant/form/parse-form-block.js +1 -0
  418. package/dist/configurator/ui/assistant/form/read-form-attributes.d.ts +13 -0
  419. package/dist/configurator/ui/assistant/form/read-form-attributes.js +1 -0
  420. package/dist/configurator/ui/assistant/form-elements/FormGroup.d.ts +3 -0
  421. package/dist/configurator/ui/assistant/form-elements/FormGroup.js +1 -0
  422. package/dist/configurator/ui/assistant/form-elements/FormOptions.d.ts +3 -0
  423. package/dist/configurator/ui/assistant/form-elements/FormOptions.js +1 -0
  424. package/dist/configurator/ui/assistant/form-elements/FormReply.d.ts +3 -0
  425. package/dist/configurator/ui/assistant/form-elements/FormReply.js +1 -0
  426. package/dist/configurator/ui/assistant/form-elements/FormText.d.ts +3 -0
  427. package/dist/configurator/ui/assistant/form-elements/FormText.js +1 -0
  428. package/dist/configurator/ui/assistant/form-elements/form-element-props.d.ts +34 -0
  429. package/dist/configurator/ui/assistant/form-elements/form-element-props.js +1 -0
  430. package/dist/configurator/ui/assistant/form-elements/index.d.ts +5 -0
  431. package/dist/configurator/ui/assistant/form-elements/index.js +1 -0
  432. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.d.ts +16 -0
  433. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -0
  434. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.d.ts +34 -0
  435. package/dist/configurator/ui/assistant/reference-link/assistant-link-target.js +1 -0
  436. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.d.ts +25 -0
  437. package/dist/configurator/ui/assistant/reference-link/assistant-reference-details.js +1 -0
  438. package/dist/configurator/ui/assistant/reference-link/index.d.ts +3 -0
  439. package/dist/configurator/ui/assistant/reference-link/index.js +1 -0
  440. package/dist/configurator/ui/assistant/reference-link/reference-styles.d.ts +12 -0
  441. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -0
  442. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.d.ts +8 -0
  443. package/dist/configurator/ui/assistant/reference-link/use-assistant-reference-details.js +1 -0
  444. package/dist/configurator/ui/assistant/resource-image/AssistantImage.d.ts +9 -0
  445. package/dist/configurator/ui/assistant/resource-image/AssistantImage.js +1 -0
  446. package/dist/configurator/ui/assistant/resource-image/index.d.ts +3 -0
  447. package/dist/configurator/ui/assistant/resource-image/index.js +1 -0
  448. package/dist/configurator/ui/assistant/resource-image/resource-path.d.ts +11 -0
  449. package/dist/configurator/ui/assistant/resource-image/resource-path.js +1 -0
  450. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.d.ts +5 -0
  451. package/dist/configurator/ui/assistant/resource-image/use-resource-image-url.js +1 -0
  452. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +2 -0
  453. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  454. package/dist/configurator/ui/assistant/thread-items.d.ts +8 -1
  455. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  456. package/dist/configurator/ui/assistant/use-follow-stream.js +1 -1
  457. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  458. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  459. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  460. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  461. package/dist/configurator/ui/configurator-layout/slots/canvas/LayoutCanvas.js +1 -1
  462. package/dist/configurator/ui/configurator-layout/slots/canvas/SharedCanvas.js +1 -1
  463. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  464. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  465. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  466. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  467. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.d.ts +1 -1
  468. package/dist/configurator/ui/configurator-layout/slots/mobile-tabs/use-mobile-tabs.js +1 -1
  469. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  470. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  471. package/dist/configurator/ui/configurator-layout/slots/services/Services.js +1 -1
  472. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  473. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  474. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.d.ts +1 -1
  475. package/dist/configurator/ui/configurator-layout/slots/sidebar-tabs/use-sidebar-tabs.js +1 -1
  476. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  477. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  478. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  479. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  480. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  481. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  482. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  483. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  484. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  485. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  486. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  487. package/dist/configurator/ui/legacy/layout/common/CommonFinalizeButton.js +1 -1
  488. package/dist/configurator/ui/legacy/layout/common/CommonSummaryButton.js +1 -1
  489. package/dist/configurator/ui/legacy/layout/common/CommonTopNavigation.js +1 -1
  490. package/dist/configurator/ui/legacy/layout/common/ReactiveInterfaceLayout.js +1 -1
  491. package/dist/configurator/ui/legacy/layout/common/ResponsiveFinalizeButton.js +1 -1
  492. package/dist/configurator/ui/legacy/layout/common/SummaryReadLayout.js +1 -1
  493. package/dist/configurator/ui/legacy/layout/simple/SimpleOwnerLayout.js +1 -1
  494. package/dist/configurator/ui/legacy/layout/simple/SimpleTopNavigation.js +1 -1
  495. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  496. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.js +1 -1
  497. package/dist/configurator/ui/legacy/layout/steps/StepsOwnerLayout.js +1 -1
  498. package/dist/configurator/ui/legacy/layout/steps/StepsSidebarFooter.js +1 -1
  499. package/dist/configurator/ui/legacy/layout/tabs/TabsOwnerLayout.js +1 -1
  500. package/dist/configurator/ui/legacy/toolbar/common/DimensionUnitSelector.js +1 -1
  501. package/dist/configurator/ui/legacy/toolbar/common/MeasurementsIndicatorsSwitch.js +1 -1
  502. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/FullscreenToolbarAction.js +1 -1
  503. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/HelpToolbarAction.js +1 -1
  504. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/MeasurementsToolbarAction.js +1 -1
  505. package/dist/configurator/ui/legacy/toolbar/desktop-toolbar/UndoRedoToolbarGroup.js +1 -1
  506. package/dist/configurator/ui/phoenix-layout-elements/AppLoader.js +2 -6
  507. package/dist/configurator/ui/phoenix-layout-elements/EnterFullscreenToolbarButton.js +1 -1
  508. package/dist/configurator/ui/phoenix-layout-elements/ExitFullscreenToolbarButton.js +1 -1
  509. package/dist/configurator/ui/phoenix-layout-elements/HelpToolbarButton.js +1 -1
  510. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.d.ts +1 -0
  511. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomOwnerUi.js +1 -1
  512. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.d.ts +1 -0
  513. package/dist/configurator/ui/phoenix-layout-elements/LayoutCustomReadUi.js +1 -1
  514. package/dist/configurator/ui/phoenix-layout-elements/MeasurementsToolbarButton.js +1 -1
  515. package/dist/configurator/ui/phoenix-layout-elements/RedoToolbarButton.js +1 -1
  516. package/dist/configurator/ui/phoenix-layout-elements/UndoToolbarButton.js +1 -1
  517. package/dist/configurator/ui/phoenix-layout-elements/header/common/back-button/use-go-back-action.js +1 -1
  518. package/dist/configurator/ui/phoenix-layout-elements/header/common/horizontal-tabs/DesktopHorizontalTabs.js +1 -1
  519. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.d.ts +1 -1
  520. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/DesktopNavigationSteps.js +1 -1
  521. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -8
  522. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.js +1 -1
  523. package/dist/configurator/ui/phoenix-layout-elements/measurements/DimensionUnitSelector.js +1 -1
  524. package/dist/configurator/ui/phoenix-layout-elements/measurements/MeasurementsIndicatorsSwitch.js +1 -1
  525. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/basic/BasicFinalizeButton.js +1 -1
  526. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/CustomFinalizeButton.js +1 -1
  527. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/EnterSummaryButton.js +1 -1
  528. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/FinalizeActions.js +1 -1
  529. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/NextStepButton.js +1 -1
  530. package/dist/configurator/ui/phoenix-layout-elements/sidebar-footer/common/PreviousStepButton.js +1 -1
  531. package/dist/configurator/ui/preset-layout/CategoryPresetUi.js +1 -1
  532. package/dist/configurator/ui/preset-layout/PresetUi.d.ts +4 -0
  533. package/dist/configurator/ui/preset-layout/PresetUi.js +1 -1
  534. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.d.ts +10 -0
  535. package/dist/configurator/ui/save-message-snackbars/SaveMessageSnackbars.js +1 -0
  536. package/dist/configurator/ui/save-message-snackbars/index.d.ts +1 -0
  537. package/dist/configurator/ui/save-message-snackbars/index.js +1 -0
  538. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  539. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  540. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  541. package/dist/docs/controls/select-child-entity/cardselect.mdx +1 -0
  542. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  543. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  544. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  545. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  546. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  547. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  548. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  549. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  550. package/dist/docs/fabs/basic.mdx +2 -2
  551. package/dist/docs/index.json +42 -1
  552. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  553. package/dist/docs/layouts/custom-layout.mdx +2435 -0
  554. package/dist/docs/layouts/header/fixed.mdx +2 -2
  555. package/dist/docs/layouts/header/floating.mdx +2 -2
  556. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  557. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  558. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  559. package/dist/docs/other-features/error-5xx.mdx +1 -1
  560. package/dist/docs/other-features/not-found-404.mdx +1 -1
  561. package/dist/docs/other-features/side-effects.mdx +8 -11
  562. package/dist/docs/other-features/transformers.mdx +4 -0
  563. package/dist/docs/other-features/violation-messages.mdx +52 -56
  564. package/dist/docs/phoenix/application-states.mdx +9 -7
  565. package/dist/docs/phoenix/clerk-sign-in.mdx +1 -1
  566. package/dist/docs/phoenix/components.mdx +6 -0
  567. package/dist/docs/phoenix/configurator-interface.mdx +333 -81
  568. package/dist/docs/phoenix/deployments.mdx +2 -6
  569. package/dist/docs/phoenix/domain-model.mdx +6 -0
  570. package/dist/docs/phoenix/finalization.mdx +1 -1
  571. package/dist/docs/phoenix/getting-started.mdx +7 -4
  572. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  573. package/dist/docs/phoenix/localization.mdx +10 -6
  574. package/dist/docs/phoenix/migration-guide.mdx +24 -11
  575. package/dist/docs/phoenix/phoenix-cli.mdx +88 -44
  576. package/dist/docs/phoenix/project-structure.mdx +80 -36
  577. package/dist/docs/phoenix/quickstart.mdx +9 -9
  578. package/dist/docs/phoenix/sdk-builder-workflow.mdx +8 -8
  579. package/dist/docs/phoenix/testing.mdx +148 -0
  580. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  581. package/dist/docs/phoenix/webhooks.mdx +23 -6
  582. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  583. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  584. package/dist/domain/admin-domain/index.js +1 -1
  585. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  586. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  587. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  588. package/dist/domain/application/application-config.d.ts +8 -5
  589. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  590. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  591. package/dist/domain/application/assistant/assistant-form-elements.d.ts +28 -0
  592. package/dist/domain/application/assistant/assistant-form-elements.js +1 -0
  593. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  594. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  595. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  596. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  597. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  598. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  599. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  600. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  601. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  602. package/dist/domain/application/assistant/index.d.ts +8 -1
  603. package/dist/domain/application/assistant/index.js +1 -1
  604. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  605. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  606. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  607. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  608. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  609. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  610. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  611. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  612. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  613. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  614. package/dist/domain/application/assistant-recipe-groups.d.ts +4 -2
  615. package/dist/domain/application/configurator-builder.d.ts +5 -2
  616. package/dist/domain/application/configurator-builder.js +1 -1
  617. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  618. package/dist/domain/application/index.d.ts +0 -4
  619. package/dist/domain/application/index.js +1 -1
  620. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  621. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  622. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  623. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  624. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  625. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +1 -1
  626. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  627. package/dist/domain/core/component/domain-component-optic.d.ts +11 -19
  628. package/dist/domain/core/component/domain-component-optic.js +2 -2
  629. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  630. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  631. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  632. package/dist/domain/core/expression/constant-expressions.js +1 -1
  633. package/dist/domain/core/expression/custom-expression.d.ts +17 -4
  634. package/dist/domain/core/expression/custom-expression.js +1 -1
  635. package/dist/domain/core/expression/expression.d.ts +1 -2
  636. package/dist/domain/core/invariant/custom-invariants.d.ts +6 -14
  637. package/dist/domain/core/invariant/invariants.d.ts +1 -4
  638. package/dist/domain/core/invariant/violation.d.ts +50 -2
  639. package/dist/domain/core/invariant/violation.js +1 -1
  640. package/dist/domain/core/model/model.d.ts +1 -1
  641. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  642. package/dist/domain/core/recipe/recipes.js +1 -1
  643. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  644. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  645. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  646. package/dist/domain/core/relation/index.d.ts +0 -1
  647. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  648. package/dist/domain/core/relation/indirect-relation.js +1 -1
  649. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  650. package/dist/domain/core/relation/relation-factory.js +1 -1
  651. package/dist/domain/core/schema/extended-schema-validator.js +1 -1
  652. package/dist/domain/core/state/migrations.d.ts +14 -45
  653. package/dist/domain/core/state/migrations.js +1 -1
  654. package/dist/domain/core/state/state.d.ts +1 -1
  655. package/dist/domain/domain-builder.d.ts +1 -1
  656. package/dist/domain/domain-builder.js +1 -1
  657. package/dist/domain/domain-context/action-system/action-system.d.ts +1 -1
  658. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  659. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  660. package/dist/domain/domain-context/action-system/index.js +1 -0
  661. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  662. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  663. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  664. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  665. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  666. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  667. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  668. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  669. package/dist/domain/domain-context/index.d.ts +8 -17
  670. package/dist/domain/domain-context/index.js +1 -1
  671. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  672. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  673. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  674. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  675. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  676. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  677. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  678. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  679. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  680. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  681. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  682. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  683. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  684. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  685. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  686. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  687. package/dist/domain/domain-context/store-system/index.js +1 -0
  688. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  689. package/dist/domain/domain-context/store-system/store-system.d.ts +1 -3
  690. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  691. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  692. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  693. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  694. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  695. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  696. package/dist/domain/domain-context/transformers/context.d.ts +1 -1
  697. package/dist/domain/domain-context/transformers/context.js +1 -1
  698. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  699. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  700. package/dist/domain/domain-context/transformers/index.js +1 -1
  701. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  702. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  703. package/dist/domain/domain-context/undo-system.d.ts +29 -2
  704. package/dist/domain/domain-context/undo-system.js +1 -1
  705. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  706. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  707. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  708. package/dist/domain/domain-runtime/access/types.js +1 -1
  709. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  710. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +17 -22
  711. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  712. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  713. package/dist/domain/domain-runtime/domain-runtime.d.ts +76 -60
  714. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  715. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  716. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  717. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  718. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  719. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  720. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  721. package/dist/domain/domain-runtime/errors/index.js +1 -0
  722. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  723. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  724. package/dist/domain/domain-runtime/index.d.ts +1 -0
  725. package/dist/domain/domain-runtime/index.js +1 -1
  726. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  727. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  728. package/dist/domain/domain-runtime/spec/index.d.ts +2 -5
  729. package/dist/domain/domain-runtime/spec/index.js +1 -1
  730. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  731. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  732. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +14 -13
  733. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  734. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  735. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  736. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  737. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  738. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -1
  739. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  740. package/dist/domain/domain-runtime/spec/{resolve-action-modules.d.ts → module-checks/resolve-action-modules.d.ts} +2 -2
  741. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  742. package/dist/domain/domain-runtime/spec/{resolve-component-optic-modules.d.ts → module-checks/resolve-component-optic-modules.d.ts} +2 -2
  743. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  744. package/dist/domain/domain-runtime/spec/{resolve-expression-modules.d.ts → module-checks/resolve-expression-modules.d.ts} +2 -2
  745. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  746. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  747. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  748. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  749. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  750. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  751. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  752. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  753. package/dist/domain/extensions/attribute-switch.d.ts +1 -1
  754. package/dist/domain/extensions/attribute-switch.js +1 -1
  755. package/dist/domain/extensions/canvas-config.d.ts +1 -1
  756. package/dist/domain/extensions/client-side-image.d.ts +2 -2
  757. package/dist/domain/extensions/client-side-image.js +1 -1
  758. package/dist/domain/extensions/common/angle-indicator-schema.d.ts +2 -2
  759. package/dist/domain/extensions/common/dimension-indicator-schema.d.ts +2 -2
  760. package/dist/domain/extensions/editable-angle-indicator.d.ts +1 -1
  761. package/dist/domain/extensions/editable-distance-dimension-indicator.d.ts +1 -1
  762. package/dist/domain/extensions/editable-offset-indicator.d.ts +1 -1
  763. package/dist/domain/extensions/editable-offset-indicator.js +1 -1
  764. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -1
  765. package/dist/domain/extensions/fit-selection-perspective-camera-component.js +1 -1
  766. package/dist/domain/extensions/horizontal-tabs.d.ts +2 -2
  767. package/dist/domain/extensions/list-selector-dimension-indicator.d.ts +1 -1
  768. package/dist/domain/extensions/navigation-steps.d.ts +2 -2
  769. package/dist/domain/extensions/offset-indicator.js +1 -1
  770. package/dist/domain/extensions/rotation-handle.d.ts +2 -2
  771. package/dist/domain/extensions/save-template-thumbnail.d.ts +2 -2
  772. package/dist/domain/extensions/save-template-thumbnail.js +1 -1
  773. package/dist/domain/extensions/scene-entity-animation.js +1 -1
  774. package/dist/domain/index.d.ts +0 -1
  775. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  776. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  777. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  778. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  779. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  780. package/dist/domain/mocks/create-mock-domain.js +1 -1
  781. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  782. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  783. package/dist/domain/mocks/create-test-application-config.js +1 -0
  784. package/dist/domain/mocks/index.d.ts +1 -0
  785. package/dist/domain/mocks/index.js +1 -1
  786. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  787. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  788. package/dist/domain/projections/collision-projections.d.ts +1 -1
  789. package/dist/domain/projections/composition-projections.d.ts +1 -1
  790. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  791. package/dist/domain/projections/position-projections.d.ts +1 -1
  792. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  793. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  794. package/dist/domain/projections/validation-projections.d.ts +2 -2
  795. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  796. package/dist/domain/system-components/application-config.d.ts +2 -2
  797. package/dist/domain/system-components/child-entity-selection.js +1 -1
  798. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  799. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  800. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  801. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  802. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  803. package/dist/domain/system-components/common/recipes.js +1 -1
  804. package/dist/domain/system-components/common/scene-entity-control-schema.d.ts +3 -0
  805. package/dist/domain/system-components/common/scene-entity-control-schema.js +1 -1
  806. package/dist/domain/system-components/constraint.d.ts +10 -23
  807. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  808. package/dist/domain/system-components/drag-handle.js +1 -1
  809. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  810. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  811. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  812. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  813. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  814. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  815. package/dist/domain/system-components/material-swatch.js +1 -1
  816. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  817. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  818. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  819. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  820. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  821. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  822. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  823. package/dist/domain/utils/eval-cache.d.ts +1 -1
  824. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  825. package/dist/editor/Editor.d.ts +7 -0
  826. package/dist/editor/Editor.js +1 -1
  827. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  828. package/dist/editor/mocks/CreateMockYaml.js +2 -2
  829. package/dist/editor/mocks/EditorMockContext.d.ts +2 -0
  830. package/dist/editor/mocks/EditorMockContext.js +1 -1
  831. package/dist/globals/index.d.ts +2 -0
  832. package/dist/i18n/locales/cs/messages.js +1 -1
  833. package/dist/i18n/locales/da/messages.js +1 -1
  834. package/dist/i18n/locales/de/messages.js +1 -1
  835. package/dist/i18n/locales/de-AT/messages.js +1 -1
  836. package/dist/i18n/locales/en/messages.js +1 -1
  837. package/dist/i18n/locales/en-AU/messages.js +1 -1
  838. package/dist/i18n/locales/en-GB/messages.js +1 -1
  839. package/dist/i18n/locales/es/messages.js +1 -1
  840. package/dist/i18n/locales/fr/messages.js +1 -1
  841. package/dist/i18n/locales/hu/messages.js +1 -1
  842. package/dist/i18n/locales/it/messages.js +1 -1
  843. package/dist/i18n/locales/nl/messages.js +1 -1
  844. package/dist/i18n/locales/pl/messages.js +1 -1
  845. package/dist/i18n/locales/pt/messages.js +1 -1
  846. package/dist/i18n/locales/ro/messages.js +1 -1
  847. package/dist/i18n/locales/sk/messages.js +1 -1
  848. package/dist/i18n/locales/tr/messages.js +1 -1
  849. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  850. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  851. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  852. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  853. package/dist/legacy/domain-cli/gen/invariants.js +3 -4
  854. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  855. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  856. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  857. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +160 -148
  858. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  859. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  860. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  861. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  862. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  863. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +15 -14
  864. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  865. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +14 -13
  866. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  867. package/dist/phoenix/application-spec/application-spec-builder.d.ts +0 -2
  868. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  869. package/dist/phoenix/application-spec/generate-application-spec-project.d.ts +0 -2
  870. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  871. package/dist/phoenix/application-spec/generate-application-spec-story.js +2 -2
  872. package/dist/phoenix/application-spec/generate-project-files.d.ts +0 -2
  873. package/dist/phoenix/application-spec/project-files.js +1 -1
  874. package/dist/phoenix/bin.d.ts +2 -0
  875. package/dist/phoenix/bin.js +2 -0
  876. package/dist/phoenix/check-configs/built-in-eslint-config.d.ts +9 -0
  877. package/dist/phoenix/check-configs/built-in-eslint-config.js +1 -0
  878. package/dist/phoenix/check-configs/eslint-config.d.ts +10 -0
  879. package/dist/phoenix/check-configs/eslint-config.js +1 -0
  880. package/dist/phoenix/check-configs/index.d.ts +8 -0
  881. package/dist/phoenix/check-configs/index.js +1 -0
  882. package/dist/phoenix/check-configs/typescript-project.d.ts +5 -0
  883. package/dist/phoenix/check-configs/typescript-project.js +1 -0
  884. package/dist/phoenix/cli.d.ts +0 -1
  885. package/dist/phoenix/cli.js +1 -2
  886. package/dist/phoenix/commands/build.js +1 -1
  887. package/dist/phoenix/commands/check.js +1 -1
  888. package/dist/phoenix/commands/clean.js +1 -1
  889. package/dist/phoenix/commands/deploy.js +2 -2
  890. package/dist/phoenix/commands/deps/deps.d.ts +73 -0
  891. package/dist/phoenix/commands/deps/deps.js +3 -0
  892. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  893. package/dist/phoenix/commands/deps/index.js +1 -0
  894. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  895. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  896. package/dist/phoenix/commands/dev.js +5 -5
  897. package/dist/phoenix/commands/fix.js +1 -1
  898. package/dist/phoenix/commands/index.d.ts +1 -0
  899. package/dist/phoenix/commands/index.js +1 -1
  900. package/dist/phoenix/commands/init.d.ts +17 -5
  901. package/dist/phoenix/commands/init.js +1 -1
  902. package/dist/phoenix/commands/link.js +1 -1
  903. package/dist/phoenix/commands/prettier.js +1 -1
  904. package/dist/phoenix/commands/sync.js +1 -1
  905. package/dist/phoenix/commands/unlink.js +1 -1
  906. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -2
  907. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  908. package/dist/phoenix/services/lingui.d.ts +8 -0
  909. package/dist/phoenix/services/lingui.js +1 -1
  910. package/dist/phoenix/services/source-archive.d.ts +1 -0
  911. package/dist/phoenix/services/source-archive.js +1 -1
  912. package/dist/phoenix/services/swc.js +1 -1
  913. package/dist/phoenix/services/vite-config.js +1 -1
  914. package/dist/phoenix/utils/git/index.d.ts +1 -0
  915. package/dist/phoenix/utils/git/index.js +1 -0
  916. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  917. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  918. package/dist/phoenix/utils/index.d.ts +5 -2
  919. package/dist/phoenix/utils/index.js +1 -1
  920. package/dist/phoenix/utils/node-version/index.d.ts +1 -0
  921. package/dist/phoenix/utils/node-version/index.js +1 -0
  922. package/dist/phoenix/utils/node-version/supported-node-version.d.ts +12 -0
  923. package/dist/phoenix/utils/node-version/supported-node-version.js +4 -0
  924. package/dist/phoenix/utils/package-info.d.ts +0 -9
  925. package/dist/phoenix/utils/package-info.js +1 -1
  926. package/dist/phoenix/utils/package-manager/index.d.ts +2 -0
  927. package/dist/phoenix/utils/package-manager/index.js +1 -0
  928. package/dist/phoenix/utils/package-manager/package-manager-commands.d.ts +19 -0
  929. package/dist/phoenix/utils/package-manager/package-manager-commands.js +1 -0
  930. package/dist/phoenix/utils/package-manager/pnpm-project.d.ts +9 -0
  931. package/dist/phoenix/utils/package-manager/pnpm-project.js +1 -0
  932. package/dist/phoenix/utils/run-command.d.ts +11 -0
  933. package/dist/phoenix/utils/run-command.js +1 -1
  934. package/dist/phoenix/utils/sdk-tool/index.d.ts +1 -0
  935. package/dist/phoenix/utils/sdk-tool/index.js +1 -0
  936. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.d.ts +15 -0
  937. package/dist/phoenix/utils/sdk-tool/resolve-sdk-tool-bin.js +1 -0
  938. package/dist/{configurator/common → react-sdk/application-runtime/common-services/analytics}/frontend-analytics.d.ts +6 -0
  939. package/dist/react-sdk/application-runtime/common-services/analytics/frontend-analytics.js +1 -0
  940. package/dist/react-sdk/application-runtime/common-services/analytics/index.d.ts +1 -0
  941. package/dist/react-sdk/application-runtime/common-services/analytics/index.js +1 -1
  942. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  943. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  944. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  945. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  946. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  947. package/dist/react-sdk/domain-application-context/DomainLifecycleBoundary.js +1 -1
  948. package/dist/react-sdk/domain-context/common-hooks/index.d.ts +8 -0
  949. package/dist/react-sdk/domain-context/common-hooks/index.js +1 -0
  950. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +41 -0
  951. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  952. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  953. package/dist/react-sdk/domain-context/component-hooks/index.d.ts +1 -0
  954. package/dist/react-sdk/domain-context/component-hooks/index.js +1 -0
  955. package/dist/react-sdk/domain-context/component-hooks/use-component.js +1 -1
  956. package/dist/react-sdk/domain-context/entity-hooks/use-domain-entity-state.js +1 -1
  957. package/dist/react-sdk/domain-context/entity-hooks/use-entity-price.js +1 -1
  958. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-id.js +1 -1
  959. package/dist/react-sdk/domain-context/entity-hooks/use-root-entity-state.js +1 -1
  960. package/dist/react-sdk/domain-context/index.d.ts +5 -1
  961. package/dist/react-sdk/domain-context/index.js +1 -1
  962. package/dist/react-sdk/domain-context/system-hooks/composition-hooks.js +1 -1
  963. package/dist/react-sdk/domain-context/system-hooks/dimension-hooks.js +1 -1
  964. package/dist/react-sdk/domain-context/system-hooks/hover-hooks.js +1 -1
  965. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  966. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  967. package/dist/react-sdk/domain-context/system-hooks/selection-hooks.js +1 -1
  968. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.d.ts +57 -0
  969. package/dist/react-sdk/domain-context/system-hooks/step-navigation-hooks.js +1 -0
  970. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.d.ts +61 -0
  971. package/dist/react-sdk/domain-context/system-hooks/tab-navigation-hooks.js +1 -0
  972. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.d.ts +20 -0
  973. package/dist/react-sdk/domain-context/system-hooks/undo-redo-hooks.js +1 -0
  974. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  975. package/dist/react-sdk/elements/configurator-error-page-props.d.ts +20 -0
  976. package/dist/react-sdk/elements/configurator-error-page-props.js +1 -0
  977. package/dist/react-sdk/elements/index.d.ts +1 -0
  978. package/dist/react-sdk/handlers/FinalizeActionRunner.d.ts +13 -0
  979. package/dist/react-sdk/handlers/FinalizeActionRunner.js +1 -0
  980. package/dist/react-sdk/handlers/FinalizeActionsHost.d.ts +10 -0
  981. package/dist/react-sdk/handlers/FinalizeActionsHost.js +1 -0
  982. package/dist/react-sdk/handlers/FinalizeActionsProvider.d.ts +11 -0
  983. package/dist/react-sdk/handlers/FinalizeActionsProvider.js +1 -0
  984. package/dist/react-sdk/handlers/finalize-actions-context.d.ts +6 -0
  985. package/dist/react-sdk/handlers/finalize-actions-context.js +1 -0
  986. package/dist/react-sdk/handlers/finalize-actions-store.d.ts +23 -0
  987. package/dist/react-sdk/handlers/finalize-actions-store.js +1 -0
  988. package/dist/react-sdk/handlers/index.d.ts +6 -0
  989. package/dist/react-sdk/handlers/index.js +1 -1
  990. package/dist/react-sdk/handlers/use-finalize-action.d.ts +32 -0
  991. package/dist/react-sdk/handlers/use-finalize-action.js +1 -0
  992. package/dist/react-sdk/handlers/use-finalize-actions.d.ts +53 -0
  993. package/dist/react-sdk/handlers/use-finalize-actions.js +1 -0
  994. package/dist/react-sdk/index.d.ts +1 -0
  995. package/dist/react-sdk/index.js +1 -1
  996. package/dist/react-sdk/loading-state/loading-state-manager.d.ts +5 -0
  997. package/dist/react-sdk/loading-state/loading-state-manager.js +1 -1
  998. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.d.ts +25 -0
  999. package/dist/react-sdk/responsive-state/ResponsiveStateProvider.js +1 -0
  1000. package/dist/react-sdk/responsive-state/canvas-padding.d.ts +14 -0
  1001. package/dist/react-sdk/responsive-state/canvas-padding.js +1 -0
  1002. package/dist/react-sdk/responsive-state/index.d.ts +5 -0
  1003. package/dist/react-sdk/responsive-state/index.js +1 -0
  1004. package/dist/react-sdk/responsive-state/responsive-state-manager.d.ts +111 -0
  1005. package/dist/react-sdk/responsive-state/responsive-state-manager.js +1 -0
  1006. package/dist/react-sdk/responsive-state/use-responsive-state-manager.d.ts +10 -0
  1007. package/dist/react-sdk/responsive-state/use-responsive-state-manager.js +1 -0
  1008. package/dist/react-sdk/responsive-state/use-responsive-state.d.ts +11 -0
  1009. package/dist/react-sdk/responsive-state/use-responsive-state.js +1 -0
  1010. package/dist/react-sdk/session/NotAuthenticatedPage.d.ts +4 -0
  1011. package/dist/react-sdk/session/NotAuthenticatedPage.js +1 -1
  1012. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.d.ts +9 -0
  1013. package/dist/ui-sdk/responsive-application/ResponsiveApplicationProvider.js +1 -1
  1014. package/dist/ui-sdk/responsive-application/index.d.ts +1 -0
  1015. package/dist/ui-sdk/responsive-application/responsive-state-store.d.ts +57 -0
  1016. package/dist/ui-sdk/responsive-application/responsive-state-store.js +1 -0
  1017. package/dist/ui-sdk/responsive-application/use-store-responsive-info.d.ts +7 -0
  1018. package/dist/ui-sdk/responsive-application/use-store-responsive-info.js +1 -0
  1019. package/dist/ui-sdk/theme/types.d.ts +1 -1
  1020. package/dist/webhook/builders/webhook-builder.js +1 -1
  1021. package/package.json +48 -36
  1022. package/schema/domain-spec.json +1201 -217
  1023. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  1024. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  1025. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  1026. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -94
  1027. package/dist/application-spec/generate-application/code/templates/nvmrc.d.ts +0 -1
  1028. package/dist/application-spec/generate-application/code/templates/nvmrc.js +0 -2
  1029. package/dist/application-spec/generate-application/code/templates/package-json.d.ts +0 -10
  1030. package/dist/application-spec/generate-application/code/templates/package-json.js +0 -1
  1031. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  1032. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  1033. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  1034. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  1035. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  1036. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  1037. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  1038. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  1039. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  1040. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  1041. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  1042. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  1043. package/dist/configurator/common/frontend-analytics.js +0 -1
  1044. package/dist/domain/application/element-registration.js +0 -1
  1045. package/dist/domain/application/handler-registration.js +0 -1
  1046. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  1047. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  1048. package/dist/domain/application/resource-builder.d.ts +0 -13
  1049. package/dist/domain/application/resource-builder.js +0 -1
  1050. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  1051. package/dist/domain/domain-runtime/spec/invariant-builder.d.ts +0 -61
  1052. package/dist/domain/domain-runtime/spec/invariant-builder.js +0 -1
  1053. package/dist/domain/domain-runtime/spec/resolve-action-modules.js +0 -1
  1054. package/dist/domain/domain-runtime/spec/resolve-component-optic-modules.js +0 -1
  1055. package/dist/domain/domain-runtime/spec/resolve-expression-modules.js +0 -1
  1056. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.d.ts +0 -6
  1057. package/dist/domain/domain-runtime/spec/resolve-invariant-modules.js +0 -1
  1058. package/dist/domain/project-modules/index.d.ts +0 -1
  1059. package/dist/domain/project-modules/index.js +0 -1
  1060. package/dist/domain/project-modules/project-modules.js +0 -1
  1061. package/dist/phoenix/commands/generate-project-files.d.ts +0 -6
  1062. package/dist/phoenix/commands/generate-project-files.js +0 -1
  1063. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  1064. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  1065. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  1066. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{tooltipClasses as t}from"@mui/material";import{useCallback as o}from"react";import{useAnalyticsService as a,useResolveLocalizable as r}from"#package/react-sdk";import{TooltipWithArrow as l,useResponsive as m}from"#package/ui-sdk";import{FrontendAnalyticsFactory as n}from"../../../../common/index.js";import{MobileThemeableFinalizeButton as s,ThemeableFinalizeButton as p}from"./ThemeableFinalizeButton.js";export const ResponsiveFinalizeButton=c=>{let{title:d,onClick:u,disabled:f,hints:h}=c,{isMobile:k}=m(),x=r(),b=a(),g=o(()=>{b.push(n.FinalizeButtonClicked()),u()},[b,u]);return k?i(l,{title:h,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(s,{onClick:g,disabled:f})})}):i(l,{title:h,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(p,{disabled:f,onClick:g,children:d?x(d):i(e,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})})})};
1
+ import{jsx as i}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{tooltipClasses as t}from"@mui/material";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as o,useResolveLocalizable as l}from"#package/react-sdk";import{TooltipWithArrow as n,useResponsive as m}from"#package/ui-sdk";import{MobileThemeableFinalizeButton as s,ThemeableFinalizeButton as p}from"./ThemeableFinalizeButton.js";export const ResponsiveFinalizeButton=c=>{let{title:d,onClick:u,disabled:h,hints:f}=c,{isMobile:k}=m(),x=l(),b=o(),g=a(()=>{b.push(r.FinalizeButtonClicked()),u()},[b,u]);return k?i(n,{title:f,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(s,{onClick:g,disabled:h})})}):i(n,{title:f,placement:"top",sx:{[`& .${t.tooltip}`]:{maxWidth:130}},children:i("span",{children:i(p,{disabled:h,onClick:g,children:d?x(d):i(e,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})})})};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as t}from"react/jsx-runtime";import{Stack as r,Typography as e}from"@mui/material";import{match as a}from"ts-pattern";import{isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as l}from"#package/domain";import{useIsFullscreenActive as i,useRootEntityPrice as m}from"#package/react-sdk";import{Sidebar as s,MobileControls as p}from"#package/ui-sdk";import{usePreview as u,useSidebarSummary as f}from"../../../../configurator-context/index.js";import{LayoutSlots as d}from"../../../configurator-layout/index.js";import{LayoutFooter as c,LayoutToolbarReadDesktop as b,LayoutToolbarReadDesktopFullScreen as C,SimpleSummary as j}from"../../../phoenix-layout-elements/index.js";import{FullscreenDesktopToolbar as g}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CloseConfiguratorButton as h}from"./CloseConfiguratorButton.js";import{CommonDesktopToolbar as k}from"./CommonDesktopToolbar.js";import{CommonMobileToolbar as x}from"./CommonMobileToolbar.js";import{ReactiveInterfaceLayout as y}from"./ReactiveInterfaceLayout.js";import{ToolControls as v}from"./ToolControls.js";import{ViewControls as w}from"./ViewControls.js";export const SummaryReadLayout=()=>{let{page:T}=f(),B=a(T).with(null,()=>null).when(n,o=>o.state.page).when(l,t=>o(j,{summary:t.state.items})).otherwise(()=>null),L=i(),M=m(),{isPreview:S,isPreviewEnabled:D}=u(),R=!L&&!S&&D;return o(y,{canvas:o(d.Canvas,{}),sidebar:B&&o(s.Layout,{content:B,chat:null,footer:null}),topNavigation:R&&o(h,{}),branding:null,toolbar:o(b,{defaultSlot:()=>o(k,{readMode:!0})}),fullScreenToolbar:o(C,{defaultSlot:()=>o(g,{})}),viewControls:o(w,{}),toolControls:o(v,{}),overlay:null,mobileControls:o(p.OrientationContainer,{portraitComponent:o(p.Layout,{chat:null,toolbar:o(x,{readMode:!0}),navigation:null,drawer:!L&&B}),landscapeComponent:null}),mobileTopNavigation:R&&o(h,{}),mobileHeaderActionButton:null,mobileHeaderCenter:!L&&o(e,{variant:"h6",sx:{paddingBlock:1},children:M}),sideEffects:null,footer:t(r,{children:[o(d.DesktopReadonlyBanner,{}),o(c,{})]})})};
1
+ import{jsx as o,jsxs as t}from"react/jsx-runtime";import{Stack as r,Typography as e}from"@mui/material";import{match as a}from"ts-pattern";import{isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as l}from"#package/domain";import{useIsFullscreenActive as i,useRootEntityPrice as m}from"#package/react-sdk";import{Sidebar as s,MobileControls as p}from"#package/ui-sdk";import{usePreview as u,useSidebarSummary as f}from"../../../../configurator-context/index.js";import{LayoutSlots as d}from"../../../configurator-layout/index.js";import{LayoutFooter as c,LayoutToolbarReadDesktop as b,LayoutToolbarReadDesktopFullScreen as C,SimpleSummary as j}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as g}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as k}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CloseConfiguratorButton as x}from"./CloseConfiguratorButton.js";import{CommonDesktopToolbar as h}from"./CommonDesktopToolbar.js";import{CommonMobileToolbar as v}from"./CommonMobileToolbar.js";import{ReactiveInterfaceLayout as y}from"./ReactiveInterfaceLayout.js";import{ToolControls as w}from"./ToolControls.js";import{ViewControls as T}from"./ViewControls.js";export const SummaryReadLayout=()=>{let{page:B}=f(),L=a(B).with(null,()=>null).when(n,o=>o.state.page).when(l,t=>o(j,{summary:t.state.items})).otherwise(()=>null),M=i(),S=m(),{isPreview:D,isPreviewEnabled:R}=u(),H=!M&&!D&&R;return o(y,{canvas:o(d.Canvas,{}),sidebar:L&&o(s.Layout,{content:L,chat:null,footer:null}),topNavigation:H&&o(x,{}),branding:null,toolbar:o(b,{defaultSlot:()=>o(h,{readMode:!0})}),fullScreenToolbar:o(C,{defaultSlot:()=>o(k,{})}),viewControls:o(T,{}),toolControls:o(w,{}),overlay:o(g,{}),mobileControls:o(p.OrientationContainer,{portraitComponent:o(p.Layout,{chat:null,toolbar:o(v,{readMode:!0}),navigation:null,drawer:!M&&L}),landscapeComponent:null}),mobileTopNavigation:H&&o(x,{}),mobileHeaderActionButton:null,mobileHeaderCenter:!M&&o(e,{variant:"h6",sx:{paddingBlock:1},children:S}),sideEffects:null,footer:t(r,{children:[o(d.DesktopReadonlyBanner,{}),o(c,{})]})})};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as m,Fragment as r}from"react/jsx-runtime";import{Typography as t}from"@mui/material";import{match as e}from"ts-pattern";import{customPriceFooterComponent as a,isCustomSummaryComponentSnapshot as i,isSimpleSummaryComponentSnapshot as n}from"#package/domain";import{useFirstRootComponent as s,useIsFullscreenActive as l,useRootEntityPrice as p}from"#package/react-sdk";import{MobileControls as c,MobileControls as f}from"#package/ui-sdk";import{useEnterSidebarSummary as u,useHasSidebarSummary as d,useLeaveSidebarSummary as b,useSidebarSummary as g}from"../../../../configurator-context/index.js";import{LayoutSlots as j}from"../../../configurator-layout/index.js";import{LayoutDialog as y,LayoutFooter as C,SimpleSummary as S}from"../../../phoenix-layout-elements/index.js";import{MobileChat as v}from"../../chat/MobileChat.js";import{FullscreenDesktopToolbar as h}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as k}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{CommonMobileToolbar as x}from"../common/CommonMobileToolbar.js";import{CommonTopNavigation as A}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as T}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as M}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as L}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as N}from"../common/SideEffects.js";import{ToolControls as P}from"../common/ToolControls.js";import{ViewControls as E}from"../common/ViewControls.js";import{SimpleMobileHeaderAction as O}from"./SimpleMobileHeaderAction.js";import{SimpleSidebar as V}from"./SimpleSidebar.js";import{SimpleSidebarContent as B}from"./SimpleSidebarContent.js";import{SimpleMobileTopNavigation as D}from"./SimpleTopNavigation.js";export const SimpleOwnerLayout=()=>{let F=s(a),H=d(),{isSummaryActive:I,page:z}=g(),R=e(z).with(null,()=>null).when(i,o=>o.state.page).when(n,m=>o(S,{summary:m.state.items})).otherwise(()=>null),q=u(),G=b(),J=p(),K=l();return o(L,{canvas:o(j.Canvas,{}),sidebar:o(V,{hasSummary:H,isSummaryActive:I,summaryPage:R,price:J,onEnterSummary:q,onLeaveSummary:G,customPriceNode:F?.state.node}),topNavigation:o(A,{}),branding:null,toolbar:o(k,{}),fullScreenToolbar:o(h,{}),viewControls:o(E,{}),toolControls:o(P,{}),overlay:m(r,{children:[o(M,{}),o(w,{}),o(y,{})]}),mobileControls:o(f.OrientationContainer,{portraitComponent:o(f.Layout,{chat:!K&&o(v,{icon:"CustomBigAiAssistant",label:{id:"sdk.chat.mobile.assistant.label",message:"AI Assistant"}}),toolbar:o(x,{}),navigation:null,drawer:!K&&o(B,{summaryPage:R,isSummaryActive:I,onLeaveSummary:G})}),landscapeComponent:o(c.ViewOnlyMode,{message:o(T,{})})}),mobileTopNavigation:!K&&o(D,{}),mobileHeaderActionButton:!K&&o(O,{isSummaryPageActive:I,onEnterSummary:q,hasSummary:H}),mobileHeaderCenter:!K&&o(t,{variant:"h6",sx:{paddingBlock:1},children:J}),sideEffects:o(N,{}),footer:o(C,{})})};
1
+ import{jsx as o,jsxs as m,Fragment as r}from"react/jsx-runtime";import{Typography as e}from"@mui/material";import{match as t}from"ts-pattern";import{customPriceFooterComponent as a,isCustomSummaryComponentSnapshot as i,isSimpleSummaryComponentSnapshot as n}from"#package/domain";import{useFirstRootComponent as s,useIsFullscreenActive as l,useRootEntityPrice as p}from"#package/react-sdk";import{MobileControls as c,MobileControls as f}from"#package/ui-sdk";import{useEnterSidebarSummary as u,useHasSidebarSummary as d,useLeaveSidebarSummary as b,useSidebarSummary as g}from"../../../../configurator-context/index.js";import{LayoutSlots as j}from"../../../configurator-layout/index.js";import{LayoutDialog as y,LayoutFooter as v,SimpleSummary as C}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as S}from"../../../save-message-snackbars/index.js";import{MobileChat as h}from"../../chat/MobileChat.js";import{FullscreenDesktopToolbar as k}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as x}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{CommonMobileToolbar as A}from"../common/CommonMobileToolbar.js";import{CommonTopNavigation as T}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as M}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as L}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as N}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as P}from"../common/SideEffects.js";import{ToolControls as E}from"../common/ToolControls.js";import{ViewControls as O}from"../common/ViewControls.js";import{SimpleMobileHeaderAction as V}from"./SimpleMobileHeaderAction.js";import{SimpleSidebar as B}from"./SimpleSidebar.js";import{SimpleSidebarContent as D}from"./SimpleSidebarContent.js";import{SimpleMobileTopNavigation as F}from"./SimpleTopNavigation.js";export const SimpleOwnerLayout=()=>{let H=s(a),I=d(),{isSummaryActive:z,page:R}=g(),q=t(R).with(null,()=>null).when(i,o=>o.state.page).when(n,m=>o(C,{summary:m.state.items})).otherwise(()=>null),G=u(),J=b(),K=p(),Q=l();return o(N,{canvas:o(j.Canvas,{}),sidebar:o(B,{hasSummary:I,isSummaryActive:z,summaryPage:q,price:K,onEnterSummary:G,onLeaveSummary:J,customPriceNode:H?.state.node}),topNavigation:o(T,{}),branding:null,toolbar:o(x,{}),fullScreenToolbar:o(k,{}),viewControls:o(O,{}),toolControls:o(E,{}),overlay:m(r,{children:[o(L,{}),o(S,{}),o(w,{}),o(y,{})]}),mobileControls:o(f.OrientationContainer,{portraitComponent:o(f.Layout,{chat:!Q&&o(h,{icon:"CustomBigAiAssistant",label:{id:"sdk.chat.mobile.assistant.label",message:"AI Assistant"}}),toolbar:o(A,{}),navigation:null,drawer:!Q&&o(D,{summaryPage:q,isSummaryActive:z,onLeaveSummary:J})}),landscapeComponent:o(c.ViewOnlyMode,{message:o(M,{})})}),mobileTopNavigation:!Q&&o(F,{}),mobileHeaderActionButton:!Q&&o(V,{isSummaryPageActive:z,onEnterSummary:G,hasSummary:I}),mobileHeaderCenter:!Q&&o(e,{variant:"h6",sx:{paddingBlock:1},children:K}),sideEffects:o(P,{}),footer:o(v,{})})};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as i,useCallback as e}from"react";import{useAnalyticsService as m,usePresetEmbeddedState as a}from"#package/react-sdk";import{PhxIcon as n}from"#package/ui-sdk";import{FrontendAnalyticsFactory as s}from"../../../../common/index.js";import{useConfiguratorRouting as l,usePresetSelection as p,usePreview as c}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as f}from"../common/CloseConfiguratorButton.js";export const SimpleMobileTopNavigation=i(()=>{let i=m(),u=l(),{presetCategories:d}=p(),{isPreview:g,isPreviewEnabled:k}=c(),x=d.flatMap(o=>o.presets).length>1,j=e(()=>{i.push(s.GoToProductsClicked()),u.goToIndex()},[i,u]);if(!a())return x||g||!k?x?o(t,{size:"small",startIcon:o(n,{name:"ArrowLeft"}),onClick:j,children:o(r,{id:"sdk.layout.navigation.mobile.product.label",message:"Website"})}):null:o(f,{})});
1
+ import{jsx as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as t}from"@mui/material";import{memo as e,useCallback as i}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as m,usePresetEmbeddedState as s}from"#package/react-sdk";import{PhxIcon as n}from"#package/ui-sdk";import{useConfiguratorRouting as l,usePresetSelection as p,usePreview as c}from"../../../../configurator-context/index.js";import{CloseConfiguratorButton as f}from"../common/CloseConfiguratorButton.js";export const SimpleMobileTopNavigation=e(()=>{let e=m(),u=l(),{presetCategories:d}=p(),{isPreview:g,isPreviewEnabled:k}=c(),x=d.flatMap(o=>o.presets).length>1,b=i(()=>{e.push(a.GoToProductsClicked()),u.goToIndex()},[e,u]);if(!s())return x||g||!k?x?o(t,{size:"small",startIcon:o(n,{name:"ArrowLeft"}),onClick:b,children:o(r,{id:"sdk.layout.navigation.mobile.product.label",message:"Website"})}):null:o(f,{})});
@@ -1,10 +1,10 @@
1
1
  import type { Localizable } from '@salsita-ai/common/utils';
2
2
  export interface TopNavigationStep {
3
- navigationStates: string[];
3
+ readonly navigationStates: readonly string[];
4
4
  label: Localizable;
5
5
  }
6
6
  export interface StepsNavigationComponentProps {
7
- steps: TopNavigationStep[];
7
+ steps: readonly TopNavigationStep[];
8
8
  }
9
9
  declare const StepsNavigationComponent: (props: StepsNavigationComponentProps) => import("react/jsx-runtime").JSX.Element;
10
10
  /**
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{memo as i,useCallback as a}from"react";import{useActiveNavigationState as n,useAnalyticsService as r,useDomain as s,usePresetEmbeddedState as p,useResolveLocalizable as c}from"#package/react-sdk";import{TopNavigation as m,useResponsive as l}from"#package/ui-sdk";import{FrontendAnalyticsFactory as d}from"../../../../common/index.js";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:x,storeSystem:v}=s(),h=n(),C=g(),S=c(),{presetCategories:j}=u(),T=p(),N=j.flatMap(t=>t.presets).length>1,b=!T&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=l(),y=a(()=>{k.push(d.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(m.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(m.Step,{isCompleted:!0,onClick:y,compact:P,children:t(o,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,o)=>{let i=b?o<I-1:o<I,a=S(e.label);return t(m.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(d.TopNavigationStepClicked(t)),v.stageAndCommit([x.getNavigationUpdate(t)]))},children:a},a)})]})});
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{memo as i,useCallback as o}from"react";import{FrontendAnalyticsFactory as s,useActiveNavigationState as n,useAnalyticsService as r,useDomain as p,usePresetEmbeddedState as c,useResolveLocalizable as l}from"#package/react-sdk";import{TopNavigation as d,useResponsive as m}from"#package/ui-sdk";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:v,storeSystem:x}=p(),h=n(),C=g(),S=l(),{presetCategories:T}=u(),j=c(),N=T.flatMap(t=>t.presets).length>1,b=!j&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=m(),y=o(()=>{k.push(s.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(d.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(d.Step,{isCompleted:!0,onClick:y,compact:P,children:t(a,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,a)=>{let i=b?a<I-1:a<I,o=S(e.label);return t(d.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(s.TopNavigationStepClicked(t)),x.stageAndCommit([v.getNavigationUpdate(t)]))},children:o},o)})]})});
@@ -1 +1 @@
1
- import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useDomain as p,useFirstRootComponent as c,usePresetEmbeddedState as f,useResolveLocalizable as d,useRootEntityPrice as g,useSelectedDomainEntityId as u,useStoreSelector as v}from"#package/react-sdk";import{MobileControls as b}from"#package/ui-sdk";import{useConfiguratorRouting as j,usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{FullscreenDesktopToolbar as I}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as h}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as N}from"../common/CommonFinalizePage.js";import{DefaultViewOnlyMessage as w}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as A}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as D}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as E}from"../common/SideEffects.js";import{ToolControls as L}from"../common/ToolControls.js";import{ViewControls as M}from"../common/ViewControls.js";import{StepsNavigation as P}from"./StepsNavigation.js";import{StepsSideBar as V}from"./StepsSideBar.js";export const StepsOwnerLayout=()=>{let{storeSystem:F,navigationSystem:O}=p(),B=d(),H=m(),R=u(),U=c(r),z=c(n),$=l({componentTypes:[s],entityIds:[R]}),q=i(()=>U?.state.steps??[],[U]),G=i(()=>($??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:B(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(H)}}),[$,H,B]),J=i(()=>{let o=G.find(o=>o.isActive);return o?.value??"none"},[G]),K=v(o=>R===o.state.rootEntityId,[R]),Q=g(),W=j(),{presetCategories:X}=S(),Y=f(),Z=X.flatMap(o=>o.presets).length>1,_=!Y&&Z,oo=a(()=>{let o=q.findIndex(o=>o.navigationStates.includes(H)),t=q[o-1];if(!t){_&&W.goToIndex();return}let e=t.navigationStates[0];e&&F.stageAndCommit([O.getNavigationUpdate(e)])},[O,H,q,_,W,F]),ot=a(()=>{let o=q.findIndex(o=>o.navigationStates.includes(H)),t=q[o+1];if(!t)return;let e=t.navigationStates[0];e&&F.stageAndCommit([O.getNavigationUpdate(e)])},[O,H,q,F]),oe=i(()=>q.findIndex(o=>o.navigationStates.includes(H))===q.length-1,[q,H]);return o(D,{canvas:o(x.Canvas,{}),sidebar:o(V,{price:Q,tabs:G,activeTab:J,isRootPage:K,customPriceNode:z?.state.node,isLastStep:oe,onNextStepClick:ot,onPreviousStepClick:oo}),viewControls:o(M,{}),toolControls:o(L,{}),topNavigation:o(P,{steps:q}),branding:null,toolbar:o(k,{defaultSlot:()=>o(h,{})}),fullScreenToolbar:o(T,{defaultSlot:()=>o(I,{})}),overlay:t(e,{children:[o(A,{}),o(N,{}),o(C,{})]}),mobileControls:o(b.ViewOnlyMode,{message:o(w,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(E,{}),footer:o(y,{})})};
1
+ import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useCallback as a,useMemo as i}from"react";import{customPriceFooterComponent as n,navigationStepsComponent as r,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as m,useComponents as l,useDomain as p,useFirstRootComponent as c,usePresetEmbeddedState as f,useResolveLocalizable as d,useRootEntityPrice as g,useSelectedDomainEntityId as u,useStoreSelector as v}from"#package/react-sdk";import{MobileControls as b}from"#package/ui-sdk";import{useConfiguratorRouting as j,usePresetSelection as S}from"../../../../configurator-context/index.js";import{LayoutSlots as x}from"../../../configurator-layout/index.js";import{LayoutDialog as C}from"../../../phoenix-layout-elements/LayoutDialog.js";import{LayoutFooter as y,LayoutToolbarDesktop as k,LayoutToolbarDesktopFullScreen as T}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as I}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as h}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as N}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as w}from"../common/CommonFinalizePage.js";import{DefaultViewOnlyMessage as A}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as D}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as E}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as L}from"../common/SideEffects.js";import{ToolControls as M}from"../common/ToolControls.js";import{ViewControls as P}from"../common/ViewControls.js";import{StepsNavigation as V}from"./StepsNavigation.js";import{StepsSideBar as F}from"./StepsSideBar.js";export const StepsOwnerLayout=()=>{let{storeSystem:O,navigationSystem:B}=p(),H=d(),R=m(),U=u(),z=c(r),$=c(n),q=l({componentTypes:[s],entityIds:[U]}),G=i(()=>z?.state.steps??[],[z]),J=i(()=>(q??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:H(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(R)}}),[q,R,H]),K=i(()=>{let o=J.find(o=>o.isActive);return o?.value??"none"},[J]),Q=v(o=>U===o.state.rootEntityId,[U]),W=g(),X=j(),{presetCategories:Y}=S(),Z=f(),_=Y.flatMap(o=>o.presets).length>1,oo=!Z&&_,ot=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o-1];if(!t){oo&&X.goToIndex();return}let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,oo,X,O]),oe=a(()=>{let o=G.findIndex(o=>o.navigationStates.includes(R)),t=G[o+1];if(!t)return;let e=t.navigationStates[0];e&&O.stageAndCommit([B.getNavigationUpdate(e)])},[B,R,G,O]),oa=i(()=>G.findIndex(o=>o.navigationStates.includes(R))===G.length-1,[G,R]);return o(E,{canvas:o(x.Canvas,{}),sidebar:o(F,{price:W,tabs:J,activeTab:K,isRootPage:Q,customPriceNode:$?.state.node,isLastStep:oa,onNextStepClick:oe,onPreviousStepClick:ot}),viewControls:o(P,{}),toolControls:o(M,{}),topNavigation:o(V,{steps:G}),branding:null,toolbar:o(k,{defaultSlot:()=>o(N,{})}),fullScreenToolbar:o(T,{defaultSlot:()=>o(h,{})}),overlay:t(e,{children:[o(D,{}),o(I,{}),o(w,{}),o(C,{})]}),mobileControls:o(b.ViewOnlyMode,{message:o(A,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(L,{}),footer:o(y,{})})};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as i,Stack as n}from"@mui/material";import{useCallback as a}from"react";import{useAnalyticsService as l,usePresetEmbeddedState as m,useResolveLocalizable as s,useSession as c}from"#package/react-sdk";import{PhxIcon as p,SidebarPrice as d,StepsSidebarFooterLayout as u}from"#package/ui-sdk";import{FrontendAnalyticsFactory as f}from"../../../../common/index.js";import{CommonFinalizeButton as k}from"../common/CommonFinalizeButton.js";import{SaveTemplateButton as g}from"../common/SaveTemplateButton.js";import{SetAsTemplateButton as h}from"../common/SetAsTemplateButton.js";let x={id:"sdk.totalPrice",message:"Total price"},S=t=>{let{onClick:o}=t,n=l(),m=a(()=>{n.push(f.PreviousStepButtonClicked()),o()},[n,o]);return e(i,{size:"large",startIcon:e(p,{name:"ArrowLeft"}),fullWidth:!0,onClick:m,children:e(r,{id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"})})},B=t=>{let{onClick:o}=t,n=l(),m=a(()=>{n.push(f.NextStepButtonClicked()),o()},[n,o]);return e(i,{variant:"contained",size:"large",endIcon:e(p,{name:"ArrowRight"}),fullWidth:!0,onClick:m,children:e(r,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})})};export const StepsSidebarFooter=r=>{let{formattedPrice:i,customPriceNode:a,isLastStep:l,onPreviousStepClick:p,onNextStepClick:f}=r,b=m(),j=s(),C=null!=c().rawAdminSessionToken,v=C&&b,A=C&&!b;return e(u,{priceNode:t(o,{children:[a,!a&&i&&t(n,{alignItems:"center",flexWrap:"wrap",direction:"row",children:[e(d.Label,{label:j(x),sx:{marginInlineEnd:"auto"}}),e(d.Value,{value:i})]})]}),startActionButton:e(S,{onClick:p}),endActionButton:t(o,{children:[!l&&e(B,{onClick:f}),l&&!v&&e(k,{}),l&&v&&e(g,{})]}),templateButton:l&&A&&e(h,{})})};
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{Button as i,Stack as n}from"@mui/material";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as l,useAnalyticsService as s,usePresetEmbeddedState as m,useResolveLocalizable as c,useSession as p}from"#package/react-sdk";import{PhxIcon as u,SidebarPrice as d,StepsSidebarFooterLayout as k}from"#package/ui-sdk";import{CommonFinalizeButton as f}from"../common/CommonFinalizeButton.js";import{SaveTemplateButton as g}from"../common/SaveTemplateButton.js";import{SetAsTemplateButton as h}from"../common/SetAsTemplateButton.js";let x={id:"sdk.totalPrice",message:"Total price"},S=t=>{let{onClick:r}=t,n=s(),m=a(()=>{n.push(l.PreviousStepButtonClicked()),r()},[n,r]);return e(i,{size:"large",startIcon:e(u,{name:"ArrowLeft"}),fullWidth:!0,onClick:m,children:e(o,{id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"})})},B=t=>{let{onClick:r}=t,n=s(),m=a(()=>{n.push(l.NextStepButtonClicked()),r()},[n,r]);return e(i,{variant:"contained",size:"large",endIcon:e(u,{name:"ArrowRight"}),fullWidth:!0,onClick:m,children:e(o,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})})};export const StepsSidebarFooter=o=>{let{formattedPrice:i,customPriceNode:a,isLastStep:l,onPreviousStepClick:s,onNextStepClick:u}=o,b=m(),C=c(),j=null!=p().rawAdminSessionToken,v=j&&b,A=j&&!b;return e(k,{priceNode:t(r,{children:[a,!a&&i&&t(n,{alignItems:"center",flexWrap:"wrap",direction:"row",children:[e(d.Label,{label:C(x),sx:{marginInlineEnd:"auto"}}),e(d.Value,{value:i})]})]}),startActionButton:e(S,{onClick:s}),endActionButton:t(r,{children:[!l&&e(B,{onClick:u}),l&&!v&&e(f,{}),l&&v&&e(g,{})]}),templateButton:l&&A&&e(h,{})})};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useMemo as r}from"react";import{match as a}from"ts-pattern";import{customPriceFooterComponent as m,isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as i,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as l,useComponents as c,useFirstRootComponent as p,useResolveLocalizable as f,useRootEntityPrice as u,useSelectedDomainEntityId as d,useStoreSelector as b}from"#package/react-sdk";import{MobileControls as g}from"#package/ui-sdk";import{useEnterSidebarSummary as v,useHasSidebarSummary as j,useLeaveSidebarSummary as y,useSidebarSummary as T}from"../../../../configurator-context/index.js";import{LayoutSlots as h}from"../../../configurator-layout/index.js";import{LayoutDialog as w,LayoutFooter as C,SimpleSummary as x}from"../../../phoenix-layout-elements/index.js";import{FullscreenDesktopToolbar as S}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as k}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as E}from"../common/CommonFinalizePage.js";import{CommonTopNavigation as A}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as I}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as N}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as P}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as V}from"../common/SideEffects.js";import{ToolControls as D}from"../common/ToolControls.js";import{ViewControls as F}from"../common/ViewControls.js";import{TabsSidebar as L}from"./TabsSidebar.js";export const TabsOwnerLayout=()=>{let M=f(),O=l(),H=d(),{isSummaryActive:R,page:z}=T(),B=a(z).with(null,()=>null).when(n,o=>o.state.page).when(i,t=>o(x,{summary:t.state.items})).otherwise(()=>null),$=j(),q=v(),G=y(),J=c({componentTypes:[s],entityIds:[H]}),K=p(m),Q=b(o=>H===o.state.rootEntityId,[H]),U=r(()=>(J??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:M(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(O)}}),[J,O,M]),W=r(()=>{let o=U.find(o=>o.isActive);return o?.value??"none"},[U]),X=u();return o(e,{children:o(P,{canvas:o(h.Canvas,{}),sidebar:o(L,{hasSummary:$,isSummaryActive:R,summaryPage:B,price:X,onEnterSummary:q,onLeaveSummary:G,tabs:U,activeTab:W,isRootPage:Q,customPriceNode:K?.state.node}),topNavigation:o(A,{}),branding:null,toolbar:o(k,{}),fullScreenToolbar:o(S,{}),viewControls:o(F,{}),toolControls:o(D,{}),overlay:t(e,{children:[o(N,{}),o(E,{}),o(w,{})]}),mobileControls:o(g.ViewOnlyMode,{message:o(I,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(V,{}),footer:o(C,{})})})};
1
+ import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useMemo as r}from"react";import{match as a}from"ts-pattern";import{customPriceFooterComponent as m,isCustomSummaryComponentSnapshot as n,isSimpleSummaryComponentSnapshot as i,sidebarTabsComponent as s}from"#package/domain";import{useActiveNavigationState as l,useComponents as c,useFirstRootComponent as p,useResolveLocalizable as f,useRootEntityPrice as u,useSelectedDomainEntityId as d,useStoreSelector as b}from"#package/react-sdk";import{MobileControls as g}from"#package/ui-sdk";import{useEnterSidebarSummary as v,useHasSidebarSummary as j,useLeaveSidebarSummary as y,useSidebarSummary as T}from"../../../../configurator-context/index.js";import{LayoutSlots as h}from"../../../configurator-layout/index.js";import{LayoutDialog as w,LayoutFooter as x,SimpleSummary as C}from"../../../phoenix-layout-elements/index.js";import{SaveMessageSnackbars as k}from"../../../save-message-snackbars/index.js";import{FullscreenDesktopToolbar as S}from"../../toolbar/desktop-toolbar/FullscreenDesktopToolbar.js";import{CommonDesktopToolbar as E}from"../common/CommonDesktopToolbar.js";import{CommonFinalizePage as A}from"../common/CommonFinalizePage.js";import{CommonTopNavigation as I}from"../common/CommonTopNavigation.js";import{DefaultViewOnlyMessage as N}from"../common/DefaultViewOnlyMessage.js";import{InvariantViolations as P}from"../common/InvariantViolations.js";import{ReactiveInterfaceLayout as V}from"../common/ReactiveInterfaceLayout.js";import{SideEffects as D}from"../common/SideEffects.js";import{ToolControls as F}from"../common/ToolControls.js";import{ViewControls as L}from"../common/ViewControls.js";import{TabsSidebar as M}from"./TabsSidebar.js";export const TabsOwnerLayout=()=>{let O=f(),H=l(),R=d(),{isSummaryActive:z,page:B}=T(),$=a(B).with(null,()=>null).when(n,o=>o.state.page).when(i,t=>o(C,{summary:t.state.items})).otherwise(()=>null),q=j(),G=v(),J=y(),K=c({componentTypes:[s],entityIds:[R]}),Q=p(m),U=b(o=>R===o.state.rootEntityId,[R]),W=r(()=>(K??[]).flatMap(o=>o.state.tabs).map(o=>{let t=o.navigationStates[0];if(!t)throw Error(`Tab ${t} has no navigation states!`);return{label:O(o.label),icon:o.icon,value:t,isActive:o.navigationStates.includes(H)}}),[K,H,O]),X=r(()=>{let o=W.find(o=>o.isActive);return o?.value??"none"},[W]),Y=u();return o(e,{children:o(V,{canvas:o(h.Canvas,{}),sidebar:o(M,{hasSummary:q,isSummaryActive:z,summaryPage:$,price:Y,onEnterSummary:G,onLeaveSummary:J,tabs:W,activeTab:X,isRootPage:U,customPriceNode:Q?.state.node}),topNavigation:o(I,{}),branding:null,toolbar:o(E,{}),fullScreenToolbar:o(S,{}),viewControls:o(L,{}),toolControls:o(F,{}),overlay:t(e,{children:[o(P,{}),o(k,{}),o(A,{}),o(w,{})]}),mobileControls:o(g.ViewOnlyMode,{message:o(N,{})}),mobileTopNavigation:null,mobileHeaderActionButton:null,mobileHeaderCenter:null,sideEffects:o(D,{}),footer:o(x,{})})})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{useAnalyticsService as a,useDimensionConfig as o,useDimensionState as n,useDimensions as l,useLocalizable as s}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";import{FrontendAnalyticsFactory as u}from"../../../../common/index.js";let h=o=>{let{value:n}=o,s=a(),{setGlobalUnit:h}=l(),p=e(()=>{s.push(u.GlobalDimensionsButtonClicked(n)),h(n)},[s,n,h]),f=i(()=>m(n).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[n]),d=i(()=>m(n).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[n]);return t(c.Item,{value:n,"aria-label":d,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=n(),m=s(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDimensionConfig as o,useDimensionState as l,useDimensions as s,useLocalizable as u}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";let h=o=>{let{value:l}=o,u=n(),{setGlobalUnit:h}=s(),p=e(()=>{u.push(a.GlobalDimensionsButtonClicked(l)),h(l)},[u,l,h]),f=i(()=>m(l).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[l]),w=i(()=>m(l).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[l]);return t(c.Item,{value:l,"aria-label":w,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=l(),m=u(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
@@ -1 +1 @@
1
- import{jsx as i}from"react/jsx-runtime";import{useLingui as e,Trans as o}from"@lingui/react";import{Switch as r}from"@mui/material";import{useObservableEagerState as t}from"observable-hooks";import{useCallback as a}from"react";import{applicationConfigComponent as m}from"#package/domain";import{useAnalyticsService as n,useFirstRootComponent as s}from"#package/react-sdk";import{MobileToolbar as c}from"#package/ui-sdk";import{useConfigurator as l}from"../../../../application-runtime/index.js";import{FrontendAnalyticsFactory as p}from"../../../../common/index.js";let d={"aria-label":{id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"}};export const MeasurementsIndicatorsSwitch=()=>{let{_:u}=e(),g=s(m),f=g?.state.indicatorSwitch??!0,k=n(),{canvasSystem:b}=l(),h=t(b.dimensionIndicatorShown$),x=a(()=>{k.push(p.DimensionIndicatorsToggled()),b.toggleDimensionIndicator()},[k,b]);return f?i(c.SectionItem,{title:i(o,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:i(r,{inputProps:{...d,"aria-label":u(d["aria-label"])},checked:h,onChange:x})}):null};
1
+ import{jsx as e}from"react/jsx-runtime";import{useLingui as i,Trans as t}from"@lingui/react";import{Switch as a}from"@mui/material";import{useObservableEagerState as r}from"observable-hooks";import{useCallback as o}from"react";import{applicationConfigComponent as m}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useFirstRootComponent as c}from"#package/react-sdk";import{MobileToolbar as l}from"#package/ui-sdk";import{useConfigurator as p}from"../../../../application-runtime/index.js";let d={"aria-label":{id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"}};export const MeasurementsIndicatorsSwitch=()=>{let{_:u}=i(),g=c(m),f=g?.state.indicatorSwitch??!0,k=s(),{canvasSystem:b}=p(),h=r(b.dimensionIndicatorShown$),I=o(()=>{k.push(n.DimensionIndicatorsToggled()),b.toggleDimensionIndicator()},[k,b]);return f?e(l.SectionItem,{title:e(t,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(a,{inputProps:{...d,"aria-label":u(d["aria-label"])},checked:h,onChange:I})}):null};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{memo as l,useCallback as t}from"react";import{useAnalyticsService as o,useDomain as r,useLocalizable as s}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as i}from"#package/ui-sdk";import{FrontendAnalyticsFactory as a}from"../../../../common/index.js";let c={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarAction=l(({openFullscreenButtonTitle:l=c,showTitle:m=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=r(),p=t(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),f=s(l);return e(n.Button,{title:f,size:"small",onClick:p,showTitle:m,children:e(i,{name:"ArrowsOut"})})});let m={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarAction=l(({exitFullscreenButtonTitle:l=m,showTitle:c=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=r(),p=t(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[u,d,g]),f=s(l);return e(n.Button,{title:f,size:"small",onClick:p,showTitle:c,children:e(i,{name:"ArrowsIn"})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as l,useCallback as t}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as o,useDomain as s,useLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as i,PhxIcon as a}from"#package/ui-sdk";let c={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarAction=l(({openFullscreenButtonTitle:l=c,showTitle:m=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=s(),p=t(()=>{u.push(r.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),f=n(l);return e(i.Button,{title:f,size:"small",onClick:p,showTitle:m,children:e(a,{name:"ArrowsOut"})})});let m={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarAction=l(({exitFullscreenButtonTitle:l=m,showTitle:c=!1})=>{let u=o(),{navigationSystem:d,storeSystem:g}=s(),p=t(()=>{u.push(r.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[u,d,g]),f=n(l);return e(i.Button,{title:f,size:"small",onClick:p,showTitle:c,children:e(a,{name:"ArrowsIn"})})});
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as l}from"@mui/material";import{useCallback as a,useState as i}from"react";import{useAnalyticsService as s,useResolveLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as m,Dialog as p,PhxIcon as c}from"#package/ui-sdk";import{FrontendAnalyticsFactory as d}from"../../../../common/index.js";let u={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarAction=g=>{let{content:h}=g,[k,f]=i(!1),b=s(),C=a(()=>{b.push(d.HelpDialogOpened()),f(!0)},[b]),x=a(()=>{b.push(d.HelpDialogClosed()),f(!1)},[b]),j=n();return e(r,{children:[o(m.Button,{title:j(u),onClick:C,children:o(c,{name:"Question"})}),o(p.Root,{isOpen:k,onClose:x,children:o(p.ContentLayout,{body:h,controls:o(l,{variant:"contained",onClick:x,children:o(t,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})};
1
+ import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{Button as l}from"@mui/material";import{useCallback as a,useState as i}from"react";import{FrontendAnalyticsFactory as s,useAnalyticsService as n,useResolveLocalizable as m}from"#package/react-sdk";import{DesktopToolbar as p,Dialog as c,PhxIcon as d}from"#package/ui-sdk";let u={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarAction=g=>{let{content:h}=g,[k,b]=i(!1),f=n(),C=a(()=>{f.push(s.HelpDialogOpened()),b(!0)},[f]),x=a(()=>{f.push(s.HelpDialogClosed()),b(!1)},[f]),H=m();return o(t,{children:[e(p.Button,{title:H(u),onClick:C,children:e(d,{name:"Question"})}),e(c.Root,{isOpen:k,onClose:x,children:e(c.ContentLayout,{body:h,controls:e(l,{variant:"contained",onClick:x,children:e(r,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useLingui as a}from"@lingui/react";import{Box as m,Stack as n}from"@mui/material";import{memo as o,useCallback as s,useMemo as i}from"react";import{match as u}from"ts-pattern";import{DimensionUnit as c}from"#package/domain";import{useAnalyticsService as p,useDimensionState as l}from"#package/react-sdk";import{DesktopToolbar as h,PhxIcon as d}from"#package/ui-sdk";import{FrontendAnalyticsFactory as M}from"../../../../common/index.js";import{DimensionUnitSelector as g}from"../common/DimensionUnitSelector.js";import{MeasurementsIndicatorsSwitch as f}from"../common/MeasurementsIndicatorsSwitch.js";export const MeasurementIcon=t=>{let{unit:r}=t;return u(r).with(c.mm,()=>e(d,{name:"CustomMeasureMm"})).with(c.cm,()=>e(d,{name:"CustomMeasureCm"})).with(c.m,()=>e(d,{name:"CustomMeasureM"})).with(c.inch,()=>e(d,{name:"CustomMeasureIn"})).with(c.feet,()=>e(d,{name:"CustomMeasureFt"})).exhaustive()};let C="measurements";export const MeasurementsToolbarAction=o(o=>{let{anchorRef:u,onClose:c,onToggle:d,openedKey:x,i18n:k}=o,{_:j}=a(),w=i(()=>({changeMeasureButtonTitle:j({id:"sdk.measurements",message:"Change measure"}),changeMeasureButtonAriaLabel:j({id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"}),...k}),[k,j]),b=p(),{unit:B}=l(),I=s(()=>{b.push(M.MeasurementsMenuToggled()),d(C)},[b,d]),T=s(e=>{b.push(M.MeasurementsMenuClosed()),c(e)},[b,c]);return t(r,{children:[e(h.Button,{title:w.changeMeasureButtonTitle,size:"small","aria-expanded":x===C?"true":void 0,"aria-label":w.changeMeasureButtonAriaLabel,"aria-haspopup":"menu",onClick:I,children:e(MeasurementIcon,{unit:B})}),e(h.Popper,{placement:"top-start",anchorEl:u.current,isOpen:x===C,onClose:T,children:e(m,{component:"div",sx:{p:2},children:t(n,{spacing:2,direction:"column",children:[e(f,{}),e(g,{})]})})})]})});
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useLingui as a}from"@lingui/react";import{Box as n,Stack as m}from"@mui/material";import{memo as s,useCallback as o,useMemo as i}from"react";import{match as u}from"ts-pattern";import{DimensionUnit as c}from"#package/domain";import{FrontendAnalyticsFactory as p,useAnalyticsService as l,useDimensionState as h}from"#package/react-sdk";import{DesktopToolbar as d,PhxIcon as M}from"#package/ui-sdk";import{DimensionUnitSelector as g}from"../common/DimensionUnitSelector.js";import{MeasurementsIndicatorsSwitch as f}from"../common/MeasurementsIndicatorsSwitch.js";export const MeasurementIcon=t=>{let{unit:r}=t;return u(r).with(c.mm,()=>e(M,{name:"CustomMeasureMm"})).with(c.cm,()=>e(M,{name:"CustomMeasureCm"})).with(c.m,()=>e(M,{name:"CustomMeasureM"})).with(c.inch,()=>e(M,{name:"CustomMeasureIn"})).with(c.feet,()=>e(M,{name:"CustomMeasureFt"})).exhaustive()};let C="measurements";export const MeasurementsToolbarAction=s(s=>{let{anchorRef:u,onClose:c,onToggle:M,openedKey:k,i18n:x}=s,{_:w}=a(),b=i(()=>({changeMeasureButtonTitle:w({id:"sdk.measurements",message:"Change measure"}),changeMeasureButtonAriaLabel:w({id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"}),...x}),[x,w]),j=l(),{unit:B}=h(),I=o(()=>{j.push(p.MeasurementsMenuToggled()),M(C)},[j,M]),T=o(e=>{j.push(p.MeasurementsMenuClosed()),c(e)},[j,c]);return t(r,{children:[e(d.Button,{title:b.changeMeasureButtonTitle,size:"small","aria-expanded":k===C?"true":void 0,"aria-label":b.changeMeasureButtonAriaLabel,"aria-haspopup":"menu",onClick:I,children:e(MeasurementIcon,{unit:B})}),e(d.Popper,{placement:"top-start",anchorEl:u.current,isOpen:k===C,onClose:T,children:e(n,{component:"div",sx:{p:2},children:t(m,{spacing:2,direction:"column",children:[e(f,{}),e(g,{})]})})})]})});
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useThemeProps as r}from"@mui/material";import{useObservableEagerState as t}from"observable-hooks";import{memo as d,useCallback as i}from"react";import{useAnalyticsService as l,useDomain as s,useResolveLocalizable as a}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as m}from"#package/ui-sdk";import{FrontendAnalyticsFactory as p}from"../../../../common/index.js";let u={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"},c={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const UndoRedoToolbarGroup=d(d=>{let{showLabels:k=!1,disableTooltip:b=!1,undoButtonTitle:h=u,redoButtonTitle:f=c}=r({name:"PhxToolbarUndoRedo",props:d}),C=l(),{undoSystem:w}=s(),{canUndo:x,canRedo:R}=t(w.can$),T=a(),B=i(()=>{C.push(p.UndoButtonClicked()),w.undo()},[C,w]),g=i(()=>{C.push(p.RedoButtonClicked()),w.redo()},[C,w]);return e(n.ButtonGroup,{children:[o(n.Button,{title:T(h),onClick:B,disabled:!x,showTitle:k,disableTooltip:b,children:o(m,{name:"ArrowCounterClockwise"})}),o(n.Button,{title:T(f),onClick:g,disabled:!R,showTitle:k,disableTooltip:b,children:o(m,{name:"ArrowClockwise"})})]})});
1
+ import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useThemeProps as r}from"@mui/material";import{useObservableEagerState as t}from"observable-hooks";import{memo as d,useCallback as i}from"react";import{FrontendAnalyticsFactory as l,useAnalyticsService as a,useDomain as s,useResolveLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as m,PhxIcon as u}from"#package/ui-sdk";let p={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"},c={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const UndoRedoToolbarGroup=d(d=>{let{showLabels:k=!1,disableTooltip:b=!1,undoButtonTitle:h=p,redoButtonTitle:C=c}=r({name:"PhxToolbarUndoRedo",props:d}),f=a(),{undoSystem:w}=s(),{canUndo:R,canRedo:T}=t(w.can$),x=n(),B=i(()=>{f.push(l.UndoButtonClicked()),w.undo()},[f,w]),g=i(()=>{f.push(l.RedoButtonClicked()),w.redo()},[f,w]);return e(m.ButtonGroup,{children:[o(m.Button,{title:x(h),onClick:B,disabled:!R,showTitle:k,disableTooltip:b,children:o(u,{name:"ArrowCounterClockwise"})}),o(m.Button,{title:x(C),onClick:g,disabled:!T,showTitle:k,disableTooltip:b,children:o(u,{name:"ArrowClockwise"})})]})});
@@ -1,8 +1,4 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{keyframes as a,styled as o}from"@mui/material";import{useRef as i}from"react";import{createCustomPhoenixLayoutElement as p}from"#package/domain";import{BuiltInLoadingPhase as s,PhoenixLayoutElement as n,useLoadingStateValue as m}from"#package/react-sdk";import{useResponsive as c}from"#package/ui-sdk";let d="AppLoaderContent";export const createAppLoader=t=>[p(d,()=>{let{phases:r}=m();return e(t,{phases:r})})];let l=a`
2
- 0% { transform: perspective(200px) rotateX(0deg) rotateY(0deg) }
3
- 50% { transform: perspective(200px) rotateX(-180deg) rotateY(0deg) }
4
- 100% { transform: perspective(200px) rotateX(-180deg) rotateY(-180deg) }
5
- `,g=o("span")(({theme:e})=>({animation:`${l} 1s linear infinite`,aspectRatio:1,background:e.palette.primary.main,height:36})),f=a`
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{keyframes as o,styled as a}from"@mui/material";import{useRef as s}from"react";import{createCustomPhoenixLayoutElement as i}from"#package/domain";import{BuiltInLoadingPhase as n,PhoenixLayoutElement as p,useLoadingStateValue as m,useResponsiveState as c}from"#package/react-sdk";import{AppLoaderContentName as l}from"../../app-loader-content/index.js";export const createAppLoader=t=>[i(l,()=>{let{phases:r}=m();return e(t,{phases:r})})];let d=o`
6
2
  from { opacity: 0 }
7
3
  to { opacity: 1 }
8
- `,x=o("div")({animation:`${f} 1000ms linear 300ms forwards`,opacity:0,display:"grid",inset:0,maxBlockSize:"var(--phx-app-height)",placeItems:"center",pointerEvents:"none",position:"absolute",transition:"inset 100ms ease-in-out",zIndex:9999}),u=()=>e(g,{});export const AppLoader=({mode:a="universal",children:o})=>{let{isLoading:p,hasError:l,phases:g,expectedPhaseIds:f}=m(),{canvasPadding:h}=c(),k=i(!1);if(g.some(e=>e.id===s.SceneAssets)&&(k.current=!0),"legacy"===a)return o;let v=f.has(s.SceneAssets)&&!k.current;return t(r,{children:[o,!l&&(p||v)&&e(x,{style:{inset:`${h.top}px ${h.right}px ${h.bottom}px ${h.left}px`},children:e(n,{name:d,elementProps:{},defaultSlot:u})})]})};
4
+ `,x=a("div")({animation:`${d} 1000ms linear 300ms forwards`,opacity:0,display:"grid",inset:0,maxBlockSize:"var(--phx-app-height)",placeItems:"center",pointerEvents:"none",position:"absolute",transition:"inset 100ms ease-in-out",zIndex:9999});export const AppLoader=({mode:o="universal",children:a})=>{let{isLoading:i,hasError:d,phases:f,expectedPhaseIds:u}=m(),{canvasPadding:h}=c(),g=s(!1);if(f.some(e=>e.id===n.SceneAssets)&&(g.current=!0),"legacy"===o)return a;let y=u.has(n.SceneAssets)&&!g.current;return t(r,{children:[a,!d&&(i||y)&&e(x,{style:{inset:`${h.top}px ${h.right}px ${h.bottom}px ${h.left}px`},children:e(p,{name:l,elementProps:{phases:f}})})]})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{memo as o,useCallback as r}from"react";import{createPhoenixLayoutElement as t,enterFullscreenToolbarButtonSchema as l}from"#package/domain";import{useAnalyticsService as m,useDomain as n,useLocalizable as s}from"#package/react-sdk";import{DesktopToolbar as a,PhxIcon as c}from"#package/ui-sdk";import{FrontendAnalyticsFactory as i}from"../../common/index.js";let p={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarButton=t({schema:l,component:o(o=>{let{icon:t,showTitle:l=!1}=o,u=m(),{navigationSystem:d,storeSystem:g}=n(),f=r(()=>{u.push(i.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),k=s(p);return e(a.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(c,{name:t??"ArrowsOut"})})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as r}from"react";import{createPhoenixLayoutElement as o,enterFullscreenToolbarButtonSchema as l}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDomain as s,useLocalizable as m}from"#package/react-sdk";import{DesktopToolbar as c,PhxIcon as i}from"#package/ui-sdk";let p={id:"sdk.toolbar.fullscreen.enter.label",message:"Open fullscreen"};export const EnterFullscreenToolbarButton=o({schema:l,component:t(t=>{let{icon:o,showTitle:l=!1}=t,u=n(),{navigationSystem:d,storeSystem:g}=s(),f=r(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[d,u,g]),k=m(p);return e(c.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(i,{name:o??"ArrowsOut"})})})});
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{memo as o,useCallback as t}from"react";import{createPhoenixLayoutElement as r,exitFullscreenToolbarButtonSchema as l}from"#package/domain";import{useAnalyticsService as m,useDomain as s,useLocalizable as a}from"#package/react-sdk";import{DesktopToolbar as i,PhxIcon as n}from"#package/ui-sdk";import{FrontendAnalyticsFactory as c}from"../../common/index.js";let p={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarButton=r({schema:l,component:o(o=>{let{icon:r,showTitle:l=!1}=o,d=m(),{navigationSystem:u,storeSystem:g}=s(),f=t(()=>{d.push(c.FullScreenModeToggled()),g.stageAndCommit([u.getToggleFullscreenUpdate()])},[d,u,g]),k=a(p);return e(i.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(n,{name:r??"ArrowsIn"})})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{memo as t,useCallback as o}from"react";import{createPhoenixLayoutElement as r,exitFullscreenToolbarButtonSchema as l}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as s,useDomain as m,useLocalizable as i}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as c}from"#package/ui-sdk";let p={id:"sdk.toolbar.fullscreen.exit.label",message:"Exit fullscreen"};export const ExitFullscreenToolbarButton=r({schema:l,component:t(t=>{let{icon:r,showTitle:l=!1}=t,u=s(),{navigationSystem:d,storeSystem:g}=m(),f=o(()=>{u.push(a.FullScreenModeToggled()),g.stageAndCommit([d.getToggleFullscreenUpdate()])},[u,d,g]),k=i(p);return e(n.Button,{title:k,size:"small",onClick:f,showTitle:l,children:e(c,{name:r??"ArrowsIn"})})})});
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as l,useCallback as i,useState as m}from"react";import{createPhoenixLayoutElement as n,helpToolbarButtonSchema as s}from"#package/domain";import{useAnalyticsService as p,useLocalizable as c}from"#package/react-sdk";import{DesktopToolbar as d,Dialog as u,PhxIcon as f}from"#package/ui-sdk";import{FrontendAnalyticsFactory as g}from"../../common/index.js";import{ToolbarHelp as h}from"./ToolbarHelp.js";let k={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarButton=n({schema:s,component:l(l=>{let{children:n,icon:s}=l,[b,C]=m(!1),j=p(),x=i(()=>{j.push(g.HelpDialogOpened()),C(!0)},[j]),H=i(()=>{j.push(g.HelpDialogClosed()),C(!1)},[j]),T=c(k);return e(r,{children:[o(d.Button,{title:T,onClick:x,children:o(f,{name:s??"Question"})}),o(u.Root,{isOpen:b,onClose:H,children:o(u.ContentLayout,{body:n??o(h,{}),controls:o(a,{variant:"contained",onClick:H,children:o(t,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})})});
1
+ import{jsx as o,jsxs as e,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as l,useCallback as i,useState as s}from"react";import{createPhoenixLayoutElement as n,helpToolbarButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as p,useAnalyticsService as c,useLocalizable as d}from"#package/react-sdk";import{DesktopToolbar as u,Dialog as g,PhxIcon as h}from"#package/ui-sdk";import{ToolbarHelp as k}from"./ToolbarHelp.js";let f={id:"sdk.toolbar.help.label",message:"Help"};export const HelpToolbarButton=n({schema:m,component:l(l=>{let{children:n,icon:m}=l,[b,C]=s(!1),H=c(),j=i(()=>{H.push(p.HelpDialogOpened()),C(!0)},[H]),x=i(()=>{H.push(p.HelpDialogClosed()),C(!1)},[H]),T=d(f);return e(r,{children:[o(u.Button,{title:T,onClick:j,children:o(h,{name:m??"Question"})}),o(g.Root,{isOpen:b,onClose:x,children:o(g.ContentLayout,{body:n??o(k,{}),controls:o(a,{variant:"contained",onClick:x,children:o(t,{id:"sdk.toolbar.help.close.label",message:"Close"})})})})]})})});
@@ -1,4 +1,5 @@
1
1
  import type { PhoenixLayoutElementRegistration } from '#package/domain';
2
2
  export declare const createLayoutCustomOwnerUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
3
3
  export type CreateLayoutCustomOwnerUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
4
+ /** The owner UI of `layout: custom`. The project's element mounts no message services, so the save snackbars come from here. */
4
5
  export declare const LayoutCustomOwnerUi: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as e}from"#package/react-sdk";let r="LayoutCustomOwnerUi";export const createLayoutCustomOwnerUi=t=>o(r,t);export const LayoutCustomOwnerUi=()=>t(e,{name:r,elementProps:{},defaultSlot:()=>null});
1
+ import{jsx as e,jsxs as t,Fragment as a}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as r}from"#package/react-sdk";import{SaveMessageSnackbars as s}from"../save-message-snackbars/index.js";let m="LayoutCustomOwnerUi";export const createLayoutCustomOwnerUi=e=>o(m,e);export const LayoutCustomOwnerUi=()=>t(a,{children:[e(s,{}),e(r,{name:m,elementProps:{},defaultSlot:()=>null})]});
@@ -1,4 +1,5 @@
1
1
  import type { PhoenixLayoutElementRegistration } from '#package/domain';
2
2
  export declare const createLayoutCustomReadUi: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
3
3
  export type CreateLayoutCustomReadUi = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
4
+ /** The read UI of `layout: custom`. Read mode shows no save messages; the save snackbars are mounted so that one left from owner mode closes. */
4
5
  export declare const LayoutCustomReadUi: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as e}from"#package/react-sdk";let a="LayoutCustomReadUi";export const createLayoutCustomReadUi=t=>o(a,t);export const LayoutCustomReadUi=()=>t(e,{name:a,elementProps:{},defaultSlot:()=>null});
1
+ import{jsx as a,jsxs as e,Fragment as t}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{PhoenixLayoutElement as s}from"#package/react-sdk";import{SaveMessageSnackbars as r}from"../save-message-snackbars/index.js";let m="LayoutCustomReadUi";export const createLayoutCustomReadUi=a=>o(m,a);export const LayoutCustomReadUi=()=>e(t,{children:[a(r,{}),a(s,{name:m,elementProps:{},defaultSlot:()=>null})]});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as m,Stack as o}from"@mui/material";import{memo as n,useCallback as a}from"react";import{createPhoenixLayoutElement as t,measurementsToolbarButtonSchema as i}from"#package/domain";import{useAnalyticsService as u,useDimensionState as p,useLocalizable as l}from"#package/react-sdk";import{DesktopToolbar as c}from"#package/ui-sdk";import{FrontendAnalyticsFactory as d}from"../../common/index.js";import{DimensionUnitSelector as h}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as g}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMeasurementsVisibility as j}from"./measurements/use-measurements-visibility.js";let k="measurements",x={id:"sdk.measurements",message:"Change measure"},M={id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"};export const MeasurementsToolbarButton=t({schema:i,component:n(n=>{let{showIndicatorSwitch:t,icons:i}=n,{ref:b,handleClose:C,handleToggle:T,openedKey:v}=c.useToolbarPopper(),B=u(),{unit:I}=p(),{indicatorSwitchShown:P,measurementsShown:S}=j(t),w=a(()=>{B.push(d.MeasurementsMenuToggled()),T(k)},[B,T]),y=a(e=>{B.push(d.MeasurementsMenuClosed()),C(e)},[B,C]),z=l(x),D=l(M);return S?r(s,{children:[e(c.Button,{ref:b,title:z,size:"small","aria-expanded":v===k?"true":void 0,"aria-label":D,"aria-haspopup":"menu",onClick:w,children:e(g,{unit:I,icons:i})}),e(c.Popper,{placement:"top-start",anchorEl:b.current,isOpen:v===k,onClose:y,children:e(m,{component:"div",sx:{p:2},children:r(o,{spacing:2,direction:"column",children:[P&&e(f,{}),e(h,{})]})})})]}):null})});
1
+ import{jsx as e,jsxs as r,Fragment as s}from"react/jsx-runtime";import{Box as m,Stack as a}from"@mui/material";import{memo as n,useCallback as t}from"react";import{createPhoenixLayoutElement as o,measurementsToolbarButtonSchema as i}from"#package/domain";import{FrontendAnalyticsFactory as u,useAnalyticsService as p,useDimensionState as l,useLocalizable as c}from"#package/react-sdk";import{DesktopToolbar as d}from"#package/ui-sdk";import{DimensionUnitSelector as h}from"./measurements/DimensionUnitSelector.js";import{MeasurementsIcon as g}from"./measurements/MeasurementsIcon.js";import{MeasurementsIndicatorsSwitch as f}from"./measurements/MeasurementsIndicatorsSwitch.js";import{useMeasurementsVisibility as k}from"./measurements/use-measurements-visibility.js";let j="measurements",M={id:"sdk.measurements",message:"Change measure"},x={id:"sdk.toolbar.measurements.change.aria",message:"open measure menu"};export const MeasurementsToolbarButton=o({schema:i,component:n(n=>{let{showIndicatorSwitch:o,icons:i}=n,{ref:b,handleClose:C,handleToggle:T,openedKey:v}=d.useToolbarPopper(),B=p(),{unit:I}=l(),{indicatorSwitchShown:P,measurementsShown:S}=k(o),w=t(()=>{B.push(u.MeasurementsMenuToggled()),T(j)},[B,T]),y=t(e=>{B.push(u.MeasurementsMenuClosed()),C(e)},[B,C]),z=c(M),D=c(x);return S?r(s,{children:[e(d.Button,{ref:b,title:z,size:"small","aria-expanded":v===j?"true":void 0,"aria-label":D,"aria-haspopup":"menu",onClick:w,children:e(g,{unit:I,icons:i})}),e(d.Popper,{placement:"top-start",anchorEl:b.current,isOpen:v===j,onClose:y,children:e(m,{component:"div",sx:{p:2},children:r(a,{spacing:2,direction:"column",children:[P&&e(f,{}),e(h,{})]})})})]}):null})});
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{memo as e,useCallback as r}from"react";import{createPhoenixLayoutElement as t,redoToolbarButtonSchema as m}from"#package/domain";import{useAnalyticsService as a,useDomain as i,useEagerObservableValue as d,useLocalizable as n}from"#package/react-sdk";import{DesktopToolbar as c,PhxIcon as s}from"#package/ui-sdk";import{FrontendAnalyticsFactory as l}from"../../common/index.js";let p={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const RedoToolbarButton=t({schema:m,component:e(e=>{let{icon:t,showTitle:m=!1}=e,k=a(),{undoSystem:u}=i(),{canRedo:f}=d(u.can$),b=r(()=>{k.push(l.RedoButtonClicked()),u.redo()},[k,u]),g=n(p);return o(c.Button,{title:g,onClick:b,disabled:!f,showTitle:m,children:o(s,{name:t??"ArrowClockwise"})})})});
1
+ import{jsx as o}from"react/jsx-runtime";import{memo as e}from"react";import{createPhoenixLayoutElement as r,redoToolbarButtonSchema as t}from"#package/domain";import{useLocalizable as a,useUndoRedo as m}from"#package/react-sdk";import{DesktopToolbar as i,PhxIcon as d}from"#package/ui-sdk";let s={id:"sdk.toolbar.undoRedo.redo.label",message:"Redo"};export const RedoToolbarButton=r({schema:t,component:e(e=>{let{icon:r,showTitle:t=!1}=e,{canRedo:c,redo:l}=m(),n=a(s);return o(i.Button,{title:n,onClick:l,disabled:!c,showTitle:t,children:o(d,{name:r??"ArrowClockwise"})})})});
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{memo as t,useCallback as e}from"react";import{createPhoenixLayoutElement as r,undoToolbarButtonSchema as n}from"#package/domain";import{useAnalyticsService as m,useDomain as a,useEagerObservableValue as i,useLocalizable as d}from"#package/react-sdk";import{DesktopToolbar as c,PhxIcon as s}from"#package/ui-sdk";import{FrontendAnalyticsFactory as l}from"../../common/index.js";let p={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"};export const UndoToolbarButton=r({schema:n,component:t(t=>{let{icon:r,showTitle:n=!1}=t,u=m(),{undoSystem:k}=a(),{canUndo:f}=i(k.can$),b=e(()=>{u.push(l.UndoButtonClicked()),k.undo()},[u,k]),g=d(p);return o(c.Button,{title:g,onClick:b,disabled:!f,showTitle:n,children:o(s,{name:r??"ArrowCounterClockwise"})})})});
1
+ import{jsx as o}from"react/jsx-runtime";import{memo as e}from"react";import{createPhoenixLayoutElement as t,undoToolbarButtonSchema as r}from"#package/domain";import{useLocalizable as a,useUndoRedo as m}from"#package/react-sdk";import{DesktopToolbar as n,PhxIcon as i}from"#package/ui-sdk";let d={id:"sdk.toolbar.undoRedo.undo.label",message:"Undo"};export const UndoToolbarButton=t({schema:r,component:e(e=>{let{icon:t,showTitle:r=!1}=e,{canUndo:s,undo:c}=m(),l=a(d);return o(n.Button,{title:l,onClick:c,disabled:!s,showTitle:r,children:o(i,{name:t??"ArrowCounterClockwise"})})})});
@@ -1 +1 @@
1
- import{useMemo as e}from"react";import{useAccessService as o,useAnalyticsService as t,useDomainApplication as i,useIntegrationState as r}from"#package/react-sdk";import{FrontendAnalyticsFactory as a}from"../../../../../common/index.js";import{useConfiguratorRouting as d,usePresetSelection as n,usePreview as s}from"../../../../../configurator-context/index.js";import{useCloseAction as c}from"../../../../../integration/index.js";export const useGoBackAction=()=>{let m=t(),{configurationPersistSystem:l}=i(),p=d(),{presetCategories:u}=n(),{isPreview:w,isPreviewEnabled:f,leave:x}=s(),{accessInfo:g}=o(),k=u.flatMap(e=>e.presets).length>1,v=r(),C=c();return e(()=>v.embeddedView?null:k?async()=>{m.push(a.GoToProductsClicked()),g.viewMode||await l.save(),p.goToIndex()}:null!==C?async()=>{m.push(a.CloseConfiguratorClicked()),g.viewMode||await l.save(),await C()}:f&&!w?()=>{m.push(a.ExpandedViewClosed()),x()}:null,[m,l,k,v.embeddedView,w,f,x,p,C,g.viewMode])};
1
+ import{useMemo as e}from"react";import{FrontendAnalyticsFactory as o,useAccessService as t,useAnalyticsService as i,useDomainApplication as a,useIntegrationState as r}from"#package/react-sdk";import{useConfiguratorRouting as d,usePresetSelection as n,usePreview as s}from"../../../../../configurator-context/index.js";import{useCloseAction as c}from"../../../../../integration/index.js";export const useGoBackAction=()=>{let l=i(),{configurationPersistSystem:p}=a(),u=d(),{presetCategories:m}=n(),{isPreview:w,isPreviewEnabled:f,leave:g}=s(),{accessInfo:x}=t(),k=m.flatMap(e=>e.presets).length>1,v=r(),C=c();return e(()=>v.embeddedView?null:k?async()=>{l.push(o.GoToProductsClicked()),x.viewMode||await p.save(),u.goToIndex()}:null!==C?async()=>{l.push(o.CloseConfiguratorClicked()),x.viewMode||await p.save(),await C()}:f&&!w?()=>{l.push(o.ExpandedViewClosed()),g()}:null,[l,p,k,v.embeddedView,w,f,g,u,C,x.viewMode])};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Tab as a,Tabs as o}from"@mui/material";import{memo as e,useCallback as n}from"react";import{horizontalTabsComponent as i}from"#package/domain";import{getI18nKey as r,useActiveNavigationState as s,useAnalyticsService as l,useComponents as m,useDomain as c,useResolveLocalizable as p}from"#package/react-sdk";import{PhxIcon as b}from"#package/ui-sdk";import{FrontendAnalyticsFactory as d}from"../../../../../common/index.js";let u=e(e=>{let{component:i}=e,m=s(),u=l(),{navigationSystem:f,storeSystem:g}=c(),h=p(),v=i.state.tabs.findIndex(t=>t.navigationStates.includes(m));return t(o,{variant:"scrollable",value:-1!==v&&v,onChange:n((t,a)=>{let o=i.state.tabs[a];if(!o)return;let e=o.navigationStates[0];e&&(u.push(d.TopNavigationStepClicked(e)),g.stageAndCommit([f.getNavigationUpdate(e)]))},[i.state.tabs,u,g,f]),children:i.state.tabs.map(o=>t(a,{label:h(o.label),icon:o.icon?t(b,{name:o.icon}):void 0,iconPosition:"start"},r(o.label)))})});export const DesktopHorizontalTabs=e(()=>{let a=m({componentTypes:[i]});if(0===a.length)return null;if(a.length>1)throw Error("Multiple horizontal tabs components are active, only one horizontal tabs component can be active at a time, check your domain configuration to ensure only one horizontalTabs component is defined");return t(u,{component:a.at(0)})});
1
+ import{jsx as o}from"react/jsx-runtime";import{Tab as a,Tabs as n}from"@mui/material";import{memo as e,useCallback as t}from"react";import{horizontalTabsComponent as r}from"#package/domain";import{useComponents as i,useTabNavigation as l}from"#package/react-sdk";import{PhxIcon as c}from"#package/ui-sdk";export const DesktopHorizontalTabs=e(()=>{let e=i({componentTypes:[r]}),{source:m,tabs:s,activeTab:p,select:u}=l({source:"horizontalTabs"}),b=t((o,a)=>{u(a)},[u]);if(null===m)return null;if(e.length>1)throw Error("Multiple horizontal tabs components are active, only one horizontal tabs component can be active at a time, check your domain configuration to ensure only one horizontalTabs component is defined");return o(n,{variant:"scrollable",value:!!p&&p.index,onChange:b,children:s.map(n=>o(a,{label:n.label,icon:n.icon?o(c,{name:n.icon}):void 0,iconPosition:"start"},n.index))})});
@@ -38,7 +38,7 @@ export interface ThemeableDesktopNavigationStepsProps extends OwnerState {
38
38
  * - Renders horizontal step navigation for desktop layouts.
39
39
  * - Hides when no navigation steps are available.
40
40
  * - Integrates with MUI theming for customizable width behavior.
41
- * - Retrieves steps from the navigation steps domain component.
41
+ * - Retrieves the steps and moves between them with `useStepNavigation`.
42
42
  */
43
43
  export declare const DesktopNavigationSteps: () => import("react/jsx-runtime").JSX.Element | null;
44
44
  export {};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{stepClasses as o,stepperClasses as e,styled as i,useThemeProps as r}from"@mui/material";import{useMemo as a}from"react";import{navigationStepsComponent as n}from"#package/domain";import{useFirstRootComponent as l}from"#package/react-sdk";import{StepsNavigation as m}from"./StepsNavigation.js";let p="PhxDesktopStepsNavigation",s=i("div",{name:p,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:i}})=>({flexGrow:1,marginBlock:i(1),marginInline:"auto",maxInlineSize:t.fullWidth?void 0:856,[`.${e.horizontal}`]:{overflow:"hidden"},[`.${o.horizontal}`]:{"&:first-child":{paddingInlineStart:0},"&:last-child":{paddingInlineEnd:0}}}));export const DesktopNavigationSteps=()=>{let{fullWidth:o=!1}=r({props:{fullWidth:void 0},name:p}),e=l(n),i=a(()=>e?.state.steps??[],[e]);return 0===i.length?null:t(s,{ownerState:{fullWidth:o},children:t(m,{steps:i})})};
1
+ import{jsx as t}from"react/jsx-runtime";import{stepClasses as o,stepperClasses as e,styled as i,useThemeProps as r}from"@mui/material";import{useStepNavigation as n}from"#package/react-sdk";import{StepsNavigation as a}from"./StepsNavigation.js";let l="PhxDesktopStepsNavigation",d=i("div",{name:l,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:i}})=>({flexGrow:1,marginBlock:i(1),marginInline:"auto",maxInlineSize:t.fullWidth?void 0:856,[`.${e.horizontal}`]:{overflow:"hidden"},[`.${o.horizontal}`]:{"&:first-child":{paddingInlineStart:0},"&:last-child":{paddingInlineEnd:0}}}));export const DesktopNavigationSteps=()=>{let{fullWidth:o=!1}=r({props:{fullWidth:void 0},name:l}),{steps:e,activeIndex:i,goTo:s}=n();return 0===e.length?null:t(d,{ownerState:{fullWidth:o},children:t(a,{steps:e,activeIndex:i,goTo:s})})};
@@ -1,9 +1,3 @@
1
- import type { Localizable } from '@salsita-ai/common/utils';
2
- export interface TopNavigationStep {
3
- navigationStates: string[];
4
- label: Localizable;
5
- }
6
- export interface StepsNavigationComponentProps {
7
- steps: TopNavigationStep[];
8
- }
1
+ import { type UseStepNavigationResult } from '#package/react-sdk';
2
+ export type StepsNavigationComponentProps = Pick<UseStepNavigationResult, 'steps' | 'activeIndex' | 'goTo'>;
9
3
  export declare const StepsNavigation: import("react").MemoExoticComponent<(props: StepsNavigationComponentProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{memo as i,useCallback as a}from"react";import{useActiveNavigationState as n,useAnalyticsService as r,useDomain as s,usePresetEmbeddedState as p,useResolveLocalizable as c}from"#package/react-sdk";import{TopNavigation as m,useResponsive as l}from"#package/ui-sdk";import{FrontendAnalyticsFactory as d}from"../../../../../common/index.js";import{useConfiguratorRouting as g,usePresetSelection as u}from"../../../../../configurator-context/index.js";export const StepsNavigation=i(i=>{let{steps:f}=i,k=r(),{navigationSystem:x,storeSystem:v}=s(),h=n(),C=g(),S=c(),{presetCategories:j}=u(),T=p(),N=j.flatMap(t=>t.presets).length>1,b=!T&&N,I=f.findIndex(t=>t.navigationStates.includes(h))+ +!!b,{isTablet:P}=l(),y=a(()=>{k.push(d.GoToProductsClicked()),C.goToIndex()},[k,C]);return e(m.Root,{activeStep:I,nonLinear:!0,compact:P,fullWidth:!0,children:[b&&t(m.Step,{isCompleted:!0,onClick:y,compact:P,children:t(o,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),f.map((e,o)=>{let i=b?o<I-1:o<I,a=S(e.label);return t(m.Step,{isCompleted:i,isDisabled:!i,compact:P,onClick:()=>{let t=e.navigationStates[0];t&&(k.push(d.TopNavigationStepClicked(t)),v.stageAndCommit([x.getNavigationUpdate(t)]))},children:a},a)})]})});
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{memo as a,useCallback as i}from"react";import{FrontendAnalyticsFactory as r,useAnalyticsService as s,usePresetEmbeddedState as c}from"#package/react-sdk";import{TopNavigation as p,useResponsive as l}from"#package/ui-sdk";import{useConfiguratorRouting as n,usePresetSelection as m}from"../../../../../configurator-context/index.js";export const StepsNavigation=a(a=>{let{steps:d,activeIndex:u,goTo:f}=a,g=s(),k=n(),{presetCategories:x}=m(),h=c(),C=x.flatMap(t=>t.presets).length>1,b=!h&&C,{isTablet:j}=l(),v=i(()=>{g.push(r.GoToProductsClicked()),k.goToIndex()},[g,k]);return e(p.Root,{activeStep:u+ +!!b,nonLinear:!0,compact:j,fullWidth:!0,children:[b&&t(p.Step,{isCompleted:!0,onClick:v,compact:j,children:t(o,{id:"sdk.layout.navigation.steps.first.label",message:"Products"})}),d.map(e=>{let o="complete"===e.status;return t(p.Step,{isCompleted:o,isDisabled:!o,compact:j,onClick:()=>f(e.index),children:e.label},e.label)})]})});
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{useAnalyticsService as a,useDimensionConfig as o,useDimensionState as n,useDimensions as l,useLocalizable as s}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";import{FrontendAnalyticsFactory as u}from"../../../common/index.js";let h=o=>{let{value:n}=o,s=a(),{setGlobalUnit:h}=l(),p=e(()=>{s.push(u.GlobalDimensionsButtonClicked(n)),h(n)},[s,n,h]),f=i(()=>m(n).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[n]),d=i(()=>m(n).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[n]);return t(c.Item,{value:n,"aria-label":d,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=n(),m=s(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as i}from"react";import{match as m}from"ts-pattern";import{DimensionUnit as r}from"#package/domain";import{FrontendAnalyticsFactory as a,useAnalyticsService as n,useDimensionConfig as o,useDimensionState as l,useDimensions as s,useLocalizable as u}from"#package/react-sdk";import{ToggleSelector as c}from"#package/ui-sdk";let h=o=>{let{value:l}=o,u=n(),{setGlobalUnit:h}=s(),p=e(()=>{u.push(a.GlobalDimensionsButtonClicked(l)),h(l)},[u,l,h]),f=i(()=>m(l).with(r.mm,()=>"mm").with(r.cm,()=>"cm").with(r.m,()=>"m").with(r.inch,()=>"in").with(r.feet,()=>"ft").exhaustive(),[l]),w=i(()=>m(l).with(r.mm,()=>"millimeter").with(r.cm,()=>"centimeter").with(r.m,()=>"meter").with(r.inch,()=>"inches").with(r.feet,()=>"feet").exhaustive(),[l]);return t(c.Item,{value:l,"aria-label":w,onClick:p,children:f})},p={id:"sdk.toolbar.measurements.units.aria",message:"Measurement unit setup"};export const DimensionUnitSelector=()=>{let{availableDimensions:e}=o(),{unit:i}=l(),m=u(p);return e.length<=1?null:t(c.Root,{"aria-label":m,value:i,exclusive:!0,columnCount:"auto-fit",sx:{maxWidth:500},children:e.map(e=>t(h,{value:e},e))})};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{Switch as t}from"@mui/material";import{useObservableEagerState as i}from"observable-hooks";import{useCallback as r}from"react";import{useAnalyticsService as a,useLocalizable as m}from"#package/react-sdk";import{MobileToolbar as n}from"#package/ui-sdk";import{useConfigurator as s}from"../../../application-runtime/index.js";import{FrontendAnalyticsFactory as c}from"../../../common/frontend-analytics.js";let p={id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"};export const MeasurementsIndicatorsSwitch=()=>{let d=a(),{canvasSystem:l}=s(),u=i(l.dimensionIndicatorShown$),f=r(()=>{d.push(c.DimensionIndicatorsToggled()),l.toggleDimensionIndicator()},[d,l]),g=m(p);return e(n.SectionItem,{title:e(o,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(t,{inputProps:{"aria-label":g},checked:u,onChange:f})})};
1
+ import{jsx as e}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Switch as t}from"@mui/material";import{useObservableEagerState as o}from"observable-hooks";import{useCallback as r}from"react";import{FrontendAnalyticsFactory as a,useAnalyticsService as s,useLocalizable as m}from"#package/react-sdk";import{MobileToolbar as n}from"#package/ui-sdk";import{useConfigurator as c}from"../../../application-runtime/index.js";let p={id:"sdk.toolbar.measurements.input.aria",message:"Switch measurements"};export const MeasurementsIndicatorsSwitch=()=>{let d=s(),{canvasSystem:l}=c(),u=o(l.dimensionIndicatorShown$),g=r(()=>{d.push(a.DimensionIndicatorsToggled()),l.toggleDimensionIndicator()},[d,l]),f=m(p);return e(n.SectionItem,{title:e(i,{id:"sdk.toolbar.measurements.indicators.label",message:"Dimension indicators"}),content:e(t,{inputProps:{"aria-label":f},checked:u,onChange:g})})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import i from"lodash/noop.js";import{useCallback as e}from"react";import{finalizeButtonComponent as o,finalizePageComponent as a}from"#package/domain";import{useAnalyticsService as n,useDomain as s,useFinalizeViolations as m,useFirstRootComponent as r}from"#package/react-sdk";import{FrontendAnalyticsFactory as l}from"../../../../common/index.js";import{CustomFinalizeButton as c}from"../common/CustomFinalizeButton.js";let d=()=>t(c,{hints:"Finalize feature is not configured.",disabled:!0,onClick:i}),p=i=>{let{finalizeNavigationStates:o}=i,{navigationSystem:a,storeSystem:r}=s(),d=n(),p=e(async()=>{let t=o[0];t&&(d.push(l.FinalizeButtonClicked()),r.stageAndCommit([a.getPushNavigationUpdate(t,r.stateSlices.committed.value.state)]))},[o,a,d,r]),{disabled:u,hints:f}=m();return t(c,{hints:f,disabled:u,onClick:p})};export const BasicFinalizeButton=()=>{let i=r(o),e=r(a);return i?i?.state.button:e?t(p,{finalizeNavigationStates:e.state.finalizeNavigationStates}):t(d,{})};
1
+ import{jsx as t}from"react/jsx-runtime";import i from"lodash/noop.js";import{useCallback as e}from"react";import{finalizeButtonComponent as a,finalizePageComponent as o}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useDomain as r,useFinalizeViolations as m,useFirstRootComponent as l}from"#package/react-sdk";import{CustomFinalizeButton as c}from"../common/CustomFinalizeButton.js";let u=()=>t(c,{hints:"Finalize feature is not configured.",disabled:!0,onClick:i}),d=i=>{let{finalizeNavigationStates:a}=i,{navigationSystem:o,storeSystem:l}=r(),u=s(),d=e(async()=>{let t=a[0];t&&(u.push(n.FinalizeButtonClicked()),l.stageAndCommit([o.getPushNavigationUpdate(t,l.stateSlices.committed.value.state)]))},[a,o,u,l]),{disabled:p,hints:f}=m();return t(c,{hints:f,disabled:p,onClick:d})};export const BasicFinalizeButton=()=>{let i=l(a),e=l(o);return i?i?.state.button:e?t(d,{finalizeNavigationStates:e.state.finalizeNavigationStates}):t(u,{})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{useCallback as i}from"react";import{useAnalyticsService as e,useResolveLocalizable as r}from"#package/react-sdk";import{PhxIcon as a,ResponsiveSidebarFooterButton as s}from"#package/ui-sdk";import{FrontendAnalyticsFactory as n}from"../../../../common/index.js";export const CustomFinalizeButton=m=>{let{busy:l,disabled:p,hints:c,icon:u,onClick:d,title:f}=m,k=r(),g=e();return t(s,{tooltip:c,busy:l,disabled:p,onClick:i(t=>{t.preventDefault(),t.stopPropagation(),g.push(n.FinalizeButtonClicked()),d?.()},[g,d]),slotProps:{button:{startIcon:u?t(a,{name:u}):void 0}},children:f?k(f):t(o,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})};
1
+ import{jsx as t}from"react/jsx-runtime";import{Trans as o}from"@lingui/react";import{useCallback as a}from"react";import{FrontendAnalyticsFactory as e,useAnalyticsService as i,useResolveLocalizable as r}from"#package/react-sdk";import{PhxIcon as s,ResponsiveSidebarFooterButton as n}from"#package/ui-sdk";export const CustomFinalizeButton=l=>{let{busy:m,disabled:p,hints:u,icon:c,onClick:d,title:f}=l,k=r(),g=i();return t(n,{tooltip:u,busy:m,disabled:p,onClick:a(t=>{t.preventDefault(),t.stopPropagation(),g.push(e.FinalizeButtonClicked()),d?.()},[g,d]),slotProps:{button:{startIcon:c?t(s,{name:c}):void 0}},children:f?k(f):t(o,{id:"sdk.layout.sidebar.finalizePage.label",message:"Finalize"})})};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Trans as m}from"@lingui/react";import{memo as o,useCallback as t}from"react";import{createPhoenixLayoutElement as a,enterSummaryButtonSchema as e}from"#package/domain";import{useAnalyticsService as i}from"#package/react-sdk";import{ResponsiveSidebarFooterButton as n}from"#package/ui-sdk";import{FrontendAnalyticsFactory as c}from"../../../../common/index.js";import{useEnterSidebarSummary as s}from"../../../../configurator-context/index.js";export const EnterSummaryButton=a({schema:e,component:o(()=>{let o=i(),a=s();return r(n,{onClick:t(()=>{o.push(c.SummaryButtonClicked()),a()},[o,a]),children:r(m,{id:"sdk.layout.summary.button.label",message:"Summary"})})})});
1
+ import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{memo as m,useCallback as o}from"react";import{createPhoenixLayoutElement as a,enterSummaryButtonSchema as e}from"#package/domain";import{FrontendAnalyticsFactory as i,useAnalyticsService as n}from"#package/react-sdk";import{ResponsiveSidebarFooterButton as c}from"#package/ui-sdk";import{useEnterSidebarSummary as s}from"../../../../configurator-context/index.js";export const EnterSummaryButton=a({schema:e,component:m(()=>{let m=n(),a=s();return r(c,{onClick:o(()=>{m.push(i.SummaryButtonClicked()),a()},[m,a]),children:r(t,{id:"sdk.layout.summary.button.label",message:"Summary"})})})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{Button as i,ButtonGroup as n,CircularProgress as o,ListItemIcon as l,ListItemText as s,Menu as m,MenuItem as d,buttonClasses as c,styled as p,svgIconClasses as h}from"@mui/material";import{useMutation as g}from"@tanstack/react-query";import{useSnackbar as f}from"notistack";import{useCallback as u,useState as z}from"react";import{finalizeActionComponent as k,getComponentSnapshotKey as y}from"#package/domain";import{LocalizableMessage as b,PhoenixHandlerBoundary as C,useComponents as v,useFinalizeViolations as x,useLocalizable as w,useLogger as F,usePhoenixHandler as S,useResolveLocalizable as j}from"#package/react-sdk";import{PhxIcon as O,TooltipWithArrow as T,useResponsive as E}from"#package/ui-sdk";import{CustomFinalizeButton as P}from"./CustomFinalizeButton.js";let $=p(n)({display:"grid",gridTemplateColumns:"minmax(0, 1fr) min-content "}),A=p(i)(({theme:{spacing:e}})=>({[`&.${c.containedSizeSmall}`]:{minInlineSize:0,[`.${h.root}`]:{fontSize:18}},[`&.${c.containedSizeLarge}`]:{paddingInline:e(1)}})),D=r=>e(C,{name:r.handler,children:e(I,{...r})}),I=r=>{let{handler:t,icon:i,title:n,tooltip:o}=r,{handler:l}=S(t),s=F(),{enqueueSnackbar:m}=f(),{mutate:d,isPending:c}=g({mutationFn:l,onError:r=>{s.error("Failed to finalize",{error:r.message}),m({message:e(a,{id:"sdk.messages.finalize.error",message:"Oops, something went wrong"}),variant:"error"})}}),{disabled:p,hints:h}=x(),u=j();return e(P,{hints:h??u(o),icon:i,busy:c,disabled:p,onClick:d,title:n})},L=r=>e(C,{name:r.handler,children:e(M,{...r})}),M=t=>{let{handler:i,icon:n,label:m,title:c,onClose:p}=t,{handler:h}=S(i),{enqueueSnackbar:z}=f(),k=F(),{mutateAsync:y,isPending:C}=g({mutationFn:h,onError:r=>{k.error("Failed to finalize",{error:r.message}),z({message:e(a,{id:"sdk.messages.finalize.error",message:"Oops, something went wrong"}),variant:"error"})}}),{disabled:v,hints:w}=x();return e(T,{title:w,placement:"top",children:e("span",{children:r(d,{disabled:v,onClick:u(async e=>{e.preventDefault(),e.stopPropagation(),await y(),p()},[y,p]),children:[e(l,{children:C?e(o,{size:20}):e(O,{name:n})}),e(s,{primary:e(b,{children:m}),secondary:e(b,{children:c})})]})})})};export const FinalizeActions=()=>{let a=w({id:"sdk.layout.finalize.moreActions",message:"More finalization options"}),i=v({componentTypes:[k]}),[n,o]=z(null),l=!!n,{isDesktop:s}=E(),d={color:"primary",variant:"contained",size:s?"large":"small"},c=u(e=>{o(e.currentTarget)},[]),p=u(()=>{o(null)},[]),h=i.find(e=>"primary"===e.state.variant)??i[0],g=i.filter(e=>e!==h);return h?1===i.length?e(D,{handler:h.state.handler,icon:h.state.icon,title:h.state.label,tooltip:h.state.title},y(h)):r(t,{children:[r($,{...d,children:[e(D,{handler:h.state.handler,icon:h.state.icon,title:h.state.label,tooltip:h.state.title},y(h)),e(A,{...d,"aria-label":a,"aria-haspopup":"menu","aria-expanded":l,onClick:c,children:e(O,{name:"CaretDown"})})]}),e(m,{anchorEl:n,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"bottom",horizontal:"right"},MenuListProps:{dense:!0},slotProps:{paper:{sx:{mt:-2}}},open:l,onClose:p,children:g.map(r=>e(L,{handler:r.state.handler,icon:r.state.icon,label:r.state.label,title:r.state.title,onClose:p},y(r)))})]}):null};
1
+ import{jsx as e,jsxs as n,Fragment as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as i,ButtonGroup as a,CircularProgress as o,ListItemIcon as l,ListItemText as s,Menu as c,MenuItem as m,buttonClasses as p,styled as d,svgIconClasses as g}from"@mui/material";import{useSnackbar as u}from"notistack";import{useCallback as h,useContext as f,useRef as y,useState as k}from"react";import{FinalizeActionsContext as z,useFinalizeActions as b,useLocalizable as x}from"#package/react-sdk";import{PhxIcon as C,ResponsiveSidebarFooterButton as P,TooltipWithArrow as v,useResponsive as S}from"#package/ui-sdk";let w=d(a)({display:"grid",gridTemplateColumns:"minmax(0, 1fr) min-content "}),j=d(i)(({theme:{spacing:e}})=>({[`&.${p.containedSizeSmall}`]:{minInlineSize:0,[`.${g.root}`]:{fontSize:18}},[`&.${p.containedSizeLarge}`]:{paddingInline:e(1)}})),D=n=>{let{enqueueSnackbar:r}=u(),i=f(z),{key:a,disabled:o,isPending:l,run:s}=n,c=y(!1);return h(async()=>{if(o||l||c.current)return!1;c.current=!0;try{await s()}finally{c.current=!1}let n=i?.getSnapshot().get(a);return n?.status!=="ready"||!n.action.error||(r({message:e(t,{id:"sdk.messages.finalize.error",message:"Oops, something went wrong"}),variant:"error"}),!1)},[o,r,l,a,s,i])},I=({action:n,hints:r})=>{let t=D(n),i=h(e=>{e.preventDefault(),e.stopPropagation(),t()},[t]);return e(P,{tooltip:r??n.title,busy:n.isPending,disabled:n.disabled,onClick:i,slotProps:{button:{startIcon:e(C,{name:n.icon})}},children:n.label})},O=({action:r,hints:t,onClose:i})=>{let a=D(r),c=h(async e=>{e.preventDefault(),e.stopPropagation(),await a()&&i()},[a,i]);return e(v,{title:t,placement:"top",children:e("span",{children:n(m,{disabled:r.disabled,onClick:c,children:[e(l,{children:r.isPending?e(o,{size:20}):e(C,{name:r.icon})}),e(s,{primary:r.label,secondary:r.title})]})})})};export const FinalizeActions=()=>{let t=x({id:"sdk.layout.finalize.moreActions",message:"More finalization options"}),{actions:i,primary:a,secondary:o,hints:l}=b(),[s,m]=k(null),p=!!s,{isDesktop:d}=S(),g={color:"primary",variant:"contained",size:d?"large":"small"},u=h(e=>{m(e.currentTarget)},[]),f=h(()=>{m(null)},[]);return a?1===i.length?e(I,{action:a,hints:l},a.key):n(r,{children:[n(w,{...g,children:[e(I,{action:a,hints:l},a.key),e(j,{...g,"aria-label":t,"aria-haspopup":"menu","aria-expanded":p,onClick:u,children:e(C,{name:"CaretDown"})})]}),e(c,{anchorEl:s,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"bottom",horizontal:"right"},MenuListProps:{dense:!0},slotProps:{paper:{sx:{mt:-2}}},open:p,onClose:f,children:o.map(n=>e(O,{action:n,hints:l,onClose:f},n.key))})]}):null};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as a}from"@mui/material";import{memo as i,useCallback as o}from"react";import{createPhoenixLayoutElement as r,nextStepButtonSchema as n}from"#package/domain";import{useAnalyticsService as m,useDomain as s}from"#package/react-sdk";import{useResponsive as l}from"#package/ui-sdk";import{useConfigurator as c}from"../../../../application-runtime/index.js";import{FrontendAnalyticsFactory as p}from"../../../../common/index.js";export const NextStepButton=r({schema:n,component:i(()=>{let i=m(),{layoutSystem:r}=c(),{navigationSystem:n,storeSystem:d}=s(),{isDesktop:g}=l(),u=o(()=>{let t=n.getActiveNavigationState(d.stateSlices.committed.value.state),e=r.getNavigationSteps(d.stateSlices.committed.value.state);i.push(p.NextStepButtonClicked());let a=e.findIndex(e=>e.navigationStates.includes(t)),o=e[a+1];if(!o)return;let m=o.navigationStates[0];m&&d.stageAndCommit([n.getNavigationUpdate(m)])},[i,n,d,r]);return g?t(a,{variant:"contained",color:"primary",size:"large",onClick:u,children:t(e,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})}):t(a,{variant:"contained",color:"primary",size:"small",onClick:u,children:t(e,{id:"sdk.layout.sidebar.nextStepShort.label",message:"Next"})})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{Button as r}from"@mui/material";import{memo as a,useCallback as o}from"react";import{createPhoenixLayoutElement as i,nextStepButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as n,useAnalyticsService as s,useStepNavigation as p}from"#package/react-sdk";import{useResponsive as c}from"#package/ui-sdk";export const NextStepButton=i({schema:m,component:a(()=>{let a=s(),{canGoNext:i,next:m}=p(),{isDesktop:l}=c(),d=o(()=>{i?m():a.push(n.NextStepButtonClicked())},[a,i,m]);return l?e(r,{variant:"contained",color:"primary",size:"large",onClick:d,children:e(t,{id:"sdk.layout.sidebar.nextStep.label",message:"Next step"})}):e(r,{variant:"contained",color:"primary",size:"small",onClick:d,children:e(t,{id:"sdk.layout.sidebar.nextStepShort.label",message:"Next"})})})});
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{IconButton as e,Tooltip as i}from"@mui/material";import{memo as a,useCallback as o}from"react";import{createPhoenixLayoutElement as r,previousStepButtonSchema as m}from"#package/domain";import{useAnalyticsService as n,useDomain as s,useLocalizable as l}from"#package/react-sdk";import{PhxIcon as c,useResponsive as p}from"#package/ui-sdk";import{useConfigurator as d}from"../../../../application-runtime/index.js";import{FrontendAnalyticsFactory as u}from"../../../../common/index.js";import{useBackToPresetEnabled as g,useConfiguratorRouting as f,useSteps as v}from"../../../../configurator-context/index.js";let S={id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"};export const PreviousStepButton=r({schema:m,component:a(a=>{let{icon:r}=a,m=l(S),x=n(),k=g(),{layoutSystem:h}=d(),j=f(),{navigationSystem:C,storeSystem:b}=s(),{isDesktop:N}=p(),{previousStepDisabled:P}=v();return t(i,{title:m,placement:"top",children:t("span",{style:{alignSelf:"center"},children:t(e,{variant:"muted",color:"default",size:N?"medium":"small",disabled:P,onClick:o(()=>{let t=C.getActiveNavigationState(b.stateSlices.committed.value.state),e=h.getNavigationSteps(b.stateSlices.committed.value.state);x.push(u.PreviousStepButtonClicked());let i=e.findIndex(e=>e.navigationStates.includes(t)),a=e[i-1];if(!a){k&&j.goToIndex();return}let o=a.navigationStates[0];o&&b.stageAndCommit([C.getNavigationUpdate(o)])},[x,C,k,j,b,h]),children:t(c,{name:r??"CaretLeft"})})})})})});
1
+ import{jsx as e}from"react/jsx-runtime";import{IconButton as t,Tooltip as r}from"@mui/material";import{memo as o,useCallback as i}from"react";import{createPhoenixLayoutElement as a,previousStepButtonSchema as m}from"#package/domain";import{FrontendAnalyticsFactory as s,useAnalyticsService as n,useLocalizable as l,useStepNavigation as p}from"#package/react-sdk";import{PhxIcon as c,useResponsive as d}from"#package/ui-sdk";import{useBackToPresetEnabled as u,useConfiguratorRouting as f,useSteps as k}from"../../../../configurator-context/index.js";let g={id:"sdk.layout.sidebar.previousStep.label",message:"Previous step"};export const PreviousStepButton=a({schema:m,component:o(o=>{let{icon:a}=o,m=l(g),x=n(),h=u(),v=f(),{canGoPrevious:S,previous:b}=p(),{isDesktop:j}=d(),{previousStepDisabled:C}=k();return e(r,{title:m,placement:"top",children:e("span",{style:{alignSelf:"center"},children:e(t,{variant:"muted",color:"default",size:j?"medium":"small",disabled:C,onClick:i(()=>{S?b():(x.push(s.PreviousStepButtonClicked()),h&&v.goToIndex())},[x,h,S,b,v]),children:e(c,{name:a??"CaretLeft"})})})})})});
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useCallback as r,useState as s}from"react";import{ConfigurationNotFoundPage as l,useResolveLocalizable as o,useResourceUrl as n}from"#package/react-sdk";import{Preset as a}from"#package/ui-sdk";import{usePresetSelection as d,usePreview as m}from"../../configurator-context/index.js";import{ClosePresetScreenButton as c}from"./ClosePresetScreenButton.js";import{PresetBackButton as g}from"./PresetBackButton.js";import{PresetPreviewLayout as p}from"./PresetPreviewLayout.js";import{PresetSnackbarsRoot as u}from"./PresetSnackbarsRoot.js";let f={id:"sdk.presets.select.button.label",message:"Select"},k={id:"sdk.presets.detail.close.label",message:"Close"},S={id:"sdk.presets.detail.learnMore.label",message:"Learn more"},h={id:"sdk.presets.detail.select.label",message:"Select"},B=t=>{let{id:i,name:s,description:l,img:m,imgAlt:c,detailTitle:g,detailDescription:p}=t,{selectPreset:u,creatingPresetId:B}=d(),b=o(),{getResourceUrl:C}=n(),T=r(()=>{u(i)},[u,i]),y=(m&&C(m))??"",A=B===i;return e(a.Card,{title:b(s),description:b(l),imgSrc:y,imgAlt:b(c),selectButtonTitle:b(f),loading:A,disabled:null!==B&&!A,onSelect:T,additionalInfoButton:void 0!==g&&void 0!==p&&e(a.DetailDialog,{img:y,imgAlt:b(c),detailTitle:b(g),detailDescription:b(p),closeButtonTitle:b(k),learnMoreLinkTitle:b(S),selectButtonTitle:b(h),onSelect:T})},b(s))},b=t=>{let{id:i,name:s,description:l,img:d,imgAlt:m,onSelect:c}=t,g=o(),{getResourceUrl:p}=n(),u=r(()=>{c(i)},[c,i]);return e(a.Card,{title:g(s),description:g(l),imgSrc:(d&&p(d))??"",imgAlt:g(m),selectButtonTitle:g(f),onSelect:u},g(s))},C={id:"sdk.presets.category.count.message",message:"{presetCount, plural, one {# preset} other {# presets}}"},T=t=>{let{selectedCategory:r,onCategorySelected:s}=t,{presetCategories:l}=d(),n=o();if(1===l.length)return e(i,{children:l[0].presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))});if(null!==r){let t=l.find(e=>e.id===r);if(void 0===t)throw Error(`Category with id ${r} not found!`);return e(i,{children:t.presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))})}return e(i,{children:l.map(t=>e(b,{id:t.id,name:t.name,description:t.description??n({...C,values:{presetCount:t.presets.length}}),img:t.img,imgAlt:t.imgAlt,onSelect:s},t.id))})},y={id:"sdk.presets.category.heading.title",message:"Select starting preset"},A={id:"sdk.presets.preview.title",message:"Customize product"},j={id:"sdk.presets.start.button.label",message:"Start configuring"};export const CategoryPresetUi=n=>{let{action:f,footer:k,overlay:S}=n,[h,B]=s(null),{isPreview:b}=m(),C=o(),v=r(()=>{B(null)},[]),{presetCategories:D}=d();return b?e(p,{title:C(A),startButtonLabel:C(j)}):0===D.length?e(l,{}):t(i,{children:[e(a.ScreenLayout,{heading:C(y),action:f,footer:k,overlay:S,backButton:h&&e(g,{onBack:v}),closeButton:!h&&e(c,{}),children:e(T,{selectedCategory:h,onCategorySelected:B})}),e(u,{})]})};
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useCallback as r,useState as s}from"react";import{useResolveLocalizable as o,useResourceUrl as l}from"#package/react-sdk";import{Preset as n}from"#package/ui-sdk";import{ConfigurationNotFoundPageElement as a}from"../../configuration-not-found-page/index.js";import{usePresetSelection as d,usePreview as m}from"../../configurator-context/index.js";import{ClosePresetScreenButton as c}from"./ClosePresetScreenButton.js";import{PresetBackButton as g}from"./PresetBackButton.js";import{PresetPreviewLayout as p}from"./PresetPreviewLayout.js";import{PresetSnackbarsRoot as u}from"./PresetSnackbarsRoot.js";let f={id:"sdk.presets.select.button.label",message:"Select"},k={id:"sdk.presets.detail.close.label",message:"Close"},S={id:"sdk.presets.detail.learnMore.label",message:"Learn more"},h={id:"sdk.presets.detail.select.label",message:"Select"},B=t=>{let{id:i,name:s,description:a,img:m,imgAlt:c,detailTitle:g,detailDescription:p}=t,{selectPreset:u,creatingPresetId:B}=d(),b=o(),{getResourceUrl:C}=l(),T=r(()=>{u(i)},[u,i]),j=(m&&C(m))??"",y=B===i;return e(n.Card,{title:b(s),description:b(a),imgSrc:j,imgAlt:b(c),selectButtonTitle:b(f),loading:y,disabled:null!==B&&!y,onSelect:T,additionalInfoButton:void 0!==g&&void 0!==p&&e(n.DetailDialog,{img:j,imgAlt:b(c),detailTitle:b(g),detailDescription:b(p),closeButtonTitle:b(k),learnMoreLinkTitle:b(S),selectButtonTitle:b(h),onSelect:T})},b(s))},b=t=>{let{id:i,name:s,description:a,img:d,imgAlt:m,onSelect:c}=t,g=o(),{getResourceUrl:p}=l(),u=r(()=>{c(i)},[c,i]);return e(n.Card,{title:g(s),description:g(a),imgSrc:(d&&p(d))??"",imgAlt:g(m),selectButtonTitle:g(f),onSelect:u},g(s))},C={id:"sdk.presets.category.count.message",message:"{presetCount, plural, one {# preset} other {# presets}}"},T=t=>{let{selectedCategory:r,onCategorySelected:s}=t,{presetCategories:l}=d(),n=o();if(1===l.length)return e(i,{children:l[0].presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))});if(null!==r){let t=l.find(e=>e.id===r);if(void 0===t)throw Error(`Category with id ${r} not found!`);return e(i,{children:t.presets.map(t=>e(B,{id:t.id,name:t.name,description:t.description,img:t.img,imgAlt:t.imgAlt,detailTitle:t.detailTitle,detailDescription:t.detailDescription},t.id))})}return e(i,{children:l.map(t=>e(b,{id:t.id,name:t.name,description:t.description??n({...C,values:{presetCount:t.presets.length}}),img:t.img,imgAlt:t.imgAlt,onSelect:s},t.id))})},j={id:"sdk.presets.category.heading.title",message:"Select starting preset"},y={id:"sdk.presets.preview.title",message:"Customize product"},A={id:"sdk.presets.start.button.label",message:"Start configuring"};export const CategoryPresetUi=l=>{let{action:f,footer:k,overlay:S}=l,[h,B]=s(null),{isPreview:b}=m(),C=o(),v=r(()=>{B(null)},[]),{presetCategories:x}=d();return b?e(p,{title:C(y),startButtonLabel:C(A)}):0===x.length?e(a,{}):t(i,{children:[e(n.ScreenLayout,{heading:C(j),action:f,footer:k,overlay:S,backButton:h&&e(g,{onBack:v}),closeButton:!h&&e(c,{}),children:e(T,{selectedCategory:h,onCategorySelected:B})}),e(u,{})]})};
@@ -5,4 +5,8 @@ export type CreatePresetPageAction = (Element: () => JSX.Element) => PhoenixLayo
5
5
  export declare const createPresetPageAction: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
6
6
  export declare const createPresetDeviceNotSupported: (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
7
7
  export type CreatePresetDeviceNotSupported = (Element: () => JSX.Element) => PhoenixLayoutElementRegistration;
8
+ /**
9
+ * Renders the `PresetUi` element. Its default, the built-in preset screen, comes from
10
+ * `defaultConfiguratorElements`; a project element registered under the name replaces it.
11
+ */
8
12
  export declare const PresetUi: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{PhoenixLayoutElement as r}from"#package/react-sdk";import{CategoryPresetUi as o}from"./CategoryPresetUi.js";let a="PresetUi";export const createPresetUi=e=>t(a,e);let s="PresetPageAction";export const createPresetPageAction=e=>t(s,e);let l="PresetDeviceNotSupported";export const createPresetDeviceNotSupported=e=>t(l,e);let n=()=>e(r,{name:s,elementProps:{},defaultSlot:()=>null}),p=()=>e(r,{name:l,elementProps:{},defaultSlot:()=>null}),c=()=>e(o,{action:e(n,{}),overlay:e(p,{})});export const PresetUi=()=>e(r,{name:a,elementProps:{},defaultSlot:c});
1
+ import{jsx as e}from"react/jsx-runtime";import{createCustomPhoenixLayoutElement as t}from"#package/domain";import{PhoenixLayoutElement as r}from"#package/react-sdk";import{PresetDeviceNotSupportedName as o,PresetPageActionName as s}from"../../preset-screen-elements/index.js";let c="PresetUi";export const createPresetUi=e=>t(c,e);export const createPresetPageAction=e=>t(s,e);export const createPresetDeviceNotSupported=e=>t(o,e);export const PresetUi=()=>e(r,{name:c,elementProps:{}});
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shows the save messages of `useConfiguratorMessages` as snackbars: a `saveError` as an error snackbar that stays
3
+ * until it is dismissed or a later save succeeds, and a `saveRecovery` as an informational one. Mounted wherever a
4
+ * layout mounts its message services: `LayoutSlots.Services`, the legacy layouts' overlays and the `custom` owner UI.
5
+ * In read mode, from the access or the web component's `readonly`, nothing is saved: an error snackbar left from
6
+ * owner mode is closed and no message is shown. The read UIs that replace an owner UI in read mode
7
+ * (`SummaryReadLayout`, the `custom` read UI) mount it too, since the owner UI's instance unmounts before it can close
8
+ * the snackbar.
9
+ */
10
+ export declare const SaveMessageSnackbars: () => null;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{Trans as e}from"@lingui/react";import{Button as s}from"@mui/material";import{useSnackbar as i}from"notistack";import{useEffect as t}from"react";import{useApplicationRuntime as o,useApplicationRuntimeSelector as a,useConfiguratorMessages as n}from"#package/react-sdk";let m="phx-configuration-persist-system-failure";export const SaveMessageSnackbars=()=>{let c=a(o().selectors.domainContext.configurator.getInitializationState).isViewMode,{enqueueSnackbar:d,closeSnackbar:p}=i();return t(()=>{c&&p(m)},[c,p]),n(i=>{c||("saveError"===i.kind&&d(r(e,{id:"sdk.persist.system.error.message",message:"An error occured when trying to update a configuration"}),{variant:"error",key:m,persist:!0,preventDuplicate:!0,action:i=>r(s,{color:"inherit",size:"small",onClick:()=>{p(i)},children:r(e,{id:"sdk.persist.system.error.dismiss",message:"Dismiss"})})}),"saveRecovery"===i.kind&&(p(m),d(r(e,{id:"sdk.persist.system.error.recovered",message:"Configuration updated"}),{variant:"info"})))}),null};
@@ -0,0 +1 @@
1
+ export { SaveMessageSnackbars } from './SaveMessageSnackbars.js';
@@ -0,0 +1 @@
1
+ export{SaveMessageSnackbars}from"./SaveMessageSnackbars.js";