@salsita-ai/sdk 0.50.0-develop.f16492b14e → 0.50.0-develop.f354d3576d

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 (884) hide show
  1. package/README.md +4 -2
  2. package/dist/admin/AdminShell.js +1 -1
  3. package/dist/admin/common/admin-interface.d.ts +1 -1
  4. package/dist/admin/legacy-admin/Application.js +1 -1
  5. package/dist/application-spec/caching/index.d.ts +6 -1
  6. package/dist/application-spec/caching/index.js +1 -1
  7. package/dist/application-spec/errors/diagnostic-codes.d.ts +1 -0
  8. package/dist/application-spec/errors/diagnostic-codes.js +1 -1
  9. package/dist/application-spec/errors/diagnostic-messages.d.ts +1 -0
  10. package/dist/application-spec/errors/diagnostic-messages.js +1 -1
  11. package/dist/application-spec/generate-application/code/domain-runtime-files.d.ts +0 -19
  12. package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
  13. package/dist/application-spec/generate-application/code/templates/gitignore.js +2 -1
  14. package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -1
  15. package/dist/application-spec/generate-application/code/templates/index.js +1 -1
  16. package/dist/application-spec/generate-application/code/templates/lingui-rc.js +5 -4
  17. package/dist/application-spec/generate-application/code/templates/skills/core/cli.d.ts +2 -0
  18. package/dist/application-spec/generate-application/code/templates/skills/core/cli.js +1 -0
  19. package/dist/application-spec/generate-application/code/templates/skills/core/index.d.ts +3 -0
  20. package/dist/application-spec/generate-application/code/templates/skills/core/index.js +1 -0
  21. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.d.ts +2 -0
  22. package/dist/application-spec/generate-application/code/templates/skills/core/sdk.js +118 -0
  23. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.d.ts +2 -0
  24. package/dist/application-spec/generate-application/code/templates/skills/core/workflow.js +44 -0
  25. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.d.ts +3 -0
  26. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/application-states.js +3 -0
  27. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.d.ts +1 -0
  28. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/index.js +1 -0
  29. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.d.ts +3 -0
  30. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/navigation.js +48 -0
  31. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.d.ts +3 -0
  32. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/presets.js +38 -0
  33. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.d.ts +3 -0
  34. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/selection.js +35 -0
  35. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.d.ts +3 -0
  36. package/dist/application-spec/generate-application/code/templates/skills/features/application-states/views-and-tools.js +61 -0
  37. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.d.ts +3 -0
  38. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/custom-layout.js +7 -0
  39. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.d.ts +3 -0
  40. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/finalization-actions.js +79 -0
  41. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.d.ts +1 -0
  42. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/index.js +1 -0
  43. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.d.ts +3 -0
  44. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/messages.js +52 -0
  45. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.d.ts +3 -0
  46. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/pages.js +49 -0
  47. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.d.ts +3 -0
  48. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/scene-and-safe-area.js +62 -0
  49. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.d.ts +3 -0
  50. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/slots.js +40 -0
  51. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.d.ts +3 -0
  52. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/tabs-and-steps.js +65 -0
  53. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.d.ts +3 -0
  54. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/toolbar-actions.js +58 -0
  55. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.d.ts +3 -0
  56. package/dist/application-spec/generate-application/code/templates/skills/features/custom-layout/view-mode.js +41 -0
  57. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.d.ts +3 -0
  58. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-components.js +24 -0
  59. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.d.ts +3 -0
  60. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/control-hooks.js +44 -0
  61. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.d.ts +3 -0
  62. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/custom-controls.js +74 -0
  63. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.d.ts +3 -0
  64. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/domain-controls.js +8 -0
  65. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.d.ts +1 -0
  66. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/index.js +1 -0
  67. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.d.ts +3 -0
  68. package/dist/application-spec/generate-application/code/templates/skills/features/domain-controls/scene-controls.js +48 -0
  69. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.d.ts +3 -0
  70. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/actions.js +64 -0
  71. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.d.ts +3 -0
  72. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/components.js +62 -0
  73. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.d.ts +3 -0
  74. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/domain-model.js +1 -0
  75. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.d.ts +3 -0
  76. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/entities-and-relations.js +59 -0
  77. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.d.ts +3 -0
  78. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/expressions.js +46 -0
  79. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.d.ts +1 -0
  80. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/index.js +1 -0
  81. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.d.ts +3 -0
  82. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/transformers.js +43 -0
  83. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.d.ts +3 -0
  84. package/dist/application-spec/generate-application/code/templates/skills/features/domain-model/validation-and-repair.js +30 -0
  85. package/dist/application-spec/generate-application/code/templates/skills/features/features.d.ts +3 -0
  86. package/dist/application-spec/generate-application/code/templates/skills/features/features.js +1 -0
  87. package/dist/application-spec/generate-application/code/templates/skills/features/index.d.ts +1 -0
  88. package/dist/application-spec/generate-application/code/templates/skills/features/index.js +1 -0
  89. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.d.ts +2 -0
  90. package/dist/application-spec/generate-application/code/templates/skills/features/inspection.js +1 -0
  91. package/dist/application-spec/generate-application/code/templates/skills/features/localization.d.ts +3 -0
  92. package/dist/application-spec/generate-application/code/templates/skills/features/localization.js +87 -0
  93. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.d.ts +3 -0
  94. package/dist/application-spec/generate-application/code/templates/skills/features/scene-objects.js +43 -0
  95. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.d.ts +1 -0
  96. package/dist/application-spec/generate-application/code/templates/skills/features/state/index.js +1 -0
  97. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.d.ts +3 -0
  98. package/dist/application-spec/generate-application/code/templates/skills/features/state/slices.js +48 -0
  99. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.d.ts +3 -0
  100. package/dist/application-spec/generate-application/code/templates/skills/features/state/state.js +1 -0
  101. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.d.ts +3 -0
  102. package/dist/application-spec/generate-application/code/templates/skills/features/state/updates.js +39 -0
  103. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.d.ts +3 -0
  104. package/dist/application-spec/generate-application/code/templates/skills/features/state/violations.js +36 -0
  105. package/dist/application-spec/generate-application/code/templates/skills/features/variants.d.ts +2 -0
  106. package/dist/application-spec/generate-application/code/templates/skills/features/variants.js +1 -0
  107. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.d.ts +2 -0
  108. package/dist/application-spec/generate-application/code/templates/skills/features/webhooks.js +1 -0
  109. package/dist/application-spec/generate-application/code/templates/skills/guide.d.ts +68 -0
  110. package/dist/application-spec/generate-application/code/templates/skills/guide.js +18 -0
  111. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.d.ts +2 -2
  112. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill-bundle.js +12 -5
  113. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.d.ts +9 -0
  114. package/dist/application-spec/generate-application/code/templates/skills/phx-members-without-guide.js +1 -0
  115. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.d.ts +2 -0
  116. package/dist/application-spec/generate-application/code/templates/skills/processes/asset-conversion.js +23 -0
  117. package/dist/application-spec/generate-application/code/templates/skills/{phoenix-skill.d.ts → processes/beta.d.ts} +2 -1
  118. package/dist/application-spec/generate-application/code/templates/skills/processes/beta.js +4 -0
  119. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.d.ts +2 -0
  120. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/evaluate.js +38 -0
  121. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.d.ts +3 -0
  122. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/feedback.js +1 -0
  123. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.d.ts +1 -0
  124. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/index.js +1 -0
  125. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.d.ts +2 -0
  126. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/report.js +7 -0
  127. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.d.ts +2 -0
  128. package/dist/application-spec/generate-application/code/templates/skills/processes/feedback/send.js +2 -0
  129. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.d.ts +2 -0
  130. package/dist/application-spec/generate-application/code/templates/skills/processes/finalization.js +2 -0
  131. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.d.ts +2 -0
  132. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/build.js +25 -0
  133. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.d.ts +2 -0
  134. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/direction.js +35 -0
  135. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.d.ts +3 -0
  136. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/first-draft.js +3 -0
  137. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.d.ts +2 -0
  138. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/handoff.js +9 -0
  139. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.d.ts +1 -0
  140. package/dist/application-spec/generate-application/code/templates/skills/processes/first-draft/index.js +1 -0
  141. package/dist/application-spec/generate-application/code/templates/skills/processes/index.d.ts +8 -0
  142. package/dist/application-spec/generate-application/code/templates/skills/processes/index.js +1 -0
  143. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.d.ts +2 -0
  144. package/dist/application-spec/generate-application/code/templates/skills/processes/model-migration.js +1 -0
  145. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.d.ts +2 -0
  146. package/dist/application-spec/generate-application/code/templates/skills/processes/review/appearance.js +46 -0
  147. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.d.ts +2 -0
  148. package/dist/application-spec/generate-application/code/templates/skills/processes/review/code.js +2 -0
  149. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.d.ts +2 -0
  150. package/dist/application-spec/generate-application/code/templates/skills/processes/review/hand-over.js +6 -0
  151. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.d.ts +1 -0
  152. package/dist/application-spec/generate-application/code/templates/skills/processes/review/index.js +1 -0
  153. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.d.ts +3 -0
  154. package/dist/application-spec/generate-application/code/templates/skills/processes/review/review.js +1 -0
  155. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.d.ts +2 -0
  156. package/dist/application-spec/generate-application/code/templates/skills/processes/review/visual-inspection.js +13 -0
  157. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.d.ts +2 -0
  158. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/branding.js +20 -0
  159. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.d.ts +2 -0
  160. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/catalog.js +1 -0
  161. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.d.ts +1 -0
  162. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/index.js +1 -0
  163. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.d.ts +2 -0
  164. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/product-definition.js +22 -0
  165. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.d.ts +3 -0
  166. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/specification.js +1 -0
  167. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.d.ts +2 -0
  168. package/dist/application-spec/generate-application/code/templates/skills/processes/specification/ux-guidelines.js +25 -0
  169. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +51 -258
  170. package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +3 -58
  171. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.d.ts +9 -0
  172. package/dist/application-spec/generate-application/code/templates/skills/sdk-subpath-imports.js +1 -0
  173. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.d.ts +1 -1
  174. package/dist/application-spec/generate-application/code/templates/spec-code/collect-spec-code.js +1 -1
  175. package/dist/application-spec/generate-application/code/templates/story/wrapper.js +2 -4
  176. package/dist/application-spec/generate-application/code/templates/tsconfig.js +2 -1
  177. package/dist/application-spec/generate-application/index.d.ts +1 -8
  178. package/dist/application-spec/generate-application/index.js +1 -1
  179. package/dist/application-spec/parse-application-files/merge/merged-assistant.d.ts +1 -1
  180. package/dist/application-spec/parse-application-files/merge/merged-assistant.js +1 -1
  181. package/dist/application-spec/parse-application-files/raw-spec/raw-assistant.js +1 -1
  182. package/dist/client/authorized-client.d.ts +1 -1
  183. package/dist/client/authorized-client.js +1 -1
  184. package/dist/client/contract.d.ts +21 -8
  185. package/dist/client/contract.js +1 -1
  186. package/dist/client/phoenix-api.d.ts +43 -5
  187. package/dist/configurator/ConfiguratorApp.js +1 -1
  188. package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
  189. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.d.ts +31 -0
  190. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +123 -24
  191. package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
  192. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +43 -0
  193. package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
  194. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +8 -2
  195. package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
  196. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.d.ts +10 -0
  197. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/capture-next-frame.js +1 -0
  198. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.d.ts +8 -0
  199. package/dist/configurator/application-runtime/extensions/systems/image-rendering-system/image-rendering-system.js +1 -1
  200. package/dist/configurator/application-runtime/extensions/systems/index.d.ts +3 -2
  201. package/dist/configurator/application-runtime/extensions/systems/index.js +1 -1
  202. package/dist/configurator/common/configurator-interface.d.ts +1 -1
  203. package/dist/configurator/pages/default-configurator-elements.d.ts +6 -2
  204. package/dist/configurator/pages/default-configurator-elements.js +1 -1
  205. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.d.ts +5 -0
  206. package/dist/configurator/pages/error-boundaries/BuiltInGeneralErrorFallback.js +1 -0
  207. package/dist/configurator/pages/error-boundaries/index.d.ts +1 -0
  208. package/dist/configurator/pages/error-boundaries/index.js +1 -1
  209. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.d.ts +3 -0
  210. package/dist/configurator/pages/provider-slots/ContainerSlotProvider.js +1 -0
  211. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.d.ts +3 -0
  212. package/dist/configurator/pages/provider-slots/LoaderSlotProvider.js +1 -0
  213. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.d.ts +3 -0
  214. package/dist/configurator/pages/provider-slots/MessageHostSlotProvider.js +1 -0
  215. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.d.ts +3 -0
  216. package/dist/configurator/pages/provider-slots/SceneResourcesSlotProvider.js +1 -0
  217. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.d.ts +3 -0
  218. package/dist/configurator/pages/provider-slots/ThemeSlotProvider.js +1 -0
  219. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.d.ts +3 -0
  220. package/dist/configurator/pages/provider-slots/configurator-provider-slot-elements.js +1 -0
  221. package/dist/configurator/pages/provider-slots/index.d.ts +6 -0
  222. package/dist/configurator/pages/provider-slots/index.js +1 -0
  223. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.d.ts +2 -0
  224. package/dist/configurator/pages/ui-elements/BuiltInInvalidDeploymentReload.js +1 -0
  225. package/dist/configurator/pages/ui-elements/configurator-ui-elements.d.ts +3 -0
  226. package/dist/configurator/pages/ui-elements/configurator-ui-elements.js +1 -0
  227. package/dist/configurator/pages/ui-elements/index.d.ts +2 -0
  228. package/dist/configurator/pages/ui-elements/index.js +1 -0
  229. package/dist/configurator/scene/cameras/CameraPadding.js +1 -1
  230. package/dist/configurator/ui/assistant/AssistantChips.d.ts +10 -0
  231. package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
  232. package/dist/configurator/ui/assistant/AssistantComposer.d.ts +6 -0
  233. package/dist/configurator/ui/assistant/AssistantComposer.js +2 -1
  234. package/dist/configurator/ui/assistant/AssistantMarkdown.js +1 -1
  235. package/dist/configurator/ui/assistant/AssistantThread.d.ts +4 -3
  236. package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
  237. package/dist/configurator/ui/assistant/alert/AssistantAlert.d.ts +4 -1
  238. package/dist/configurator/ui/assistant/alert/AssistantAlert.js +1 -1
  239. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.d.ts +9 -0
  240. package/dist/configurator/ui/assistant/annotation/AnnotationBadge.js +1 -0
  241. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.d.ts +6 -0
  242. package/dist/configurator/ui/assistant/annotation/AnnotationOverlay.js +1 -0
  243. package/dist/configurator/ui/assistant/annotation/AnnotationPin.d.ts +14 -0
  244. package/dist/configurator/ui/assistant/annotation/AnnotationPin.js +1 -0
  245. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.d.ts +12 -0
  246. package/dist/configurator/ui/assistant/annotation/AnnotationViewer.js +1 -0
  247. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.d.ts +11 -0
  248. package/dist/configurator/ui/assistant/annotation/MessageAnnotations.js +1 -0
  249. package/dist/configurator/ui/assistant/annotation/annotation-host-context.d.ts +5 -0
  250. package/dist/configurator/ui/assistant/annotation/annotation-host-context.js +1 -0
  251. package/dist/configurator/ui/assistant/annotation/annotation-layout.d.ts +26 -0
  252. package/dist/configurator/ui/assistant/annotation/annotation-layout.js +1 -0
  253. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.d.ts +15 -0
  254. package/dist/configurator/ui/assistant/annotation/editor/AnnotationComment.js +1 -0
  255. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.d.ts +18 -0
  256. package/dist/configurator/ui/assistant/annotation/editor/AnnotationEditor.js +1 -0
  257. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.d.ts +22 -0
  258. package/dist/configurator/ui/assistant/annotation/editor/annotation-drawing.js +1 -0
  259. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.d.ts +22 -0
  260. package/dist/configurator/ui/assistant/annotation/editor/annotation-pins.js +1 -0
  261. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.d.ts +17 -0
  262. package/dist/configurator/ui/assistant/annotation/editor/flatten-annotation.js +1 -0
  263. package/dist/configurator/ui/assistant/annotation/editor/index.d.ts +1 -0
  264. package/dist/configurator/ui/assistant/annotation/editor/index.js +1 -0
  265. package/dist/configurator/ui/assistant/annotation/index.d.ts +4 -0
  266. package/dist/configurator/ui/assistant/annotation/index.js +1 -0
  267. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.d.ts +2 -0
  268. package/dist/configurator/ui/assistant/annotation/prefers-reduced-motion.js +1 -0
  269. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.d.ts +6 -0
  270. package/dist/configurator/ui/assistant/annotation/use-end-on-unmount.js +1 -0
  271. package/dist/configurator/ui/assistant/assistant-failure.d.ts +15 -7
  272. package/dist/configurator/ui/assistant/assistant-failure.js +1 -1
  273. package/dist/configurator/ui/assistant/attachments/MessageImages.d.ts +19 -0
  274. package/dist/configurator/ui/assistant/attachments/MessageImages.js +1 -0
  275. package/dist/configurator/ui/assistant/attachments/index.d.ts +2 -0
  276. package/dist/configurator/ui/assistant/attachments/index.js +1 -0
  277. package/dist/configurator/ui/assistant/attachments/prepare-image.d.ts +24 -0
  278. package/dist/configurator/ui/assistant/attachments/prepare-image.js +1 -0
  279. package/dist/configurator/ui/assistant/composer/composer-frame.d.ts +15 -0
  280. package/dist/configurator/ui/assistant/composer/composer-frame.js +1 -0
  281. package/dist/configurator/ui/assistant/composer/index.d.ts +1 -0
  282. package/dist/configurator/ui/assistant/composer/index.js +1 -0
  283. package/dist/configurator/ui/assistant/entity-link/AssistantEntityLink.js +1 -1
  284. package/dist/configurator/ui/assistant/form/AssistantForm.js +1 -1
  285. package/dist/configurator/ui/assistant/form/registry/built-in-form-elements.d.ts +26 -0
  286. package/dist/configurator/ui/assistant/form-elements/FormNumber.js +1 -1
  287. package/dist/configurator/ui/assistant/index.d.ts +1 -0
  288. package/dist/configurator/ui/assistant/index.js +1 -1
  289. package/dist/configurator/ui/assistant/popover/AssistantPopover.d.ts +24 -0
  290. package/dist/configurator/ui/assistant/popover/AssistantPopover.js +1 -0
  291. package/dist/configurator/ui/assistant/popover/index.d.ts +1 -0
  292. package/dist/configurator/ui/assistant/popover/index.js +1 -0
  293. package/dist/configurator/ui/assistant/reference-link/AssistantReferenceLink.js +1 -1
  294. package/dist/configurator/ui/assistant/reference-link/reference-styles.js +1 -1
  295. package/dist/configurator/ui/assistant/screenshots/index.d.ts +1 -0
  296. package/dist/configurator/ui/assistant/screenshots/index.js +1 -1
  297. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.d.ts +3 -9
  298. package/dist/configurator/ui/assistant/screenshots/tool-screenshots.js +1 -1
  299. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.d.ts +4 -4
  300. package/dist/configurator/ui/assistant/screenshots/use-screenshot-src.js +1 -1
  301. package/dist/configurator/ui/assistant/streamed-markdown.d.ts +11 -0
  302. package/dist/configurator/ui/assistant/streamed-markdown.js +2 -2
  303. package/dist/configurator/ui/assistant/thread-items.d.ts +5 -0
  304. package/dist/configurator/ui/assistant/thread-items.js +1 -1
  305. package/dist/configurator/ui/assistant/tool-chip.js +1 -1
  306. package/dist/configurator/ui/assistant/use-load-older-on-top.d.ts +22 -0
  307. package/dist/configurator/ui/assistant/use-load-older-on-top.js +1 -0
  308. package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
  309. package/dist/docs/3d-scene/animations-basic.mdx +0 -4
  310. package/dist/docs/3d-scene/camera-based-hiding.mdx +0 -2
  311. package/dist/docs/3d-scene/cameras/custom.mdx +0 -2
  312. package/dist/docs/3d-scene/cameras/fit-during-drag.mdx +0 -4
  313. package/dist/docs/3d-scene/cameras/locks.mdx +0 -4
  314. package/dist/docs/3d-scene/cameras/transitions.mdx +0 -2
  315. package/dist/docs/3d-scene/engraving.mdx +0 -4
  316. package/dist/docs/3d-scene/materials/custom.mdx +1 -2
  317. package/dist/docs/3d-scene/materials/inherit.mdx +0 -4
  318. package/dist/docs/3d-scene/materials/multilevel.mdx +0 -47
  319. package/dist/docs/3d-scene/materials/override.mdx +0 -4
  320. package/dist/docs/3d-scene/materials/simple.mdx +0 -4
  321. package/dist/docs/3d-scene/materials/transformer.mdx +0 -4
  322. package/dist/docs/3d-scene/materials/transition.mdx +0 -4
  323. package/dist/docs/3d-scene/materials/transmissive.mdx +0 -4
  324. package/dist/docs/3d-scene/postprocessing.mdx +0 -2
  325. package/dist/docs/3d-scene/rendering/basic.mdx +5 -9
  326. package/dist/docs/3d-scene/rendering/custom-entity.mdx +0 -6
  327. package/dist/docs/3d-scene/rendering/lights/ambient-light.mdx +0 -2
  328. package/dist/docs/3d-scene/rendering/lights/directional-light.mdx +0 -2
  329. package/dist/docs/3d-scene/rendering/lights/point-light.mdx +0 -2
  330. package/dist/docs/3d-scene/rendering/lights/rect-area-light.mdx +0 -2
  331. package/dist/docs/3d-scene/rendering/lights/spot-light.mdx +0 -2
  332. package/dist/docs/3d-scene/rendering/object-groups.mdx +0 -2
  333. package/dist/docs/3d-scene/rendering/objects.mdx +0 -4
  334. package/dist/docs/3d-scene/rendering/scene-entity-object.mdx +0 -43
  335. package/dist/docs/3d-scene/rendering/smma.mdx +0 -2
  336. package/dist/docs/3d-scene/rendering/soft-shadows.mdx +0 -2
  337. package/dist/docs/3d-scene/rendering/transformer.mdx +1 -3
  338. package/dist/docs/complex-use-cases/custom-ui-on-root-level.mdx +0 -1
  339. package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +19 -19
  340. package/dist/docs/complex-use-cases/navigation-guard.mdx +81 -19
  341. package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +28 -65
  342. package/dist/docs/complex-use-cases/navigation-reset-undo.mdx +16 -20
  343. package/dist/docs/complex-use-cases/sketching.mdx +2 -10
  344. package/dist/docs/controls/custom.mdx +88 -87
  345. package/dist/docs/controls/manage-child-entities/entitychildrenlist.mdx +0 -4
  346. package/dist/docs/controls/nullable-attributes.mdx +0 -2
  347. package/dist/docs/controls/scene/custom-controls.mdx +7 -8
  348. package/dist/docs/controls/scene/html-hotspots.mdx +0 -4
  349. package/dist/docs/controls/scene/object-html-hotspots.mdx +0 -4
  350. package/dist/docs/controls/select-attribute/cardselect.mdx +0 -4
  351. package/dist/docs/controls/select-attribute/listselect.mdx +0 -4
  352. package/dist/docs/controls/select-attribute/select.mdx +0 -4
  353. package/dist/docs/controls/select-attribute/swatchselect.mdx +0 -4
  354. package/dist/docs/controls/select-attribute/switchselect.mdx +0 -4
  355. package/dist/docs/controls/select-attribute/toggleselect.mdx +0 -4
  356. package/dist/docs/controls/select-child-entity/cardselect.mdx +2 -6
  357. package/dist/docs/controls/select-child-entity/listselect.mdx +5 -11
  358. package/dist/docs/controls/select-child-entity/toggleselect.mdx +4 -10
  359. package/dist/docs/controls/text-input.mdx +90 -19
  360. package/dist/docs/demos/glass.mdx +0 -4
  361. package/dist/docs/demos/heater.mdx +0 -10
  362. package/dist/docs/demos/office-chair.mdx +0 -8
  363. package/dist/docs/demos/office-desk.mdx +0 -8
  364. package/dist/docs/demos/ring.mdx +0 -9
  365. package/dist/docs/dimensions/3d-scene-integration/angle-indicators.mdx +0 -2
  366. package/dist/docs/dimensions/3d-scene-integration/editable-angle-indicator.mdx +0 -2
  367. package/dist/docs/dimensions/3d-scene-integration/editable-distance-dimension-indicator.mdx +0 -2
  368. package/dist/docs/dimensions/3d-scene-integration/editable-offset-indicator.mdx +0 -6
  369. package/dist/docs/dimensions/3d-scene-integration/editable-size-indicator.mdx +0 -4
  370. package/dist/docs/dimensions/3d-scene-integration/list-selector-dimension-indicator.mdx +0 -4
  371. package/dist/docs/dimensions/3d-scene-integration/offset-indicator.mdx +0 -6
  372. package/dist/docs/dimensions/3d-scene-integration/overlap-offset-demo.mdx +0 -6
  373. package/dist/docs/dimensions/input-controls/distance-slider.mdx +6 -6
  374. package/dist/docs/dimensions/selection-controls/list-selector.mdx +0 -2
  375. package/dist/docs/dimensions/selection-controls/toggle-selector.mdx +0 -2
  376. package/dist/docs/drag-and-drop/drag-handle.mdx +0 -1
  377. package/dist/docs/drag-and-drop/hotspot-handle.mdx +0 -1
  378. package/dist/docs/drag-and-drop/no-selection.mdx +0 -1
  379. package/dist/docs/drag-and-drop/planes.mdx +0 -3
  380. package/dist/docs/drag-and-drop/room-planner.mdx +0 -6
  381. package/dist/docs/drag-and-drop/rotatable.mdx +0 -1
  382. package/dist/docs/drag-and-drop/snapping/auto-rotation-demo.mdx +0 -2
  383. package/dist/docs/drag-and-drop/snapping/label-matching-demo.mdx +0 -2
  384. package/dist/docs/drag-and-drop/snapping/multi-snap-composition-demo.mdx +0 -2
  385. package/dist/docs/drag-and-drop/snapping/nested-entity-demo.mdx +0 -2
  386. package/dist/docs/drag-and-drop/snapping/priority-demo.mdx +0 -2
  387. package/dist/docs/drag-and-drop/snapping/snap-axis-demo.mdx +0 -2
  388. package/dist/docs/drag-and-drop/snapping/snap-edge-demo.mdx +0 -2
  389. package/dist/docs/drag-and-drop/snapping/snap-plane-demo.mdx +0 -5
  390. package/dist/docs/drag-and-drop/snapping/snap-point-demo.mdx +0 -2
  391. package/dist/docs/drag-and-drop/spatial-constraints/collision-system.mdx +0 -2
  392. package/dist/docs/drag-and-drop/spatial-constraints/disjoint-and-within.mdx +0 -6
  393. package/dist/docs/drag-and-drop/spatial-constraints/geometry-override.mdx +0 -4
  394. package/dist/docs/drag-and-drop/spatial-constraints/multiple-collision-meshes.mdx +0 -4
  395. package/dist/docs/drag-and-drop/spatial-constraints/touches.mdx +0 -4
  396. package/dist/docs/drag-and-drop/swap.mdx +0 -4
  397. package/dist/docs/fabs/basic.mdx +8 -12
  398. package/dist/docs/fabs/layout.mdx +0 -7
  399. package/dist/docs/index.json +4 -4
  400. package/dist/docs/integrations/lifecycle-providers.mdx +0 -12
  401. package/dist/docs/integrations/onloadprovider.mdx +0 -3
  402. package/dist/docs/integrations/webcomponent-api/basics.mdx +2 -2
  403. package/dist/docs/integrations/webcomponent-api/preset-tags.mdx +0 -1
  404. package/dist/docs/layouts/custom-layout.mdx +1 -41
  405. package/dist/docs/layouts/custom-price.mdx +0 -2
  406. package/dist/docs/layouts/custom-theme-handler.mdx +0 -4
  407. package/dist/docs/layouts/gallery/ardent-compressor.mdx +3 -34
  408. package/dist/docs/layouts/gallery/corvid-drone.mdx +0 -29
  409. package/dist/docs/layouts/gallery/fenwick-window.mdx +0 -25
  410. package/dist/docs/layouts/gallery/ferrule-bar-station.mdx +0 -27
  411. package/dist/docs/layouts/gallery/kestrel-kettle.mdx +0 -29
  412. package/dist/docs/layouts/gallery/nightjar-guitar.mdx +2 -35
  413. package/dist/docs/layouts/gallery/sunfold-solar.mdx +0 -26
  414. package/dist/docs/layouts/gallery/tidepool-aquascape.mdx +0 -46
  415. package/dist/docs/layouts/header/custom.mdx +0 -2
  416. package/dist/docs/layouts/icon-sets.mdx +0 -6
  417. package/dist/docs/layouts/phoenix-elements.mdx +0 -4
  418. package/dist/docs/layouts/phoenix-handlers.mdx +19 -28
  419. package/dist/docs/layouts/presets/action-and-overlay.mdx +0 -8
  420. package/dist/docs/layouts/presets/custom.mdx +6 -13
  421. package/dist/docs/layouts/preview/always-expand.mdx +4 -14
  422. package/dist/docs/layouts/preview/always.mdx +4 -14
  423. package/dist/docs/layouts/preview/auto-presets.mdx +4 -14
  424. package/dist/docs/layouts/preview/auto.mdx +4 -14
  425. package/dist/docs/layouts/preview/never.mdx +4 -14
  426. package/dist/docs/layouts/sidebar/in-a-custom-layout.mdx +18 -13
  427. package/dist/docs/layouts/sidebar/property-page-stack.mdx +0 -2
  428. package/dist/docs/layouts/sidebar/property-page.mdx +0 -2
  429. package/dist/docs/layouts/sidebar/tabs.mdx +0 -4
  430. package/dist/docs/layouts/sidebar-footer/custom.mdx +0 -2
  431. package/dist/docs/layouts/sidebar-footer/universal.mdx +0 -10
  432. package/dist/docs/layouts/tool-controls.mdx +0 -1
  433. package/dist/docs/layouts/toolbar.mdx +0 -4
  434. package/dist/docs/layouts/universal.mdx +2 -10
  435. package/dist/docs/other-features/client-side-rendering/camera-padding.mdx +0 -2
  436. package/dist/docs/other-features/client-side-rendering/custom.mdx +0 -6
  437. package/dist/docs/other-features/client-side-rendering/declarative.mdx +0 -4
  438. package/dist/docs/other-features/client-side-rendering/postprocessing.mdx +0 -6
  439. package/dist/docs/other-features/component-filters.mdx +0 -7
  440. package/dist/docs/other-features/currency.mdx +5 -6
  441. package/dist/docs/other-features/domain-actions.mdx +0 -5
  442. package/dist/docs/other-features/dynamic-component-attachments.mdx +75 -46
  443. package/dist/docs/other-features/error-5xx.mdx +0 -2
  444. package/dist/docs/other-features/navigation-hotspot.mdx +0 -5
  445. package/dist/docs/other-features/not-found-404.mdx +0 -2
  446. package/dist/docs/other-features/projected-entities.mdx +0 -5
  447. package/dist/docs/other-features/side-effects.mdx +0 -7
  448. package/dist/docs/other-features/transformers.mdx +101 -96
  449. package/dist/docs/other-features/violation-messages.mdx +0 -4
  450. package/dist/docs/other-features/violation-severity.mdx +2 -3
  451. package/dist/docs/performance/clone-highlight.mdx +0 -7
  452. package/dist/docs/performance/dynamic-components.mdx +0 -6
  453. package/dist/docs/performance/editable-dimension-stress-test.mdx +0 -2
  454. package/dist/docs/performance/fast-highlight.mdx +0 -7
  455. package/dist/docs/performance/general.mdx +0 -7
  456. package/dist/docs/performance/render-isolation.mdx +0 -6
  457. package/dist/docs/phoenix/admin.mdx +75 -100
  458. package/dist/docs/phoenix/application-states.mdx +45 -27
  459. package/dist/docs/phoenix/components.mdx +53 -46
  460. package/dist/docs/phoenix/configurator-interface.mdx +196 -116
  461. package/dist/docs/phoenix/deployments.mdx +11 -1
  462. package/dist/docs/phoenix/domain-model.mdx +20 -15
  463. package/dist/docs/phoenix/expression-context.mdx +3 -29
  464. package/dist/docs/phoenix/getting-started.mdx +0 -2
  465. package/dist/docs/phoenix/localization.mdx +64 -54
  466. package/dist/docs/phoenix/migration-guide.mdx +10 -11
  467. package/dist/docs/phoenix/phoenix-cli.mdx +21 -12
  468. package/dist/docs/phoenix/project-structure.mdx +52 -59
  469. package/dist/docs/phoenix/quickstart.mdx +1 -3
  470. package/dist/docs/phoenix/sdk-builder-workflow.mdx +3 -9
  471. package/dist/docs/phoenix/state-management.mdx +18 -16
  472. package/dist/docs/phoenix/testing.mdx +6 -1
  473. package/dist/docs/phoenix/webhooks.mdx +4 -0
  474. package/dist/docs/recipes-and-delete/delete-entity.mdx +3 -6
  475. package/dist/docs/recipes-and-delete/dynamic-root-entity.mdx +0 -2
  476. package/dist/docs/recipes-and-delete/grouped-button.mdx +0 -3
  477. package/dist/docs/recipes-and-delete/grouped-panel.mdx +0 -3
  478. package/dist/docs/recipes-and-delete/horizontal.mdx +3 -6
  479. package/dist/docs/recipes-and-delete/recipe-hierarchy-lists.mdx +0 -3
  480. package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +0 -5
  481. package/dist/docs/recipes-and-delete/replace-dropdown.mdx +3 -6
  482. package/dist/docs/recipes-and-delete/replace-panel.mdx +0 -7
  483. package/dist/docs/recipes-and-delete/simple.mdx +3 -6
  484. package/dist/docs/recipes-and-delete/vertical.mdx +3 -6
  485. package/dist/docs/relations/aliases.mdx +0 -2
  486. package/dist/docs/relations/all-of-type.mdx +0 -4
  487. package/dist/docs/relations/child-nullable.mdx +0 -4
  488. package/dist/docs/relations/child-required.mdx +0 -2
  489. package/dist/docs/relations/collection-direct.mdx +0 -4
  490. package/dist/docs/relations/collection-indirect.mdx +0 -4
  491. package/dist/docs/relations/collection-multiple.mdx +0 -2
  492. package/dist/docs/relations/cross-reference.mdx +0 -2
  493. package/dist/docs/relations/hierarchy.mdx +0 -2
  494. package/dist/docs/selection-and-highlight/canvas.mdx +0 -1
  495. package/dist/docs/selection-and-highlight/disable-highlight-per-object.mdx +0 -1
  496. package/dist/docs/selection-and-highlight/disable-highlight.mdx +0 -1
  497. package/dist/docs/selection-and-highlight/effects/outline.mdx +0 -3
  498. package/dist/docs/selection-and-highlight/effects/overlay.mdx +0 -3
  499. package/dist/docs/selection-and-highlight/fast-emissive-highlight.mdx +0 -3
  500. package/dist/docs/selection-and-highlight/group-highlighting.mdx +0 -1
  501. package/dist/docs/selection-and-highlight/hierarchy.mdx +100 -151
  502. package/dist/docs/selection-and-highlight/hotspots.mdx +0 -1
  503. package/dist/domain/application/GetApplicationWrapperHandler.d.ts +1 -1
  504. package/dist/domain/application/GetThemeHandler.d.ts +1 -1
  505. package/dist/domain/application/GetWebComponentOptions.d.ts +1 -1
  506. package/dist/domain/application/application-config.d.ts +1 -3
  507. package/dist/domain/application/assistant/assistant-fields.d.ts +1 -1
  508. package/dist/domain/application/assistant/assistant-value-type.d.ts +1 -1
  509. package/dist/domain/application/assistant/build-assistant-lenses.d.ts +1 -2
  510. package/dist/domain/application/assistant/build-assistant-manifest.d.ts +1 -2
  511. package/dist/domain/application/assistant/generate-assistant-prompt.d.ts +1 -2
  512. package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -1
  513. package/dist/domain/application/assistant/index.d.ts +0 -4
  514. package/dist/domain/application/assistant/index.js +1 -1
  515. package/dist/domain/application/assistant/session-setup/AssistantSetupHandler.d.ts +1 -1
  516. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.d.ts +1 -1
  517. package/dist/domain/application/assistant/session-setup/apply-assistant-setup.js +1 -1
  518. package/dist/domain/application/assistant/session-setup/assistant-setup-manifest.d.ts +1 -1
  519. package/dist/domain/application/assistant/session-setup/create-session-assistant.d.ts +1 -2
  520. package/dist/domain/application/assistant-field-options.d.ts +1 -1
  521. package/dist/domain/application/assistant-mutations.d.ts +1 -1
  522. package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
  523. package/dist/domain/application/configurator-builder.d.ts +1 -2
  524. package/dist/domain/application/create-initial-published-data.d.ts +2 -1
  525. package/dist/domain/application/published-data/DataRowValidatorHandler.d.ts +1 -1
  526. package/dist/domain/application/published-data/FilterPublishedChunksHandler.d.ts +1 -1
  527. package/dist/domain/application/published-data/MapPublishedChunkedDataHandler.d.ts +1 -1
  528. package/dist/domain/application/published-data/MapPublishedRevisionDataHandler.d.ts +1 -1
  529. package/dist/domain/application/published-data/SheetValidatorHandler.d.ts +1 -1
  530. package/dist/domain/core/invariant/violation.d.ts +3 -2
  531. package/dist/domain/domain-builder/domain-builder.d.ts +1 -1
  532. package/dist/domain/domain-builder/domain-builder.js +1 -1
  533. package/dist/domain/domain-context/transformers/context.d.ts +4 -2
  534. package/dist/domain/domain-context/transformers/when-builder.d.ts +2 -1
  535. package/dist/domain/domain-runtime/domain-runtime.d.ts +24 -24
  536. package/dist/domain/domain-runtime/index.d.ts +0 -1
  537. package/dist/domain/domain-runtime/index.js +1 -1
  538. package/dist/domain/domain-runtime/spec/create-violation-expressions.d.ts +1 -1
  539. package/dist/domain/domain-runtime/spec/create-violation-expressions.js +1 -1
  540. package/dist/domain/domain-runtime/spec/index.d.ts +1 -1
  541. package/dist/domain/domain-runtime/spec/index.js +1 -1
  542. package/dist/domain/domain-runtime/spec/initialize.js +1 -1
  543. package/dist/domain/domain-runtime/spec/{module-checks/resolve-imported-transformers.d.ts → resolve-imported-transformers.d.ts} +3 -3
  544. package/dist/domain/domain-runtime/spec/resolve-imported-transformers.js +1 -0
  545. package/dist/domain/domain-runtime/spec/selectors.d.ts +5 -5
  546. package/dist/domain/domain-runtime/spec/types.d.ts +2 -2
  547. package/dist/domain/extensions/export-images/agent-screenshot.d.ts +6 -0
  548. package/dist/domain/extensions/export-images/agent-screenshot.js +1 -1
  549. package/dist/domain/extensions/export-images/index.d.ts +1 -1
  550. package/dist/domain/extensions/export-images/index.js +1 -1
  551. package/dist/domain/extensions/index.d.ts +1 -1
  552. package/dist/domain/extensions/index.js +1 -1
  553. package/dist/domain/index.d.ts +13 -1
  554. package/dist/domain/index.js +1 -1
  555. package/dist/domain/mocks/create-test-application-config.d.ts +1 -1
  556. package/dist/domain/spec/index.d.ts +3 -8
  557. package/dist/domain/spec/index.js +1 -1
  558. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.d.ts +1 -1
  559. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/find-assistant-form-element-errors.d.ts +1 -1
  560. package/dist/domain/spec/modules/find-assistant-form-element-errors.js +1 -0
  561. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/index.d.ts +2 -3
  562. package/dist/domain/spec/modules/index.js +1 -0
  563. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/merge-expression-modules.d.ts +2 -2
  564. package/dist/domain/spec/modules/merge-expression-modules.js +1 -0
  565. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/project-modules.d.ts +1 -1
  566. package/dist/domain/spec/modules/project-modules.js +1 -0
  567. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.d.ts +1 -1
  568. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.d.ts +1 -1
  569. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.d.ts +1 -1
  570. package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.d.ts +1 -1
  571. package/dist/domain/spec/phx/index.d.ts +1 -0
  572. package/dist/domain/spec/phx/index.js +1 -0
  573. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-application-types.d.ts +1 -1
  574. package/dist/domain/spec/phx/phx-application-types.js +1 -0
  575. package/dist/domain/spec/phx/phx-domain.js +1 -0
  576. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-model.d.ts +2 -2
  577. package/dist/domain/spec/phx/phx-model.js +1 -0
  578. package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.d.ts +1 -2
  579. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-runtime.d.ts +7 -6
  580. package/dist/domain/spec/runtime/admin-runtime/admin-runtime.js +1 -0
  581. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/admin-spec-runtime.d.ts +2 -2
  582. package/dist/domain/spec/runtime/admin-runtime/admin-spec-runtime.js +1 -0
  583. package/dist/domain/spec/runtime/admin-runtime/index.d.ts +2 -0
  584. package/dist/domain/spec/runtime/admin-runtime/index.js +1 -0
  585. package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.d.ts +1 -1
  586. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-runtime.d.ts +8 -6
  587. package/dist/domain/spec/runtime/application-runtime.js +1 -0
  588. package/dist/{application-spec/generate-application → domain/spec}/runtime/application-spec-slice.d.ts +3 -1
  589. package/dist/domain/spec/runtime/application-spec-slice.js +1 -0
  590. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-runtime.d.ts +8 -10
  591. package/dist/domain/spec/runtime/configurator-runtime/configurator-runtime.js +1 -0
  592. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/configurator-spec-runtime.d.ts +2 -2
  593. package/dist/domain/spec/runtime/configurator-runtime/configurator-spec-runtime.js +1 -0
  594. package/dist/domain/spec/runtime/configurator-runtime/index.d.ts +2 -0
  595. package/dist/domain/spec/runtime/configurator-runtime/index.js +1 -0
  596. package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.d.ts +1 -1
  597. package/dist/{application-spec/generate-application → domain/spec}/runtime/create-application.d.ts +3 -2
  598. package/dist/domain/spec/runtime/create-application.js +1 -0
  599. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/expression-runtime.d.ts +5 -2
  600. package/dist/domain/spec/runtime/expressions/expression-runtime.js +1 -0
  601. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/generate-memo-eval-plan-runtime.d.ts +2 -1
  602. package/dist/domain/spec/runtime/expressions/generate-memo-eval-plan-runtime.js +1 -0
  603. package/dist/domain/spec/runtime/expressions/index.d.ts +3 -0
  604. package/dist/domain/spec/runtime/expressions/index.js +1 -0
  605. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.d.ts +2 -1
  606. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.d.ts +4 -2
  607. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/recipe-defaults.d.ts +1 -1
  608. package/dist/domain/spec/runtime/factory-data/recipe-defaults.js +1 -0
  609. package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/static-violations.d.ts +2 -1
  610. package/dist/domain/spec/runtime/factory-data/static-violations.js +1 -0
  611. package/dist/{application-spec/generate-application → domain/spec}/runtime/generate-runtime-instance.d.ts +1 -1
  612. package/dist/domain/spec/runtime/generate-runtime-instance.js +1 -0
  613. package/dist/domain/spec/runtime/index.d.ts +13 -0
  614. package/dist/domain/spec/runtime/index.js +1 -0
  615. package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/migration-runtime.d.ts +2 -2
  616. package/dist/domain/spec/runtime/migrations/migration-runtime.js +1 -0
  617. package/dist/{application-spec/generate-application/runtime/admin-runtime → domain/spec/runtime/model}/admin-model-runtime.d.ts +4 -2
  618. package/dist/domain/spec/runtime/model/admin-model-runtime.js +1 -0
  619. package/dist/{application-spec/generate-application/runtime/configurator-runtime → domain/spec/runtime/model}/configurator-model-runtime.d.ts +4 -2
  620. package/dist/domain/spec/runtime/model/configurator-model-runtime.js +1 -0
  621. package/dist/domain/spec/runtime/model/index.d.ts +2 -0
  622. package/dist/domain/spec/runtime/model/index.js +1 -0
  623. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/build-sdk-optic.d.ts +3 -4
  624. package/dist/domain/spec/runtime/optics/build-sdk-optic.js +1 -0
  625. package/dist/domain/spec/runtime/optics/build-user-bound-optic.d.ts +7 -0
  626. package/dist/domain/spec/runtime/optics/build-user-bound-optic.js +1 -0
  627. package/dist/domain/spec/runtime/optics/built-component-optic.d.ts +11 -0
  628. package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.d.ts +4 -13
  629. package/dist/domain/spec/runtime/optics/index.d.ts +2 -0
  630. package/dist/domain/spec/runtime/optics/index.js +1 -0
  631. package/dist/{application-spec/caching → domain/spec/runtime}/runtime-reference-store.d.ts +1 -5
  632. package/dist/domain/spec/runtime/runtime-reference-store.js +1 -0
  633. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.d.ts +3 -2
  634. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.d.ts +2 -2
  635. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.d.ts +1 -1
  636. package/dist/domain/spec/runtime/sections/index.d.ts +6 -0
  637. package/dist/domain/spec/runtime/sections/index.js +1 -0
  638. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.d.ts +3 -2
  639. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.d.ts +1 -1
  640. package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.d.ts +2 -2
  641. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.d.ts +1 -1
  642. package/dist/domain/spec/runtime/spec-code/spec-code-module.js +1 -0
  643. package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-runtime.d.ts +3 -3
  644. package/dist/domain/spec/runtime/spec-runtime.js +1 -0
  645. package/dist/domain/spec/runtime-spec/index.d.ts +4 -0
  646. package/dist/domain/spec/runtime-spec/index.js +1 -0
  647. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.d.ts +7 -1
  648. package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.d.ts +1 -1
  649. package/dist/domain/spec/sections/assistant/assistant-resolved-manifest.js +1 -0
  650. package/dist/domain/spec/sections/assistant/index.d.ts +4 -0
  651. package/dist/domain/spec/sections/assistant/index.js +1 -0
  652. package/dist/domain/spec/sections/index.d.ts +1 -0
  653. package/dist/domain/spec/sections/index.js +1 -1
  654. package/dist/domain/system-components/phoenix-entity-elements/child-entity-card-selector.d.ts +2 -3
  655. package/dist/domain/system-components/phoenix-entity-elements/child-entity-list-selector.d.ts +2 -3
  656. package/dist/domain/system-components/phoenix-entity-elements/child-entity-toggle-selector.d.ts +2 -3
  657. package/dist/i18n/locales/cs/messages.js +1 -1
  658. package/dist/i18n/locales/da/messages.js +1 -1
  659. package/dist/i18n/locales/de/messages.js +1 -1
  660. package/dist/i18n/locales/de-AT/messages.js +1 -1
  661. package/dist/i18n/locales/en/messages.js +1 -1
  662. package/dist/i18n/locales/en-AU/messages.js +1 -1
  663. package/dist/i18n/locales/en-GB/messages.js +1 -1
  664. package/dist/i18n/locales/es/messages.js +1 -1
  665. package/dist/i18n/locales/fr/messages.js +1 -1
  666. package/dist/i18n/locales/hu/messages.js +1 -1
  667. package/dist/i18n/locales/it/messages.js +1 -1
  668. package/dist/i18n/locales/nl/messages.js +1 -1
  669. package/dist/i18n/locales/pl/messages.js +1 -1
  670. package/dist/i18n/locales/pt/messages.js +1 -1
  671. package/dist/i18n/locales/ro/messages.js +1 -1
  672. package/dist/i18n/locales/sk/messages.js +1 -1
  673. package/dist/i18n/locales/tr/messages.js +1 -1
  674. package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +2 -2
  675. package/dist/legacy/phoenix-cli/services/webhook-service/transport.js +1 -1
  676. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.d.ts +1 -0
  677. package/dist/legacy/phoenix-cli/services/webhook-service/tunnel.js +1 -1
  678. package/dist/legacy/webhook-cli/lambda-local/index.js +1 -1
  679. package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
  680. package/dist/phoenix/application-spec/generate-application-spec-project.js +2 -2
  681. package/dist/phoenix/application-spec/index.d.ts +1 -0
  682. package/dist/phoenix/application-spec/index.js +1 -1
  683. package/dist/phoenix/application-spec/project-files.d.ts +8 -2
  684. package/dist/phoenix/application-spec/project-files.js +1 -1
  685. package/dist/phoenix/commands/clean.js +1 -1
  686. package/dist/phoenix/commands/deploy.js +3 -3
  687. package/dist/phoenix/commands/dev.js +4 -5
  688. package/dist/phoenix/commands/story-dev.js +2 -2
  689. package/dist/phoenix/editor-server/commands-router.js +1 -1
  690. package/dist/phoenix/editor-server/editor-server.d.ts +2 -13
  691. package/dist/phoenix/editor-server/editor-server.js +1 -1
  692. package/dist/phoenix/editor-server/spec-router.js +1 -1
  693. package/dist/phoenix/editor-server/trpc.d.ts +2 -12
  694. package/dist/phoenix/lingui/lingui.d.ts +4 -4
  695. package/dist/phoenix/scripts/docs-utils.js +1 -1
  696. package/dist/phoenix/services/application-spec-project-watcher.d.ts +11 -8
  697. package/dist/phoenix/services/application-spec-project-watcher.js +2 -2
  698. package/dist/phoenix/services/deployment/deployment-preparation-service.d.ts +28 -0
  699. package/dist/phoenix/services/deployment/deployment-preparation-service.js +1 -0
  700. package/dist/phoenix/services/deployment/index.d.ts +2 -0
  701. package/dist/phoenix/services/deployment/index.js +1 -0
  702. package/dist/phoenix/services/index.d.ts +2 -1
  703. package/dist/phoenix/services/index.js +1 -1
  704. package/dist/phoenix/services/phoenix-store.d.ts +3 -0
  705. package/dist/phoenix/services/phoenix-store.js +1 -1
  706. package/dist/phoenix/services/session/editor-server-handle.d.ts +5 -0
  707. package/dist/phoenix/services/session/editor-server-handle.js +1 -0
  708. package/dist/phoenix/services/session/index.d.ts +2 -0
  709. package/dist/phoenix/services/session/index.js +1 -0
  710. package/dist/phoenix/services/session/phoenix-application.d.ts +82 -0
  711. package/dist/phoenix/services/session/phoenix-application.js +2 -0
  712. package/dist/phoenix/services/source-archive.d.ts +2 -0
  713. package/dist/phoenix/services/source-archive.js +1 -1
  714. package/dist/phoenix/services/swc.d.ts +5 -4
  715. package/dist/phoenix/services/swc.js +2 -2
  716. package/dist/phoenix/services/vite-config.js +1 -1
  717. package/dist/phoenix/services/webhook-service/transport.js +1 -1
  718. package/dist/phoenix/services/webhook-service/tunnel.d.ts +1 -0
  719. package/dist/phoenix/services/webhook-service/tunnel.js +1 -1
  720. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.d.ts +7 -0
  721. package/dist/react-sdk/configurator-ui-elements/ConfiguratorUiElementHost.js +1 -0
  722. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.d.ts +14 -0
  723. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackElement.js +1 -0
  724. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.d.ts +18 -0
  725. package/dist/react-sdk/configurator-ui-elements/ErrorFallbackPropsProvider.js +1 -0
  726. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.d.ts +5 -0
  727. package/dist/react-sdk/configurator-ui-elements/PlainErrorFallback.js +1 -0
  728. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.d.ts +17 -0
  729. package/dist/react-sdk/configurator-ui-elements/configurator-ui-element.js +1 -0
  730. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.d.ts +5 -0
  731. package/dist/react-sdk/configurator-ui-elements/create-configurator-ui-element.js +1 -0
  732. package/dist/react-sdk/configurator-ui-elements/index.d.ts +6 -0
  733. package/dist/react-sdk/configurator-ui-elements/index.js +1 -0
  734. package/dist/react-sdk/domain-application-context/BackendDataProvider.js +1 -1
  735. package/dist/react-sdk/domain-application-context/FrontendDataProvider.js +1 -1
  736. package/dist/react-sdk/domain-application-context/PublishedDataProvider.js +1 -1
  737. package/dist/react-sdk/domain-context/common-hooks/use-state-validity.d.ts +7 -1
  738. package/dist/react-sdk/domain-controls/ChildEntityCardSelector.d.ts +2 -3
  739. package/dist/react-sdk/domain-controls/ChildEntityListSelector.d.ts +2 -3
  740. package/dist/react-sdk/domain-controls/ChildEntityToggleSelector.d.ts +2 -3
  741. package/dist/react-sdk/domain-controls/hooks/use-cook-replace-recipes.d.ts +2 -2
  742. package/dist/react-sdk/elements/PhoenixEntityElement.js +1 -1
  743. package/dist/react-sdk/elements/PhoenixLayoutElement.js +1 -1
  744. package/dist/react-sdk/index.d.ts +2 -0
  745. package/dist/react-sdk/index.js +1 -1
  746. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.d.ts +11 -0
  747. package/dist/react-sdk/provider-slots/ConfiguratorProviderSlotHost.js +1 -0
  748. package/dist/react-sdk/provider-slots/configurator-provider-slot.d.ts +24 -0
  749. package/dist/react-sdk/provider-slots/configurator-provider-slot.js +1 -0
  750. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.d.ts +5 -0
  751. package/dist/react-sdk/provider-slots/create-configurator-provider-slot.js +1 -0
  752. package/dist/react-sdk/provider-slots/index.d.ts +3 -0
  753. package/dist/react-sdk/provider-slots/index.js +1 -0
  754. package/dist/react-sdk/session/SessionServiceProvider.d.ts +5 -0
  755. package/dist/react-sdk/session/SessionServiceProvider.js +1 -1
  756. package/dist/ui-sdk/components/numerical-input/InputField.d.ts +2 -0
  757. package/dist/ui-sdk/components/numerical-input/InputField.js +1 -1
  758. package/dist/ui-sdk/components/numerical-input/NumericalInput.d.ts +2 -2
  759. package/dist/ui-sdk/components/numerical-input/Slider.d.ts +3 -1
  760. package/dist/ui-sdk/components/numerical-input/Slider.js +1 -1
  761. package/dist/ui-sdk/icons/__generated/ChatCircleText.d.ts +3 -0
  762. package/dist/ui-sdk/icons/__generated/ChatCircleText.js +1 -0
  763. package/dist/ui-sdk/icons/__generated/Paperclip.d.ts +3 -0
  764. package/dist/ui-sdk/icons/__generated/Paperclip.js +1 -0
  765. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.d.ts +3 -0
  766. package/dist/ui-sdk/icons/__generated/PencilSimpleLine.js +1 -0
  767. package/dist/ui-sdk/icons/__generated/index.d.ts +6 -0
  768. package/dist/ui-sdk/icons/__generated/index.js +1 -1
  769. package/dist/ui-sdk/icons/icons-registry.js +1 -1
  770. package/dist/ui-sdk/theme/types.d.ts +1 -1
  771. package/package.json +3 -3
  772. package/schema/domain-spec.json +22 -4
  773. package/dist/application-spec/caching/runtime-reference-store.js +0 -1
  774. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.d.ts +0 -1
  775. package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +0 -1
  776. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.d.ts +0 -3
  777. package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +0 -166
  778. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.d.ts +0 -1
  779. package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +0 -54
  780. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.d.ts +0 -1
  781. package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +0 -115
  782. package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +0 -1
  783. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +0 -1
  784. package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +0 -6
  785. package/dist/application-spec/generate-application/implementations/phx-application-types.js +0 -1
  786. package/dist/application-spec/generate-application/implementations/phx-domain.js +0 -1
  787. package/dist/application-spec/generate-application/implementations/phx-model.js +0 -1
  788. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-model-runtime.js +0 -1
  789. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-runtime.js +0 -1
  790. package/dist/application-spec/generate-application/runtime/admin-runtime/admin-spec-runtime.js +0 -1
  791. package/dist/application-spec/generate-application/runtime/application-runtime.js +0 -1
  792. package/dist/application-spec/generate-application/runtime/application-spec-slice.js +0 -1
  793. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-model-runtime.js +0 -1
  794. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-runtime.js +0 -1
  795. package/dist/application-spec/generate-application/runtime/configurator-runtime/configurator-spec-runtime.js +0 -1
  796. package/dist/application-spec/generate-application/runtime/create-application.js +0 -1
  797. package/dist/application-spec/generate-application/runtime/factory-data/recipe-defaults.js +0 -1
  798. package/dist/application-spec/generate-application/runtime/factory-data/static-violations.js +0 -1
  799. package/dist/application-spec/generate-application/runtime/generate-runtime-instance.js +0 -1
  800. package/dist/application-spec/generate-application/runtime/index.d.ts +0 -8
  801. package/dist/application-spec/generate-application/runtime/index.js +0 -1
  802. package/dist/application-spec/generate-application/runtime/migrations/migration-runtime.js +0 -1
  803. package/dist/application-spec/generate-application/runtime/sections/build-sdk-optic.js +0 -1
  804. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.d.ts +0 -8
  805. package/dist/application-spec/generate-application/runtime/sections/build-user-bound-optic.js +0 -1
  806. package/dist/application-spec/generate-application/runtime/sections/expression-runtime.js +0 -1
  807. package/dist/application-spec/generate-application/runtime/sections/generate-memo-eval-plan-runtime.js +0 -1
  808. package/dist/application-spec/generate-application/runtime/sections/index.d.ts +0 -10
  809. package/dist/application-spec/generate-application/runtime/sections/index.js +0 -1
  810. package/dist/application-spec/generate-application/runtime/spec-runtime.js +0 -1
  811. package/dist/application-spec/generate-application/runtime-spec/index.d.ts +0 -5
  812. package/dist/application-spec/generate-application/runtime-spec/index.js +0 -1
  813. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.d.ts +0 -17
  814. package/dist/configurator/application-runtime/extensions/systems/assistant-system/browser-details.js +0 -1
  815. package/dist/domain/domain-runtime/spec/module-checks/find-assistant-form-element-errors.js +0 -1
  816. package/dist/domain/domain-runtime/spec/module-checks/index.js +0 -1
  817. package/dist/domain/domain-runtime/spec/module-checks/merge-expression-modules.js +0 -1
  818. package/dist/domain/domain-runtime/spec/module-checks/project-modules.js +0 -1
  819. package/dist/domain/domain-runtime/spec/module-checks/resolve-imported-transformers.js +0 -1
  820. package/dist/phoenix/services/phoenix-application.d.ts +0 -21
  821. package/dist/phoenix/services/phoenix-application.js +0 -1
  822. /package/dist/{application-spec/generate-application/runtime/spec-code/spec-code-module.js → configurator/application-runtime/extensions/systems/assistant-system/assistant-annotation.js} +0 -0
  823. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.d.ts +0 -0
  824. /package/dist/configurator/{configurator-context → pages/provider-slots}/ConfiguratorResponsiveProvider.js +0 -0
  825. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.d.ts +0 -0
  826. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error-collector.js +0 -0
  827. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.d.ts +0 -0
  828. /package/dist/domain/{domain-runtime → spec}/errors/implementation-error.js +0 -0
  829. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.d.ts +0 -0
  830. /package/dist/domain/{domain-runtime → spec}/errors/implementation-errors.js +0 -0
  831. /package/dist/domain/{domain-runtime → spec}/errors/index.d.ts +0 -0
  832. /package/dist/domain/{domain-runtime → spec}/errors/index.js +0 -0
  833. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.d.ts +0 -0
  834. /package/dist/domain/{domain-runtime → spec}/errors/to-implementation-errors.js +0 -0
  835. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/element-registration.js +0 -0
  836. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.d.ts +0 -0
  837. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/handler-registration.js +0 -0
  838. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-action-modules.js +0 -0
  839. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-component-optic-modules.js +0 -0
  840. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-expression-modules.js +0 -0
  841. /package/dist/domain/{domain-runtime/spec/module-checks → spec/modules}/resolve-invariant-modules.js +0 -0
  842. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx-domain.d.ts +0 -0
  843. /package/dist/{application-spec/generate-application/implementations → domain/spec/phx}/phx.js +0 -0
  844. /package/dist/{application-spec/generate-application → domain/spec}/runtime/admin-runtime/states-runtime.js +0 -0
  845. /package/dist/{application-spec/generate-application → domain/spec}/runtime/configurator-runtime/states-runtime.js +0 -0
  846. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/expressions}/reflection-constants-runtime.js +0 -0
  847. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/factory-data-runtime.js +0 -0
  848. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.d.ts +0 -0
  849. /package/dist/{application-spec/generate-application → domain/spec}/runtime/factory-data/index.js +0 -0
  850. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.d.ts +0 -0
  851. /package/dist/{application-spec/generate-application → domain/spec}/runtime/migrations/index.js +0 -0
  852. /package/dist/domain/{application/assistant/assistant-resolved-manifest.js → spec/runtime/optics/built-component-optic.js} +0 -0
  853. /package/dist/{application-spec/generate-application/runtime/sections → domain/spec/runtime/optics}/component-optic.js +0 -0
  854. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/actions-runtime.js +0 -0
  855. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/assistant-runtime.js +0 -0
  856. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/data-runtime.js +0 -0
  857. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/preset-runtime.js +0 -0
  858. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/theme-runtime.js +0 -0
  859. /package/dist/{application-spec/generate-application → domain/spec}/runtime/sections/transformers-runtime.js +0 -0
  860. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.d.ts +0 -0
  861. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/index.js +0 -0
  862. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/resolve-spec-code.js +0 -0
  863. /package/dist/{application-spec/generate-application → domain/spec}/runtime/spec-code/spec-code-module.d.ts +0 -0
  864. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.d.ts +0 -0
  865. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/decode-runtime-spec.js +0 -0
  866. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.d.ts +0 -0
  867. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encode-runtime-spec.js +0 -0
  868. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.d.ts +0 -0
  869. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/encoded-runtime-spec.js +0 -0
  870. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/runtime-spec.js +0 -0
  871. /package/dist/{application-spec/generate-application → domain/spec}/runtime-spec/spec-code-id.js +0 -0
  872. /package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.d.ts +0 -0
  873. /package/dist/domain/{application → spec/sections}/assistant/assistant-manifest.js +0 -0
  874. /package/dist/domain/{application → spec/sections}/assistant/assistant-resolved-manifest.d.ts +0 -0
  875. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.d.ts +0 -0
  876. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-element-name.js +0 -0
  877. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.d.ts +0 -0
  878. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-form-elements.js +0 -0
  879. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.d.ts +0 -0
  880. /package/dist/domain/{application → spec/sections}/assistant/form/assistant-resource-path.js +0 -0
  881. /package/dist/domain/{application → spec/sections}/assistant/form/index.d.ts +0 -0
  882. /package/dist/domain/{application → spec/sections}/assistant/form/index.js +0 -0
  883. /package/dist/phoenix/{commands → services/deployment}/generated-env-markers.d.ts +0 -0
  884. /package/dist/phoenix/{commands → services/deployment}/generated-env-markers.js +0 -0
@@ -1,12 +1,13 @@
1
1
  export { AnimationSystem, type AnimationSystemContext } from './animation-system.js';
2
- export { type AssistantChatSnapshot, type AssistantEarlierThreadSnapshot, type AssistantClientTool, type AssistantPanelSnapshot, AssistantSystem, type AssistantSystemContext, } from './assistant-system/assistant-system.js';
2
+ export type { AssistantAnnotation, AssistantAnnotationOverlay } from './assistant-system/assistant-annotation.js';
3
+ export { type AssistantAttachment, type AssistantChatSnapshot, type AssistantEarlierThreadSnapshot, type AssistantClientTool, type AssistantPanelSnapshot, AssistantSystem, type AssistantSystemContext, } from './assistant-system/assistant-system.js';
3
4
  export { CameraControlSystem, CameraControlType } from './camera-control-system/camera-control-system.js';
4
5
  export { type AnyCameraSystem, CameraSystem, type CameraSystemContext } from './camera-control-system/camera-system.js';
5
6
  export { createCameraControls } from './camera-control-system/create-camera-controls.js';
6
7
  export { type AnyCanvasSystem, CanvasSystem, type EntityObjectFilter, type FlushToken } from './canvas-system.js';
7
8
  export { type AnyDragAndDropSystem, DragAndDropSystem, type DragAndDropSystemContext, type DraggableState, type DraggingState, type RotationDraggingState, } from './drag-and-drop-system/drag-and-drop-system.js';
8
9
  export { type AnyExportSystem, ExportSystem, type ExportSystemContext } from './export-system/export-system.js';
9
- export { type GraphQLExecution, type GraphQLScreenshot, type GraphQLOperation, GraphQLSystem, type GraphQLSystemContext, type PreparedOperation, } from './graphql-system/graphql-system.js';
10
+ export { type GraphQLExecution, type GraphQLScreenshot, type GraphQLOperation, GraphQLSystem, type GraphQLSystemContext, type PreparedOperation, SCREENSHOT_NOT_TAKEN, } from './graphql-system/graphql-system.js';
10
11
  export type * from './image-rendering-system/image-renderer.js';
11
12
  export { type AnyImageRenderingSystem, ImageRenderingSystem, type ImageRenderingSystemContext, } from './image-rendering-system/image-rendering-system.js';
12
13
  export { type AnyLayoutSystem, LayoutSystem, type LayoutSystemContext } from './layout-system/layout-system.js';
@@ -1 +1 @@
1
- export{AnimationSystem}from"./animation-system.js";export{AssistantSystem}from"./assistant-system/assistant-system.js";export{CameraControlSystem,CameraControlType}from"./camera-control-system/camera-control-system.js";export{CameraSystem}from"./camera-control-system/camera-system.js";export{createCameraControls}from"./camera-control-system/create-camera-controls.js";export{CanvasSystem}from"./canvas-system.js";export{DragAndDropSystem}from"./drag-and-drop-system/drag-and-drop-system.js";export{ExportSystem}from"./export-system/export-system.js";export{GraphQLSystem}from"./graphql-system/graphql-system.js";export{ImageRenderingSystem}from"./image-rendering-system/image-rendering-system.js";export{LayoutSystem}from"./layout-system/layout-system.js";export{toolbarHelpElementName}from"./layout-system/toolbar-help-element.js";export{SketchingSystem}from"./sketching-system/sketching-system.js";export{LineEndPointUpdateTag,LineLengthUpdateTag,LineLineConnectionUpdateTag,LineRectangleBottomLeftConnectionUpdateTag,LineRectangleBottomRightConnectionUpdateTag,LineRectangleTopLeftConnectionUpdateTag,LineRectangleTopRightConnectionUpdateTag,LineSketchingPointUpdateTag,LineStartPointUpdateTag,RectangleBottomLeftCornerUpdateTag,RectangleBottomRightCornerUpdateTag,RectangleDepthUpdateTag,RectangleSketchingPointUpdateTag,RectangleTopLeftCornerUpdateTag,RectangleTopRightCornerUpdateTag,RectangleWidthUpdateTag,SetInitialSketchingPointPositionTag,SketchingFixTransformationTag,isAnySketchingPointUpdate,isLineEndPointUpdate,isLineLengthUpdate,isLineLineConnectionUpdate,isLineRectangleBottomLeftConnectionUpdate,isLineRectangleBottomRightConnectionUpdate,isLineRectangleTopLeftConnectionUpdate,isLineRectangleTopRightConnectionUpdate,isLineSketchingPointUpdate,isLineStartPointUpdate,isRectangleBottomLeftCornerUpdate,isRectangleBottomRightCornerUpdate,isRectangleDepthUpdate,isRectangleSketchingPointUpdate,isRectangleTopLeftCornerUpdate,isRectangleTopRightCornerUpdate,isRectangleWidthUpdate,isSetInitialLinePositionUpdate,isSetInitialRectanglePositionUpdate,isSketchingFixTransformationUpdate}from"./sketching-system/sketching-updates.js";
1
+ export{AnimationSystem}from"./animation-system.js";export{AssistantSystem}from"./assistant-system/assistant-system.js";export{CameraControlSystem,CameraControlType}from"./camera-control-system/camera-control-system.js";export{CameraSystem}from"./camera-control-system/camera-system.js";export{createCameraControls}from"./camera-control-system/create-camera-controls.js";export{CanvasSystem}from"./canvas-system.js";export{DragAndDropSystem}from"./drag-and-drop-system/drag-and-drop-system.js";export{ExportSystem}from"./export-system/export-system.js";export{GraphQLSystem,SCREENSHOT_NOT_TAKEN}from"./graphql-system/graphql-system.js";export{ImageRenderingSystem}from"./image-rendering-system/image-rendering-system.js";export{LayoutSystem}from"./layout-system/layout-system.js";export{toolbarHelpElementName}from"./layout-system/toolbar-help-element.js";export{SketchingSystem}from"./sketching-system/sketching-system.js";export{LineEndPointUpdateTag,LineLengthUpdateTag,LineLineConnectionUpdateTag,LineRectangleBottomLeftConnectionUpdateTag,LineRectangleBottomRightConnectionUpdateTag,LineRectangleTopLeftConnectionUpdateTag,LineRectangleTopRightConnectionUpdateTag,LineSketchingPointUpdateTag,LineStartPointUpdateTag,RectangleBottomLeftCornerUpdateTag,RectangleBottomRightCornerUpdateTag,RectangleDepthUpdateTag,RectangleSketchingPointUpdateTag,RectangleTopLeftCornerUpdateTag,RectangleTopRightCornerUpdateTag,RectangleWidthUpdateTag,SetInitialSketchingPointPositionTag,SketchingFixTransformationTag,isAnySketchingPointUpdate,isLineEndPointUpdate,isLineLengthUpdate,isLineLineConnectionUpdate,isLineRectangleBottomLeftConnectionUpdate,isLineRectangleBottomRightConnectionUpdate,isLineRectangleTopLeftConnectionUpdate,isLineRectangleTopRightConnectionUpdate,isLineSketchingPointUpdate,isLineStartPointUpdate,isRectangleBottomLeftCornerUpdate,isRectangleBottomRightCornerUpdate,isRectangleDepthUpdate,isRectangleSketchingPointUpdate,isRectangleTopLeftCornerUpdate,isRectangleTopRightCornerUpdate,isRectangleWidthUpdate,isSetInitialLinePositionUpdate,isSetInitialRectanglePositionUpdate,isSketchingFixTransformationUpdate}from"./sketching-system/sketching-updates.js";
@@ -366,7 +366,7 @@ export interface ConfiguratorInterface<ENTITIES extends DomainEntity<string>, AL
366
366
  /**
367
367
  * Returns validity of the last committed emission
368
368
  */
369
- useStateValidity: UseStateValidity<ENTITIES, $MAP>;
369
+ useStateValidity: () => UseStateValidity<ENTITIES, $MAP>;
370
370
  /**
371
371
  * Returns a function used to reduce violations to translated hints
372
372
  */
@@ -7,7 +7,11 @@ import { type ElementRegistration } from '#package/domain';
7
7
  * anonymous visitor who may not create a configuration opens the start page, `PresetUi` the preset
8
8
  * screen, `ConfiguratorErrorPage` the production error page, `AppLoaderContent` what the app loader
9
9
  * overlay shows, `AddEntityFab`, `DeleteEntityFab`, `SelectionHotspot`, `NavigationHotspot` and
10
- * `ToolMenuFab` the in-scene entity controls, and the others are the built-in controls, toolbar
11
- * buttons, menu actions and sidebar-footer pieces under the spec kinds that YAML names.
10
+ * `ToolMenuFab` the in-scene entity controls, the `ConfiguratorProviderSlot` names the visual
11
+ * providers the configurator composes its runtime around (theme, root container, app loader, snackbar
12
+ * host and scene resources), the `ConfiguratorUiElement` names the UI its runtime renders (the error
13
+ * page of the whole configurator and the invalid-deployment dialog), and the others are the built-in
14
+ * controls, toolbar buttons, menu actions and sidebar-footer pieces under the spec kinds that YAML
15
+ * names.
12
16
  */
13
17
  export declare const defaultConfiguratorElements: readonly ElementRegistration[];
@@ -1 +1 @@
1
- import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{AppLoaderContentName as r,ConfigurationNotFoundPageName as t,ConfiguratorErrorPageName as e,createNotAuthenticatedPage as a,createPresetUi as m}from"#package/react-sdk";import{DefaultAppLoaderContent as i}from"../app-loader-content/index.js";import{BuiltInConfigurationNotFoundPage as f}from"../configuration-not-found-page/index.js";import{BuiltInConfiguratorErrorPage as n}from"../configurator-error-page/index.js";import{DefaultConfiguratorLayout as p}from"./DefaultConfiguratorLayout.js";import{DefaultNotAuthenticatedPage as u}from"./DefaultNotAuthenticatedPage.js";import{DefaultPresetUi as s}from"./DefaultPresetUi.js";import{ConfiguratorLayoutName as d}from"./configurator-layout-name.js";import{domainControlElements as g,recipePanelElements as c,sceneControlElements as l,sidebarFooterElements as j,toolbarElements as x}from"./default-elements/index.js";export const defaultConfiguratorElements=[o(d,p),o(t,f),a(u),m(s),o(e,n),o(r,i),...g,...c,...l,...x,...j];
1
+ import{createCustomPhoenixLayoutElement as o}from"#package/domain";import{AppLoaderContentName as r,ConfigurationNotFoundPageName as t,ConfiguratorErrorPageName as e,createNotAuthenticatedPage as i,createPresetUi as m}from"#package/react-sdk";import{DefaultAppLoaderContent as a}from"../app-loader-content/index.js";import{BuiltInConfigurationNotFoundPage as f}from"../configuration-not-found-page/index.js";import{BuiltInConfiguratorErrorPage as n}from"../configurator-error-page/index.js";import{DefaultConfiguratorLayout as p}from"./DefaultConfiguratorLayout.js";import{DefaultNotAuthenticatedPage as s}from"./DefaultNotAuthenticatedPage.js";import{DefaultPresetUi as u}from"./DefaultPresetUi.js";import{ConfiguratorLayoutName as d}from"./configurator-layout-name.js";import{domainControlElements as l,recipePanelElements as g,sceneControlElements as j,sidebarFooterElements as c,toolbarElements as x}from"./default-elements/index.js";import{configuratorProviderSlotElements as k}from"./provider-slots/index.js";import{configuratorUiElements as D}from"./ui-elements/index.js";export const defaultConfiguratorElements=[o(d,p),o(t,f),i(s),m(u),o(e,n),o(r,a),...k,...D,...l,...g,...j,...x,...c];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The default `GeneralErrorFallback` registration: the configurator's error page, with the props of
3
+ * the boundary of the whole configurator.
4
+ */
5
+ export declare const BuiltInGeneralErrorFallback: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{useErrorFallbackProps as o}from"#package/react-sdk";import{GeneralErrorFallback as a}from"./GeneralErrorBoundary.js";export const BuiltInGeneralErrorFallback=()=>r(a,{...o()});
@@ -1,3 +1,4 @@
1
+ export { BuiltInGeneralErrorFallback } from './BuiltInGeneralErrorFallback.js';
1
2
  export { DevContextFallback } from './DevContextFallback.js';
2
3
  export { DevLoadingFallback } from './DevLoadingFallback.js';
3
4
  export { GeneralErrorFallback, DevGeneralErrorFallback, ProdGeneralErrorFallback } from './GeneralErrorBoundary.js';
@@ -1 +1 @@
1
- export{DevContextFallback}from"./DevContextFallback.js";export{DevLoadingFallback}from"./DevLoadingFallback.js";export{GeneralErrorFallback,DevGeneralErrorFallback,ProdGeneralErrorFallback}from"./GeneralErrorBoundary.js";export{LoadingErrorBoundary}from"./LoadingErrorBoundary.js";export{StackTraceViewer,parseStackTrace,getShorterPath}from"#package/ui-sdk";
1
+ export{BuiltInGeneralErrorFallback}from"./BuiltInGeneralErrorFallback.js";export{DevContextFallback}from"./DevContextFallback.js";export{DevLoadingFallback}from"./DevLoadingFallback.js";export{GeneralErrorFallback,DevGeneralErrorFallback,ProdGeneralErrorFallback}from"./GeneralErrorBoundary.js";export{LoadingErrorBoundary}from"./LoadingErrorBoundary.js";export{StackTraceViewer,parseStackTrace,getShorterPath}from"#package/ui-sdk";
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /** The configurator's `Container` provider slot: the root container, which measures itself. */
3
+ export declare const ContainerSlotProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{standardWebComponentProperties as o}from"#package/domain";import{useWebComponentPropertyValue as e}from"#package/react-sdk";import{ConfiguratorResponsiveProvider as i}from"./ConfiguratorResponsiveProvider.js";export const ContainerSlotProvider=({children:n})=>r(i,{containerZIndex:e(o.containerZIndex),children:n});
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /** The configurator's `Loader` provider slot: the app loader overlay the spec's `appLoader` selects. */
3
+ export declare const LoaderSlotProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{useSpecAppLoader as o}from"#package/react-sdk";import{AppLoader as e}from"../../ui/index.js";export const LoaderSlotProvider=({children:t})=>r(e,{mode:o(),children:t});
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /** The configurator's `MessageHost` provider slot: the themed snackbar host. */
3
+ export declare const MessageHostSlotProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{SnackbarProvider as o}from"#package/ui-sdk";export const MessageHostSlotProvider=({children:e})=>r(o,{maxSnack:5,children:e});
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /** The configurator's `SceneResources` provider slot: the scene's shared resources and texture prefetch. */
3
+ export declare const SceneResourcesSlotProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useSpecPrefetchTextureUrls as r}from"#package/react-sdk";import{SceneResourcesProvider as o}from"../../scene/index.js";export const SceneResourcesSlotProvider=({children:t})=>e(o,{prefetchTextureUrls:r(),children:t});
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ /** The configurator's `Theme` provider slot: the encapsulated MUI theme. */
3
+ export declare const ThemeSlotProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{EncapsulatedConfiguratorTheme as e}from"../../ui/index.js";export const ThemeSlotProvider=({children:o})=>r(e,{children:o});
@@ -0,0 +1,3 @@
1
+ import type { ElementRegistration } from '#package/domain';
2
+ /** The configurator UI's providers, one for each of the configurator's provider slots. */
3
+ export declare const configuratorProviderSlotElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{ConfiguratorProviderSlot as o,createConfiguratorProviderSlot as r}from"#package/react-sdk";import{ContainerSlotProvider as e}from"./ContainerSlotProvider.js";import{LoaderSlotProvider as t}from"./LoaderSlotProvider.js";import{MessageHostSlotProvider as s}from"./MessageHostSlotProvider.js";import{SceneResourcesSlotProvider as i}from"./SceneResourcesSlotProvider.js";import{ThemeSlotProvider as m}from"./ThemeSlotProvider.js";export const configuratorProviderSlotElements=[r(o.Theme,m),r(o.Container,e),r(o.Loader,t),r(o.MessageHost,s),r(o.SceneResources,i)];
@@ -0,0 +1,6 @@
1
+ export { configuratorProviderSlotElements } from './configurator-provider-slot-elements.js';
2
+ export { ContainerSlotProvider } from './ContainerSlotProvider.js';
3
+ export { LoaderSlotProvider } from './LoaderSlotProvider.js';
4
+ export { MessageHostSlotProvider } from './MessageHostSlotProvider.js';
5
+ export { SceneResourcesSlotProvider } from './SceneResourcesSlotProvider.js';
6
+ export { ThemeSlotProvider } from './ThemeSlotProvider.js';
@@ -0,0 +1 @@
1
+ export{configuratorProviderSlotElements}from"./configurator-provider-slot-elements.js";export{ContainerSlotProvider}from"./ContainerSlotProvider.js";export{LoaderSlotProvider}from"./LoaderSlotProvider.js";export{MessageHostSlotProvider}from"./MessageHostSlotProvider.js";export{SceneResourcesSlotProvider}from"./SceneResourcesSlotProvider.js";export{ThemeSlotProvider}from"./ThemeSlotProvider.js";
@@ -0,0 +1,2 @@
1
+ /** The default `InvalidDeploymentReload` registration: the dialog that asks to reload the page. */
2
+ export declare const BuiltInInvalidDeploymentReload: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{InvalidDeploymentReload as e}from"#package/react-sdk";export const BuiltInInvalidDeploymentReload=()=>t(e,{});
@@ -0,0 +1,3 @@
1
+ import type { ElementRegistration } from '#package/domain';
2
+ /** The configurator UI's named elements, one for each element the configurator's runtime renders. */
3
+ export declare const configuratorUiElements: readonly ElementRegistration[];
@@ -0,0 +1 @@
1
+ import{ConfiguratorUiElement as r,createConfiguratorUiElement as o}from"#package/react-sdk";import{BuiltInGeneralErrorFallback as e}from"../error-boundaries/index.js";import{BuiltInInvalidDeploymentReload as a}from"./BuiltInInvalidDeploymentReload.js";export const configuratorUiElements=[o(r.GeneralErrorFallback,e),o(r.InvalidDeploymentReload,a)];
@@ -0,0 +1,2 @@
1
+ export { BuiltInInvalidDeploymentReload } from './BuiltInInvalidDeploymentReload.js';
2
+ export { configuratorUiElements } from './configurator-ui-elements.js';
@@ -0,0 +1 @@
1
+ export{BuiltInInvalidDeploymentReload}from"./BuiltInInvalidDeploymentReload.js";export{configuratorUiElements}from"./configurator-ui-elements.js";
@@ -1 +1 @@
1
- import{useFrame as t,useThree as r}from"@react-three/fiber";import{useEffect as e,useRef as a}from"react";import{MathUtils as o}from"three";import{useResponsive as i}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";let p=1/30;export const CameraPadding=()=>{let{cameraControlSystem:n,canvasSystem:c}=m(),{canvasPadding:f}=i(),l=r(t=>t.invalidate),h=a(f),d=a(!1);return e(()=>{n.setCanvasPadding(f),l()},[n,f,l]),t((t,r)=>{if(t.camera!==n.perspectiveCamera&&t.camera!==n.orthographicCamera)return;let e=c.interactiveViewport$.value;if(null===e)return;let a=h.current,i=Math.min(r,p),m=d.current?{top:o.damp(a.top,f.top,8,i),right:o.damp(a.right,f.right,8,i),bottom:o.damp(a.bottom,f.bottom,8,i),left:o.damp(a.left,f.left,8,i)}:f;d.current=!0;let s=.5>Math.abs(m.top-f.top)&&.5>Math.abs(m.right-f.right)&&.5>Math.abs(m.bottom-f.bottom)&&.5>Math.abs(m.left-f.left);h.current=s?f:m,n.setCameraOffset({padding:h.current,viewPort:e,camera:n.perspectiveCamera}),n.setCameraOffset({padding:h.current,viewPort:e,camera:n.orthographicCamera}),s||l()}),null};
1
+ import{useFrame as t,useThree as a}from"@react-three/fiber";import{useEffect as e,useRef as r}from"react";import{MathUtils as o}from"three";import{useResponsive as i}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";let p=1/30;export const CameraPadding=()=>{let{cameraControlSystem:l,canvasSystem:f}=m(),{canvasPadding:n}=i(),h=a(t=>t.invalidate),s=r(!1);return e(()=>{l.setCanvasPadding(n),h()},[l,n,h]),t((t,a)=>{if(t.camera!==l.perspectiveCamera&&t.camera!==l.orthographicCamera||null===f.interactiveViewport$.value||l.isCameraOffsetHeld)return;let e=l.appliedCameraOffset,r=Math.min(a,p),i=s.current?{top:o.damp(e.top,n.top,8,r),right:o.damp(e.right,n.right,8,r),bottom:o.damp(e.bottom,n.bottom,8,r),left:o.damp(e.left,n.left,8,r)}:n;s.current=!0;let m=.5>Math.abs(i.top-n.top)&&.5>Math.abs(i.right-n.right)&&.5>Math.abs(i.bottom-n.bottom)&&.5>Math.abs(i.left-n.left);l.applyCameraOffset(m?n:i),m||h()}),null};
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from 'react';
1
2
  import type { AssistantToolItem } from './thread-items.js';
2
3
  export interface AssistantToolChipsProps {
3
4
  readonly tools: readonly AssistantToolItem[];
@@ -16,3 +17,12 @@ export interface AssistantToolChipsProps {
16
17
  * back, up to a change the user made in between.
17
18
  */
18
19
  export declare const AssistantToolChips: import("react").MemoExoticComponent<({ tools, isActive, canUndo, onUndo }: AssistantToolChipsProps) => import("react/jsx-runtime").JSX.Element>;
20
+ export interface AssistantActivityRowProps {
21
+ /** What the assistant is doing, said beside the turning icon. */
22
+ readonly label: ReactNode;
23
+ }
24
+ /**
25
+ * The assistant at work before it has a row of chips to show, such as while it thinks: the row's
26
+ * turning icon, in the place the icon of the first row of chips takes over.
27
+ */
28
+ export declare const AssistantActivityRow: ({ label }: AssistantActivityRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{ButtonBase as i,ClickAwayListener as o,Tooltip as s,styled as a}from"@mui/material";import{memo as r,useCallback as l,useMemo as d,useRef as c,useState as m}from"react";import{match as p}from"ts-pattern";import{useLocalizable as h}from"#package/react-sdk";import{PhxIcon as u}from"#package/ui-sdk";import{assistantReferenceStyles as f}from"./reference-link/index.js";import{ScreenshotThumbnails as g,readToolScreenshots as k}from"./screenshots/index.js";import{AssistantPanelName as x}from"./theme.js";let y={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},b={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},w={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},v={id:"sdk.assistant.tool.cancelled.hint",message:"Stopped before it finished."},C={id:"sdk.assistant.tool.noResult.hint",message:"The result of this step was lost. It may or may not have been done."},I={id:"sdk.assistant.tool.toolBudget.hint",message:"Not done: the assistant reached its limit of steps for one message."},S={id:"sdk.assistant.tool.undo.label",message:"Undo"},D={id:"sdk.assistant.tool.screenshots.label",message:"{count, plural, one {# screenshot} other {# screenshots}}"},j=a("div",{name:x,slot:"chips"})(({theme:{palette:e,spacing:t,typography:n}})=>({...n.caption,alignItems:"start",color:e.text.secondary,display:"grid",gap:t(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),z=a("span",{name:x,slot:"activity"})(({theme:{typography:e}})=>({blockSize:`calc(${e.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),A=a(u,{name:x,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2.4s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),T=a("span",{name:x,slot:"chip"})(({theme:{palette:e,spacing:t}})=>({cursor:"default",display:"inline-flex",maxInlineSize:"100%",verticalAlign:"top",whiteSpace:"nowrap","&:not(:last-of-type)::after":{color:e.text.secondary,content:'"\xb7"',flexShrink:0,marginInline:t(.75)}})),E=a("span",{name:x,slot:"screenshotsLink"})(f),L=a(i,{name:x,slot:"undoButton"})(({theme:{palette:e,shape:t,spacing:n}})=>({alignItems:"center",animation:"phx-assistant-undo-in 150ms ease-out",borderRadius:t.borderRadius,color:e.primary.main,display:"inline-flex",font:"inherit",gap:n(.5),marginInlineStart:n(1),verticalAlign:"top","&:hover":{textDecoration:"underline"},"@media (prefers-reduced-motion: reduce)":{animation:"none"},"@keyframes phx-assistant-undo-in":{from:{opacity:0}}})),R=a("span",{name:x,slot:"chipLabel"})(({theme:{palette:e}})=>({minInlineSize:0,overflow:"hidden",textOverflow:"ellipsis",'[data-chip="failed"] > &':{textDecoration:"line-through",textDecorationColor:e.error.main}})),P=a("span",{name:x,slot:"violation"})({display:"block"}),B=a("span",{name:x,slot:"fullLabel"})({display:"block"}),O=r(({tool:i})=>{let{chip:o,input:a,result:r}=i,d=h(y),u=h(b),f=h(w),g=h(v),k=h(C),x=h(I),S=c(null),[D,j]=m(!1),z=p(o.label).with({kind:"text"},({text:e})=>e).with({kind:"updateDesign"},()=>d).with({kind:"readDesign"},()=>u).exhaustive(),A=l(()=>{console.info(`Assistant tool call "${z}"`,{input:a,result:r})},[a,z,r]),E=l(()=>{let e=S.current;j(null!=e&&e.scrollWidth>e.clientWidth)},[]),L=p(o).with({errorCode:"cancelled"},()=>g).with({errorCode:"no_result"},()=>k).with({errorCode:"tool_budget"},()=>x).when(({violations:e})=>e.length>0,({violations:t})=>t.map((t,n)=>e(P,{children:t},n))).with({state:"failed"},()=>f).otherwise(()=>""),O=D?t(n,{children:[e(B,{children:z}),L]}):L;return e(s,{title:O,placement:"top-start",children:e(T,{onClick:A,onPointerEnter:E,"data-chip":o.state,children:e(R,{ref:S,children:z})})})}),U=r(({screenshots:t})=>{let n=h({...D,values:{count:t.length}}),[i,a]=m(!1),r=l(()=>a(!0),[]),d=l(()=>a(!1),[]),p=c(null),u=l(e=>{p.current=e},[]),f=l(()=>{p.current?.update()},[]),k=l(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a(!0))},[]);return e(T,{"data-chip":"screenshots",children:e(o,{onClickAway:d,mouseEvent:!!i&&"onClick",touchEvent:!!i&&"onTouchEnd",children:e(s,{open:i,onOpen:r,onClose:d,title:e(g,{screenshots:t,onImageLoad:f}),placement:"top-start",describeChild:!0,disableTouchListener:!0,PopperProps:{popperRef:u},slotProps:{tooltip:{sx:{background:"none",maxInlineSize:"none",padding:0}}},children:e(E,{role:"button",tabIndex:0,"aria-expanded":i,onClick:r,onKeyDown:k,children:n})})})})}),W=({tool:i})=>{let o=d(()=>k(i.result),[i.result]);return t(n,{children:[e(O,{tool:i}),o.length>0&&e(U,{screenshots:o})]})};export const AssistantToolChips=r(({tools:n,isActive:i,canUndo:o,onUndo:s})=>{let a=h(S),r=l(()=>{s(new Set(n.map(({id:e})=>e)))},[s,n]);return t(j,{"data-chips":i?"active":"done","aria-busy":i,children:[e(z,{children:e(A,{name:"Gear"})}),t("div",{children:[n.map(t=>e(W,{tool:t},t.id)),o&&t(L,{onClick:r,children:[e(u,{name:"ArrowCounterClockwise",fontSize:"inherit"}),a]})]})]})});
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{ButtonBase as n,Tooltip as s,styled as a}from"@mui/material";import{memo as o,useCallback as r,useMemo as l,useRef as d,useState as c}from"react";import{match as m}from"ts-pattern";import{useLocalizable as h}from"#package/react-sdk";import{PhxIcon as p,hoverStyles as u}from"#package/ui-sdk";import{AssistantPopover as f}from"./popover/index.js";import{assistantReferenceStyles as g}from"./reference-link/index.js";import{ScreenshotThumbnails as k,readToolScreenshots as x}from"./screenshots/index.js";import{AssistantPanelName as y}from"./theme.js";let v={id:"sdk.assistant.tool.updateDesign.label",message:"Update design"},w={id:"sdk.assistant.tool.readDesign.label",message:"Read design"},b={id:"sdk.assistant.tool.mistake.hint",message:"The assistant made a mistake."},C={id:"sdk.assistant.tool.cancelled.hint",message:"Stopped before it finished."},I={id:"sdk.assistant.tool.noResult.hint",message:"The result of this step was lost. It may or may not have been done."},S={id:"sdk.assistant.tool.toolBudget.hint",message:"Not done: the assistant reached its limit of steps for one message."},A={id:"sdk.assistant.tool.undo.label",message:"Undo"},D={id:"sdk.assistant.tool.screenshots.label",message:"{count, plural, one {# screenshot} other {# screenshots}}"},j=a("div",{name:y,slot:"chips"})(({theme:{palette:e,spacing:t,typography:i}})=>({...i.caption,alignItems:"start",color:e.text.secondary,display:"grid",gap:t(.75),gridTemplateColumns:"min-content minmax(0, 1fr)"})),z=a("span",{name:y,slot:"activity"})(({theme:{typography:e}})=>({blockSize:`calc(${e.caption.lineHeight} * 1em)`,display:"grid",placeItems:"center"})),R=a(p,{name:y,slot:"activityIcon"})({fontSize:14,'[data-chips="active"] &':{animation:"phx-assistant-turn 2400ms linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"@keyframes phx-assistant-turn":{to:{rotate:"360deg"}}}),L=({isActive:t})=>{let i=l(()=>t?-(performance.now()%2400):0,[t]);return e(R,{name:"Gear",style:{animationDelay:`${i}ms`}})},T=a("span",{name:y,slot:"chip"})(({theme:{palette:e,spacing:t}})=>({cursor:"default",display:"inline-flex",maxInlineSize:"100%",verticalAlign:"top",whiteSpace:"nowrap","&:not(:last-of-type)::after":{color:e.text.secondary,content:'"\xb7"',flexShrink:0,marginInline:t(.75)}})),$=a("span",{name:y,slot:"screenshotsLink"})(g),B=a(n,{name:y,slot:"undoButton"})(({theme:{palette:e,shape:t,spacing:i}})=>({alignItems:"center",animation:"phx-assistant-undo-in 150ms ease-out",borderRadius:t.borderRadius,color:e.primary.main,display:"inline-flex",font:"inherit",gap:i(.5),marginInlineStart:i(1),verticalAlign:"top",...u({"&:hover":{textDecoration:"underline"}}),"@media (prefers-reduced-motion: reduce)":{animation:"none"},"@keyframes phx-assistant-undo-in":{from:{opacity:0}}})),U=a("span",{name:y,slot:"chipLabel"})(({theme:{palette:e}})=>({minInlineSize:0,overflow:"hidden",textOverflow:"ellipsis",'[data-chip="failed"] > &':{textDecoration:"line-through",textDecorationColor:e.error.main}})),W=a("span",{name:y,slot:"violation"})({display:"block"}),_=a("span",{name:y,slot:"fullLabel"})({display:"block"}),E=o(({tool:n})=>{let{chip:a,input:o,result:l}=n,p=h(v),u=h(w),f=h(b),g=h(C),k=h(I),x=h(S),y=d(null),[A,D]=c(!1),j=m(a.label).with({kind:"text"},({text:e})=>e).with({kind:"updateDesign"},()=>p).with({kind:"readDesign"},()=>u).exhaustive(),z=r(()=>{console.info(`Assistant tool call "${j}"`,{input:o,result:l})},[o,j,l]),R=r(()=>{let e=y.current;D(null!=e&&e.scrollWidth>e.clientWidth)},[]),L=m(a).with({errorCode:"cancelled"},()=>g).with({errorCode:"no_result"},()=>k).with({errorCode:"tool_budget"},()=>x).when(({violations:e})=>e.length>0,({violations:t})=>t.map((t,i)=>e(W,{children:t},i))).with({state:"failed"},()=>f).otherwise(()=>""),$=A?t(i,{children:[e(_,{children:j}),L]}):L;return e(s,{title:$,placement:"top-start",children:e(T,{onClick:z,onPointerEnter:R,"data-chip":a.state,children:e(U,{ref:y,children:j})})})}),F=o(({screenshots:t})=>{let i=h({...D,values:{count:t.length}});return e(T,{"data-chip":"screenshots",children:e(f,{title:i=>e(k,{screenshots:t,onImageLoad:i}),children:t=>e($,{...t,children:i})})})}),G=({tool:n})=>{let s=l(()=>x(n.result),[n.result]);return t(i,{children:[e(E,{tool:n}),s.length>0&&e(F,{screenshots:s})]})};export const AssistantToolChips=o(({tools:i,isActive:n,canUndo:s,onUndo:a})=>{let o=h(A),l=r(()=>{a(new Set(i.map(({id:e})=>e)))},[a,i]);return t(j,{"data-chips":n?"active":"done","aria-busy":n,children:[e(z,{children:e(L,{isActive:n})}),t("div",{children:[i.map(t=>e(G,{tool:t},t.id)),s&&t(B,{onClick:l,children:[e(p,{name:"ArrowCounterClockwise",fontSize:"inherit"}),o]})]})]})});export const AssistantActivityRow=({label:i})=>t(j,{"data-chips":"active","aria-busy":!0,children:[e(z,{children:e(L,{isActive:!0})}),e("div",{children:i})]});
@@ -3,5 +3,11 @@
3
3
  * send control is a Stop control and the input stays editable, so the next message can be written.
4
4
  * A thread this session may not continue takes a message like any other: it is resumed first, with
5
5
  * the input read-only meanwhile, and the message stays in the input when that fails.
6
+ *
7
+ * Images are attached with the attach control, by pasting or by dropping files onto the composer,
8
+ * up to {@link MAX_MESSAGE_IMAGES} per message. Each is prepared at once (see `prepareImage`) and
9
+ * shown as a thumbnail that can be removed; one that cannot be prepared, or one too many, is not
10
+ * added, and a notice says why. The message keeps its text and images until it is sent, also when
11
+ * the upload of its images fails, and gets it back when the chat gives it back (see `onUnsent`).
6
12
  */
7
13
  export declare const AssistantComposer: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,2 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as r}from"@lingui/react";import{IconButton as i,InputBase as o,Tooltip as t,styled as n}from"@mui/material";import{useCallback as s,useRef as l,useState as d}from"react";import{useEagerObservableSelector as m,useLocalizable as p}from"#package/react-sdk";import{PhxIcon as c,useResponsive as u}from"#package/ui-sdk";import{useConfigurator as g}from"../../application-runtime/index.js";import{AssistantPanelName as h}from"./theme.js";let b={id:"sdk.assistant.composer.placeholder",message:"Ask or tell me what to change…"},k={id:"sdk.assistant.composer.send.label",message:"Send"},f={id:"sdk.assistant.composer.stop.label",message:"Stop"},y=n("form",{name:h,slot:"composer"})(({theme:{palette:e,spacing:a}})=>({borderBlockStart:`1px solid ${e.divider}`,display:"grid",gap:a(.75),paddingBlock:a(1.25),paddingInline:`var(--phx-sidebar-padding, ${a(2)})`})),x=n("div",{name:h,slot:"inputFrame"})(({theme:{palette:e,spacing:a}})=>({alignItems:"flex-end",border:`1px solid ${e.divider}`,borderRadius:12,display:"flex",gap:a(1),paddingBlock:a(.5),paddingInline:`${a(1.5)} ${a(.5)}`,"&:focus-within":{borderColor:e.primary.main}})),v=n(o,{name:h,slot:"input"})(({theme:{spacing:e,typography:a}})=>({...a.body2,flex:1,paddingBlock:e(.75)})),R=n(i,{name:h,slot:"sendButton"})(({theme:{palette:e}})=>({background:e.primary.main,borderRadius:8,color:e.primary.contrastText,"&:hover":{background:e.primary.dark},"&.Mui-disabled":{background:e.action.disabledBackground,color:e.action.disabled}})),B=n(i,{name:h,slot:"stopButton"})(({theme:{palette:e}})=>({background:e.text.primary,borderRadius:8,color:e.background.paper,"&:hover":{background:e.text.secondary}})),C=n("span")({background:"currentColor",blockSize:10,borderRadius:2,inlineSize:10,margin:5}),S=n("div",{name:h,slot:"hint"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary}));export const AssistantComposer=()=>{let{assistantSystem:i}=g(),[o,n]=d(""),h=l(null),{isDesktop:w}=u(),I=p(b),$=p(k),j=p(f),{isReplying:z,isResuming:F}=m(i.chat$,e=>({isReplying:e.isLoading,isResuming:e.isResuming}),[]),A=o.trim(),D=!z&&!F&&A.length>0,P=s(async()=>{!D||(w||h.current?.blur(),await i.resume()&&(n(""),i.send(A)))},[i,D,A,w]),E=s(e=>{e.preventDefault(),P()},[P]),K=s(e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),P())},[P]),T=s(()=>{i.stop()},[i]);return a(y,{onSubmit:E,children:[a(x,{children:[e(v,{multiline:!0,maxRows:6,placeholder:I,value:o,readOnly:F,inputRef:h,onChange:e=>n(e.target.value),onKeyDown:K,onFocus:()=>i.setInputFocused(!0),onBlur:()=>i.setInputFocused(!1),inputProps:{"aria-label":I}}),z?e(t,{title:j,placement:"top",children:e(B,{size:"small","aria-label":j,onClick:T,children:e(C,{})})}):e(t,{title:$,placement:"top",children:e("span",{children:e(R,{type:"submit",size:"small","aria-label":$,disabled:!D,children:e(c,{name:"PaperPlaneRightBold",fontSize:"small"})})})})]}),e(S,{children:e(r,{id:"sdk.assistant.composer.disclaimer",message:"AI can be wrong. Check the result."})})]})};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Trans as a}from"@lingui/react";import{IconButton as r,Tooltip as n,styled as i}from"@mui/material";import{useCallback as l,useContext as s,useEffect as o,useRef as c,useState as d}from"react";import{useEagerObservableSelector as m,useLocalizable as p}from"#package/react-sdk";import{PhxIcon as u,hoverStyles as g,useResponsive as h}from"#package/ui-sdk";import{useConfigurator as f}from"../../application-runtime/index.js";import{AnnotationBadge as b,AnnotationHostContext as v}from"./annotation/index.js";import{prepareImage as k}from"./attachments/index.js";import{ComposerField as y,ComposerFrame as x,ComposerInput as R,ComposerPrimaryButton as S,ComposerToolButton as w}from"./composer/index.js";import{AssistantPanelName as U}from"./theme.js";let j={id:"sdk.assistant.composer.placeholder",message:"Ask or tell me what to change…"},z={id:"sdk.assistant.composer.send.label",message:"Send"},L={id:"sdk.assistant.composer.stop.label",message:"Stop"},D={id:"sdk.assistant.composer.attach.label",message:"Attach images"},C={id:"sdk.assistant.composer.annotate.label",message:"Annotate with drawings and comments"},T={id:"sdk.assistant.composer.attachment.remove",message:"Remove image"},$={id:"sdk.assistant.composer.annotation.remove",message:"Remove annotation"},B={id:"sdk.assistant.composer.attachment.unreadable",message:"Unsupported image format."},O={id:"sdk.assistant.composer.attachment.limit",message:"You can attach up to {max} images."},P=i("form",{name:U,slot:"composer"})(({theme:{palette:e,spacing:t}})=>({borderBlockStart:`1px solid ${e.divider}`,display:"grid",gap:t(.75),paddingBlock:t(1.25),paddingInline:`var(--phx-sidebar-padding, ${t(2)})`})),A=i("div",{name:U,slot:"attachments"})(({theme:{spacing:e}})=>({display:"flex",flexWrap:"wrap",gap:e(1),gridColumn:"1 / -1",paddingBlockStart:e(.75)})),F=i("div")({cursor:"default",display:"flex",justifySelf:"start"}),I=i("div",{name:U,slot:"attachment"})(({theme:{palette:e,shape:t}})=>({blockSize:56,border:`1px solid ${e.divider}`,borderRadius:t.borderRadius,inlineSize:56,overflow:"hidden",position:"relative"})),E=i("img")({blockSize:"100%",display:"block",inlineSize:"100%",objectFit:"cover"}),M=i(r,{name:U,slot:"removeAttachment"})(({theme:{palette:e}})=>({background:e.background.paper,insetBlockStart:2,insetInlineEnd:2,padding:2,position:"absolute","&:hover":{background:e.background.paper}})),K=i(r,{name:U,slot:"stopButton"})(({theme:{palette:e}})=>({background:e.text.primary,borderRadius:8,color:e.background.paper,padding:4,"&:hover":{background:e.text.primary},...g({"&:hover":{background:e.text.secondary}})})),N=i("span")({background:"currentColor",blockSize:10,borderRadius:2,inlineSize:10,margin:5}),W=i("div",{name:U,slot:"hint"})(({theme:{palette:e,typography:t}})=>({...t.caption,color:e.text.secondary})),X=i("div",{name:U,slot:"attachmentNotice"})(({theme:{palette:e,typography:t}})=>({...t.caption,color:e.error.main})),Y=i("input")({display:"none"}),q=0,G=e=>{for(let{previewUrl:t}of e)URL.revokeObjectURL(t)};export const AssistantComposer=()=>{let{assistantSystem:r}=f(),[i,g]=d(""),[U,H]=d([]),[J,Q]=d(0),[V,Z]=d(),[_,ee]=d(!1),[et,ea]=d(!1),er=c(null),en=c(null),ei=s(v),el=c(0),es=c(U),{isDesktop:eo}=h();es.current=U;let ec=p(j),ed=p(z),em=p(L),ep=p(D),eu=p(C),eg=p(T),eh=p($),ef=p(B),eb=p({...O,values:{max:4}}),ev=c(!0);o(()=>(ev.current=!0,()=>{ev.current=!1,G(es.current)}),[]);let{isReplying:ek,isResuming:ey}=m(r.chat$,e=>({isReplying:e.isLoading,isResuming:e.isResuming}),[]),ex=i.trim(),eR=ey||_,eS=!ek&&!eR&&0===J&&(ex.length>0||U.length>0),ew=l(async e=>{if(0===e.length)return;let t=e.slice(0,Math.max(0,4-el.current));Z(t.length<e.length?"limit":void 0),0!==t.length&&(el.current+=t.length,Q(e=>e+t.length),await Promise.all(t.map(async e=>{try{let t=await k(e);if(!ev.current)return;let a={id:`attachment-${++q}`,blob:t,previewUrl:URL.createObjectURL(t)};H(e=>[...e,a])}catch{el.current-=1,Z("unreadable")}finally{Q(e=>e-1)}})))},[]),eU=l(async()=>{if(el.current>=4)return void Z("limit");Z(void 0),el.current+=1;let e=await r.annotate();if(!e||!ev.current){el.current-=1;return}let{blob:t,pins:a}=e;H(e=>[...e,{id:`attachment-${++q}`,blob:t,previewUrl:URL.createObjectURL(t),pins:a}])},[r]),ej=l(e=>{URL.revokeObjectURL(e.previewUrl),el.current-=1,H(t=>t.filter(({id:t})=>t!==e.id)),Z(void 0)},[]),ez=l(async()=>{if(eS){eo||er.current?.blur(),ee(!0);try{await r.send(ex,U.map(({blob:e,pins:t})=>t?{blob:e,pins:t}:e),{onSent:()=>{g(""),H(e=>e.filter(e=>!U.includes(e))),G(U),el.current-=U.length,Z(void 0),ee(!1)},onUnsent:()=>{if(!ev.current)return;let e=U.slice(0,Math.max(0,4-el.current)),t=e.map(e=>({...e,previewUrl:URL.createObjectURL(e.blob)}));g(e=>e.trim()?`${e}
2
+ ${i}`:i),H(e=>[...t,...e]),el.current+=t.length,Z(e.length<U.length?"limit":void 0)}})}finally{ee(!1)}}},[r,U,eS,ex,i,eo]),eL=l(e=>{e.preventDefault(),ez()},[ez]),eD=l(e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),ez())},[ez]),eC=l(e=>{e.target===e.currentTarget&&(e.preventDefault(),er.current?.focus())},[]),eT=l(()=>{r.stop()},[r]),e$=l(e=>{let t=[...e.target.files??[]];e.target.value="",ew(t)},[ew]),eB=l(e=>{let t=[...e.clipboardData.files].filter(e=>e.type.startsWith("image/"));0!==t.length&&(e.preventDefault(),ew(t))},[ew]);return t(P,{onSubmit:eL,onDragOver:l(e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy",ea(!0))},[]),onDragLeave:l(e=>{e.relatedTarget instanceof Node&&e.currentTarget.contains(e.relatedTarget)||ea(!1)},[]),onDrop:l(e=>{0!==e.dataTransfer.files.length&&(e.preventDefault(),ea(!1),ew([...e.dataTransfer.files]))},[ew]),children:[t(x,{"data-dragging":et,onMouseDown:eC,children:[U.length>0&&e(A,{children:U.map(a=>t(I,{children:[e(E,{src:a.previewUrl,alt:""}),a.pins&&e(b,{count:a.pins.length}),e(M,{size:"small","aria-label":a.pins?eh:eg,disabled:eR,onClick:()=>ej(a),children:e(u,{name:"X",sx:{fontSize:12}})})]},a.id))}),e(y,{children:e(R,{multiline:!0,maxRows:6,placeholder:ec,value:i,readOnly:eR,inputRef:er,onChange:e=>g(e.target.value),onKeyDown:eD,onPaste:eB,onFocus:()=>r.setInputFocused(!0),onBlur:()=>r.setInputFocused(!1),inputProps:{"aria-label":ec}})}),t(F,{children:[e(n,{title:ep,placement:"top",children:e("span",{children:e(w,{size:"small","aria-label":ep,disabled:eR,onClick:()=>en.current?.click(),children:e(u,{name:"Paperclip",fontSize:"small"})})})}),ei&&e(n,{title:eu,placement:"top",children:e("span",{children:e(w,{size:"small","aria-label":eu,disabled:eR,onClick:()=>void eU(),children:e(u,{name:"PencilSimpleLine",fontSize:"small"})})})})]}),e(Y,{ref:en,type:"file",accept:"image/*",multiple:!0,onChange:e$}),ek?e(n,{title:em,placement:"top",children:e(K,{size:"small","aria-label":em,onClick:eT,children:e(N,{})})}):e(n,{title:ed,placement:"top",children:e("span",{children:e(S,{type:"submit",size:"small","aria-label":ed,disabled:!eS,children:e(u,{name:"PaperPlaneRightBold",fontSize:"small"})})})})]}),V?e(X,{role:"status",children:"limit"===V?eb:ef}):e(W,{children:e(a,{id:"sdk.assistant.composer.disclaimer",message:"AI can be wrong. Check the result."})})]})};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as r}from"react/jsx-runtime";import{styled as n}from"@mui/material";import{createContext as i,memo as o,useContext as t,useMemo as l}from"react";import a,{defaultUrlTransform as d}from"react-markdown";import m from"remark-gfm";import{AssistantAlert as s,isAlertKind as c,remarkAlerts as u}from"./alert/index.js";import{AssistantEntityLink as p}from"./entity-link/index.js";import{AssistantForm as h}from"./form/index.js";import{AssistantReferenceLink as f,isAssistantLinkHref as g,parseAssistantLinkTarget as k}from"./reference-link/index.js";import{AssistantImage as b}from"./resource-image/index.js";import{completeStreamedMarkdown as v,hasOpenFence as x}from"./streamed-markdown.js";import{AssistantPanelName as y}from"./theme.js";let j=n("div",{name:y,slot:"assistantMessage"})(({theme:{palette:e,shape:r,spacing:n,typography:i}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:n(1)},"h1, h2, h3, h4, h5, h6":{...i.subtitle2,marginBlock:n(1.5,.5)},"ul, ol":{paddingInlineStart:n(2.5)},a:{color:e.primary.main},code:{background:e.action.hover,borderRadius:r.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:n(.5)},pre:{background:e.action.hover,borderRadius:r.borderRadius,overflowX:"auto",padding:n(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${e.divider}`,color:e.text.secondary,marginInline:0,paddingInlineStart:n(1.5)},"th, td":{borderBlockEnd:`1px solid ${e.divider}`,padding:n(.5,1),textAlign:"start",verticalAlign:"top"}})),w=n("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),S=i({forms:"hidden",openFenceEnd:void 0,isStreaming:!1}),A=({source:r,end:n})=>{let{forms:i,openFenceEnd:o,isStreaming:l}=t(S);return"hidden"===i?null:null!=n&&n===o?l?e(h,{source:r,status:"writing"}):null:e(h,{source:r,status:"disabled"===i?"waiting":"ready"})},B={a:({node:n,children:i,href:o,...t})=>{if(null==o||!g(o))return e("a",{...t,href:o,target:"_blank",rel:"noopener noreferrer",children:i});let l=k(o);return null==l?e(r,{children:i}):"entity"===l.kind?e(p,{id:l.id,children:i}):e(f,{target:l,children:i})},blockquote:({node:r,children:n,...i})=>{let o=r?.properties.dataAlert;return c(o)?e(s,{kind:o,children:n}):e("blockquote",{...i,children:n})},img:({src:r,alt:n})=>e(b,{src:r,alt:n}),pre:({node:r,children:n,...i})=>{let o=(e=>{let[r]=e?.children??[];if(r?.type!=="element"||"code"!==r.tagName)return;let{className:n}=r.properties;if(Array.isArray(n)&&n.includes("language-form"))return r.children.map(e=>"text"===e.type?e.value:"").join("")})(r);return null==o?e("pre",{...i,children:n}):e(A,{source:o,end:r?.position?.end.offset})},table:({node:r,children:n,...i})=>e(w,{children:e("table",{...i,children:n})})},I=[m,u],q=e=>g(e)?e:d(e);export const AssistantMarkdown=o(({markdown:r,isStreaming:n,forms:i})=>{let o=n?v(r):r,t=x(r)?o.length:void 0,d=l(()=>({forms:i,openFenceEnd:t,isStreaming:n}),[i,t,n]);return e(j,{children:e(S.Provider,{value:d,children:e(a,{components:B,remarkPlugins:I,urlTransform:q,children:o})})})});
1
+ import{jsx as e,Fragment as r}from"react/jsx-runtime";import{styled as n}from"@mui/material";import{createContext as t,memo as i,useContext as o,useMemo as l}from"react";import a,{defaultUrlTransform as d}from"react-markdown";import s from"remark-gfm";import{AssistantAlert as m,isAlertKind as c,remarkAlerts as u}from"./alert/index.js";import{AssistantEntityLink as p}from"./entity-link/index.js";import{AssistantForm as f}from"./form/index.js";import{AssistantReferenceLink as h,isAssistantLinkHref as g,parseAssistantLinkTarget as k}from"./reference-link/index.js";import{AssistantImage as b}from"./resource-image/index.js";import{completeStreamedMarkdown as v,hasOpenFence as x,isCutOffFence as y}from"./streamed-markdown.js";import{AssistantPanelName as j}from"./theme.js";let w=n("div",{name:j,slot:"assistantMessage"})(({theme:{palette:e,shape:r,spacing:n,typography:t}})=>({overflowWrap:"anywhere","& > :first-child":{marginBlockStart:0},"& > :last-child":{marginBlockEnd:0},"p, ul, ol, pre, blockquote":{marginBlock:n(1)},"h1, h2, h3, h4, h5, h6":{...t.subtitle2,marginBlock:n(1.5,.5)},"ul, ol":{paddingInlineStart:n(2.5)},a:{color:e.primary.main},code:{background:e.action.hover,borderRadius:r.borderRadius/2,fontFamily:"ui-monospace, Menlo, monospace",fontSize:"0.9em",paddingInline:n(.5)},pre:{background:e.action.hover,borderRadius:r.borderRadius,overflowX:"auto",padding:n(1),code:{background:"none",padding:0}},blockquote:{borderInlineStart:`2px solid ${e.divider}`,color:e.text.secondary,marginInline:0,paddingInlineStart:n(1.5)},"th, td":{borderBlockEnd:`1px solid ${e.divider}`,padding:n(.5,1),textAlign:"start",verticalAlign:"top"}})),S=n("div")({overflowX:"auto",table:{borderCollapse:"collapse",inlineSize:"100%"}}),A=t({forms:"hidden",text:"",openFenceEnd:void 0,isStreaming:!1}),B=({source:r,start:n,end:t})=>{let{forms:i,text:l,openFenceEnd:a,isStreaming:d}=o(A);return"hidden"===i?null:d&&null!=t&&t===a?e(f,{source:r,status:"writing"}):!d&&null!=n&&null!=t&&y(l,{start:n,end:t})?null:e(f,{source:r,status:"disabled"===i?"waiting":"ready"})},I={a:({node:n,children:t,href:i,...o})=>{if(null==i||!g(i))return e("a",{...o,href:i,target:"_blank",rel:"noopener noreferrer",children:t});let l=k(i);return null==l?e(r,{children:t}):"entity"===l.kind?e(p,{id:l.id,children:t}):e(h,{target:l,children:t})},blockquote:({node:r,children:n,...t})=>{let i=r?.properties.dataAlert;return c(i)?e(m,{kind:i,children:n}):e("blockquote",{...t,children:n})},img:({src:r,alt:n})=>e(b,{src:r,alt:n}),pre:({node:r,children:n,...t})=>{let i=(e=>{let[r]=e?.children??[];if(r?.type!=="element"||"code"!==r.tagName)return;let{className:n}=r.properties;if(Array.isArray(n)&&n.includes("language-form"))return r.children.map(e=>"text"===e.type?e.value:"").join("")})(r);return null==i?e("pre",{...t,children:n}):e(B,{source:i,start:r?.position?.start.offset,end:r?.position?.end.offset})},table:({node:r,children:n,...t})=>e(S,{children:e("table",{...t,children:n})})},q=[s,u],R=e=>g(e)?e:d(e);export const AssistantMarkdown=i(({markdown:r,isStreaming:n,forms:t})=>{let i=n?v(r):r,o=n&&x(r)?i.length:void 0,d=l(()=>({forms:t,text:i,openFenceEnd:o,isStreaming:n}),[t,i,o,n]);return e(w,{children:e(A.Provider,{value:d,children:e(a,{components:I,remarkPlugins:q,urlTransform:R,children:i})})})});
@@ -3,8 +3,9 @@
3
3
  * has to say itself, which is a line while the thread loads, a greeting for an empty thread, a
4
4
  * "Thinking…" line and a failure with its way out. It follows a streaming reply until the user scrolls up.
5
5
  *
6
- * A conversation the assistant continued from a summary is painted whole: the threads that were
7
- * closed come first, each ended by a separator, and the ones still on the server are loaded one at a
8
- * time from a control above them.
6
+ * A conversation is painted whole as the user scrolls up: the thread shows its newest messages first
7
+ * and loads older pages when its top comes into view. A conversation the assistant continued from a
8
+ * summary has closed threads before it, each ended by a separator; once the current thread is painted
9
+ * whole, the ones still on the server are loaded one at a time from a control above them.
9
10
  */
10
11
  export declare const AssistantThread: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as t,styled as s}from"@mui/material";import{useCallback as r,useMemo as n}from"react";import{match as o}from"ts-pattern";import{useEagerObservableValue as l}from"#package/react-sdk";import{PhxIcon as d}from"#package/ui-sdk";import{useConfigurator as m}from"../../application-runtime/index.js";import{AssistantToolChips as c}from"./AssistantChips.js";import{AssistantMarkdown as h}from"./AssistantMarkdown.js";import{describeAssistantFailure as p}from"./assistant-failure.js";import{EntityLinkSelectionProvider as g,useCreateEntityLinkSelection as u}from"./entity-link/index.js";import{AssistantPanelName as f}from"./theme.js";import{buildEarlierThreadItems as k,buildThreadView as v}from"./thread-items.js";import{useFollowStream as b}from"./use-follow-stream.js";let w=s("div",{name:f,slot:"thread"})({display:"grid",position:"relative"}),x=s("div",{name:f,slot:"messages"})(({theme:{spacing:e,typography:a}})=>({...a.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,"& > :first-child":{marginBlockStart:"auto"}})),y=s("div",{name:f,slot:"userMessage"})(({theme:{palette:e,spacing:a}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:a(1),paddingInline:a(1.5),whiteSpace:"pre-wrap"})),T=s("div",{name:f,slot:"greeting"})({}),C=s("div",{name:f,slot:"status"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary})),S=s("div",{name:f,slot:"separator"})(({theme:{palette:e,spacing:a,typography:i}})=>({...i.caption,alignItems:"center",color:e.text.secondary,display:"flex",gap:a(1),"&::before, &::after":{borderBlockStart:`1px solid ${e.divider}`,content:'""',flex:1}})),j=s(t,{name:f,slot:"earlierButton"})({alignSelf:"center"}),I=s("div",{name:f,slot:"notice"})(({theme:{palette:e,shape:a,spacing:i}})=>({alignItems:"center",background:e.action.hover,borderRadius:a.borderRadius,display:"flex",flexWrap:"wrap",gap:i(1),justifyContent:"space-between",paddingBlock:i(1),paddingInline:i(1.5)})),B=s(t,{name:f,slot:"newReplyButton"})(({theme:{palette:e,spacing:a}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:a(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.secondary}})),E=({item:a,isActive:t,undoableToolCallId:s,onUndo:r})=>o(a).with({kind:"user"},({text:a})=>e(y,{children:a})).with({kind:"text"},({markdown:a,isStreaming:i,forms:t})=>e(h,{markdown:a,isStreaming:i,forms:t})).with({kind:"tools"},({tools:a})=>e(c,{tools:a,isActive:t,canUndo:a.some(({id:e})=>e===s),onUndo:r})).with({kind:"separator"},()=>e(S,{role:"separator",children:e(i,{id:"sdk.assistant.thread.earlierSummarized",message:"Earlier conversation summarized"})})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:s}=m(),c=l(s.chat$),{messages:h,isLoading:f,isResuming:y,earlierThreads:S}=c,A=l(s.undoTipToolCallId$),R=f?void 0:A,{items:L,isThinking:z}=n(()=>v(h,f,y),[h,f,y]),$=n(()=>k(S),[S]),U=n(()=>L.filter(({kind:e})=>"user"===e).length,[L]),D=c.error?p(c.failedStatus):void 0,{scrollerRef:M,hasUnseenContent:W,handleScroll:q,scrollToEnd:H}=b(n(()=>({messages:h,isThinking:z,isResuming:y,failure:D?.kind}),[h,z,y,D?.kind]),U),N=u(),Y=r(e=>{e.target instanceof Element&&e.target.closest('a, button, input, label, select, textarea, [role="button"], [role="tooltip"]')||window.getSelection()?.isCollapsed!==!1&&N.release()},[N]),F=!c.isLoaded&&0===$.length&&!y&&!D;return a(w,{children:[e(g,{selection:N,children:a(x,{ref:M,onScroll:q,onClick:Y,role:"log","aria-live":"polite",children:[c.isLoaded&&0===L.length&&0===$.length&&!f&&!y&&!D&&e(T,{children:e(i,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),F&&e(C,{children:e(i,{id:"sdk.assistant.thread.loading",message:"Loading the conversation…"})}),c.isLoadingEarlierThread&&e(C,{children:e(i,{id:"sdk.assistant.thread.loadingEarlier",message:"Loading the earlier conversation…"})}),c.hasEarlierThread&&!c.isLoadingEarlierThread&&e(j,{size:"small",color:"inherit",onClick:s.loadEarlierThread,children:e(i,{id:"sdk.assistant.thread.showEarlier.label",message:"Show earlier conversation"})}),$.map(a=>e(E,{item:a,isActive:!1,undoableToolCallId:R,onUndo:s.undoToolCalls},a.id)),L.map(a=>e(E,{item:a,isActive:f&&a===L.at(-1),undoableToolCallId:R,onUndo:s.undoToolCalls},a.id)),y&&e(C,{children:e(i,{id:"sdk.assistant.thread.resuming",message:"Resuming the conversation…"})}),z&&e(C,{children:e(i,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),D&&a(I,{role:"alert",children:[e("span",{children:o(D.kind).with("notAvailable",()=>e(i,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(i,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("unavailable",()=>e(i,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),D.canRetry&&e(t,{size:"small",variant:"outlined",color:"inherit",onClick:s.reloadThread,children:e(i,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]})]})}),W&&e(B,{size:"small",onClick:H,endIcon:e(d,{name:"CaretDown"}),children:e(i,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as s,styled as t}from"@mui/material";import{useCallback as n,useMemo as r,useRef as o}from"react";import{match as l}from"ts-pattern";import{useEagerObservableValue as d,useLocalizable as m}from"#package/react-sdk";import{PhxIcon as h,hoverStyles as g}from"#package/ui-sdk";import{useConfigurator as c}from"../../application-runtime/index.js";import{AssistantActivityRow as p,AssistantToolChips as u}from"./AssistantChips.js";import{AssistantMarkdown as k}from"./AssistantMarkdown.js";import{MessageAnnotations as f}from"./annotation/index.js";import{describeAssistantFailure as b}from"./assistant-failure.js";import{MessageImages as v}from"./attachments/index.js";import{EntityLinkSelectionProvider as x,useCreateEntityLinkSelection as w}from"./entity-link/index.js";import{AssistantPanelName as y}from"./theme.js";import{buildEarlierThreadItems as T,buildThreadView as I}from"./thread-items.js";import{useFollowStream as S}from"./use-follow-stream.js";import{useLoadOlderOnTop as j}from"./use-load-older-on-top.js";let C={id:"sdk.assistant.failure.resting",message:"The assistant needs a break. Try again in {minutes, plural, one {# minute} other {# minutes}}."},B=t("div",{name:y,slot:"thread"})({display:"grid",position:"relative"}),R=t("div",{name:y,slot:"messages"})(({theme:{spacing:e,typography:a}})=>({...a.body2,display:"flex",flexDirection:"column",gap:e(1.5),overflowY:"auto",overscrollBehavior:"contain",paddingBlock:e(2),paddingInline:`var(--phx-sidebar-padding, ${e(2)})`,position:"relative","& > :first-child":{marginBlockStart:"auto"}})),L=t("div",{name:y,slot:"userMessage"})(({theme:{palette:e,spacing:a}})=>({alignSelf:"flex-end",background:`hsl(from ${e.primary.main} h s l / 12%)`,borderRadius:"14px 14px 4px 14px",display:"grid",gap:a(1),maxInlineSize:"85%",overflowWrap:"anywhere",paddingBlock:a(1),paddingInline:a(1.5),whiteSpace:"pre-wrap"})),A=t("div",{name:y,slot:"greeting"})({}),E=t("div",{name:y,slot:"status"})(({theme:{palette:e,typography:a}})=>({...a.caption,color:e.text.secondary})),M=t("div",{name:y,slot:"separator"})(({theme:{palette:e,spacing:a,typography:i}})=>({...i.caption,alignItems:"center",color:e.text.secondary,display:"flex",gap:a(1),"&::before, &::after":{borderBlockStart:`1px solid ${e.divider}`,content:'""',flex:1}})),z=t(s,{name:y,slot:"earlierButton"})({alignSelf:"center"}),O=t("div")({blockSize:1,insetBlockStart:0,insetInline:0,position:"absolute"}),$=t(E)(({theme:{palette:e,shape:a,spacing:i}})=>({background:e.background.paper,borderRadius:a.borderRadius,insetBlockStart:i(1),insetInlineStart:"50%",paddingBlock:i(.5),paddingInline:i(1),position:"absolute",translate:"-50% 0"})),U=t("div",{name:y,slot:"notice"})(({theme:{palette:e,shape:a,spacing:i}})=>({alignItems:"center",background:e.action.hover,borderRadius:a.borderRadius,display:"flex",flexWrap:"wrap",gap:i(1),justifyContent:"space-between",paddingBlock:i(1),paddingInline:i(1.5)})),D=t(s,{name:y,slot:"newReplyButton"})(({theme:{palette:e,spacing:a}})=>({background:e.text.primary,borderRadius:"calc(infinity * 1px)",color:e.background.paper,insetBlockEnd:a(1),insetInlineStart:"50%",position:"absolute",translate:"-50% 0","&:hover":{background:e.text.primary},...g({"&:hover":{background:e.text.secondary}})})),W=({item:s,isActive:t,undoableToolCallId:n,onUndo:r})=>l(s).with({kind:"user"},({text:i,imageIds:s,annotations:t})=>a(L,{children:[(s.length>0||t.length>0)&&e(v,{imageIds:s,children:e(f,{annotations:t})}),i]})).with({kind:"text"},({markdown:a,isStreaming:i,forms:s})=>e(k,{markdown:a,isStreaming:i,forms:s})).with({kind:"tools"},({tools:a})=>e(u,{tools:a,isActive:t,canUndo:a.some(({id:e})=>e===n),onUndo:r})).with({kind:"separator"},()=>e(M,{role:"separator",children:e(i,{id:"sdk.assistant.thread.earlierSummarized",message:"Earlier conversation summarized"})})).exhaustive();export const AssistantThread=()=>{let{assistantSystem:t}=c(),g=d(t.chat$),{messages:u,isLoading:k,isResuming:f,earlierThreads:v}=g,y=d(t.undoTipToolCallId$),L=k?void 0:y,{items:M,isThinking:Y}=r(()=>I(u,k,f),[u,k,f]),q=r(()=>T(v),[v]),H=r(()=>M.filter(({kind:e})=>"user"===e).at(-1)?.id,[M]),K=g.error?b(g.failedStatus,g.retryAfterSeconds):void 0,N=m({...C,values:{minutes:K?.kind==="resting"?K.minutes:0}}),F=u.at(-1),{scrollerRef:G,hasUnseenContent:J,handleScroll:P,scrollToEnd:Q}=S(r(()=>({newestMessage:F,isThinking:Y,isResuming:f,failure:K?.kind}),[F,Y,f,K?.kind]),H),V=o(null);j(G,V,{enabled:g.hasOlderMessages&&!g.isLoadingOlderMessages,onReachTop:t.loadOlderMessages,firstItemKey:u[0]?.id});let X=null!==g.earlierThreadId&&!g.hasOlderMessages&&!g.isLoadingEarlierThread,Z=w(),_=n(e=>{e.target instanceof Element&&e.target.closest('a, button, input, label, select, textarea, [role="button"], [role="tooltip"]')||window.getSelection()?.isCollapsed!==!1&&Z.release()},[Z]),ee=!g.isLoaded&&0===q.length&&!f&&!K;return a(B,{children:[e(x,{selection:Z,children:a(R,{ref:G,onScroll:P,onClick:_,role:"log","aria-live":"polite",children:[g.isLoaded&&0===M.length&&0===q.length&&!k&&!f&&!K&&e(A,{children:e(i,{id:"sdk.assistant.thread.greeting",message:"Hi. I can answer questions about this design and change it with you. Tell me what you need."})}),ee&&e(E,{children:e(i,{id:"sdk.assistant.thread.loading",message:"Loading the conversation…"})}),g.isLoadingEarlierThread&&e(E,{children:e(i,{id:"sdk.assistant.thread.loadingEarlier",message:"Loading the earlier conversation…"})}),X&&e(z,{size:"small",color:"inherit",onClick:t.loadEarlierThread,children:e(i,{id:"sdk.assistant.thread.showEarlier.label",message:"Show earlier conversation"})}),q.map(a=>e(W,{item:a,isActive:!1,undoableToolCallId:L,onUndo:t.undoToolCalls},a.id)),M.map(a=>e(W,{item:a,isActive:k&&a===M.at(-1),undoableToolCallId:L,onUndo:t.undoToolCalls},a.id)),f&&e(E,{children:e(i,{id:"sdk.assistant.thread.resuming",message:"Resuming the conversation…"})}),Y&&e(p,{label:e(i,{id:"sdk.assistant.thread.thinking",message:"Thinking…"})}),K&&a(U,{role:"alert",children:[e("span",{children:l(K.kind).with("notAvailable",()=>e(i,{id:"sdk.assistant.failure.notAvailable",message:"The assistant is not available here."})).with("busy",()=>e(i,{id:"sdk.assistant.failure.busy",message:"The assistant is still working on an earlier message."})).with("resting",()=>N).with("exhausted",()=>e(i,{id:"sdk.assistant.failure.exhausted",message:"The assistant is unavailable right now. You can keep configuring as usual."})).with("unavailable",()=>e(i,{id:"sdk.assistant.failure.unavailable",message:"The assistant is unavailable right now."})).exhaustive()}),K.canRetry&&e(s,{size:"small",variant:"outlined",color:"inherit",onClick:t.reloadThread,children:e(i,{id:"sdk.assistant.failure.retry.label",message:"Try again"})})]}),g.hasOlderMessages&&e(O,{ref:V,"aria-hidden":!0})]})}),g.isLoadingOlderMessages&&e($,{role:"status",children:e(i,{id:"sdk.assistant.thread.loadingOlder",message:"Loading earlier messages…"})}),J&&e(D,{size:"small",onClick:Q,endIcon:e(h,{name:"CaretDown"}),children:e(i,{id:"sdk.assistant.thread.newReply.label",message:"New reply"})})]})};
@@ -4,5 +4,8 @@ export interface AssistantAlertProps {
4
4
  readonly kind: AlertKind;
5
5
  readonly children: ReactNode;
6
6
  }
7
- /** A GitHub alert in a reply: its content as Markdown, marked by the colour and icon of its kind. */
7
+ /**
8
+ * A GitHub alert in a reply: its content as Markdown, marked by the colour and icon of its kind,
9
+ * and starting with the word for its kind, which only assistive technology reads.
10
+ */
8
11
  export declare const AssistantAlert: import("react").MemoExoticComponent<({ kind, children }: AssistantAlertProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as i}from"react/jsx-runtime";import{alpha as o,styled as t}from"@mui/material";import{memo as n}from"react";import{PhxIcon as a}from"#package/ui-sdk";import{AssistantPanelName as e}from"../theme.js";let l={note:{color:"info",icon:"Info"},tip:{color:"success",icon:"Lightbulb"},important:{color:"primary",icon:"WarningCircle"},warning:{color:"warning",icon:"Warning"},caution:{color:"error",icon:"XCircle"}},c=t("div",{name:e,slot:"alert"})(({theme:{palette:r,shape:i,spacing:t,typography:n}})=>({borderInlineStart:"3px solid",borderRadius:i.borderRadius,display:"grid",gap:t(1),gridTemplateColumns:"min-content minmax(0, 1fr)",marginBlock:t(1),padding:t(1,1.5),...Object.fromEntries(Object.entries(l).map(([i,{color:t}])=>[`&[data-alert="${i}"]`,{background:o(r[t].main,.08),borderInlineStartColor:r[t].main,"& > :first-child":{color:r[t].main}}])),"& > :last-child > :first-child":{marginBlockStart:0},"& > :last-child > :last-child":{marginBlockEnd:0},"& > :first-child":{blockSize:`calc(${n.body2.lineHeight} * 1em)`,display:"grid",placeItems:"center"}}));export const AssistantAlert=n(({kind:o,children:t})=>i(c,{role:"note","data-alert":o,children:[r("span",{children:r(a,{name:l[o].icon})}),r("div",{children:t})]}));
1
+ import{jsx as a,jsxs as i}from"react/jsx-runtime";import{alpha as r,styled as t}from"@mui/material";import{visuallyHidden as e}from"@mui/utils";import{memo as l}from"react";import{useLocalizable as n}from"#package/react-sdk";import{PhxIcon as s}from"#package/ui-sdk";import{AssistantPanelName as o}from"../theme.js";let m={note:{color:"info",icon:"Info",label:{id:"sdk.assistant.alert.note.label",message:"Note"}},tip:{color:"success",icon:"Lightbulb",label:{id:"sdk.assistant.alert.tip.label",message:"Tip"}},important:{color:"primary",icon:"WarningCircle",label:{id:"sdk.assistant.alert.important.label",message:"Important"}},warning:{color:"warning",icon:"Warning",label:{id:"sdk.assistant.alert.warning.label",message:"Warning"}},caution:{color:"error",icon:"XCircle",label:{id:"sdk.assistant.alert.caution.label",message:"Caution"}}},c=t("div",{name:o,slot:"alert"})(({theme:{palette:a,shape:i,spacing:t,typography:e}})=>({borderInlineStart:"3px solid",borderRadius:i.borderRadius,display:"grid",gap:t(1),gridTemplateColumns:"min-content minmax(0, 1fr)",marginBlock:t(1),padding:t(1,1.5),...Object.fromEntries(Object.entries(m).map(([i,{color:t}])=>[`&[data-alert="${i}"]`,{background:r(a[t].main,.08),borderInlineStartColor:a[t].main,"& > :first-child":{color:a[t].main}}])),"& > :last-child > :first-child":{marginBlockStart:0},"& > :last-child > :last-child":{marginBlockEnd:0},"& > :first-child":{blockSize:`calc(${e.body2.lineHeight} * 1em)`,display:"grid",placeItems:"center"}}));export const AssistantAlert=l(({kind:r,children:t})=>{let{icon:l,label:o}=m[r],d=n(o);return i(c,{role:"note","data-alert":r,children:[i("span",{children:[a(s,{name:l}),a("span",{style:e,children:d})]}),a("div",{children:t})]})});
@@ -0,0 +1,9 @@
1
+ interface AnnotationBadgeProps {
2
+ readonly count: number;
3
+ }
4
+ /**
5
+ * Tells on a thumbnail of an annotation how many comments it has: a comment icon and their number. An
6
+ * annotation without comments gets none; its strokes are on the picture.
7
+ */
8
+ export declare const AnnotationBadge: ({ count }: AnnotationBadgeProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import{styled as e}from"@mui/material";import{useLocalizable as o}from"#package/react-sdk";import{PhxIcon as a}from"#package/ui-sdk";import{AssistantPanelName as i}from"../theme.js";let r={id:"sdk.assistant.annotation.badge.label",message:"{count, plural, =0 {Annotation} one {Annotation with # comment} other {Annotation with # comments}}"},s=e("span",{name:i,slot:"annotationBadge"})(({theme:{typography:t}})=>({...t.caption,alignItems:"center",background:"rgb(0 0 0 / 60%)",borderRadius:6,color:"#fff",display:"inline-flex",fontSize:13,fontWeight:600,gap:3,insetBlockEnd:3,insetInlineStart:3,letterSpacing:0,lineHeight:1,padding:"3px 5px 3px 4px",pointerEvents:"none",position:"absolute"}));export const AnnotationBadge=({count:e})=>{let i=o({...r,values:{count:e}});return 0===e?null:n(s,{role:"img","aria-label":i,children:[t(a,{name:"ChatCircleText",sx:{fontSize:16}}),e]})};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * What covers the configurator for an annotation of the assistant chat, rendered by a layout that
3
+ * hosts annotations next to its inert root; see `AnnotationHostContext`. Nothing shows while the view
4
+ * glides.
5
+ */
6
+ export declare const AnnotationOverlay: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{match as i}from"ts-pattern";import{useEagerObservableValue as o}from"#package/react-sdk";import{useConfigurator as r}from"../../../application-runtime/index.js";import{AnnotationViewer as e}from"./AnnotationViewer.js";import{AnnotationEditor as n}from"./editor/index.js";export const AnnotationOverlay=()=>{let{assistantSystem:a}=r();return i(o(a.annotationOverlay$)).with({kind:"editor"},({view:i,finish:o})=>t(n,{view:i,finish:o},"editor")).with({kind:"viewer"},({annotation:i,close:o})=>t(e,{annotation:i,close:o},i.imageId)).otherwise(()=>null)};
@@ -0,0 +1,14 @@
1
+ import type { AssistantAnnotationPin } from '@salsita-ai/contracts/assistant';
2
+ interface AnnotationPinProps {
3
+ readonly pin: AssistantAnnotationPin;
4
+ /** Its position among the pins, from 0; it is numbered from 1. */
5
+ readonly index: number;
6
+ /** `badge` draws the numbered badge; `target` lies clear over a badge drawn in the image. */
7
+ readonly variant: 'badge' | 'target';
8
+ /** True while its comment is edited next to it, so hovering it does not repeat the comment. */
9
+ readonly isEdited?: boolean;
10
+ readonly onClick?: () => void;
11
+ }
12
+ /** A pin on an annotation surface: its comment shows on hover, focus or tap. */
13
+ export declare const AnnotationPin: ({ pin: { x, y, comment }, index, variant, isEdited, onClick, }: AnnotationPinProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{Tooltip as a}from"@mui/material";import{useLocalizable as n}from"#package/react-sdk";import{AnnotationPinButton as e}from"./annotation-layout.js";let o={id:"sdk.assistant.annotation.pin.label",message:"Comment {number}"};export const AnnotationPin=({pin:{x:r,y:i,comment:l},index:s,variant:m,isEdited:p=!1,onClick:c})=>{let d=s+1;return t(a,{title:p?"":l,enterTouchDelay:0,placement:"top",arrow:!0,children:t(e,{"data-variant":m,"aria-label":n({...o,values:{number:d}}),style:{insetInlineStart:`${100*r}%`,insetBlockStart:`${100*i}%`},onPointerDown:t=>t.stopPropagation(),onClick:c,children:"badge"===m&&d})})};
@@ -0,0 +1,12 @@
1
+ import type { AssistantMessageAnnotation } from '@salsita-ai/contracts/assistant';
2
+ interface AnnotationViewerProps {
3
+ readonly annotation: AssistantMessageAnnotation;
4
+ readonly close: () => void;
5
+ }
6
+ /**
7
+ * An annotation of a sent message over the configurator, read-only: its flattened image, with a
8
+ * target over each drawn pin badge that shows its comment on hover or tap. Close, or Escape, fades it
9
+ * out.
10
+ */
11
+ export declare const AnnotationViewer: ({ annotation, close }: AnnotationViewerProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Trans as i}from"@lingui/react";import{Button as r}from"@mui/material";import{useCallback as n,useEffect as a,useMemo as o,useRef as s,useState as d}from"react";import{useLocalizable as m}from"#package/react-sdk";import{useScreenshotSrc as l}from"../screenshots/index.js";import{AnnotationPin as c}from"./AnnotationPin.js";import{ANNOTATION_FADE_DURATION as u,AnnotationRoot as p,AnnotationStage as g,AnnotationSurface as h,AnnotationToolbar as f,annotationSurfaceSize as k}from"./annotation-layout.js";import{prefersReducedMotion as w}from"./prefers-reduced-motion.js";import{useEndOnUnmount as v}from"./use-end-on-unmount.js";let j={id:"sdk.assistant.annotation.viewer.label",message:"Annotation"};export const AnnotationViewer=({annotation:x,close:y})=>{let b=l(o(()=>({kind:"stored",imageId:x.imageId}),[x.imageId])),[T,A]=d(),[E,I]=d(!1),L=s(y),z=m(j);L.current=y,v(()=>L.current());let C=n(()=>{I(!0),setTimeout(()=>L.current(),w()?0:u)},[]);return a(()=>{let e=e=>{"Escape"===e.key&&C()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[C]),t(p,{role:"dialog","aria-modal":"true","aria-label":z,"data-leaving":E,children:[e(g,{children:void 0!==b&&t(h,{sx:T?k(T.width,T.height):{visibility:"hidden"},children:[e("img",{src:b,alt:"",style:{display:"block",inlineSize:"100%",blockSize:"100%"},onLoad:e=>A({width:e.currentTarget.naturalWidth,height:e.currentTarget.naturalHeight})}),x.pins.map((t,i)=>e(c,{pin:t,index:i,variant:"target"},i))]})}),e(f,{children:e(r,{variant:"contained",autoFocus:!0,onClick:C,children:e(i,{id:"sdk.assistant.annotation.close",message:"Close"})})})]})};
@@ -0,0 +1,11 @@
1
+ import type { AssistantMessageAnnotation } from '@salsita-ai/contracts/assistant';
2
+ interface MessageAnnotationsProps {
3
+ readonly annotations: readonly AssistantMessageAnnotation[];
4
+ }
5
+ /**
6
+ * The annotations a user attached to a message, as thumbnails with their comment count among the
7
+ * message's images. In a layout that hosts the annotation overlay, a click opens one over the
8
+ * configurator, read-only; elsewhere the thumbnail is all there is.
9
+ */
10
+ export declare const MessageAnnotations: ({ annotations }: MessageAnnotationsProps) => import("react/jsx-runtime").JSX.Element[];
11
+ export {};
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as o}from"react/jsx-runtime";import{useContext as n,useMemo as a}from"react";import{useLocalizable as i}from"#package/react-sdk";import{useConfigurator as e}from"../../../application-runtime/index.js";import{MessageThumbnail as s,MessageThumbnailPicture as r}from"../attachments/index.js";import{useScreenshotSrc as m}from"../screenshots/index.js";import{AnnotationBadge as d}from"./AnnotationBadge.js";import{AnnotationHostContext as p}from"./annotation-host-context.js";let c={id:"sdk.assistant.message.annotation.open",message:"Show the annotation"},g=({annotation:g})=>{let{assistantSystem:l}=e(),f=m(a(()=>({kind:"stored",imageId:g.imageId}),[g.imageId])),j=i(c),x=n(p);return o(s,{"aria-label":x?j:void 0,disabled:void 0===f||!x,onClick:()=>l.viewAnnotation(g),children:[void 0!==f&&t(r,{src:f,alt:""}),t(d,{count:g.pins.length})]})};export const MessageAnnotations=({annotations:o})=>o.map(o=>t(g,{annotation:o},o.imageId));
@@ -0,0 +1,5 @@
1
+ /**
2
+ * True inside a layout that renders `AnnotationOverlay` and goes inert while an annotation is shown.
3
+ * The composer offers Annotate only there.
4
+ */
5
+ export declare const AnnotationHostContext: import("react").Context<boolean>;
@@ -0,0 +1 @@
1
+ import{createContext as t}from"react";export const AnnotationHostContext=t(!1);
@@ -0,0 +1,26 @@
1
+ /** The red of marker strokes and pin badges. */
2
+ export declare const ANNOTATION_COLOR = "#e53935";
3
+ /** CSS px on screen; the flattened image scales it with the view. */
4
+ export declare const ANNOTATION_STROKE_WIDTH = 4;
5
+ /** CSS px on screen; the diameter of a pin's numbered badge. */
6
+ export declare const ANNOTATION_PIN_SIZE = 26;
7
+ /** ms; how long the overlay takes to fade in and out. */
8
+ export declare const ANNOTATION_FADE_DURATION = 200;
9
+ export declare const AnnotationRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;
10
+ export declare const AnnotationStage: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
11
+ /** The box of the view: everything on it is placed by fractions of it. */
12
+ export declare const AnnotationSurface: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
13
+ /** The size of a surface for a view of `width` × `height`: as large as fits the stage, keeping its aspect ratio. */
14
+ export declare const annotationSurfaceSize: (width: number, height: number) => {
15
+ aspectRatio: string;
16
+ inlineSize: string;
17
+ };
18
+ export declare const AnnotationPicture: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").CanvasHTMLAttributes<HTMLCanvasElement>, HTMLCanvasElement>, {}>;
19
+ export declare const AnnotationToolbar: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;
20
+ /**
21
+ * A pin on the surface, centred on its point: in the editor the numbered badge itself, the same as the
22
+ * flattened image shows; over a sent annotation a clear target over the badge drawn in the image.
23
+ */
24
+ export declare const AnnotationPinButton: import("@emotion/styled").StyledComponent<import("@mui/material").ButtonBaseOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent.js").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
25
+ ref?: import("react").RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | null | undefined;
26
+ }, "LinkComponent" | "TouchRippleProps" | "action" | "centerRipple" | "children" | "className" | "classes" | "disableRipple" | "disableTouchRipple" | "disabled" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "style" | "sx" | "tabIndex" | "touchRippleRef"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -0,0 +1 @@
1
+ import{ButtonBase as t,keyframes as e,styled as n}from"@mui/material";import{AssistantPanelName as o}from"../theme.js";export const ANNOTATION_COLOR="#e53935";export const ANNOTATION_STROKE_WIDTH=4;export const ANNOTATION_PIN_SIZE=26;export const ANNOTATION_FADE_DURATION=200;let i=e({from:{opacity:0}});export const AnnotationRoot=n("div",{name:o,slot:"annotation"})(({theme:{palette:t,zIndex:e}})=>({animation:`${i} 200ms ease backwards`,background:t.background.default,inset:0,position:"absolute",transition:"opacity 200ms ease",zIndex:e.modal+1,'&[data-leaving="true"]':{opacity:0,pointerEvents:"none"},"@media (prefers-reduced-motion: reduce)":{animation:"none",transition:"none"}}));export const AnnotationStage=n("div")({containerType:"size",display:"grid",inset:0,placeItems:"center",position:"absolute"});export const AnnotationSurface=n("div")({position:"relative",touchAction:"none",userSelect:"none"});export const annotationSurfaceSize=(t,e)=>({aspectRatio:`${t} / ${e}`,inlineSize:`min(100cqw, calc(100cqh * ${t/e}))`});export const AnnotationPicture=n("canvas")({blockSize:"100%",display:"block",inlineSize:"100%",inset:0,position:"absolute"});export const AnnotationToolbar=n("div",{name:o,slot:"annotationToolbar"})(({theme:{palette:t,shadows:e,spacing:n}})=>({alignItems:"center",animation:`${i} 200ms ease 200ms both`,background:t.background.paper,borderRadius:12,boxShadow:e[4],display:"flex",flexWrap:"wrap",gap:n(1),insetBlockEnd:n(2),insetInlineStart:"50%",justifyContent:"center",maxInlineSize:`calc(100% - ${n(4)})`,padding:n(1),position:"absolute",translate:"-50% 0","@media (prefers-reduced-motion: reduce)":{animation:"none"}}));export const AnnotationPinButton=n(t)(({theme:{typography:t}})=>({...t.caption,alignItems:"center",blockSize:26,borderRadius:"50%",boxSizing:"border-box",display:"flex",fontWeight:700,inlineSize:26,justifyContent:"center",letterSpacing:0,lineHeight:1,padding:0,position:"absolute",translate:"-50% -50%",'&[data-variant="badge"]':{background:ANNOTATION_COLOR,border:"2px solid #fff",color:"#fff"},"&:focus-visible":{outline:`2px solid ${ANNOTATION_COLOR}`,outlineOffset:2}}));
@@ -0,0 +1,15 @@
1
+ import type { AnnotationPoint } from './annotation-drawing.js';
2
+ interface AnnotationCommentProps {
3
+ /** Where its pin is on the view. */
4
+ readonly point: AnnotationPoint;
5
+ /** The comment as saved so far; what is typed is the pin's only once it is saved. */
6
+ readonly comment: string;
7
+ readonly onDelete: () => void;
8
+ readonly onSave: (comment: string) => void;
9
+ }
10
+ /**
11
+ * The comment of a pin, open for editing by the pin: it takes the focus as it opens. Enter saves it and
12
+ * Shift+Enter adds a line, as in the composer. What is typed stays here until it is saved.
13
+ */
14
+ export declare const AnnotationComment: ({ point, comment, onDelete, onSave }: AnnotationCommentProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};