@salsita-ai/sdk 0.50.0-develop.97a772d197 → 0.50.0-develop.996c9540be

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 (890) hide show
  1. package/README.md +13 -12
  2. package/dist/admin/create-admin-pages-from-spec.d.ts +1 -1
  3. package/dist/application-spec/core/components/component-filter.d.ts +53 -0
  4. package/dist/application-spec/core/components/component-filter.js +1 -0
  5. package/dist/application-spec/core/components/index.d.ts +2 -0
  6. package/dist/application-spec/core/components/index.js +1 -0
  7. package/dist/application-spec/core/components/sdk-code-ref.d.ts +9 -0
  8. package/dist/application-spec/core/components/sdk-code-ref.js +1 -0
  9. package/dist/application-spec/core/enhanced-json-value.d.ts +0 -68
  10. package/dist/application-spec/core/enhanced-json-value.js +1 -1
  11. package/dist/application-spec/core/expressions/index.d.ts +2 -0
  12. package/dist/application-spec/core/expressions/index.js +1 -0
  13. package/dist/application-spec/core/expressions/relation-expression-params.d.ts +11 -0
  14. package/dist/application-spec/core/expressions/sdk-expression-implementation.d.ts +24 -0
  15. package/dist/application-spec/core/expressions/sdk-expression-implementation.js +1 -0
  16. package/dist/application-spec/core/index.d.ts +2 -0
  17. package/dist/application-spec/core/index.js +1 -1
  18. package/dist/application-spec/core/json-value.d.ts +1 -1
  19. package/dist/application-spec/{core → enhanced-json}/eval-to-constant.d.ts +1 -1
  20. package/dist/application-spec/enhanced-json/index.d.ts +4 -0
  21. package/dist/application-spec/enhanced-json/index.js +1 -0
  22. package/dist/application-spec/enhanced-json/is-enhanced-json-array.d.ts +2 -0
  23. package/dist/application-spec/enhanced-json/is-enhanced-json-array.js +1 -0
  24. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.d.ts +18 -0
  25. package/dist/application-spec/enhanced-json/resolve-enhanced-json-value.js +1 -0
  26. package/dist/application-spec/enhanced-json/schema-from-value.d.ts +24 -0
  27. package/dist/application-spec/enhanced-json/schema-from-value.js +1 -0
  28. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.d.ts +14 -0
  29. package/dist/application-spec/enhanced-json/stringify-enhanced-json-value.js +1 -0
  30. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.d.ts +12 -0
  31. package/dist/application-spec/enhanced-json/validate-enhanced-json-value-caps.js +1 -0
  32. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.d.ts +13 -0
  33. package/dist/application-spec/enhanced-json/validate-no-legacy-code-ref.js +1 -0
  34. package/dist/application-spec/errors/diagnostic-codes.d.ts +11 -0
  35. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  36. package/dist/application-spec/errors/diagnostic-messages.d.ts +14 -0
  37. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  38. package/dist/application-spec/generate-application/code/generate-application-code.d.ts +3 -2
  39. package/dist/application-spec/generate-application/code/generate-application-code.js +1 -1
  40. package/dist/application-spec/generate-application/code/project-scaffolding.d.ts +17 -5
  41. package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
  42. package/dist/application-spec/generate-application/code/standalone-app-files.d.ts +2 -2
  43. package/dist/application-spec/generate-application/code/standalone-app-files.js +1 -1
  44. package/dist/application-spec/generate-application/code/templates/configurator-config.js +6 -4
  45. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-component-optics.js +4 -4
  46. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.d.ts +4 -2
  47. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-defaults.js +1 -1
  48. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-domain-block.js +56 -56
  49. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.d.ts +1 -1
  50. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-invariants.js +1 -1
  51. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-phx-globals.js +3 -0
  52. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-relation-expressions.js +1 -1
  53. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.d.ts +6 -8
  54. package/dist/application-spec/generate-application/code/templates/domain-spec/generate-resources.js +11 -11
  55. package/dist/application-spec/generate-application/code/templates/domain-spec/index.d.ts +1 -1
  56. package/dist/application-spec/generate-application/code/templates/domain-spec/index.js +1 -1
  57. package/dist/application-spec/generate-application/code/templates/domain-spec.js +12 -12
  58. package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
  59. package/dist/application-spec/generate-application/code/templates/frontend-config.js +3 -5
  60. package/dist/application-spec/generate-application/code/templates/gitignore.js +1 -2
  61. package/dist/application-spec/generate-application/code/templates/globals.js +3 -3
  62. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -8
  63. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  64. package/dist/application-spec/generate-application/code/templates/package-json.js +1 -1
  65. package/dist/application-spec/generate-application/code/templates/root-tsconfig.d.ts +6 -0
  66. package/dist/application-spec/generate-application/code/templates/root-tsconfig.js +2 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
  68. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +66 -42
  69. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +9 -3
  70. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
  71. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +24 -18
  72. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +6 -8
  73. package/dist/application-spec/generate-application/code/templates/tsconfig.d.ts +5 -0
  74. package/dist/application-spec/generate-application/code/templates/tsconfig.js +1 -1
  75. package/dist/application-spec/generate-application/code/templates/webhook-builders.js +4 -3
  76. package/dist/application-spec/generate-application/code/templates/webhook-index.d.ts +6 -1
  77. package/dist/application-spec/generate-application/code/templates/webhook-index.js +10 -1
  78. package/dist/application-spec/generate-application/code/templates/webhooks-config.js +2 -3
  79. package/dist/application-spec/generate-application/index.d.ts +2 -0
  80. package/dist/application-spec/generate-application/index.js +1 -1
  81. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.d.ts +6 -2
  82. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +1 -1
  83. package/dist/application-spec/generate-application/runtime/application-runtime.d.ts +8 -3
  84. package/dist/application-spec/generate-application/runtime/application-runtime.js +1 -1
  85. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.d.ts +5 -3
  86. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +1 -1
  87. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.d.ts +43 -0
  88. package/dist/application-spec/generate-application/runtime/factory-data/factory-data-runtime.js +1 -0
  89. package/dist/application-spec/generate-application/runtime/factory-data/index.d.ts +3 -0
  90. package/dist/application-spec/generate-application/runtime/factory-data/index.js +1 -0
  91. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.d.ts +13 -0
  92. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +1 -0
  93. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.d.ts +16 -0
  94. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +1 -0
  95. package/dist/application-spec/generate-application/runtime/migrations/index.d.ts +1 -0
  96. package/dist/application-spec/generate-application/runtime/migrations/index.js +1 -0
  97. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.d.ts +53 -0
  98. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +1 -0
  99. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.d.ts +1 -1
  100. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +1 -1
  101. package/dist/application-spec/generate-application/runtime/sections/component-optic.d.ts +2 -1
  102. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +1 -1
  103. package/dist/application-spec/generate-application/runtime/sections/transformers-runtime.d.ts +2 -4
  104. package/dist/application-spec/index.d.ts +1 -0
  105. package/dist/application-spec/index.js +1 -1
  106. package/dist/application-spec/parse-application-files/categorize/categorize-files.d.ts +16 -0
  107. package/dist/application-spec/parse-application-files/categorize/categorize-files.js +1 -1
  108. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.d.ts +9 -0
  109. package/dist/application-spec/parse-application-files/categorize/earlier-generated-tsconfig.js +1 -0
  110. package/dist/application-spec/parse-application-files/categorize/module-analysis.d.ts +1 -1
  111. package/dist/application-spec/parse-application-files/categorize/module-analysis.js +1 -1
  112. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.d.ts +16 -3
  113. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  114. package/dist/application-spec/parse-application-files/raw-spec/raw-spec-file.js +1 -1
  115. package/dist/application-spec/parse-application-files/spec/application/admin-spec/admin-spec.js +1 -1
  116. package/dist/application-spec/parse-application-files/spec/application/configurator-spec/configurator-spec.js +1 -1
  117. package/dist/application-spec/parse-application-files/spec/common/index.d.ts +1 -0
  118. package/dist/application-spec/parse-application-files/spec/common/index.js +1 -1
  119. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.d.ts +3 -0
  120. package/dist/application-spec/parse-application-files/spec/common/value-type/format-value-type.js +1 -0
  121. package/dist/application-spec/parse-application-files/spec/common/value-type/index.d.ts +4 -0
  122. package/dist/application-spec/parse-application-files/spec/common/value-type/index.js +1 -0
  123. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.d.ts +8 -0
  124. package/dist/application-spec/parse-application-files/spec/common/value-type/is-assignable-value-type.js +1 -0
  125. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.d.ts +10 -0
  126. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type-at.js +1 -0
  127. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.d.ts +98 -0
  128. package/dist/application-spec/parse-application-files/spec/common/value-type/value-type.js +1 -0
  129. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.d.ts +13 -0
  130. package/dist/application-spec/parse-application-files/spec/components/bindings/component-path.js +1 -0
  131. package/dist/application-spec/parse-application-files/spec/components/bindings/index.d.ts +2 -0
  132. package/dist/application-spec/parse-application-files/spec/components/bindings/index.js +1 -1
  133. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.d.ts +24 -0
  134. package/dist/application-spec/parse-application-files/spec/components/bindings/read-binding-type.js +1 -0
  135. package/dist/application-spec/parse-application-files/spec/components/component-entry.d.ts +1 -9
  136. package/dist/application-spec/parse-application-files/spec/components/component-entry.js +1 -1
  137. package/dist/application-spec/parse-application-files/spec/components/component-filter.d.ts +1 -54
  138. package/dist/application-spec/parse-application-files/spec/components/component-filter.js +1 -1
  139. package/dist/application-spec/parse-application-files/spec/components/component-state-type.d.ts +8 -0
  140. package/dist/application-spec/parse-application-files/spec/components/component-state-type.js +1 -0
  141. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.d.ts +13 -0
  142. package/dist/application-spec/parse-application-files/spec/components/filter-criterion-types.js +1 -0
  143. package/dist/application-spec/parse-application-files/spec/components/index.d.ts +1 -1
  144. package/dist/application-spec/parse-application-files/spec/components/index.js +1 -1
  145. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.d.ts +14 -0
  146. package/dist/application-spec/parse-application-files/spec/components/static-entity-id.js +1 -0
  147. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.d.ts +3 -0
  148. package/dist/application-spec/parse-application-files/spec/components/user-component-entry.js +1 -1
  149. package/dist/application-spec/parse-application-files/spec/components/user-components.d.ts +4 -4
  150. package/dist/application-spec/parse-application-files/spec/components/user-components.js +1 -1
  151. package/dist/application-spec/parse-application-files/spec/expressions/expression.d.ts +1 -28
  152. package/dist/application-spec/parse-application-files/spec/expressions/expression.js +1 -1
  153. package/dist/application-spec/parse-application-files/spec/expressions/expressions.d.ts +1 -1
  154. package/dist/application-spec/parse-application-files/spec/expressions/expressions.js +1 -1
  155. package/dist/application-spec/parse-application-files/spec/expressions/index.d.ts +0 -1
  156. package/dist/application-spec/parse-application-files/spec/expressions/index.js +1 -1
  157. package/dist/application-spec/parse-application-files/spec/expressions/memo-eval-plan.js +1 -1
  158. package/dist/application-spec/parse-application-files/spec/expressions/user-expressions.js +1 -1
  159. package/dist/application-spec/parse-application-files/spec/invariants/invariants.d.ts +2 -2
  160. package/dist/application-spec/parse-application-files/spec/invariants/invariants.js +1 -1
  161. package/dist/application-spec/parse-application-files/spec/model/defaults.d.ts +7 -2
  162. package/dist/application-spec/parse-application-files/spec/model/defaults.js +1 -1
  163. package/dist/application-spec/parse-application-files/spec/model/index.d.ts +1 -0
  164. package/dist/application-spec/parse-application-files/spec/model/index.js +1 -1
  165. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.d.ts +10 -0
  166. package/dist/application-spec/parse-application-files/spec/model/model-type-resolution.js +1 -0
  167. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.d.ts +25 -0
  168. package/dist/application-spec/parse-application-files/spec/relations/reference-field-type.js +1 -0
  169. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.d.ts +46 -0
  170. package/dist/application-spec/parse-application-files/spec/relations/relation-field-mismatch.js +1 -0
  171. package/dist/application-spec/parse-application-files/spec/relations/relations.d.ts +4 -3
  172. package/dist/application-spec/parse-application-files/spec/relations/relations.js +1 -1
  173. package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
  174. package/dist/application-spec/parse-application-files/spec/sections/infra.d.ts +2 -0
  175. package/dist/application-spec/parse-application-files/spec/sections/infra.js +1 -1
  176. package/dist/client/authorized-client.d.ts +3 -1
  177. package/dist/client/authorized-client.js +1 -1
  178. package/dist/client/contract.d.ts +34 -0
  179. package/dist/client/contract.js +1 -1
  180. package/dist/client/index.d.ts +2 -2
  181. package/dist/client/index.js +1 -1
  182. package/dist/client/local-authorized-client.d.ts +3 -1
  183. package/dist/client/local-authorized-client.js +1 -1
  184. package/dist/client/memory-authorized-client.d.ts +3 -1
  185. package/dist/client/memory-authorized-client.js +1 -1
  186. package/dist/client/phoenix-api.d.ts +797 -121
  187. package/dist/configurator/application-runtime/extensions/create-configurator-extensions.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/selectors.d.ts +3 -1
  189. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +120 -2
  191. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +7 -1
  193. package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/drag-and-drop-system/drag-and-drop-system.d.ts +3 -3
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +20 -4
  196. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  197. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.d.ts +11 -0
  198. package/dist/configurator/application-runtime/extensions/systems/graphql-system/inject-assistant-lenses.js +1 -0
  199. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.d.ts +2 -2
  201. package/dist/configurator/application-runtime/extensions/systems/layout-system/layout-system.js +1 -1
  202. package/dist/configurator/common/configurator-interface.d.ts +26 -1
  203. package/dist/configurator/common/configurator-interface.js +1 -1
  204. package/dist/configurator/common/frontend-analytics.d.ts +2 -0
  205. package/dist/configurator/common/frontend-analytics.js +1 -1
  206. package/dist/configurator/common/index.d.ts +2 -0
  207. package/dist/configurator/common/index.js +1 -1
  208. package/dist/configurator/common/use-finalize-action.d.ts +31 -0
  209. package/dist/configurator/common/use-finalize-action.js +1 -0
  210. package/dist/configurator/common/use-reset-camera.d.ts +6 -0
  211. package/dist/configurator/common/use-reset-camera.js +1 -0
  212. package/dist/configurator/configurator-context/configurator-hooks/layout-hooks.d.ts +1 -1
  213. package/dist/configurator/pages/DefaultConfiguratorLayout.d.ts +6 -0
  214. package/dist/configurator/pages/DefaultConfiguratorLayout.js +1 -0
  215. package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
  216. package/dist/configurator/pages/configurator-layout-name.d.ts +2 -0
  217. package/dist/configurator/pages/configurator-layout-name.js +1 -0
  218. package/dist/configurator/pages/default-configurator-elements.d.ts +7 -0
  219. package/dist/configurator/pages/default-configurator-elements.js +1 -0
  220. package/dist/configurator/pages/index.d.ts +1 -0
  221. package/dist/configurator/pages/index.js +1 -1
  222. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragHandle.d.ts +1 -1
  223. package/dist/configurator/scene/scene-controls/hotspot-drag-handle/HotspotDragSceneHandle.d.ts +1 -1
  224. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicator.d.ts +1 -1
  225. package/dist/configurator/scene/scene-entity/dimension-indicators/DimensionIndicatorInternal.d.ts +1 -1
  226. package/dist/configurator/scene/scene-entity/drag-and-drop/shared.d.ts +2 -2
  227. package/dist/configurator/scene/scene-entity/drag-and-drop/use-drag-object.d.ts +1 -1
  228. package/dist/configurator/scene/scene-entity/materials/RemoteReplacedMaterial.js +1 -1
  229. package/dist/configurator/scene/scene-entity/objects/SceneEntityObjectTextDecal.d.ts +1 -1
  230. package/dist/configurator/ui/assistant/AssistantChips.d.ts +8 -2
  231. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  232. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +2 -1
  233. package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
  234. package/dist/configurator/ui/assistant/AssistantMarkdown.d.ts +1 -1
  235. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  236. package/dist/configurator/ui/assistant/AssistantThread.d.ts +6 -2
  237. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  238. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.d.ts +13 -0
  239. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -0
  240. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.d.ts +22 -0
  241. package/dist/configurator/ui/assistant/entity-link/entity-link-selection.js +1 -0
  242. package/dist/configurator/ui/assistant/entity-link/entity-link-state.d.ts +27 -0
  243. package/dist/configurator/ui/assistant/entity-link/entity-link-state.js +1 -0
  244. package/dist/configurator/ui/assistant/entity-link/entity-link-target.d.ts +5 -0
  245. package/dist/configurator/ui/assistant/entity-link/entity-link-target.js +1 -0
  246. package/dist/configurator/ui/assistant/entity-link/index.d.ts +3 -0
  247. package/dist/configurator/ui/assistant/entity-link/index.js +1 -0
  248. package/dist/configurator/ui/assistant/thread-items.d.ts +13 -2
  249. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  250. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.d.ts +1 -0
  251. package/dist/configurator/ui/configurator-layout/sidebar-keys/index.js +1 -0
  252. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.d.ts +11 -0
  253. package/dist/configurator/ui/configurator-layout/sidebar-keys/sidebar-keys.js +1 -0
  254. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.d.ts +101 -0
  255. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/DesktopSidebar.js +16 -0
  256. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.d.ts +1 -0
  257. package/dist/configurator/ui/configurator-layout/slots/desktop-sidebar/index.js +1 -0
  258. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.d.ts +4 -4
  259. package/dist/configurator/ui/configurator-layout/slots/services/InvariantViolations.js +1 -1
  260. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.d.ts +3 -6
  261. package/dist/configurator/ui/configurator-layout/slots/services/SideEffects.js +1 -1
  262. package/dist/configurator/ui/configurator-layout/slots/slots.d.ts +1 -0
  263. package/dist/configurator/ui/configurator-layout/slots/slots.js +1 -1
  264. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.d.ts +0 -74
  265. package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +5 -20
  266. package/dist/configurator/ui/configurator-layout/universal/DesktopPreview.js +1 -1
  267. package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
  268. package/dist/configurator/ui/configurator-layout/universal/MobilePreview.js +1 -1
  269. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.d.ts +47 -0
  270. package/dist/configurator/ui/configurator-layout/universal/use-layout-scene-safe-area.js +1 -0
  271. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.d.ts +11 -26
  272. package/dist/configurator/ui/configurator-layout/universal/use-scene-safe-area.js +1 -1
  273. package/dist/configurator/ui/legacy/layout/steps/StepsNavigation.d.ts +2 -2
  274. package/dist/configurator/ui/phoenix-layout-elements/header/common/step-navigation/StepsNavigation.d.ts +2 -2
  275. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +16 -19
  276. package/dist/docs/complex-use-cases/sketching.mdx +0 -38
  277. package/dist/docs/controls/select-attribute/cardselect.mdx +9 -13
  278. package/dist/docs/dimensions/3d-scene-integration/dimension-indicators.mdx +2 -2
  279. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +1 -1
  280. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +1 -1
  281. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +1 -1
  282. package/dist/docs/drag-and-drop/drag-handle.mdx +1 -1
  283. package/dist/docs/drag-and-drop/hotspot-handle.mdx +1 -1
  284. package/dist/docs/drag-and-drop/planes.mdx +1 -1
  285. package/dist/docs/drag-and-drop/rotatable.mdx +2 -2
  286. package/dist/docs/index.json +42 -1
  287. package/dist/docs/integrations/woocommerce/local-development.mdx +1 -1
  288. package/dist/docs/layouts/custom-layout.mdx +2125 -0
  289. package/dist/docs/layouts/header/fixed.mdx +2 -2
  290. package/dist/docs/layouts/header/floating.mdx +2 -2
  291. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +380 -0
  292. package/dist/docs/layouts/sidebar-footer/basic.mdx +32 -77
  293. package/dist/docs/other-features/client-side-rendering/declarative.mdx +1 -1
  294. package/dist/docs/other-features/side-effects.mdx +8 -11
  295. package/dist/docs/other-features/transformers.mdx +4 -0
  296. package/dist/docs/other-features/violation-messages.mdx +52 -56
  297. package/dist/docs/phoenix/application-states.mdx +9 -7
  298. package/dist/docs/phoenix/components.mdx +6 -0
  299. package/dist/docs/phoenix/configurator-interface.mdx +237 -80
  300. package/dist/docs/phoenix/deployments.mdx +2 -6
  301. package/dist/docs/phoenix/domain-model.mdx +4 -0
  302. package/dist/docs/phoenix/expression-context.mdx +11 -3
  303. package/dist/docs/phoenix/finalization.mdx +1 -1
  304. package/dist/docs/phoenix/getting-started.mdx +2 -1
  305. package/dist/docs/phoenix/layout-slots.mdx +116 -0
  306. package/dist/docs/phoenix/localization.mdx +4 -4
  307. package/dist/docs/phoenix/migration-guide.mdx +19 -8
  308. package/dist/docs/phoenix/phoenix-cli.mdx +66 -34
  309. package/dist/docs/phoenix/project-structure.mdx +38 -16
  310. package/dist/docs/phoenix/quickstart.mdx +2 -2
  311. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -3
  312. package/dist/docs/phoenix/testing.mdx +140 -0
  313. package/dist/docs/phoenix/webhook-membership.mdx +10 -9
  314. package/dist/docs/phoenix/webhooks.mdx +23 -6
  315. package/dist/docs/ux-guidelines/choosing-a-control.mdx +11 -0
  316. package/dist/domain/admin-domain/implementation/common-admin-expressions.d.ts +26 -11
  317. package/dist/domain/admin-domain/implementation/common-admin-publish.d.ts +1 -2
  318. package/dist/domain/admin-domain/index.d.ts +7 -2
  319. package/dist/domain/admin-domain/index.js +1 -1
  320. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +2 -2
  321. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  322. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  323. package/dist/domain/application/admin-page-factories.d.ts +1 -2
  324. package/dist/domain/application/application-config.d.ts +9 -26
  325. package/dist/domain/application/assistant/assistant-fields.d.ts +12 -0
  326. package/dist/domain/application/assistant/assistant-fields.js +1 -0
  327. package/dist/domain/application/assistant/assistant-manifest.d.ts +9 -1
  328. package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +38 -2
  329. package/dist/domain/application/assistant/assistant-resolved-manifest.js +1 -1
  330. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +14 -0
  331. package/dist/domain/application/assistant/build-assistant-lenses.js +5 -0
  332. package/dist/domain/application/assistant/build-assistant-manifest.js +1 -1
  333. package/dist/domain/application/assistant/create-assistant-execution-schema.d.ts +32 -0
  334. package/dist/domain/application/assistant/create-assistant-execution-schema.js +1 -0
  335. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  336. package/dist/domain/application/assistant/index.d.ts +6 -1
  337. package/dist/domain/application/assistant/index.js +1 -1
  338. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +20 -0
  339. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.js +1 -0
  340. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +10 -0
  341. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -0
  342. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +48 -0
  343. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.js +1 -0
  344. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +15 -0
  345. package/dist/domain/application/assistant/session-setup/create-session-assistant.js +1 -0
  346. package/dist/domain/application/assistant/session-setup/index.d.ts +4 -0
  347. package/dist/domain/application/assistant/session-setup/index.js +1 -0
  348. package/dist/domain/application/assistant-mutations.d.ts +2 -1
  349. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  350. package/dist/domain/application/configurator-builder.d.ts +5 -2
  351. package/dist/domain/application/configurator-builder.js +1 -1
  352. package/dist/domain/application/create-initial-published-data.d.ts +6 -7
  353. package/dist/domain/application/index.d.ts +1 -5
  354. package/dist/domain/application/index.js +1 -1
  355. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  356. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  357. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  358. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  359. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  360. package/dist/domain/application/published-data/build-legend-data.d.ts +1 -1
  361. package/dist/domain/application/published-data/format-field-type.d.ts +1 -1
  362. package/dist/domain/application/published-data/map-data-to-sheet.d.ts +1 -1
  363. package/dist/domain/application/published-data/map-published-chunked-data.d.ts +3 -3
  364. package/dist/domain/application/published-data/map-published-data.d.ts +7 -3
  365. package/dist/domain/application/published-data/validate-sheet-data.d.ts +1 -1
  366. package/dist/domain/available-system-components.js +1 -1
  367. package/dist/domain/core/action/action-factory.d.ts +2 -2
  368. package/dist/domain/core/action/action.d.ts +19 -14
  369. package/dist/domain/core/component/domain-component-optic.d.ts +29 -40
  370. package/dist/domain/core/component/domain-component-optic.js +2 -2
  371. package/dist/domain/core/component/legacy-filter.d.ts +2 -17
  372. package/dist/domain/core/component/system-component-filter.d.ts +36 -18
  373. package/dist/domain/core/data-schema/data-cell-value.d.ts +4 -0
  374. package/dist/domain/core/data-schema/data-cell-value.js +1 -0
  375. package/dist/domain/core/data-schema/data-schema-array-field.d.ts +5 -0
  376. package/dist/domain/core/data-schema/data-schema-array-field.js +1 -0
  377. package/dist/domain/core/data-schema/data-schema-field-object.d.ts +4 -0
  378. package/dist/domain/core/data-schema/data-schema-field-object.js +1 -0
  379. package/dist/domain/core/data-schema/data-schema-field.d.ts +2 -0
  380. package/dist/domain/core/data-schema/data-schema-field.js +1 -0
  381. package/dist/domain/core/data-schema/data-schema-localized-field.d.ts +4 -0
  382. package/dist/domain/core/data-schema/data-schema-localized-field.js +1 -0
  383. package/dist/domain/core/data-schema/data-schema-primitive-field.d.ts +5 -0
  384. package/dist/domain/core/data-schema/data-schema-primitive-field.js +1 -0
  385. package/dist/domain/core/data-schema/data-schema.d.ts +2 -0
  386. package/dist/domain/core/data-schema/data-schema.js +1 -0
  387. package/dist/domain/core/data-schema/index.d.ts +7 -0
  388. package/dist/domain/core/data-schema/index.js +1 -0
  389. package/dist/domain/core/domain.d.ts +2 -2
  390. package/dist/domain/core/emission/index.d.ts +8 -0
  391. package/dist/domain/core/emission/index.js +1 -0
  392. package/dist/domain/core/emission/reset-state-emission.d.ts +12 -0
  393. package/dist/domain/core/emission/reset-state-emission.js +1 -0
  394. package/dist/domain/core/emission/state-emission.d.ts +4 -0
  395. package/dist/domain/core/emission/state-emission.js +1 -0
  396. package/dist/domain/core/emission/state-update-emission.d.ts +14 -0
  397. package/dist/domain/core/emission/state-update-emission.js +1 -0
  398. package/dist/domain/core/emission/state-validation-result.d.ts +18 -0
  399. package/dist/domain/core/emission/state-validation-result.js +1 -0
  400. package/dist/domain/core/emission/transformation-log.d.ts +2 -0
  401. package/dist/domain/core/emission/transformation-log.js +1 -0
  402. package/dist/domain/core/emission/transformer-log-entry.d.ts +6 -0
  403. package/dist/domain/core/emission/transformer-log-entry.js +1 -0
  404. package/dist/domain/core/emission/transformer-log.d.ts +11 -0
  405. package/dist/domain/core/emission/transformer-log.js +1 -0
  406. package/dist/domain/core/emission/transformer-phase.d.ts +1 -0
  407. package/dist/domain/core/emission/transformer-phase.js +1 -0
  408. package/dist/domain/core/expression/aliased-expressions.d.ts +2 -2
  409. package/dist/domain/core/expression/constant-expressions.d.ts +16 -8
  410. package/dist/domain/core/expression/constant-expressions.js +1 -1
  411. package/dist/domain/core/expression/custom-expression.d.ts +20 -7
  412. package/dist/domain/core/expression/custom-expression.js +1 -1
  413. package/dist/domain/core/expression/expression.d.ts +15 -17
  414. package/dist/domain/core/index.d.ts +2 -0
  415. package/dist/domain/core/invariant/custom-invariants.d.ts +8 -16
  416. package/dist/domain/core/invariant/index.d.ts +1 -1
  417. package/dist/domain/core/invariant/index.js +1 -1
  418. package/dist/domain/core/invariant/invariants.d.ts +4 -70
  419. package/dist/domain/core/invariant/invariants.js +1 -1
  420. package/dist/domain/core/invariant/violation.d.ts +51 -3
  421. package/dist/domain/core/invariant/violation.js +1 -1
  422. package/dist/domain/core/model/model.d.ts +1 -1
  423. package/dist/domain/core/recipe/recipes.d.ts +18 -50
  424. package/dist/domain/core/recipe/recipes.js +1 -1
  425. package/dist/domain/core/relation/all-of-type-relation.d.ts +8 -21
  426. package/dist/domain/core/relation/all-of-type-relation.js +1 -1
  427. package/dist/domain/core/relation/direct-relation.d.ts +13 -24
  428. package/dist/domain/core/relation/index.d.ts +0 -1
  429. package/dist/domain/core/relation/indirect-relation.d.ts +12 -67
  430. package/dist/domain/core/relation/indirect-relation.js +1 -1
  431. package/dist/domain/core/relation/reference-component.d.ts +2 -2
  432. package/dist/domain/core/relation/relation-factory.d.ts +19 -15
  433. package/dist/domain/core/relation/relation-factory.js +1 -1
  434. package/dist/domain/core/state/migrations.d.ts +14 -45
  435. package/dist/domain/core/state/migrations.js +1 -1
  436. package/dist/domain/core/state/state.d.ts +1 -1
  437. package/dist/domain/domain-builder.d.ts +1 -1
  438. package/dist/domain/domain-builder.js +1 -1
  439. package/dist/domain/domain-context/action-system/action-system.d.ts +2 -2
  440. package/dist/domain/domain-context/action-system/action-system.js +1 -1
  441. package/dist/domain/domain-context/action-system/index.d.ts +1 -0
  442. package/dist/domain/domain-context/action-system/index.js +1 -0
  443. package/dist/domain/domain-context/analytics-system/index.d.ts +2 -0
  444. package/dist/domain/domain-context/analytics-system/index.js +1 -0
  445. package/dist/domain/domain-context/create-transformer.d.ts +1 -1
  446. package/dist/domain/domain-context/dimension-system/dimension-system.d.ts +2 -2
  447. package/dist/domain/domain-context/dimension-system/dimension-system.js +1 -1
  448. package/dist/domain/domain-context/dimension-system/index.d.ts +1 -0
  449. package/dist/domain/domain-context/dimension-system/index.js +1 -0
  450. package/dist/domain/domain-context/domain-context-systems.d.ts +7 -7
  451. package/dist/domain/domain-context/index.d.ts +8 -17
  452. package/dist/domain/domain-context/index.js +1 -1
  453. package/dist/domain/domain-context/navigation-system/index.d.ts +3 -0
  454. package/dist/domain/domain-context/navigation-system/index.js +1 -0
  455. package/dist/domain/domain-context/navigation-system/navigation-system.d.ts +2 -3
  456. package/dist/domain/domain-context/navigation-system/navigation-system.js +1 -1
  457. package/dist/domain/domain-context/navigation-system/selection-transformers.d.ts +1 -1
  458. package/dist/domain/domain-context/recipe-system/index.d.ts +1 -0
  459. package/dist/domain/domain-context/recipe-system/index.js +1 -0
  460. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.d.ts +1 -1
  461. package/dist/domain/domain-context/recipe-system/recipe-cooker-system.js +1 -1
  462. package/dist/domain/domain-context/relation-transformers/cascade-deletes.d.ts +2 -2
  463. package/dist/domain/domain-context/relation-transformers/cascade-ref-pruning.d.ts +2 -2
  464. package/dist/domain/domain-context/relation-transformers/create-entity-refs.d.ts +2 -2
  465. package/dist/domain/domain-context/relation-transformers/index.d.ts +4 -0
  466. package/dist/domain/domain-context/relation-transformers/index.js +1 -0
  467. package/dist/domain/domain-context/relation-transformers/replace-refs.d.ts +2 -2
  468. package/dist/domain/domain-context/store-system/index.d.ts +4 -0
  469. package/dist/domain/domain-context/store-system/index.js +1 -0
  470. package/dist/domain/domain-context/store-system/reconcile-projected-entities.js +1 -1
  471. package/dist/domain/domain-context/store-system/store-system.d.ts +2 -35
  472. package/dist/domain/domain-context/store-system/store-system.js +2 -2
  473. package/dist/domain/domain-context/store-system/system-state.d.ts +1 -1
  474. package/dist/domain/domain-context/transformers/actions-builder.js +1 -1
  475. package/dist/domain/domain-context/transformers/auto-snap-transformer.d.ts +5 -7
  476. package/dist/domain/domain-context/transformers/auto-snap-transformer.js +1 -1
  477. package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
  478. package/dist/domain/domain-context/transformers/context.d.ts +2 -3
  479. package/dist/domain/domain-context/transformers/context.js +1 -1
  480. package/dist/domain/domain-context/transformers/entity-builder.js +1 -1
  481. package/dist/domain/domain-context/transformers/index.d.ts +1 -1
  482. package/dist/domain/domain-context/transformers/index.js +1 -1
  483. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -3
  484. package/dist/domain/domain-context/transformers/when-builder.js +1 -1
  485. package/dist/domain/domain-context/undo-system.d.ts +29 -3
  486. package/dist/domain/domain-context/undo-system.js +1 -1
  487. package/dist/domain/domain-runtime/access/selectors.d.ts +9 -0
  488. package/dist/domain/domain-runtime/access/selectors.js +1 -1
  489. package/dist/domain/domain-runtime/access/types.d.ts +2 -0
  490. package/dist/domain/domain-runtime/access/types.js +1 -1
  491. package/dist/domain/domain-runtime/domain-context/action-context.d.ts +11 -0
  492. package/dist/domain/domain-runtime/domain-context/action-context.js +1 -0
  493. package/dist/domain/domain-runtime/domain-context/domain-context.js +1 -1
  494. package/dist/domain/domain-runtime/domain-context/expression-context.d.ts +8 -0
  495. package/dist/domain/domain-runtime/domain-context/expression-context.js +1 -0
  496. package/dist/domain/domain-runtime/domain-context/index.d.ts +3 -0
  497. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.d.ts +18 -0
  498. package/dist/domain/domain-runtime/domain-context/runtime-expression-context.js +1 -0
  499. package/dist/domain/domain-runtime/domain-context/selectors.d.ts +18 -22
  500. package/dist/domain/domain-runtime/domain-context/selectors.js +1 -1
  501. package/dist/domain/domain-runtime/domain-context/types.d.ts +4 -1
  502. package/dist/domain/domain-runtime/domain-runtime.d.ts +84 -68
  503. package/dist/domain/domain-runtime/errors/implementation-error-collector.d.ts +19 -0
  504. package/dist/domain/domain-runtime/errors/implementation-error-collector.js +1 -0
  505. package/dist/domain/domain-runtime/errors/implementation-error.d.ts +46 -0
  506. package/dist/domain/domain-runtime/errors/implementation-error.js +1 -0
  507. package/dist/domain/domain-runtime/errors/implementation-errors.d.ts +13 -0
  508. package/dist/domain/domain-runtime/errors/implementation-errors.js +1 -0
  509. package/dist/domain/domain-runtime/errors/index.d.ts +4 -0
  510. package/dist/domain/domain-runtime/errors/index.js +1 -0
  511. package/dist/domain/domain-runtime/errors/to-implementation-errors.d.ts +10 -0
  512. package/dist/domain/domain-runtime/errors/to-implementation-errors.js +1 -0
  513. package/dist/domain/domain-runtime/index.d.ts +1 -0
  514. package/dist/domain/domain-runtime/index.js +1 -1
  515. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +24 -0
  516. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -0
  517. package/dist/domain/domain-runtime/spec/index.d.ts +2 -0
  518. package/dist/domain/domain-runtime/spec/index.js +1 -1
  519. package/dist/domain/domain-runtime/spec/initialize.d.ts +11 -0
  520. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  521. package/dist/domain/{application → domain-runtime/spec/module-checks}/element-registration.d.ts +2 -2
  522. package/dist/domain/domain-runtime/spec/module-checks/element-registration.js +1 -0
  523. package/dist/domain/{application → domain-runtime/spec/module-checks}/handler-registration.d.ts +1 -1
  524. package/dist/domain/domain-runtime/spec/module-checks/handler-registration.js +1 -0
  525. package/dist/domain/domain-runtime/spec/module-checks/index.d.ts +8 -0
  526. package/dist/domain/domain-runtime/spec/module-checks/index.js +1 -0
  527. package/dist/domain/{project-modules → domain-runtime/spec/module-checks}/project-modules.d.ts +8 -17
  528. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +1 -0
  529. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.d.ts +4 -0
  530. package/dist/domain/domain-runtime/spec/module-checks/resolve-action-modules.js +1 -0
  531. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.d.ts +4 -0
  532. package/dist/domain/domain-runtime/spec/module-checks/resolve-component-optic-modules.js +1 -0
  533. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.d.ts +15 -0
  534. package/dist/domain/domain-runtime/spec/module-checks/resolve-expression-modules.js +1 -0
  535. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.d.ts +22 -0
  536. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +1 -0
  537. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.d.ts +6 -0
  538. package/dist/domain/domain-runtime/spec/module-checks/resolve-invariant-modules.js +1 -0
  539. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -6
  540. package/dist/domain/domain-runtime/spec/selectors.js +1 -1
  541. package/dist/domain/domain-runtime/spec/types.d.ts +5 -2
  542. package/dist/domain/{system-components → extensions}/attribute-switch.d.ts +1 -1
  543. package/dist/domain/extensions/attribute-switch.js +1 -0
  544. package/dist/domain/{system-components → extensions}/canvas-config.d.ts +1 -1
  545. package/dist/domain/{system-components → extensions}/child-entity-recipe-hierarchy.d.ts +1 -1
  546. package/dist/domain/extensions/child-entity-recipe-hierarchy.js +1 -0
  547. package/dist/domain/{system-components → extensions}/client-side-image.d.ts +2 -2
  548. package/dist/domain/{system-components → extensions}/client-side-image.js +1 -1
  549. package/dist/domain/{system-components → extensions}/common/angle-indicator-schema.d.ts +3 -3
  550. package/dist/domain/extensions/common/angle-indicator-schema.js +1 -0
  551. package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.d.ts +2 -2
  552. package/dist/domain/extensions/common/index.d.ts +4 -0
  553. package/dist/domain/extensions/common/index.js +1 -0
  554. package/dist/domain/{system-components → extensions}/custom-header.d.ts +1 -1
  555. package/dist/domain/extensions/custom-header.js +1 -0
  556. package/dist/domain/{system-components → extensions}/custom-price-footer.js +1 -1
  557. package/dist/domain/{system-components → extensions}/custom-sidebar-footer.d.ts +1 -1
  558. package/dist/domain/extensions/custom-sidebar-footer.js +1 -0
  559. package/dist/domain/{system-components → extensions}/editable-angle-indicator.d.ts +3 -2
  560. package/dist/domain/extensions/editable-angle-indicator.js +1 -0
  561. package/dist/domain/{system-components → extensions}/editable-distance-dimension-indicator.d.ts +3 -2
  562. package/dist/domain/extensions/editable-distance-dimension-indicator.js +1 -0
  563. package/dist/domain/{system-components → extensions}/editable-offset-indicator.d.ts +3 -2
  564. package/dist/domain/extensions/editable-offset-indicator.js +1 -0
  565. package/dist/domain/{system-components → extensions}/editable-size-indicator.d.ts +2 -1
  566. package/dist/domain/extensions/editable-size-indicator.js +1 -0
  567. package/dist/domain/{system-components → extensions}/entity-header.d.ts +1 -1
  568. package/dist/domain/extensions/entity-header.js +1 -0
  569. package/dist/domain/{system-components → extensions}/finalize-component.js +1 -1
  570. package/dist/domain/extensions/fit-selection-orthographic-camera-component.js +1 -0
  571. package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.js +1 -1
  572. package/dist/domain/{system-components → extensions}/horizontal-tabs.d.ts +2 -2
  573. package/dist/domain/extensions/index.d.ts +69 -0
  574. package/dist/domain/extensions/index.js +1 -0
  575. package/dist/domain/{system-components → extensions}/list-selector-dimension-indicator.d.ts +3 -2
  576. package/dist/domain/extensions/list-selector-dimension-indicator.js +1 -0
  577. package/dist/domain/{system-components → extensions}/navigation-steps.d.ts +2 -2
  578. package/dist/domain/extensions/offset-indicator.js +1 -0
  579. package/dist/domain/{system-components → extensions}/property-page.d.ts +1 -1
  580. package/dist/domain/extensions/property-page.js +1 -0
  581. package/dist/domain/{system-components → extensions}/replace-entity-recipe-hierarchy.d.ts +1 -1
  582. package/dist/domain/extensions/replace-entity-recipe-hierarchy.js +1 -0
  583. package/dist/domain/{system-components → extensions}/rotation-handle.d.ts +2 -2
  584. package/dist/domain/{system-components → extensions}/save-template-thumbnail.d.ts +2 -2
  585. package/dist/domain/{system-components → extensions}/save-template-thumbnail.js +1 -1
  586. package/dist/domain/{system-components → extensions}/scene-entity-add-fab.d.ts +1 -1
  587. package/dist/domain/extensions/scene-entity-add-fab.js +1 -0
  588. package/dist/domain/{system-components → extensions}/scene-entity-animation.js +1 -1
  589. package/dist/domain/{system-components → extensions}/scene-entity-delete-fab.d.ts +1 -1
  590. package/dist/domain/extensions/scene-entity-delete-fab.js +1 -0
  591. package/dist/domain/{system-components → extensions}/scene-entity-html-hotspot.d.ts +1 -1
  592. package/dist/domain/extensions/scene-entity-html-hotspot.js +1 -0
  593. package/dist/domain/{system-components → extensions}/scene-entity-navigation-hotspot.d.ts +1 -1
  594. package/dist/domain/extensions/scene-entity-navigation-hotspot.js +1 -0
  595. package/dist/domain/{system-components → extensions}/scene-entity-object-html-hotspot.d.ts +1 -1
  596. package/dist/domain/extensions/scene-entity-object-html-hotspot.js +1 -0
  597. package/dist/domain/{system-components → extensions}/scene-entity-select-hotspot.d.ts +1 -1
  598. package/dist/domain/extensions/scene-entity-select-hotspot.js +1 -0
  599. package/dist/domain/{system-components → extensions}/sketching-edit.d.ts +1 -1
  600. package/dist/domain/extensions/sketching-edit.js +1 -0
  601. package/dist/domain/{system-components → extensions}/summary-component.js +1 -1
  602. package/dist/domain/{system-components → extensions}/tool-menu-fab.d.ts +1 -1
  603. package/dist/domain/extensions/tool-menu-fab.js +1 -0
  604. package/dist/domain/{system-components → extensions}/toolbar.d.ts +1 -1
  605. package/dist/domain/extensions/toolbar.js +1 -0
  606. package/dist/domain/index.d.ts +1 -1
  607. package/dist/domain/index.js +1 -1
  608. package/dist/domain/mocks/create-mock-domain-context.d.ts +1 -1
  609. package/dist/domain/mocks/create-mock-domain-runtime-services.d.ts +1 -1
  610. package/dist/domain/mocks/create-mock-domain-runtime.d.ts +28 -19
  611. package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
  612. package/dist/domain/mocks/create-mock-domain.d.ts +1 -1
  613. package/dist/domain/mocks/create-mock-domain.js +1 -1
  614. package/dist/domain/mocks/create-mock-state.d.ts +2 -2
  615. package/dist/domain/mocks/create-test-application-config.d.ts +59 -0
  616. package/dist/domain/mocks/create-test-application-config.js +1 -0
  617. package/dist/domain/mocks/index.d.ts +1 -0
  618. package/dist/domain/mocks/index.js +1 -1
  619. package/dist/domain/projections/blender-projections/blender-projections.d.ts +1 -2
  620. package/dist/domain/projections/blender-projections/camera.d.ts +2 -2
  621. package/dist/domain/projections/collision-projections.d.ts +1 -1
  622. package/dist/domain/projections/composition-projections.d.ts +1 -1
  623. package/dist/domain/projections/constraint-projections.d.ts +1 -1
  624. package/dist/domain/projections/index.d.ts +1 -1
  625. package/dist/domain/projections/position-projections.d.ts +1 -1
  626. package/dist/domain/projections/projected-entities-projections.d.ts +1 -1
  627. package/dist/domain/projections/snapping-projections.d.ts +1 -1
  628. package/dist/domain/projections/validation-projections.d.ts +3 -19
  629. package/dist/domain/sketching/sketching-projections.d.ts +1 -1
  630. package/dist/domain/system-components/application-config.d.ts +2 -2
  631. package/dist/domain/system-components/child-entity-selection.js +1 -1
  632. package/dist/domain/system-components/collision-box-geometry.d.ts +4 -2
  633. package/dist/domain/system-components/collision-geometry.d.ts +4 -2
  634. package/dist/domain/system-components/collision-point-geometry.d.ts +4 -2
  635. package/dist/domain/system-components/common/index.d.ts +0 -4
  636. package/dist/domain/system-components/common/index.js +1 -1
  637. package/dist/domain/system-components/common/material-override-schema.d.ts +2 -2
  638. package/dist/domain/system-components/common/recipes.d.ts +21 -3
  639. package/dist/domain/system-components/common/recipes.js +1 -1
  640. package/dist/domain/system-components/constraint.d.ts +10 -23
  641. package/dist/domain/system-components/drag-handle.d.ts +1 -1
  642. package/dist/domain/system-components/drag-handle.js +1 -1
  643. package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
  644. package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
  645. package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
  646. package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
  647. package/dist/domain/system-components/hotspot-drag-handle.d.ts +1 -1
  648. package/dist/domain/system-components/hotspot-drag-handle.js +1 -1
  649. package/dist/domain/system-components/index.d.ts +0 -68
  650. package/dist/domain/system-components/index.js +1 -1
  651. package/dist/domain/system-components/material-swatch.js +1 -1
  652. package/dist/domain/system-components/phoenix-entity-elements/admin-data-table-sidebar.d.ts +1 -1
  653. package/dist/domain/system-components/phoenix-layout-elements/admin-connected-resource-page.d.ts +1 -1
  654. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-actions.d.ts +1 -1
  655. package/dist/domain/system-components/phoenix-layout-elements/admin-data-table-page.d.ts +1 -1
  656. package/dist/domain/system-components/scene-entity-material-override.d.ts +1 -1
  657. package/dist/domain/system-components/scene-entity-object-material-override.d.ts +1 -1
  658. package/dist/domain/system-components/scene-entity-object-text-decal.d.ts +1 -1
  659. package/dist/domain/system-components/scene-entity-object-transimissive-material-override.d.ts +1 -1
  660. package/dist/domain/system-components/scene-entity-transimissive-material-override.d.ts +1 -1
  661. package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
  662. package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
  663. package/dist/domain/utils/eval-cache.d.ts +1 -1
  664. package/dist/domain/utils/map-nested-object.d.ts +1 -1
  665. package/dist/domain/utils/memo-eval.d.ts +2 -2
  666. package/dist/editor/domain-editors/use-implementation-files.d.ts +1 -2
  667. package/dist/editor/mocks/EditorMockContext.js +1 -1
  668. package/dist/globals/index.d.ts +2 -0
  669. package/dist/i18n/locales/cs/messages.js +1 -1
  670. package/dist/i18n/locales/da/messages.js +1 -1
  671. package/dist/i18n/locales/de/messages.js +1 -1
  672. package/dist/i18n/locales/de-AT/messages.js +1 -1
  673. package/dist/i18n/locales/en/messages.js +1 -1
  674. package/dist/i18n/locales/en-AU/messages.js +1 -1
  675. package/dist/i18n/locales/en-GB/messages.js +1 -1
  676. package/dist/i18n/locales/es/messages.js +1 -1
  677. package/dist/i18n/locales/fr/messages.js +1 -1
  678. package/dist/i18n/locales/hu/messages.js +1 -1
  679. package/dist/i18n/locales/it/messages.js +1 -1
  680. package/dist/i18n/locales/nl/messages.js +1 -1
  681. package/dist/i18n/locales/pl/messages.js +1 -1
  682. package/dist/i18n/locales/pt/messages.js +1 -1
  683. package/dist/i18n/locales/ro/messages.js +1 -1
  684. package/dist/i18n/locales/sk/messages.js +1 -1
  685. package/dist/i18n/locales/tr/messages.js +1 -1
  686. package/dist/legacy/domain-cli/gen/configurator-builder.js +13 -12
  687. package/dist/legacy/domain-cli/gen/constant-expressions.js +1 -3
  688. package/dist/legacy/domain-cli/gen/defaults.js +1 -7
  689. package/dist/legacy/domain-cli/gen/implementation.js +7 -11
  690. package/dist/legacy/domain-cli/gen/invariants.js +7 -6
  691. package/dist/legacy/domain-cli/gen/relations.js +1 -1
  692. package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
  693. package/dist/legacy/domain-cli/utils/cache.js +1 -1
  694. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +81 -68
  695. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/claude-md.d.ts +1 -1
  696. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/cursor-rules.d.ts +1 -1
  697. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.d.ts +1 -1
  698. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/agents/shared-sdk-content.js +7 -0
  699. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/domain-index.js +17 -15
  700. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.d.ts +1 -1
  701. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/env-example.js +4 -0
  702. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -16
  703. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +14 -12
  704. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +13 -11
  705. package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +13 -11
  706. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  707. package/dist/phoenix/application-spec/project-files.js +1 -1
  708. package/dist/phoenix/cli.js +1 -1
  709. package/dist/phoenix/commands/check.js +1 -1
  710. package/dist/phoenix/commands/deploy.js +1 -1
  711. package/dist/phoenix/commands/deps/deps.d.ts +52 -0
  712. package/dist/phoenix/commands/deps/deps.js +3 -0
  713. package/dist/phoenix/commands/deps/index.d.ts +1 -0
  714. package/dist/phoenix/commands/deps/index.js +1 -0
  715. package/dist/phoenix/commands/deps/sdk-manifest.d.ts +12 -0
  716. package/dist/phoenix/commands/deps/sdk-manifest.js +1 -0
  717. package/dist/phoenix/commands/dev.js +5 -5
  718. package/dist/phoenix/commands/fix.js +1 -1
  719. package/dist/phoenix/commands/index.d.ts +1 -0
  720. package/dist/phoenix/commands/index.js +1 -1
  721. package/dist/phoenix/commands/init.d.ts +4 -4
  722. package/dist/phoenix/commands/init.js +1 -1
  723. package/dist/phoenix/commands/prettier.js +1 -1
  724. package/dist/phoenix/services/application-spec-project-watcher.d.ts +2 -0
  725. package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
  726. package/dist/phoenix/services/source-archive.d.ts +1 -0
  727. package/dist/phoenix/services/source-archive.js +1 -1
  728. package/dist/phoenix/services/swc.js +1 -1
  729. package/dist/phoenix/utils/git/index.d.ts +1 -0
  730. package/dist/phoenix/utils/git/index.js +1 -0
  731. package/dist/phoenix/utils/git/is-inside-git-repository.d.ts +6 -0
  732. package/dist/phoenix/utils/git/is-inside-git-repository.js +1 -0
  733. package/dist/phoenix/utils/index.d.ts +2 -0
  734. package/dist/phoenix/utils/index.js +1 -1
  735. package/dist/react-sdk/application-runtime/hooks/use-access-service.d.ts +2 -0
  736. package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
  737. package/dist/react-sdk/application-runtime/routing/access-service.d.ts +1 -0
  738. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +53 -36
  739. package/dist/react-sdk/application-runtime/runtime/create-application-runtime.js +1 -1
  740. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.d.ts +30 -0
  741. package/dist/react-sdk/domain-context/common-hooks/use-configurator-messages.js +1 -0
  742. package/dist/react-sdk/domain-context/common-hooks/use-domain-context.d.ts +9 -9
  743. package/dist/react-sdk/domain-context/index.d.ts +2 -1
  744. package/dist/react-sdk/domain-context/index.js +1 -1
  745. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.d.ts +11 -0
  746. package/dist/react-sdk/domain-context/system-hooks/navigation-hooks.js +1 -1
  747. package/dist/react-sdk/domain-controls/hooks/use-angle-dimension.d.ts +1 -1
  748. package/dist/ui-sdk/theme/types.d.ts +1 -1
  749. package/dist/webhook/builders/common.d.ts +5 -0
  750. package/dist/webhook/builders/webhook-builder.js +1 -1
  751. package/package.json +33 -29
  752. package/schema/domain-spec.json +1115 -209
  753. package/dist/application-spec/generate-application/code/templates/env-ci.d.ts +0 -1
  754. package/dist/application-spec/generate-application/code/templates/env-ci.js +0 -25
  755. package/dist/application-spec/generate-application/code/templates/env-example.d.ts +0 -1
  756. package/dist/application-spec/generate-application/code/templates/env-example.js +0 -90
  757. package/dist/application-spec/generate-application/code/templates/prettier-ignore.d.ts +0 -1
  758. package/dist/application-spec/generate-application/code/templates/prettier-ignore.js +0 -6
  759. package/dist/application-spec/generate-application/code/templates/private-assets-readme.d.ts +0 -1
  760. package/dist/application-spec/generate-application/code/templates/private-assets-readme.js +0 -24
  761. package/dist/application-spec/generate-application/code/templates/public-assets-readme.d.ts +0 -1
  762. package/dist/application-spec/generate-application/code/templates/public-assets-readme.js +0 -24
  763. package/dist/application-spec/generate-application/code/templates/readme.d.ts +0 -1
  764. package/dist/application-spec/generate-application/code/templates/readme.js +0 -23
  765. package/dist/application-spec/generate-application/code/templates/skills/agents-md.d.ts +0 -1
  766. package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +0 -2
  767. package/dist/application-spec/generate-application/code/templates/webhook-implementation.d.ts +0 -1
  768. package/dist/application-spec/generate-application/code/templates/webhook-implementation.js +0 -7
  769. package/dist/domain/application/element-registration.js +0 -1
  770. package/dist/domain/application/handler-registration.js +0 -1
  771. package/dist/domain/application/resolve-imported-transformers.d.ts +0 -23
  772. package/dist/domain/application/resolve-imported-transformers.js +0 -1
  773. package/dist/domain/application/resource-builder.d.ts +0 -13
  774. package/dist/domain/application/resource-builder.js +0 -1
  775. package/dist/domain/core/relation/relation-implementation.d.ts +0 -7
  776. package/dist/domain/project-modules/index.d.ts +0 -1
  777. package/dist/domain/project-modules/index.js +0 -1
  778. package/dist/domain/project-modules/project-modules.js +0 -1
  779. package/dist/domain/system-components/attribute-switch.js +0 -1
  780. package/dist/domain/system-components/child-entity-recipe-hierarchy.js +0 -1
  781. package/dist/domain/system-components/common/angle-indicator-schema.js +0 -1
  782. package/dist/domain/system-components/custom-header.js +0 -1
  783. package/dist/domain/system-components/custom-sidebar-footer.js +0 -1
  784. package/dist/domain/system-components/editable-angle-indicator.js +0 -1
  785. package/dist/domain/system-components/editable-distance-dimension-indicator.js +0 -1
  786. package/dist/domain/system-components/editable-offset-indicator.js +0 -1
  787. package/dist/domain/system-components/editable-size-indicator.js +0 -1
  788. package/dist/domain/system-components/entity-header.js +0 -1
  789. package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +0 -1
  790. package/dist/domain/system-components/list-selector-dimension-indicator.js +0 -1
  791. package/dist/domain/system-components/offset-indicator.js +0 -1
  792. package/dist/domain/system-components/property-page.js +0 -1
  793. package/dist/domain/system-components/replace-entity-recipe-hierarchy.js +0 -1
  794. package/dist/domain/system-components/scene-entity-add-fab.js +0 -1
  795. package/dist/domain/system-components/scene-entity-delete-fab.js +0 -1
  796. package/dist/domain/system-components/scene-entity-html-hotspot.js +0 -1
  797. package/dist/domain/system-components/scene-entity-navigation-hotspot.js +0 -1
  798. package/dist/domain/system-components/scene-entity-object-html-hotspot.js +0 -1
  799. package/dist/domain/system-components/scene-entity-select-hotspot.js +0 -1
  800. package/dist/domain/system-components/sketching-edit.js +0 -1
  801. package/dist/domain/system-components/tool-menu-fab.js +0 -1
  802. package/dist/domain/system-components/toolbar.js +0 -1
  803. /package/dist/{domain/core/relation/relation-implementation.js → application-spec/core/expressions/relation-expression-params.js} +0 -0
  804. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.d.ts +0 -0
  805. /package/dist/application-spec/{core → enhanced-json}/eval-code-uses-self.js +0 -0
  806. /package/dist/application-spec/{core → enhanced-json}/eval-to-constant.js +0 -0
  807. /package/dist/domain/{system-components → extensions}/angle-indicator.d.ts +0 -0
  808. /package/dist/domain/{system-components → extensions}/angle-indicator.js +0 -0
  809. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.d.ts +0 -0
  810. /package/dist/domain/{system-components → extensions}/autorotate-camera-component.js +0 -0
  811. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.d.ts +0 -0
  812. /package/dist/domain/{system-components → extensions}/basic-sidebar-footer.js +0 -0
  813. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.d.ts +0 -0
  814. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity-object.js +0 -0
  815. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.d.ts +0 -0
  816. /package/dist/domain/{system-components → extensions}/camera-based-hidden-entity.js +0 -0
  817. /package/dist/domain/{system-components → extensions}/canvas-config.js +0 -0
  818. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.d.ts +0 -0
  819. /package/dist/domain/{system-components → extensions}/canvas-custom-environment.js +0 -0
  820. /package/dist/domain/{system-components → extensions}/canvas-padding.d.ts +0 -0
  821. /package/dist/domain/{system-components → extensions}/canvas-padding.js +0 -0
  822. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.d.ts +0 -0
  823. /package/dist/domain/{system-components → extensions}/canvas-preset-environment.js +0 -0
  824. /package/dist/domain/{system-components → extensions}/color-value.d.ts +0 -0
  825. /package/dist/domain/{system-components → extensions}/color-value.js +0 -0
  826. /package/dist/domain/{system-components → extensions}/common/dimension-indicator-schema.js +0 -0
  827. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.d.ts +0 -0
  828. /package/dist/domain/{system-components → extensions}/common/dimension-indicators.js +0 -0
  829. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.d.ts +0 -0
  830. /package/dist/domain/{system-components → extensions}/common/editable-indicator-button-variant.js +0 -0
  831. /package/dist/domain/{system-components → extensions}/custom-price-footer.d.ts +0 -0
  832. /package/dist/domain/{system-components → extensions}/dimension-indicator.d.ts +0 -0
  833. /package/dist/domain/{system-components → extensions}/dimension-indicator.js +0 -0
  834. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.d.ts +0 -0
  835. /package/dist/domain/{system-components → extensions}/exit-tool-mode-fab.js +0 -0
  836. /package/dist/domain/{system-components → extensions}/finalize-action.d.ts +0 -0
  837. /package/dist/domain/{system-components → extensions}/finalize-action.js +0 -0
  838. /package/dist/domain/{system-components → extensions}/finalize-component.d.ts +0 -0
  839. /package/dist/domain/{system-components → extensions}/fit-selection-orthographic-camera-component.d.ts +0 -0
  840. /package/dist/domain/{system-components → extensions}/fit-selection-perspective-camera-component.d.ts +0 -0
  841. /package/dist/domain/{system-components → extensions}/fixed-header.d.ts +0 -0
  842. /package/dist/domain/{system-components → extensions}/fixed-header.js +0 -0
  843. /package/dist/domain/{system-components → extensions}/floating-header.d.ts +0 -0
  844. /package/dist/domain/{system-components → extensions}/floating-header.js +0 -0
  845. /package/dist/domain/{system-components → extensions}/hidden-header.d.ts +0 -0
  846. /package/dist/domain/{system-components → extensions}/hidden-header.js +0 -0
  847. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.d.ts +0 -0
  848. /package/dist/domain/{system-components → extensions}/hidden-sidebar-footer.js +0 -0
  849. /package/dist/domain/{system-components → extensions}/horizontal-tabs.js +0 -0
  850. /package/dist/domain/{system-components → extensions}/multilingual-text-value.d.ts +0 -0
  851. /package/dist/domain/{system-components → extensions}/multilingual-text-value.js +0 -0
  852. /package/dist/domain/{system-components → extensions}/navigation-steps.js +0 -0
  853. /package/dist/domain/{system-components → extensions}/offset-anchors.d.ts +0 -0
  854. /package/dist/domain/{system-components → extensions}/offset-anchors.js +0 -0
  855. /package/dist/domain/{system-components → extensions}/offset-indicator.d.ts +0 -0
  856. /package/dist/domain/{system-components → extensions}/offset.d.ts +0 -0
  857. /package/dist/domain/{system-components → extensions}/offset.js +0 -0
  858. /package/dist/domain/{system-components → extensions}/other-action.d.ts +0 -0
  859. /package/dist/domain/{system-components → extensions}/other-action.js +0 -0
  860. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.d.ts +0 -0
  861. /package/dist/domain/{system-components → extensions}/read-sidebar-footer.js +0 -0
  862. /package/dist/domain/{system-components → extensions}/rotatable.d.ts +0 -0
  863. /package/dist/domain/{system-components → extensions}/rotatable.js +0 -0
  864. /package/dist/domain/{system-components → extensions}/rotation-handle.js +0 -0
  865. /package/dist/domain/{system-components → extensions}/scene-entity-animation.d.ts +0 -0
  866. /package/dist/domain/{system-components → extensions}/scene-entity-control.d.ts +0 -0
  867. /package/dist/domain/{system-components → extensions}/scene-entity-control.js +0 -0
  868. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.d.ts +0 -0
  869. /package/dist/domain/{system-components → extensions}/scene-entity-floor-object.js +0 -0
  870. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.d.ts +0 -0
  871. /package/dist/domain/{system-components → extensions}/scene-entity-wall-object.js +0 -0
  872. /package/dist/domain/{system-components → extensions}/selectable-component.d.ts +0 -0
  873. /package/dist/domain/{system-components → extensions}/selectable-component.js +0 -0
  874. /package/dist/domain/{system-components → extensions}/sidebar-tabs.d.ts +0 -0
  875. /package/dist/domain/{system-components → extensions}/sidebar-tabs.js +0 -0
  876. /package/dist/domain/{system-components → extensions}/simple-summary.d.ts +0 -0
  877. /package/dist/domain/{system-components → extensions}/simple-summary.js +0 -0
  878. /package/dist/domain/{system-components → extensions}/size.d.ts +0 -0
  879. /package/dist/domain/{system-components → extensions}/size.js +0 -0
  880. /package/dist/domain/{system-components → extensions}/sketching-draw.d.ts +0 -0
  881. /package/dist/domain/{system-components → extensions}/sketching-draw.js +0 -0
  882. /package/dist/domain/{system-components → extensions}/summary-component.d.ts +0 -0
  883. /package/dist/domain/{system-components → extensions}/text-value.d.ts +0 -0
  884. /package/dist/domain/{system-components → extensions}/text-value.js +0 -0
  885. /package/dist/domain/{system-components → extensions}/tool-controls.d.ts +0 -0
  886. /package/dist/domain/{system-components → extensions}/tool-controls.js +0 -0
  887. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.d.ts +0 -0
  888. /package/dist/domain/{system-components → extensions}/universal-sidebar-footer.js +0 -0
  889. /package/dist/domain/{system-components → extensions}/view-controls.d.ts +0 -0
  890. /package/dist/domain/{system-components → extensions}/view-controls.js +0 -0
@@ -0,0 +1,27 @@
1
+ /** What is attached right now to an existing entity that an entity link points at. */
2
+ export interface EntityLinkFacts {
3
+ /** A `selectable` component is attached to the entity under the current filters. */
4
+ readonly isSelectable: boolean;
5
+ /** The attached `selectable` component switches hover off with `hoverable: false`. */
6
+ readonly isHoverDisabled: boolean;
7
+ /** A `sceneEntitySelectHotspot` component is attached to the entity under the current filters. */
8
+ readonly hasSelectHotspot: boolean;
9
+ }
10
+ /**
11
+ * How an entity link shows and behaves:
12
+ *
13
+ * - `missing`: the entity is gone, the link is struck out;
14
+ * - `plain`: the entity exists but nothing in the scene selects it, so the link is only a label;
15
+ * - `interactive`: a click selects the entity, as a click on it or on its hotspot in the scene does.
16
+ */
17
+ export type EntityLinkKind = 'missing' | 'plain' | 'interactive';
18
+ /** The state of a link to an entity that exists; a link to one that is gone is `missing` without it. */
19
+ export interface EntityLinkState {
20
+ readonly kind: Exclude<EntityLinkKind, 'missing'>;
21
+ /**
22
+ * The link sends its hover to the scene and shows the hover of the scene. Only an entity the
23
+ * scene itself can hover takes part, so one that is selected through a hotspot alone does not.
24
+ */
25
+ readonly canHover: boolean;
26
+ }
27
+ export declare const resolveEntityLinkState: (facts: EntityLinkFacts) => EntityLinkState;
@@ -0,0 +1 @@
1
+ export const resolveEntityLinkState=e=>{let{isSelectable:n,isHoverDisabled:t,hasSelectHotspot:i}=e;return n||i?{kind:"interactive",canHover:n&&!t}:{kind:"plain",canHover:!1}};
@@ -0,0 +1,5 @@
1
+ import { type DomainEntityId } from '#package/domain';
2
+ /** True for the target of a link the assistant wrote to point at an entity, `entity:<id>`, whatever follows the scheme. */
3
+ export declare const isEntityLinkHref: (href: string) => boolean;
4
+ /** The entity id an entity link points at, or `null` when what follows the scheme is not a well-formed entity id. */
5
+ export declare const parseEntityLinkTarget: (href: string) => DomainEntityId<string> | null;
@@ -0,0 +1 @@
1
+ import{DomainEntityIdSchema as t}from"#package/domain";let e="entity:",n=new RegExp(t.pattern);export const isEntityLinkHref=t=>t.startsWith(e);export const parseEntityLinkTarget=t=>{let r=t.slice(e.length);return t.startsWith(e)&&n.test(r)?r:null};
@@ -0,0 +1,3 @@
1
+ export { AssistantEntityLink } from './AssistantEntityLink.js';
2
+ export { EntityLinkSelectionProvider, useCreateEntityLinkSelection } from './entity-link-selection.js';
3
+ export { isEntityLinkHref, parseEntityLinkTarget } from './entity-link-target.js';
@@ -0,0 +1 @@
1
+ export{AssistantEntityLink}from"./AssistantEntityLink.js";export{EntityLinkSelectionProvider,useCreateEntityLinkSelection}from"./entity-link-selection.js";export{isEntityLinkHref,parseEntityLinkTarget}from"./entity-link-target.js";
@@ -1,4 +1,5 @@
1
1
  import type { UIMessage } from '@tanstack/ai-client';
2
+ import type { AssistantEarlierThreadSnapshot } from '../../application-runtime/index.js';
2
3
  import { type AssistantToolChip } from './tool-chip.js';
3
4
  /** A tool call of the thread, with what its chip shows and what a click on the chip logs. */
4
5
  export interface AssistantToolItem {
@@ -8,8 +9,9 @@ export interface AssistantToolItem {
8
9
  readonly result: unknown;
9
10
  }
10
11
  /**
11
- * One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, or a
12
- * row of chips for the tool calls that follow each other without text in between.
12
+ * One block of the thread, in reading order: a user bubble, a stretch of assistant Markdown, a row
13
+ * of chips for the tool calls that follow each other without text in between, or the line that
14
+ * ends a closed thread of the conversation.
13
15
  */
14
16
  export type AssistantThreadItem = {
15
17
  readonly kind: 'user';
@@ -24,6 +26,9 @@ export type AssistantThreadItem = {
24
26
  readonly kind: 'tools';
25
27
  readonly id: string;
26
28
  readonly tools: readonly AssistantToolItem[];
29
+ } | {
30
+ readonly kind: 'separator';
31
+ readonly id: string;
27
32
  };
28
33
  export interface AssistantThreadView {
29
34
  readonly items: readonly AssistantThreadItem[];
@@ -35,3 +40,9 @@ export interface AssistantThreadView {
35
40
  * results are not shown on their own but decide the state of the chip of their call.
36
41
  */
37
42
  export declare const buildThreadView: (messages: ReadonlyArray<UIMessage>, isReplying: boolean) => AssistantThreadView;
43
+ /**
44
+ * Lays the closed threads of the conversation out above the thread that continues them, oldest
45
+ * first, each ended by a separator: the assistant read on from a summary of it, not from the
46
+ * messages themselves.
47
+ */
48
+ export declare const buildEarlierThreadItems: (earlierThreads: ReadonlyArray<AssistantEarlierThreadSnapshot>) => readonly AssistantThreadItem[];
@@ -1 +1 @@
1
- import{describeToolCall as t}from"./tool-chip.js";let e=t=>{try{return JSON.parse(t)}catch{return t}},r=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,n)=>{let l=(t=>{let r=new Map;for(let o of t)for(let t of o.parts)"tool-result"===t.type&&r.set(t.toolCallId,{result:"string"==typeof t.content?e(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return r})(o),i=[],s=o.at(-1),a=t=>{let e=i.at(-1);e?.kind==="tools"?i[i.length-1]={...e,tools:[...e.tools,t]}:i.push({kind:"tools",id:t.id,tools:[t]})};for(let e of o){if("user"===e.role){let t=r(e.parts);t&&i.push({kind:"user",id:e.id,text:t});continue}let o=n&&e===s;e.parts.forEach((r,n)=>{let s=`${e.id}:${n}`;if("text"===r.type){if(r.content.trim()){let t=o&&n===e.parts.length-1;i.push({kind:"text",id:s,markdown:r.content,isStreaming:t})}return}if("tool-call"!==r.type)return;let p=l.get(r.id),d=r.input,u=r.output??p?.result;a({id:r.id,input:d,result:u,chip:t({name:r.name,input:d,result:u,error:p?.error,isReplyRunning:o})})})}let p=i.at(-1),d=s?.role==="assistant"&&(p?.kind==="text"&&p.isStreaming||p?.kind==="tools");return{items:i,isThinking:n&&!d}};
1
+ import{describeToolCall as t}from"./tool-chip.js";let e=t=>{try{return JSON.parse(t)}catch{return t}},r=t=>t.map(t=>"text"===t.type?t.content:"").join("").trim();export const buildThreadView=(o,i)=>{let l=(t=>{let r=new Map;for(let o of t)for(let t of o.parts)"tool-result"===t.type&&r.set(t.toolCallId,{result:"string"==typeof t.content?e(t.content):t.content,error:"error"===t.state?t.error??"The tool call failed.":void 0});return r})(o),n=[],a=o.at(-1),s=t=>{let e=n.at(-1);e?.kind==="tools"?n[n.length-1]={...e,tools:[...e.tools,t]}:n.push({kind:"tools",id:t.id,tools:[t]})};for(let e of o){if("user"===e.role){let t=r(e.parts);t&&n.push({kind:"user",id:e.id,text:t});continue}let o=i&&e===a;e.parts.forEach((r,i)=>{let a=`${e.id}:${i}`;if("text"===r.type){if(r.content.trim()){let t=o&&i===e.parts.length-1;n.push({kind:"text",id:a,markdown:r.content,isStreaming:t})}return}if("tool-call"!==r.type)return;let d=l.get(r.id),p=r.input,u=r.output??d?.result;s({id:r.id,input:p,result:u,chip:t({name:r.name,input:p,result:u,error:d?.error,isReplyRunning:o})})})}let d=n.at(-1),p=a?.role==="assistant"&&(d?.kind==="text"&&d.isStreaming||d?.kind==="tools");return{items:n,isThinking:i&&!p}};export const buildEarlierThreadItems=t=>t.flatMap(({threadId:t,messages:e})=>[...buildThreadView(e,!1).items.map(e=>({...e,id:`${t}:${e.id}`})),{kind:"separator",id:`${t}:separator`}]);
@@ -0,0 +1 @@
1
+ export { SidebarKeys } from './sidebar-keys.js';
@@ -0,0 +1 @@
1
+ export{SidebarKeys}from"./sidebar-keys.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Values of the desktop sidebar's `data-sidebar` attribute: its variants and states. The sidebar writes
3
+ * them; the built-in desktop layout's rules react to them.
4
+ */
5
+ export declare const SidebarKeys: {
6
+ readonly Minimalist: 'minimalist';
7
+ readonly Split: 'split';
8
+ readonly Visible: 'visible';
9
+ readonly Hidden: 'hidden';
10
+ readonly Assistant: 'assistant';
11
+ };
@@ -0,0 +1 @@
1
+ export const SidebarKeys={Minimalist:"minimalist",Split:"split",Visible:"visible",Hidden:"hidden",Assistant:"assistant"};
@@ -0,0 +1,101 @@
1
+ import type { ComponentsOverrides } from '@mui/material';
2
+ import type { CSSProperties } from 'react';
3
+ import type { ValueOf } from '@salsita-ai/common/utils';
4
+ declare const MuiSidebarComponentName: 'PhxDesktopSidebar';
5
+ declare const MuiSidebarSlots: {
6
+ readonly Root: 'root';
7
+ readonly Header: 'header';
8
+ readonly Body: 'body';
9
+ readonly Content: 'content';
10
+ readonly Tabs: 'tabs';
11
+ readonly Footer: 'footer';
12
+ };
13
+ type DesktopSidebarSlots = ValueOf<typeof MuiSidebarSlots>;
14
+ declare module '@mui/material/styles' {
15
+ interface ComponentNameToClassKey {
16
+ [MuiSidebarComponentName]: DesktopSidebarSlots;
17
+ }
18
+ interface ComponentsPropsList {
19
+ [MuiSidebarComponentName]: ThemeableDesktopSidebarProps;
20
+ }
21
+ interface Components {
22
+ [MuiSidebarComponentName]?: {
23
+ defaultProps?: ComponentsPropsList['PhxDesktopSidebar'];
24
+ styleOverrides?: ComponentsOverrides<Theme>['PhxDesktopSidebar'];
25
+ };
26
+ }
27
+ }
28
+ /** Which side of its layout the sidebar is on. */
29
+ export type DesktopSidebarSide = 'start' | 'end';
30
+ interface SidebarOwnerState {
31
+ readonly isHeaderEmpty?: boolean;
32
+ readonly isContentEmpty?: boolean;
33
+ }
34
+ export interface ThemeableDesktopSidebarProps extends SidebarOwnerState {
35
+ /**
36
+ * Background applied to sidebar sections (header, body, footer).
37
+ *
38
+ * @default theme.palette.background.paper
39
+ */
40
+ readonly background?: CSSProperties['background'];
41
+ /**
42
+ * Border applied to sidebar sections.
43
+ *
44
+ * @default 0
45
+ */
46
+ readonly border?: CSSProperties['border'];
47
+ /**
48
+ * Corner radius applied to sidebar sections.
49
+ *
50
+ * @default theme.shape.sidebarBorderRadius ?? theme.shape.borderRadius
51
+ */
52
+ readonly borderRadius?: CSSProperties['borderRadius'];
53
+ /**
54
+ * CSS filter applied to the sidebar root (e.g. drop-shadow for elevation).
55
+ *
56
+ * @default elevation[1] drop-shadow
57
+ */
58
+ readonly filter?: CSSProperties['filter'];
59
+ /**
60
+ * Spacing value for sidebar inner padding.
61
+ * Accepts a theme spacing multiplier or a CSS value.
62
+ *
63
+ * @default theme.spacing(2.5)
64
+ */
65
+ readonly padding?: number | string;
66
+ /**
67
+ * Background gradient for scrollable edge indicators.
68
+ * Applied to `::before` and `::after` pseudo-elements on the content area.
69
+ *
70
+ * @default linear-gradient(180deg, hsl(from black h s l / 12%), transparent 8px)
71
+ */
72
+ readonly scrollableIndicatorBackground?: CSSProperties['background'];
73
+ /**
74
+ * Inline size (width) of the sidebar. Not read from the theme: the sidebar takes its width from its
75
+ * `width` prop, which the built-in desktop layout sets from `ThemeableDesktopLayoutProps.sidebarWidth`.
76
+ */
77
+ readonly width?: CSSProperties['width'];
78
+ }
79
+ /** Props of the built-in desktop sidebar. */
80
+ export interface DesktopSidebarProps {
81
+ /**
82
+ * Inline size (width) of the sidebar. Without it the sidebar fills the width and height of its
83
+ * container, which the layout sizes and positions; with it the sidebar takes this width and the
84
+ * height of its content, unless its container stretches it.
85
+ */
86
+ readonly width?: CSSProperties['width'];
87
+ /**
88
+ * Which side of the layout the sidebar is on. The sidebar tabs sit outside the sidebar on the other
89
+ * side: to its left for `end`, to its right for `start`.
90
+ *
91
+ * @default 'end'
92
+ */
93
+ readonly side?: DesktopSidebarSide;
94
+ }
95
+ /**
96
+ * The built-in desktop sidebar: tabs, back button, property page, footer and the assistant panel, with
97
+ * their spacing, scrolling and empty states. In fullscreen it stays in place, transparent and inert;
98
+ * the layout decides whether it keeps its space.
99
+ */
100
+ export declare const DesktopSidebar: ({ width, side }: DesktopSidebarProps) => import("react/jsx-runtime").JSX.Element;
101
+ export {};
@@ -0,0 +1,16 @@
1
+ import{jsx as r,jsxs as a}from"react/jsx-runtime";import{paperClasses as e,styled as d,tabsClasses as i,useTheme as t,useThemeProps as o}from"@mui/material";import{useMemo as n,useState as s}from"react";import{useIsFullscreenActive as b}from"#package/react-sdk";import{attrf as l,commonStyles as p,useInvalidateScrollTimeline as c,useIsEmpty as h}from"#package/ui-sdk";import{ASSISTANT_PANEL_SLOT as m,AssistantPanel as u,useIsAssistantPanelOpen as S}from"../../../assistant/index.js";import{SidebarKeys as g}from"../../sidebar-keys/index.js";import{DesktopSidebarBackButton as k}from"../sidebar-back-button/index.js";import{DesktopSidebarContent as x,useSidebarContent as E}from"../sidebar-contents/index.js";import{DesktopSidebarFooter as f}from"../sidebar-footer/index.js";import{DesktopSidebarTabs as v}from"../sidebar-tabs/index.js";let R="PhxDesktopSidebar",y={Root:d("div",{name:R,slot:"root",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r})=>[`
2
+ --phx-sidebar-background: ${r.background};
3
+ --phx-sidebar-border: ${r.border};
4
+ --phx-sidebar-filter: ${r.filter};
5
+ --phx-sidebar-padding: ${r.padding};
6
+ --phx-sidebar-radius: ${r.borderRadius}px;
7
+ --phx-sidebar-scrollable-indicator-background: ${r.scrollableIndicatorBackground};
8
+ `,{borderRadius:"var(--phx-sidebar-radius)",display:"grid",filter:"var(--phx-sidebar-filter)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",inlineSize:r.width,...void 0===r.width&&{blockSize:"100%",inlineSize:"100%"},position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{"--phx-sidebar-background":"hsl(from gold h s l / 50%)"},[`&[data-sidebar*="${g.Visible}"]`]:{opacity:1},[`&[data-sidebar*="${g.Hidden}"]`]:{opacity:0},[`&[data-sidebar*="${g.Assistant}"] > :not([data-sidebar="${m}"])`]:{visibility:"hidden"}}]),Tabs:d("div",{name:R,slot:"tabs",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{spacing:a}})=>({insetBlockStart:0,insetInlineEnd:"100%",maxInlineSize:150,paddingInlineEnd:a(2),position:"absolute",..."start"===r.side&&{insetInlineEnd:"auto",insetInlineStart:"100%",paddingInlineEnd:0,paddingInlineStart:a(2),[`.${i.indicator}`]:{left:0,right:"auto"}},"&:is(:empty)":{padding:0},[`.${e.root}`]:{boxShadow:"none"}})),Header:d("header",{name:R,slot:"header",shouldForwardProp:r=>"ownerState"!==r})({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockEnd:0,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlock:"calc(0.6 * var(--phx-sidebar-padding))",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0}}),Body:d("div",{name:R,slot:"body",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:0,borderBlockEnd:0,display:"grid",position:"relative","[data-sidebar] &":{...r.isHeaderEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlockStart:"var(--phx-sidebar-padding)"}},'&:has([data-sidebar*="slot[content]"]:empty)':{...r.isContentEmpty&&{paddingBlock:0}},[`[data-sidebar*="${g.Minimalist}"] &`]:{...r.isContentEmpty&&{border:0}},[`[data-sidebar*="${g.Split}"] &`]:{borderBlockEnd:"var(--phx-sidebar-border)",borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",paddingBlockEnd:"var(--phx-sidebar-padding)"}})),Content:d("div",{name:R,slot:"content",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{spacing:a}})=>({...p.layout.normalizeScrollableContainer,alignContent:"start",borderRadius:"inherit",display:"grid",gap:a(3),padding:"var(--phx-sidebar-padding)","@supports (animation-timeline: scroll())":{"&[data-scrollable]":{scrollTimeline:"--phx-sidebar-timeline y","&::after, &::before":{animation:`${p.keyframes.fadeIn} both`,animationTimeline:"--phx-sidebar-timeline",background:"var(--phx-sidebar-scrollable-indicator-background)",backgroundRepeat:"no-repeat",content:'""',display:"block",insetInline:0,opacity:0,pointerEvents:"none",position:"absolute",zIndex:1},"&::after":{animationDirection:"reverse",animationRange:`calc(100% - ${a(4)}) 100%`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",insetBlockStart:"50%",insetBlockEnd:0,scale:"1 -1"},"&::before":{animationRange:`0 ${a(4)}`,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",insetBlockStart:0,insetBlockEnd:"50%"}}},"&:is(:empty)":{paddingBlock:0},"[data-sidebar] &":{...r.isHeaderEmpty&&{paddingBlockStart:0,"&::before":{borderStartStartRadius:0,borderStartEndRadius:0,insetBlockStart:"var(--phx-sidebar-padding)"}}},[`[data-sidebar*="${g.Split}"] &`]:{paddingBlockEnd:0,"&::after":{borderEndStartRadius:0,borderEndEndRadius:0,insetBlockEnd:"var(--phx-sidebar-padding)"}}})),Footer:d("footer",{name:R,slot:"footer",shouldForwardProp:r=>"ownerState"!==r})(({ownerState:r,theme:{palette:a,spacing:e}})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:`1px solid ${a.divider}`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",padding:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0},[`[data-sidebar*="${g.Minimalist}"] &`]:{...r.isContentEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit"}},[`[data-sidebar*="${g.Split}"] &`]:{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",marginBlockStart:e(2)}}))};export const DesktopSidebar=({width:e,side:d="end"})=>{let[i,p]=s(null),[m,B]=s(null),$=n(()=>({current:i}),[i]),w=n(()=>({current:m}),[m]),{palette:I,shape:j,spacing:C}=t(),{background:F=I.background.paper,border:H=0,borderRadius:P=j.sidebarBorderRadius??j.borderRadius,filter:z=`
9
+ drop-shadow(0 1px 1.5px hsl(from ${I.common.black} h s l / 12%))
10
+ drop-shadow(0 1px 0.5px hsl(from ${I.common.black} h s l / 14%))
11
+ drop-shadow(0 2px 0.5px hsl(from ${I.common.black} h s l / 20%))
12
+ `,padding:T=C(2.5),scrollableIndicatorBackground:D=`linear-gradient(
13
+ 180deg,
14
+ hsl(from black h s l / 12%),
15
+ hsl(from black h s l / 0%) 8px
16
+ )`}=o({props:{},name:R}),{hasMiniSidebar:M,hasSplitSidebar:A}=E(),V=S(),q=!b(),G=h($,{disabled:!q}),J=h(w,{disabled:!q});c(w,{disabled:!q});let K={background:F,border:H,borderRadius:P,filter:z,isHeaderEmpty:G,isContentEmpty:J,padding:T,scrollableIndicatorBackground:D,width:e};return a(y.Root,{ownerState:K,"data-sidebar":l({variant:{[`${g.Minimalist}`]:M,[`${g.Split}`]:A},state:{[`${g.Visible}`]:q,[`${g.Hidden}`]:!q,[`${g.Assistant}`]:V}}),inert:q?void 0:"",children:[r(y.Tabs,{ownerState:{...K,side:d},"data-sidebar":"slot[tabs]",children:r(v,{})}),r(y.Header,{ref:p,ownerState:K,"data-sidebar":"slot[header]",children:r(k,{})}),r(y.Body,{ownerState:K,"data-sidebar":"slot[body]",children:r(y.Content,{ref:B,ownerState:K,"data-sidebar":"slot[content]",children:r(x,{})})}),r(y.Footer,{ownerState:K,"data-sidebar":"slot[footer]",children:r(f,{})}),r(u,{})]})};
@@ -0,0 +1 @@
1
+ export { DesktopSidebar, type DesktopSidebarProps, type DesktopSidebarSide } from './DesktopSidebar.js';
@@ -0,0 +1 @@
1
+ export{DesktopSidebar}from"./DesktopSidebar.js";
@@ -1,8 +1,8 @@
1
1
  /**
2
- * InvariantViolations component that monitors domain store validity and displays
3
- * violation notifications using notistack snackbars.
2
+ * InvariantViolations component that shows the violation and error messages of
3
+ * `useConfiguratorMessages` as notistack snackbars.
4
4
  *
5
- * This component subscribes to the store's validity state and shows appropriate
6
- * error messages for uncaught errors and entity validation violations.
5
+ * An uncaught error is also logged; each entity violation becomes one snackbar
6
+ * prefixed with the id of its entity.
7
7
  */
8
8
  export declare const InvariantViolations: () => null;
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{useSnackbar as i}from"notistack";import{useSubscription as e}from"observable-hooks";import{useMemo as a}from"react";import{map as o}from"rxjs";import{match as n}from"ts-pattern";import{useDomain as s,useLogger as m,useResolveLocalizable as l}from"#package/react-sdk";export const InvariantViolations=()=>{let{storeSystem:p}=s(),{enqueueSnackbar:g}=i(),c=l(),f=m();return e(a(()=>p.stateSlices.potentiallyInvalid.pipe(o(r=>r.validity)),[p]),i=>{if(!i.valid&&"uncaught"===i.severity){f.error("Uncaught error",i.error),g(r(t,{id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"}),{variant:"error"});return}i.valid||i.entityViolations.forEach(({violation:r,entityId:t})=>{let i=c(r.message??r.type);g(`${String(t)}: ${i}`,{variant:n(r.severity).with("notice",()=>"info").with("warning",()=>"warning").with("fixable",()=>"error").with("fatal",()=>"error").exhaustive()})})}),null};
1
+ import{jsx as r}from"react/jsx-runtime";import{Trans as t}from"@lingui/react";import{useSnackbar as i}from"notistack";import{match as e}from"ts-pattern";import{useConfiguratorMessages as a,useLogger as n}from"#package/react-sdk";export const InvariantViolations=()=>{let{enqueueSnackbar:o}=i(),s=n();return a(i=>{e(i).with({kind:"error"},({error:i})=>{s.error("Uncaught error",i),o(r(t,{id:"sdk.messages.validation.uncaughtError.message",message:"Oops, something went wrong"}),{variant:"error"})}).with({kind:"violation"},({entityId:r,violation:t,text:i})=>{o(`${String(r)}: ${i}`,{variant:e(t.severity).with("notice",()=>"info").with("warning",()=>"warning").with("fixable",()=>"error").with("fatal",()=>"error").exhaustive()})}).with({kind:"sideEffect"},()=>{}).exhaustive()}),null};
@@ -1,9 +1,6 @@
1
1
  /**
2
- * SideEffects component that listens to domain store updates and displays
3
- * informational snackbars for updates that contain hint messages.
4
- *
5
- * This component renders nothing but subscribes to the committed state changes
6
- * from the domain store system and shows user-friendly notifications for
7
- * operations that provide feedback hints.
2
+ * SideEffects component that shows the side-effect messages of
3
+ * `useConfiguratorMessages`, the hints of committed updates, as informational
4
+ * notistack snackbars.
8
5
  */
9
6
  export declare const SideEffects: () => null;
@@ -1 +1 @@
1
- import{useSnackbar as t}from"notistack";import{useSubscription as r}from"observable-hooks";import{useMemo as e}from"react";import{distinctUntilChanged as o,map as i,skip as a}from"rxjs/operators";import{useDomain as m,useResolveLocalizable as n}from"#package/react-sdk";let p=[];export const SideEffects=()=>{let{storeSystem:s}=m(),f=n(),{enqueueSnackbar:c}=t();return r(e(()=>s.stateSlices.committed.pipe(a(1),o(),i(t=>{if("updates"in t){let r=t.updates.filter(t=>!!t.hint);return r.length>0?r:p}return p})),[s]),t=>{t.forEach(t=>{c(f(t.hint),{variant:"info"})})}),null};
1
+ import{useSnackbar as t}from"notistack";import{useConfiguratorMessages as e}from"#package/react-sdk";export const SideEffects=()=>{let{enqueueSnackbar:r}=t();return e(t=>{"sideEffect"===t.kind&&r(t.text,{variant:"info"})}),null};
@@ -1,5 +1,6 @@
1
1
  export * from './call-to-action/index.js';
2
2
  export * from './canvas/index.js';
3
+ export * from './desktop-sidebar/index.js';
3
4
  export * from './footer/index.js';
4
5
  export * from './hamburger-menu/index.js';
5
6
  export * from './header/index.js';
@@ -1 +1 @@
1
- export*from"./call-to-action/index.js";export*from"./canvas/index.js";export*from"./footer/index.js";export*from"./hamburger-menu/index.js";export*from"./header/index.js";export*from"./mobile-tabs/index.js";export*from"./powered-by/index.js";export*from"./readonly-banner/index.js";export*from"./services/index.js";export*from"./sidebar-back-button/index.js";export*from"./sidebar-contents/index.js";export*from"./sidebar-footer/index.js";export*from"./sidebar-tabs/index.js";export*from"./snackbar-root/index.js";export*from"./toolbar/index.js";export*from"./tool-controls/index.js";export*from"./view-controls/index.js";
1
+ export*from"./call-to-action/index.js";export*from"./canvas/index.js";export*from"./desktop-sidebar/index.js";export*from"./footer/index.js";export*from"./hamburger-menu/index.js";export*from"./header/index.js";export*from"./mobile-tabs/index.js";export*from"./powered-by/index.js";export*from"./readonly-banner/index.js";export*from"./services/index.js";export*from"./sidebar-back-button/index.js";export*from"./sidebar-contents/index.js";export*from"./sidebar-footer/index.js";export*from"./sidebar-tabs/index.js";export*from"./snackbar-root/index.js";export*from"./toolbar/index.js";export*from"./tool-controls/index.js";export*from"./view-controls/index.js";
@@ -1,80 +1,6 @@
1
1
  import type { ComponentsOverrides } from '@mui/material';
2
2
  import type { CSSProperties } from 'react';
3
3
  import type { ValueOf } from '@salsita-ai/common/utils';
4
- declare const MuiSidebarComponentName: 'PhxDesktopSidebar';
5
- declare const MuiSidebarSlots: {
6
- readonly Root: 'root';
7
- readonly Header: 'header';
8
- readonly Body: 'body';
9
- readonly Content: 'content';
10
- readonly Tabs: 'tabs';
11
- readonly Footer: 'footer';
12
- };
13
- type DesktopSidebarSlots = ValueOf<typeof MuiSidebarSlots>;
14
- declare module '@mui/material/styles' {
15
- interface ComponentNameToClassKey {
16
- [MuiSidebarComponentName]: DesktopSidebarSlots;
17
- }
18
- interface ComponentsPropsList {
19
- [MuiSidebarComponentName]: ThemeableDesktopSidebarProps;
20
- }
21
- interface Components {
22
- [MuiSidebarComponentName]?: {
23
- defaultProps?: ComponentsPropsList['PhxDesktopSidebar'];
24
- styleOverrides?: ComponentsOverrides<Theme>['PhxDesktopSidebar'];
25
- };
26
- }
27
- }
28
- interface SidebarOwnerState {
29
- readonly isHeaderEmpty?: boolean;
30
- readonly isContentEmpty?: boolean;
31
- }
32
- export interface ThemeableDesktopSidebarProps extends SidebarOwnerState {
33
- /**
34
- * Background applied to sidebar sections (header, body, footer).
35
- *
36
- * @default theme.palette.background.paper
37
- */
38
- readonly background?: CSSProperties['background'];
39
- /**
40
- * Border applied to sidebar sections.
41
- *
42
- * @default 0
43
- */
44
- readonly border?: CSSProperties['border'];
45
- /**
46
- * Corner radius applied to sidebar sections.
47
- *
48
- * @default theme.shape.sidebarBorderRadius ?? theme.shape.borderRadius
49
- */
50
- readonly borderRadius?: CSSProperties['borderRadius'];
51
- /**
52
- * CSS filter applied to the sidebar root (e.g. drop-shadow for elevation).
53
- *
54
- * @default elevation[1] drop-shadow
55
- */
56
- readonly filter?: CSSProperties['filter'];
57
- /**
58
- * Spacing value for sidebar inner padding.
59
- * Accepts a theme spacing multiplier or a CSS value.
60
- *
61
- * @default theme.spacing(2.5)
62
- */
63
- readonly padding?: number | string;
64
- /**
65
- * Background gradient for scrollable edge indicators.
66
- * Applied to `::before` and `::after` pseudo-elements on the content area.
67
- *
68
- * @default linear-gradient(180deg, hsl(from black h s l / 12%), transparent 8px)
69
- */
70
- readonly scrollableIndicatorBackground?: CSSProperties['background'];
71
- /**
72
- * Inline size (width) of the sidebar.
73
- *
74
- * @default inherited from ThemeableDesktopLayoutProps.sidebarWidth
75
- */
76
- readonly width?: CSSProperties['width'];
77
- }
78
4
  export declare const PhxDesktopLayoutName: 'PhxDesktopLayout';
79
5
  declare const MuiLayoutComponentName: "PhxDesktopLayout";
80
6
  declare const MuiLayoutSlots: {
@@ -1,17 +1,10 @@
1
- import{jsx as a,jsxs as t,Fragment as o}from"react/jsx-runtime";import{keyframes as e,paperClasses as r,snackbarClasses as d,styled as i,useTheme as n,useThemeProps as s}from"@mui/material";import{AnimatePresence as l,motion as p}from"motion/react";import{useCallback as b,useRef as u}from"react";import{useAccessService as c,useIsFullscreenActive as m}from"#package/react-sdk";import{attrf as h,commonStyles as y,numToPx as g,useInvalidateScrollTimeline as f,useIsEmpty as x,useResponsive as k}from"#package/ui-sdk";import{usePreview as v}from"../../../configurator-context/index.js";import{ASSISTANT_PANEL_SLOT as S,AssistantPanel as E,useIsAssistantPanelOpen as w}from"../../assistant/index.js";import{LayoutSlots as R}from"../slots/index.js";import{DesktopPreview as $}from"./DesktopPreview.js";import{useSceneSafeArea as B}from"./use-scene-safe-area.js";let C="PhxDesktopSidebar",D="minimalist",T="split",I="visible",A="hidden",P="assistant",F={Root:i("div",{name:C,slot:"root",shouldForwardProp:a=>"ownerState"!==a})(({ownerState:a})=>[`
2
- --phx-sidebar-background: ${a.background};
3
- --phx-sidebar-border: ${a.border};
4
- --phx-sidebar-filter: ${a.filter};
5
- --phx-sidebar-padding: ${a.padding};
6
- --phx-sidebar-radius: ${a.borderRadius}px;
7
- --phx-sidebar-scrollable-indicator-background: ${a.scrollableIndicatorBackground};
8
- `,{borderRadius:"var(--phx-sidebar-radius)",display:"grid",filter:"var(--phx-sidebar-filter)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",inlineSize:a.width,position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{"--phx-sidebar-background":"hsl(from gold h s l / 50%)"},[`&[data-sidebar*="${I}"]`]:{opacity:1},[`&[data-sidebar*="${A}"]`]:{opacity:0},[`&[data-sidebar*="${P}"] > :not([data-sidebar="${S}"])`]:{visibility:"hidden"}}]),Tabs:i("div",{name:C,slot:"tabs",shouldForwardProp:a=>"ownerState"!==a})(({theme:{spacing:a}})=>({insetBlockStart:0,insetInlineEnd:"100%",maxInlineSize:150,paddingInlineEnd:a(2),position:"absolute","&:is(:empty)":{padding:0},[`.${r.root}`]:{boxShadow:"none"}})),Header:i("header",{name:C,slot:"header",shouldForwardProp:a=>"ownerState"!==a})({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockEnd:0,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlock:"calc(0.6 * var(--phx-sidebar-padding))",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0}}),Body:i("div",{name:C,slot:"body",shouldForwardProp:a=>"ownerState"!==a})(({ownerState:a})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:0,borderBlockEnd:0,display:"grid",position:"relative",'[data-layout*="slot[sidebar]"]:where(:has([data-sidebar="slot[header]"])) &':{...a.isHeaderEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",paddingBlockStart:"var(--phx-sidebar-padding)"}},'&:has([data-sidebar*="slot[content]"]:empty)':{...a.isContentEmpty&&{paddingBlock:0}},[`[data-sidebar*="${D}"] &`]:{...a.isContentEmpty&&{border:0}},[`[data-sidebar*="${T}"] &`]:{borderBlockEnd:"var(--phx-sidebar-border)",borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",paddingBlockEnd:"var(--phx-sidebar-padding)"}})),Content:i("div",{name:C,slot:"content",shouldForwardProp:a=>"ownerState"!==a})(({ownerState:a,theme:{spacing:t}})=>({...y.layout.normalizeScrollableContainer,alignContent:"start",borderRadius:"inherit",display:"grid",gap:t(3),padding:"var(--phx-sidebar-padding)","@supports (animation-timeline: scroll())":{"&[data-scrollable]":{scrollTimeline:"--phx-sidebar-timeline y","&::after, &::before":{animation:`${y.keyframes.fadeIn} both`,animationTimeline:"--phx-sidebar-timeline",background:"var(--phx-sidebar-scrollable-indicator-background)",backgroundRepeat:"no-repeat",content:'""',display:"block",insetInline:0,opacity:0,pointerEvents:"none",position:"absolute",zIndex:1},"&::after":{animationDirection:"reverse",animationRange:`calc(100% - ${t(4)}) 100%`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",insetBlockStart:"50%",insetBlockEnd:0,scale:"1 -1"},"&::before":{animationRange:`0 ${t(4)}`,borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",insetBlockStart:0,insetBlockEnd:"50%"}}},"&:is(:empty)":{paddingBlock:0},'[data-layout*="slot[sidebar]"] &':{...a.isHeaderEmpty&&{paddingBlockStart:0,"&::before":{borderStartStartRadius:0,borderStartEndRadius:0,insetBlockStart:"var(--phx-sidebar-padding)"}}},[`[data-sidebar*="${T}"] &`]:{paddingBlockEnd:0,"&::after":{borderEndStartRadius:0,borderEndEndRadius:0,insetBlockEnd:"var(--phx-sidebar-padding)"}}})),Footer:i("footer",{name:C,slot:"footer",shouldForwardProp:a=>"ownerState"!==a})(({ownerState:a,theme:{palette:t,spacing:o}})=>({background:"var(--phx-sidebar-background)",border:"var(--phx-sidebar-border)",borderBlockStart:`1px solid ${t.divider}`,borderEndStartRadius:"inherit",borderEndEndRadius:"inherit",padding:"var(--phx-sidebar-padding)","&:is(:empty)":{border:0,paddingBlock:0},[`[data-sidebar*="${D}"] &`]:{...a.isContentEmpty&&{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit"}},[`[data-sidebar*="${T}"] &`]:{borderBlockStart:"var(--phx-sidebar-border)",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",marginBlockStart:o(2)}}))};export const PhxDesktopLayoutName="PhxDesktopLayout";let j="PhxDesktopLayout",z=i(p.div,{name:j,slot:"root",shouldForwardProp:a=>"ownerState"!==a})(({ownerState:a,theme:{spacing:t}})=>{let o=e({"0%":{marginInlineEnd:0},"100%":{marginInlineEnd:t(-2)}});return[`
1
+ import{jsx as t,jsxs as a,Fragment as o}from"react/jsx-runtime";import{keyframes as e,snackbarClasses as i,styled as r,useThemeProps as d}from"@mui/material";import{AnimatePresence as l,motion as s}from"motion/react";import{useCallback as n}from"react";import{useAccessService as u,useIsFullscreenActive as m}from"#package/react-sdk";import{attrf as p,commonStyles as y,numToPx as c,useResponsive as b}from"#package/ui-sdk";import{usePreview as h}from"../../../configurator-context/index.js";import{useIsAssistantPanelOpen as f}from"../../assistant/index.js";import{SidebarKeys as g}from"../sidebar-keys/index.js";import{LayoutSlots as x}from"../slots/index.js";import{DesktopPreview as v}from"./DesktopPreview.js";import{useLayoutSceneSafeArea as k}from"./use-layout-scene-safe-area.js";export const PhxDesktopLayoutName="PhxDesktopLayout";let w="PhxDesktopLayout",C=r(s.div,{name:w,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:a}})=>{let o=e({"0%":{marginInlineEnd:0},"100%":{marginInlineEnd:a(-2)}});return[`
9
2
  --inspect: off; // đŸ•šī¸ inspection mode toggle
10
3
 
11
- --phx-layout-sidebar-track-size: ${g(a.sidebarWidth)};
4
+ --phx-layout-sidebar-track-size: ${c(t.sidebarWidth)};
12
5
 
13
- --phx-layout-gap: ${t(2)};
14
- --phx-layout-gutter: ${t(3)};
6
+ --phx-layout-gap: ${a(2)};
7
+ --phx-layout-gutter: ${a(3)};
15
8
  `,{display:"grid",gridTemplateColumns:`
16
9
  [full-start]
17
10
  var(--phx-layout-gutter)
@@ -38,12 +31,4 @@ import{jsx as a,jsxs as t,Fragment as o}from"react/jsx-runtime";import{keyframes
38
31
  [bottom-start]
39
32
  min-content
40
33
  [bottom-end full-end]
41
- `,inset:0,isolation:"isolate",pointerEvents:"none",position:"absolute","@container style(--inspect: on)":{'& > *, & > * > *, [data-layout*="slot[body.footer]"] > *':{outline:"2px solid hsl(from tomato h s l / 50%)"}},'[data-layout*="interactive"]':{"& > *":{pointerEvents:"auto"}},'[data-layout*="slot[header]"]':{gridArea:"top-start / main-start / top-end / sidebar-end"},'[data-layout*="slot[body]"]':{containerType:"size",display:"grid",gridArea:"main",gridRowStart:"top-end",gridTemplateRows:"min-content 1fr min-content"},'[data-layout*="slot[body.top]"]':{gridArea:"1 / 1 / 2 / -1","& > *":{...y.transition.fadeIn}},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"1 / 1 / 3 / -1","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout*="slot[body.bottom]"]':{alignItems:"end",display:"grid",gap:t(2),gridArea:"3 / 1 / 4 / -1",gridTemplateColumns:"minmax(0, auto) minmax(60px, 1fr)",justifyContent:"start",position:"relative",'&:has([data-layout="slot[body.viewControls]"]:empty)':{gap:0,gridTemplateColumns:"repeat(2, auto)"}},'[data-layout="slot[body.toolbar]"]':{animation:`${o} auto linear both`,animationTimeline:"scroll(self inline)",display:"flex",margin:t(-2),overflowX:"scroll",overscrollBehavior:"contain",padding:t(2),scrollbarWidth:"none","&::after":{content:'""'}},'[data-layout="slot[body.toolControls]"]':{insetBlockEnd:`calc(100% + ${t(6)})`,position:"absolute","& > *":{...y.transition.fadeIn,transitionDuration:"300ms"}},'[data-layout="slot[body.viewControls]"]':{},'[data-layout="slot[body.logo]"], [data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${t(2)})`,position:"absolute"},'[data-layout="slot[body.sideEffects]"]':{insetInline:0,[`.${d.root}`]:{inset:"unset",insetBlockEnd:0,position:"absolute"}},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"top-start / sidebar-start / main-end / sidebar-end",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{display:"grid",gap:"var(--phx-layout-gap)",gridArea:"bottom-start / full-start / bottom-end / full-end"},'&:has([data-header*="fixed"])':{'[data-layout*="slot[header]"]':{gridArea:"full-start / full-start / top-end / full-end"},'[data-layout*="slot[body]"]':{gridRowStart:"main-start"},'[data-layout*="slot[sidebar]"]':{gridRow:"main-start / main-end"}},'&:has([data-header*="floating"])':{'[data-layout*="slot[header]"]':{gridColumnEnd:"main-end"}},[`&:has([data-sidebar*="${D}"])`]:{'[data-layout*="slot[sidebar]"]':{alignContent:"end",gridRow:"main-start / main-end"}},[`&:has([data-header*="floating"]):has([data-sidebar*="${D}"])`]:{'[data-layout*="slot[header]"]':{gridColumnEnd:"sidebar-end"},'[data-layout*="slot[sidebar]"]':{gridRowStart:"top-end"}},[`&:has([data-sidebar*="${P}"])`]:{'[data-layout*="slot[sidebar]"]':{alignContent:"stretch"}},[`&:has([data-sidebar*="${A}"])`]:{"--phx-layout-gap":0,"--phx-layout-sidebar-track-size":0,'[data-layout*="slot[sidebar]"]':{overflow:"hidden"}}}]}),H=i("div")({gridArea:"1 / 1 / -1 / -1"});export const DesktopLayout=()=>{let e=u(null),r=u(null),{palette:d,shape:i,spacing:p}=n(),{sidebarWidth:y="clamp(360px, 30cqi, 400px)"}=s({props:{},name:j}),{background:g=d.background.paper,border:S=0,borderRadius:L=i.sidebarBorderRadius??i.borderRadius,filter:W=`
42
- drop-shadow(0 1px 1.5px hsl(from ${d.common.black} h s l / 12%))
43
- drop-shadow(0 1px 0.5px hsl(from ${d.common.black} h s l / 14%))
44
- drop-shadow(0 2px 0.5px hsl(from ${d.common.black} h s l / 20%))
45
- `,padding:q=p(2.5),scrollableIndicatorBackground:M=`linear-gradient(
46
- 180deg,
47
- hsl(from black h s l / 12%),
48
- hsl(from black h s l / 0%) 8px
49
- )`}=s({props:{},name:C}),{hasMiniSidebar:N,hasSplitSidebar:V}=R.useSidebarContent(),X=w(),{accessInfo:G}=c(),J=m(),{isPreview:K,isHidden:O}=v(),Q=!O&&!K,U=!J,{setCanvasPadding:Y,setAnimating:Z}=k(),{containerRef:_,safeAreaRef:aa,update:at}=B(Y,N&&!X,Q),ao=b(()=>{Z(!0)},[Z]),ae=b(()=>{Z(!1),at()},[Z,at]),ar=Q&&U,ad=x(e,{disabled:!ar}),ai=x(r,{disabled:!ar});f(r,{disabled:!ar});let an={background:g,border:S,borderRadius:L,filter:W,isHeaderEmpty:ad,isContentEmpty:ai,padding:q,scrollableIndicatorBackground:M,width:y};return a(o,{children:t(l,{mode:"wait",children:[!O&&K&&a($,{},"preview-layout"),Q&&t(z,{layoutId:"ui-layout",layout:!0,ownerState:{sidebarWidth:y},"data-layout":h({state:{initial:!J,fullscreen:J}}),onLayoutAnimationStart:ao,onLayoutAnimationComplete:ae,children:[a(H,{ref:_}),a("header",{"data-layout":"slot[header]",children:a(R.DesktopHeader,{})}),t("main",{"data-layout":"slot[body]",children:[a("div",{"data-layout":"slot[body.top] interactive",children:a(R.DesktopCallToAction,{})}),a("div",{ref:aa,"data-layout":"slot[body.safeSceneArea]"}),t("div",{"data-layout":"slot[body.bottom] interactive",children:[a("div",{"data-layout":"slot[body.toolbar]",children:a(R.DesktopToolbar,{})}),a("div",{"data-layout":"slot[body.toolControls]",children:!J&&a(R.DesktopToolControls,{})}),a("div",{"data-layout":"slot[body.viewControls]",children:a(R.DesktopViewControls,{})}),a("div",{"data-layout":"slot[body.logo]",children:a(R.DesktopPoweredBy,{})}),a("div",{"data-layout":"slot[body.sideEffects]",children:a(R.DesktopSnackbarsRoot,{})})]})]}),a("aside",{"data-layout":"slot[sidebar]",children:t(F.Root,{ownerState:an,"data-sidebar":h({variant:{[`${D}`]:N,[`${T}`]:V},state:{[`${I}`]:U,[`${A}`]:!U,[`${P}`]:X}}),inert:U?void 0:"",children:[a(F.Tabs,{ownerState:an,"data-sidebar":"slot[tabs]",children:a(R.DesktopSidebarTabs,{})}),a(F.Header,{ref:e,ownerState:an,"data-sidebar":"slot[header]",children:a(R.DesktopSidebarBackButton,{})}),a(F.Body,{ownerState:an,"data-sidebar":"slot[body]",children:a(F.Content,{ref:r,ownerState:an,"data-sidebar":"slot[content]",children:a(R.DesktopSidebarContent,{})})}),a(F.Footer,{ownerState:an,"data-sidebar":"slot[footer]",children:a(R.DesktopSidebarFooter,{})}),a(E,{})]})}),t("footer",{"data-layout":"slot[footer] interactive",children:[G.viewMode&&!J&&a(R.DesktopReadonlyBanner,{}),a(R.DesktopFooter,{})]})]},"interface-layout")]})})};
34
+ `,inset:0,isolation:"isolate",pointerEvents:"none",position:"absolute","@container style(--inspect: on)":{'& > *, & > * > *, [data-layout*="slot[body.footer]"] > *':{outline:"2px solid hsl(from tomato h s l / 50%)"}},'[data-layout*="interactive"]':{"& > *":{pointerEvents:"auto"}},'[data-layout*="slot[header]"]':{gridArea:"top-start / main-start / top-end / sidebar-end"},'[data-layout*="slot[body]"]':{containerType:"size",display:"grid",gridArea:"main",gridRowStart:"top-end",gridTemplateRows:"min-content 1fr min-content"},'[data-layout*="slot[body.top]"]':{gridArea:"1 / 1 / 2 / -1","& > *":{...y.transition.fadeIn}},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"1 / 1 / 3 / -1","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout*="slot[body.bottom]"]':{alignItems:"end",display:"grid",gap:a(2),gridArea:"3 / 1 / 4 / -1",gridTemplateColumns:"minmax(0, auto) minmax(60px, 1fr)",justifyContent:"start",position:"relative",'&:has([data-layout="slot[body.viewControls]"]:empty)':{gap:0,gridTemplateColumns:"repeat(2, auto)"}},'[data-layout="slot[body.toolbar]"]':{animation:`${o} auto linear both`,animationTimeline:"scroll(self inline)",display:"flex",margin:a(-2),overflowX:"scroll",overscrollBehavior:"contain",padding:a(2),scrollbarWidth:"none","&::after":{content:'""'}},'[data-layout="slot[body.toolControls]"]':{insetBlockEnd:`calc(100% + ${a(6)})`,position:"absolute","& > *":{...y.transition.fadeIn,transitionDuration:"300ms"}},'[data-layout="slot[body.viewControls]"]':{},'[data-layout="slot[body.logo]"], [data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${a(2)})`,position:"absolute"},'[data-layout="slot[body.sideEffects]"]':{insetInline:0,[`.${i.root}`]:{inset:"unset",insetBlockEnd:0,position:"absolute"}},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"top-start / sidebar-start / main-end / sidebar-end",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{display:"grid",gap:"var(--phx-layout-gap)",gridArea:"bottom-start / full-start / bottom-end / full-end"},'&:has([data-header*="fixed"])':{'[data-layout*="slot[header]"]':{gridArea:"full-start / full-start / top-end / full-end"},'[data-layout*="slot[body]"]':{gridRowStart:"main-start"},'[data-layout*="slot[sidebar]"]':{gridRow:"main-start / main-end"}},'&:has([data-header*="floating"])':{'[data-layout*="slot[header]"]':{gridColumnEnd:"main-end"}},[`&:has([data-sidebar*="${g.Minimalist}"])`]:{'[data-layout*="slot[sidebar]"]':{alignContent:"end",gridRow:"main-start / main-end"}},[`&:has([data-header*="floating"]):has([data-sidebar*="${g.Minimalist}"])`]:{'[data-layout*="slot[header]"]':{gridColumnEnd:"sidebar-end"},'[data-layout*="slot[sidebar]"]':{gridRowStart:"top-end"}},[`&:has([data-sidebar*="${g.Assistant}"])`]:{'[data-layout*="slot[sidebar]"]':{alignContent:"stretch"}},[`&:has([data-sidebar*="${g.Hidden}"])`]:{"--phx-layout-gap":0,"--phx-layout-sidebar-track-size":0,'[data-layout*="slot[sidebar]"]':{overflow:"hidden"}}}]}),D=r("div")({gridArea:"1 / 1 / -1 / -1"});export const DesktopLayout=()=>{let{sidebarWidth:e="clamp(360px, 30cqi, 400px)"}=d({props:{},name:w}),{hasMiniSidebar:i}=x.useSidebarContent(),r=f(),{accessInfo:s}=u(),y=m(),{isPreview:c,isHidden:g}=h(),A=!g&&!c,{setAnimating:E}=b(),{containerRef:S,safeAreaRef:T,update:$}=k({enabled:A,hasMiniSidebar:i&&!r}),j=n(()=>{E(!0)},[E]),R=n(()=>{E(!1),$()},[E,$]);return t(o,{children:a(l,{mode:"wait",children:[!g&&c&&t(v,{},"preview-layout"),A&&a(C,{layoutId:"ui-layout",layout:!0,ownerState:{sidebarWidth:e},"data-layout":p({state:{initial:!y,fullscreen:y}}),onLayoutAnimationStart:j,onLayoutAnimationComplete:R,children:[t(D,{ref:S}),t("header",{"data-layout":"slot[header]",children:t(x.DesktopHeader,{})}),a("main",{"data-layout":"slot[body]",children:[t("div",{"data-layout":"slot[body.top] interactive",children:t(x.DesktopCallToAction,{})}),t("div",{ref:T,"data-layout":"slot[body.safeSceneArea]"}),a("div",{"data-layout":"slot[body.bottom] interactive",children:[t("div",{"data-layout":"slot[body.toolbar]",children:t(x.DesktopToolbar,{})}),t("div",{"data-layout":"slot[body.toolControls]",children:!y&&t(x.DesktopToolControls,{})}),t("div",{"data-layout":"slot[body.viewControls]",children:t(x.DesktopViewControls,{})}),t("div",{"data-layout":"slot[body.logo]",children:t(x.DesktopPoweredBy,{})}),t("div",{"data-layout":"slot[body.sideEffects]",children:t(x.DesktopSnackbarsRoot,{})})]})]}),t("aside",{"data-layout":"slot[sidebar]",children:t(x.DesktopSidebar,{width:e})}),a("footer",{"data-layout":"slot[footer] interactive",children:[s.viewMode&&!y&&t(x.DesktopReadonlyBanner,{}),t(x.DesktopFooter,{})]})]},"interface-layout")]})})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as o}from"react";import{useResolveLocalizable as a}from"#package/react-sdk";import{Preview as i,useResponsive as r}from"#package/ui-sdk";import{usePresetSelection as n,usePreview as s}from"../../../configurator-context/index.js";import{useSceneSafeArea as p}from"./use-scene-safe-area.js";let m={id:"sdk.preview.customize.title",message:"Customize product"},u={id:"sdk.preview.start.button.label",message:"Start configuring"},c={layoutId:"ui-layout",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{layout:{type:"spring",bounce:.2,duration:.6},opacity:{duration:.2,ease:"linear"}}};export const DesktopPreview=l=>{let{slotProps:d={},slots:f}=l,{enter:y}=s(),{hasMultiplePresets:g}=n(),{setCanvasPadding:k,setAnimating:x}=r(),{containerRef:b,safeAreaRef:j,update:w}=p(k,!1),S=a(),v=e(()=>{x(!0)},[x]),A=e(()=>{x(!1),w()},[x,w]),L=o(()=>({...d,root:{...c,onLayoutAnimationStart:v,onLayoutAnimationComplete:A,...d.root}}),[A,v,d]);return t(i,{title:S(m),buttonLabel:S(u),containerRef:b,safeAreaRef:j,withScene:!g,slots:f,slotProps:L,onStart:y})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as o}from"react";import{useResolveLocalizable as a}from"#package/react-sdk";import{Preview as i,useResponsive as r}from"#package/ui-sdk";import{usePresetSelection as n,usePreview as s}from"../../../configurator-context/index.js";import{useLayoutSceneSafeArea as p}from"./use-layout-scene-safe-area.js";let u={id:"sdk.preview.customize.title",message:"Customize product"},m={id:"sdk.preview.start.button.label",message:"Start configuring"},c={layoutId:"ui-layout",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{layout:{type:"spring",bounce:.2,duration:.6},opacity:{duration:.2,ease:"linear"}}};export const DesktopPreview=l=>{let{slotProps:d={},slots:f}=l,{enter:y}=s(),{hasMultiplePresets:g}=n(),{setAnimating:b}=r(),{containerRef:k,safeAreaRef:x,update:S}=p({enabled:!0,hasMiniSidebar:!1}),j=a(),w=e(()=>{b(!0)},[b]),v=e(()=>{b(!1),S()},[b,S]),A=o(()=>({...d,root:{...c,onLayoutAnimationStart:w,onLayoutAnimationComplete:v,...d.root}}),[v,w,d]);return t(i,{title:j(u),buttonLabel:j(m),containerRef:k,safeAreaRef:x,withScene:!g,slots:f,slotProps:A,onStart:y})};
@@ -1,11 +1,11 @@
1
- import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarClasses as o,styled as i,useTheme as r,useThemeProps as n}from"@mui/material";import d from"lodash/noop.js";import{AnimatePresence as s}from"motion/react";import{useRef as l}from"react";import{useAccessService as m,useEagerObservableSelector as c,useIsFullscreenActive as p}from"#package/react-sdk";import{attrf as u,commonStyles as b,numToPx as h,useIsEmpty as g,useResponsive as f,useViewportSize as y}from"#package/ui-sdk";import{useConfigurator as x}from"../../../application-runtime/index.js";import{usePreview as v}from"../../../configurator-context/index.js";import{ASSISTANT_PANEL_SLOT as w,AssistantPanel as S,useIsAssistantPanelOpen as $}from"../../assistant/index.js";import{LayoutSlots as k}from"../slots/index.js";import{MobileHeader as C}from"../slots/slots.js";import{MobilePreview as F}from"./MobilePreview.js";import{useSceneSafeArea as M}from"./use-scene-safe-area.js";let T="visible",I="hidden",R=i("div",{name:"PhxMobileHeader",slot:"root"})(({theme:{spacing:t}})=>({...b.transition.fadeInFrom,alignItems:"center",display:"flex",gap:t(1),justifyContent:"space-between",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-header*="slot"]':{display:"flex",gap:t(2),"& > *":{pointerEvents:"auto"}},'[data-header="slot[center]"]':{display:"grid",inset:0,placeItems:"center",position:"absolute"},[`&[data-header*="${T}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-header*="${I}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 -60%"}})),B="visible",E="hidden",P=i("div",{name:"PhxMobileControls",slot:"root"})(({theme:{spacing:t}})=>({alignItems:"end",display:"flex",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-controls*="slot"]':{"& > *":{pointerEvents:"auto"}},'[data-controls="slot[toolControls]"]':{...b.transition.fadeInFrom,"&:not(:empty)":{marginInlineEnd:t(2)},"& > *":{...b.transition.fadeIn,transitionDelay:"300ms",transitionDuration:"300ms"}},'[data-controls="slot[viewControls]"]':{...b.transition.fadeInFrom,marginInlineStart:"auto"},'[data-controls="slot[toolbar]"]':{"&:not(:empty)":{marginInlineStart:t(2)}},[`&[data-controls*="${B}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"}},[`&[data-controls*="${E}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"}}})),D="PhxMobileSidebar",j="visible",A="hidden",z="assistant",H={Root:i("div",{name:D,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t})=>[`
1
+ import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarClasses as o,styled as i,useTheme as r,useThemeProps as n}from"@mui/material";import{AnimatePresence as d}from"motion/react";import{useRef as s}from"react";import{useAccessService as l,useEagerObservableSelector as m,useIsFullscreenActive as c}from"#package/react-sdk";import{attrf as p,commonStyles as u,numToPx as b,useIsEmpty as h,useViewportSize as g}from"#package/ui-sdk";import{useConfigurator as f}from"../../../application-runtime/index.js";import{usePreview as y}from"../../../configurator-context/index.js";import{ASSISTANT_PANEL_SLOT as x,AssistantPanel as v,useIsAssistantPanelOpen as w}from"../../assistant/index.js";import{LayoutSlots as S}from"../slots/index.js";import{MobileHeader as $}from"../slots/slots.js";import{MobilePreview as k}from"./MobilePreview.js";import{useLayoutSceneSafeArea as C}from"./use-layout-scene-safe-area.js";let F="visible",M="hidden",T=i("div",{name:"PhxMobileHeader",slot:"root"})(({theme:{spacing:t}})=>({...u.transition.fadeInFrom,alignItems:"center",display:"flex",gap:t(1),justifyContent:"space-between",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-header*="slot"]':{display:"flex",gap:t(2),"& > *":{pointerEvents:"auto"}},'[data-header="slot[center]"]':{display:"grid",inset:0,placeItems:"center",position:"absolute"},[`&[data-header*="${F}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-header*="${M}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 -60%"}})),I="visible",R="hidden",B=i("div",{name:"PhxMobileControls",slot:"root"})(({theme:{spacing:t}})=>({alignItems:"end",display:"flex",position:"relative","@container style(--inspect: on)":{background:"hsl(from tomato h s l / 50%)"},'[data-controls*="slot"]':{"& > *":{pointerEvents:"auto"}},'[data-controls="slot[toolControls]"]':{...u.transition.fadeInFrom,"&:not(:empty)":{marginInlineEnd:t(2)},"& > *":{...u.transition.fadeIn,transitionDelay:"300ms",transitionDuration:"300ms"}},'[data-controls="slot[viewControls]"]':{...u.transition.fadeInFrom,marginInlineStart:"auto"},'[data-controls="slot[toolbar]"]':{"&:not(:empty)":{marginInlineStart:t(2)}},[`&[data-controls*="${I}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"}},[`&[data-controls*="${R}"]`]:{'[data-controls="slot[toolControls]"], [data-controls="slot[viewControls]"]':{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"}}})),E="PhxMobileSidebar",P="visible",D="hidden",j="assistant",A={Root:i("div",{name:E,slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t})=>[`
2
2
  --phx-sidebar-background: ${t.background};
3
3
  --phx-sidebar-padding: ${t.padding};
4
4
  --phx-sidebar-radius: ${t.borderRadius}px;
5
- `,{...b.transition.fadeInFrom,background:"var(--phx-sidebar-background)",borderStartStartRadius:"var(--phx-sidebar-radius)",borderStartEndRadius:"var(--phx-sidebar-radius)",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{background:"hsl(from gold h s l / 50%)"},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-sidebar-radius":0,'[data-sidebar*="slot[header]"]':{paddingBlock:0,"& > *":{display:"none"}}}},[`&[data-sidebar*="${j}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-sidebar*="${A}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"},[`&[data-sidebar*="${z}"] > :not([data-sidebar="${w}"])`]:{visibility:"hidden"}}]),Header:i("header",{name:D,slot:"header",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({alignItems:"center",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",display:"grid",gap:t(1),gridTemplateColumns:"repeat(2, minmax(0, 1fr))",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","& > *":{...b.transition.fadeIn,transitionDelay:"100ms",transitionDuration:"300ms"},'[data-sidebar="slot[header.start]"]':{},'[data-sidebar="slot[header.end]"]':{justifySelf:"end"}})),Body:i("div",{name:D,slot:"body",shouldForwardProp:t=>"ownerState"!==t})({display:"grid",gridTemplateRows:"minmax(0, 1fr)"}),Content:i("div",{name:D,slot:"content",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({...b.layout.normalizeScrollableContainer,display:"grid",gap:t(2),gridAutoRows:"min-content",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:empty":{paddingBlock:0}})),Tabs:i("div",{name:D,slot:"tabs",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"calc(var(--phx-sidebar-padding) * 0.75)","&:is(:empty)":{border:0,padding:0}})),Footer:i("footer",{name:D,slot:"footer",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{borderColor:"transparent",paddingBlock:0}}))};export const PhxMobileLayoutName="PhxMobileLayout";let L="initial",q="fullscreen",N="min(480px, 50cqb)",V=["auto","min-content","max-content","fit-content"],G=i("div",{name:"PhxMobileLayout",slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:a}})=>[`
5
+ `,{...u.transition.fadeInFrom,background:"var(--phx-sidebar-background)",borderStartStartRadius:"var(--phx-sidebar-radius)",borderStartEndRadius:"var(--phx-sidebar-radius)",display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"min-content minmax(0, 1fr) min-content",position:"relative","& > *":{pointerEvents:"auto"},"@container style(--inspect: on)":{background:"hsl(from gold h s l / 50%)"},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-sidebar-radius":0,'[data-sidebar*="slot[header]"]':{paddingBlock:0,"& > *":{display:"none"}}}},[`&[data-sidebar*="${P}"]`]:{opacity:1,transitionDuration:"200ms, 300ms",transitionTimingFunction:"linear, ease-out",translate:"0 0"},[`&[data-sidebar*="${D}"]`]:{opacity:0,transitionDuration:"100ms, 100ms",transitionTimingFunction:"linear, ease-in",translate:"0 60%"},[`&[data-sidebar*="${j}"] > :not([data-sidebar="${x}"])`]:{visibility:"hidden"}}]),Header:i("header",{name:E,slot:"header",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({alignItems:"center",borderStartStartRadius:"inherit",borderStartEndRadius:"inherit",display:"grid",gap:t(1),gridTemplateColumns:"repeat(2, minmax(0, 1fr))",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","& > *":{...u.transition.fadeIn,transitionDelay:"100ms",transitionDuration:"300ms"},'[data-sidebar="slot[header.start]"]':{},'[data-sidebar="slot[header.end]"]':{justifySelf:"end"}})),Body:i("div",{name:E,slot:"body",shouldForwardProp:t=>"ownerState"!==t})({display:"grid",gridTemplateRows:"minmax(0, 1fr)"}),Content:i("div",{name:E,slot:"content",shouldForwardProp:t=>"ownerState"!==t})(({theme:{spacing:t}})=>({...u.layout.normalizeScrollableContainer,display:"grid",gap:t(2),gridAutoRows:"min-content",paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:empty":{paddingBlock:0}})),Tabs:i("div",{name:E,slot:"tabs",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"calc(var(--phx-sidebar-padding) * 0.75)","&:is(:empty)":{border:0,padding:0}})),Footer:i("footer",{name:E,slot:"footer",shouldForwardProp:t=>"ownerState"!==t})(({theme:{palette:t}})=>({borderBlockStart:`1px solid ${t.divider}`,paddingBlock:"calc(var(--phx-sidebar-padding) * 0.5)",paddingInline:"var(--phx-sidebar-padding)","&:is(:empty)":{borderColor:"transparent",paddingBlock:0}}))};export const PhxMobileLayoutName="PhxMobileLayout";let z="initial",H="fullscreen",L="min(480px, 50cqb)",q=["auto","min-content","max-content","fit-content"],N=i("div",{name:"PhxMobileLayout",slot:"root",shouldForwardProp:t=>"ownerState"!==t})(({ownerState:t,theme:{spacing:a}})=>[`
6
6
  --inspect: off; // đŸ•šī¸ inspection mode toggle
7
7
 
8
- --phx-layout-sidebar-track-size: ${h(t.sidebarHeight)};
8
+ --phx-layout-sidebar-track-size: ${b(t.sidebarHeight)};
9
9
  --phx-layout-gutter: ${a(2)};
10
10
  `,{display:"grid",gridTemplateColumns:`
11
11
  [full-start]
@@ -39,4 +39,4 @@ import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import{snackbarC
39
39
  [footer-end]
40
40
  var(--phx-layout-gutter)
41
41
  [full-end]
42
- `},'[data-layout*="slot[body.header]"]':{gridArea:"header-start / main-start / header-end / main-end"},'[data-layout*="slot[body.footer]"]':{gridArea:"footer-start / main-start / footer-end / main-end",position:"relative"},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"full","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${a(2)})`,position:"absolute"},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"sidebar-start / full-start / sidebar-end / full-end",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{gridArea:"footer-start / full-start / footer-end / full-end",zIndex:1},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-layout-sidebar-track-size":"min-content"}},[`&[data-layout*="${L}"]`]:{transitionDelay:"200ms",transitionDuration:"300ms"},[`&[data-layout*="${q}"]`]:{transitionDelay:"0ms",transitionDuration:"300ms"},[`&:has([data-sidebar*="${A}"])[class]`]:{"--phx-layout-sidebar-track-size":0}},null!=t.assistantFocusHeight&&{'[data-layout*="slot[sidebar]"]':{alignSelf:"start",blockSize:`min(100%, ${t.assistantFocusHeight}px)`,gridRow:"full-start / full-end",zIndex:2}}]),J=i("div")({gridArea:"1 / 1 / -1 / -1"}),K=t=>({inert:t?"":void 0});export const MobileLayout=()=>{let o=l(null),{palette:i,shape:b,spacing:h}=r(),{sidebarHeight:w=N}=n({props:{},name:"PhxMobileLayout"}),{background:O=i.background.paper,borderRadius:Q=b.sidebarBorderRadius??b.borderRadius,padding:U=h(2)}=n({props:{},name:D}),{accessInfo:W}=m(),X=p(),{isPreview:Y,isHidden:Z}=v(),_=!Z&&!Y,tt=!X&&_,ta=!X&&_,te=!X,{setCanvasPadding:to}=f(),{containerRef:ti,safeAreaRef:tr}=M(_?to:d,!1),tn=g(o,{disabled:!te}),{assistantSystem:td}=x(),ts=$(),tl=c(td.panel$,t=>t.isInputFocused,[]),tm=ts&&te&&tl,tc=y(tm),tp=tn&&!ts,tu={isContentEmpty:tp,sidebarHeight:ts?V.includes(w)?N:w:w,assistantFocusHeight:tm?tc?.[1]:void 0},tb={background:O,borderRadius:Q,padding:U,isContentEmpty:tp};return a(e,{children:[t(s,{initial:!1,children:!Z&&Y&&t(F,{})}),a(G,{ownerState:tu,"data-layout":u({state:{[`${L}`]:!X,[`${q}`]:X}}),...K(!_),children:[t(J,{ref:ti}),t("div",{"data-layout":"slot[sideEffects]",children:t(k.MobileSnackbarsRoot,{})}),a("main",{"data-layout":"slot[body]",children:[t("header",{"data-layout":"slot[body.header]",children:a(R,{"data-header":u({state:{[`${T}`]:tt,[`${I}`]:!tt}}),...K(!tt),children:[t("div",{"data-header":"slot[start]",children:t(C,{})}),t("div",{"data-header":"slot[center]",children:t(k.MobileCallToAction,{})}),a("div",{"data-header":"slot[end]",children:[W.viewMode&&!X&&t(k.MobileReadonlyBanner,{}),t(k.MobileHamburgerMenu,{})]})]})}),t("div",{ref:tr,"data-layout":"slot[body.safeSceneArea]"}),t("div",{"data-layout":"slot[body.footer] interactive",children:a(P,{"data-controls":u({state:{[`${B}`]:ta,[`${E}`]:!ta}}),children:[t("div",{"data-controls":"slot[toolControls]",...K(!ta),children:t(k.MobileToolControls,{})}),t("div",{"data-controls":"slot[viewControls]",...K(!ta),children:t(k.MobileViewControls,{})}),t("div",{"data-controls":"slot[toolbar]",children:_&&t(k.MobileToolbar,{})})]})})]}),t("aside",{"data-layout":"slot[sidebar]",children:a(H.Root,{ownerState:tb,"data-sidebar":u({state:{[`${j}`]:te,[`${A}`]:!te,[`${z}`]:ts}}),...K(!te),children:[a(H.Header,{ownerState:tb,"data-sidebar":"slot[header]",children:[t("div",{"data-sidebar":"slot[header.start]",children:t(k.MobileSidebarBackButton,{})}),t("div",{"data-sidebar":"slot[header.end]",children:t(k.MobilePoweredBy,{})})]}),t(H.Body,{ownerState:tb,"data-sidebar":"slot[body]",children:t(H.Content,{ref:o,ownerState:tb,"data-sidebar":"slot[content]",children:t(k.MobileSidebarContent,{})})}),t(H.Tabs,{ownerState:tb,"data-sidebar":"slot[tabs]",children:t(k.MobileTabs,{})}),t(H.Footer,{ownerState:tb,"data-sidebar":"slot[footer]",children:t(k.MobileSidebarFooter,{})}),t(S,{})]})}),t("footer",{"data-layout":"slot[footer] interactive",children:t(k.MobileFooter,{})})]})]})};
42
+ `},'[data-layout*="slot[body.header]"]':{gridArea:"header-start / main-start / header-end / main-end"},'[data-layout*="slot[body.footer]"]':{gridArea:"footer-start / main-start / footer-end / main-end",position:"relative"},'[data-layout*="slot[body.safeSceneArea]"]':{gridArea:"full","@container style(--inspect: on)":{background:"hsl(from lime h s l / 50%)"}},'[data-layout="slot[body.sideEffects]"]':{insetBlockEnd:`calc(100% + ${a(2)})`,position:"absolute"},'[data-layout*="slot[sidebar]"]':{display:"grid",gridArea:"sidebar-start / full-start / sidebar-end / full-end",gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:"minmax(0, auto)"},'[data-layout*="slot[footer]"]':{gridArea:"footer-start / full-start / footer-end / full-end",zIndex:1},'&:has([data-sidebar*="slot[content]"])':{...t.isContentEmpty&&{"--phx-layout-sidebar-track-size":"min-content"}},[`&[data-layout*="${z}"]`]:{transitionDelay:"200ms",transitionDuration:"300ms"},[`&[data-layout*="${H}"]`]:{transitionDelay:"0ms",transitionDuration:"300ms"},[`&:has([data-sidebar*="${D}"])[class]`]:{"--phx-layout-sidebar-track-size":0}},null!=t.assistantFocusHeight&&{'[data-layout*="slot[sidebar]"]':{alignSelf:"start",blockSize:`min(100%, ${t.assistantFocusHeight}px)`,gridRow:"full-start / full-end",zIndex:2}}]),V=i("div")({gridArea:"1 / 1 / -1 / -1"}),G=t=>({inert:t?"":void 0});export const MobileLayout=()=>{let o=s(null),{palette:i,shape:u,spacing:b}=r(),{sidebarHeight:x=L}=n({props:{},name:"PhxMobileLayout"}),{background:J=i.background.paper,borderRadius:K=u.sidebarBorderRadius??u.borderRadius,padding:O=b(2)}=n({props:{},name:E}),{accessInfo:Q}=l(),U=c(),{isPreview:W,isHidden:X}=y(),Y=!X&&!W,Z=!U&&Y,_=!U&&Y,tt=!U,{containerRef:ta,safeAreaRef:te}=C({enabled:Y,hasMiniSidebar:!1}),to=h(o,{disabled:!tt}),{assistantSystem:ti}=f(),tr=w(),tn=m(ti.panel$,t=>t.isInputFocused,[]),td=tr&&tt&&tn,ts=g(td),tl=to&&!tr,tm={isContentEmpty:tl,sidebarHeight:tr?q.includes(x)?L:x:x,assistantFocusHeight:td?ts?.[1]:void 0},tc={background:J,borderRadius:K,padding:O,isContentEmpty:tl};return a(e,{children:[t(d,{initial:!1,children:!X&&W&&t(k,{})}),a(N,{ownerState:tm,"data-layout":p({state:{[`${z}`]:!U,[`${H}`]:U}}),...G(!Y),children:[t(V,{ref:ta}),t("div",{"data-layout":"slot[sideEffects]",children:t(S.MobileSnackbarsRoot,{})}),a("main",{"data-layout":"slot[body]",children:[t("header",{"data-layout":"slot[body.header]",children:a(T,{"data-header":p({state:{[`${F}`]:Z,[`${M}`]:!Z}}),...G(!Z),children:[t("div",{"data-header":"slot[start]",children:t($,{})}),t("div",{"data-header":"slot[center]",children:t(S.MobileCallToAction,{})}),a("div",{"data-header":"slot[end]",children:[Q.viewMode&&!U&&t(S.MobileReadonlyBanner,{}),t(S.MobileHamburgerMenu,{})]})]})}),t("div",{ref:te,"data-layout":"slot[body.safeSceneArea]"}),t("div",{"data-layout":"slot[body.footer] interactive",children:a(B,{"data-controls":p({state:{[`${I}`]:_,[`${R}`]:!_}}),children:[t("div",{"data-controls":"slot[toolControls]",...G(!_),children:t(S.MobileToolControls,{})}),t("div",{"data-controls":"slot[viewControls]",...G(!_),children:t(S.MobileViewControls,{})}),t("div",{"data-controls":"slot[toolbar]",children:Y&&t(S.MobileToolbar,{})})]})})]}),t("aside",{"data-layout":"slot[sidebar]",children:a(A.Root,{ownerState:tc,"data-sidebar":p({state:{[`${P}`]:tt,[`${D}`]:!tt,[`${j}`]:tr}}),...G(!tt),children:[a(A.Header,{ownerState:tc,"data-sidebar":"slot[header]",children:[t("div",{"data-sidebar":"slot[header.start]",children:t(S.MobileSidebarBackButton,{})}),t("div",{"data-sidebar":"slot[header.end]",children:t(S.MobilePoweredBy,{})})]}),t(A.Body,{ownerState:tc,"data-sidebar":"slot[body]",children:t(A.Content,{ref:o,ownerState:tc,"data-sidebar":"slot[content]",children:t(S.MobileSidebarContent,{})})}),t(A.Tabs,{ownerState:tc,"data-sidebar":"slot[tabs]",children:t(S.MobileTabs,{})}),t(A.Footer,{ownerState:tc,"data-sidebar":"slot[footer]",children:t(S.MobileSidebarFooter,{})}),t(v,{})]})}),t("footer",{"data-layout":"slot[footer] interactive",children:t(S.MobileFooter,{})})]})]})};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import e from"lodash/noop.js";import{useCallback as o,useMemo as i}from"react";import{useResolveLocalizable as r}from"#package/react-sdk";import{Preview as a,useResponsive as s}from"#package/ui-sdk";import{usePresetSelection as n,usePreview as m}from"../../../configurator-context/index.js";import{useSceneSafeArea as p}from"./use-scene-safe-area.js";let c={id:"sdk.preview.customize.title",message:"Customize product"},l={id:"sdk.preview.start.button.label",message:"Start configuring"},u={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{opacity:{duration:.1,ease:"linear"}}};export const MobilePreview=f=>{let{slotProps:d={},slots:g}=f,{enter:k,isPreview:x}=m(),{hasMultiplePresets:b}=n(),{setCanvasPadding:j}=s(),{containerRef:y,safeAreaRef:w,update:v}=p(x?j:e,!1),S=r(),h=o(()=>{v()},[v]),z=i(()=>({...d,root:{...u,onLayoutAnimationComplete:h,...d.root}}),[h,d]);return t(a,{title:S(c),buttonLabel:S(l),containerRef:y,safeAreaRef:w,withScene:!b,slots:g,slotProps:z,onStart:k})};
1
+ import{jsx as t}from"react/jsx-runtime";import{useCallback as e,useMemo as o}from"react";import{useResolveLocalizable as i}from"#package/react-sdk";import{Preview as a}from"#package/ui-sdk";import{usePresetSelection as r,usePreview as s}from"../../../configurator-context/index.js";import{useLayoutSceneSafeArea as n}from"./use-layout-scene-safe-area.js";let m={id:"sdk.preview.customize.title",message:"Customize product"},p={id:"sdk.preview.start.button.label",message:"Start configuring"},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{opacity:{duration:.1,ease:"linear"}}};export const MobilePreview=l=>{let{slotProps:u={},slots:d}=l,{enter:f,isPreview:b}=s(),{hasMultiplePresets:g}=r(),{containerRef:k,safeAreaRef:x,update:y}=n({enabled:b,hasMiniSidebar:!1}),j=i(),w=e(()=>{y()},[y]),S=o(()=>({...u,root:{...c,onLayoutAnimationComplete:w,...u.root}}),[w,u]);return t(a,{title:j(m),buttonLabel:j(p),containerRef:k,safeAreaRef:x,withScene:!g,slots:d,slotProps:S,onStart:f})};